Hasty Briefsbeta

双语

Go Proposal: Secret Mode

5 months ago
  • #Cryptography
  • #Memory safety
  • #Go programming
  • Go 1.26 引入了实验性的 `runtime/secret` 包,用于自动擦除敏感函数使用的内存
  • `secret.Do(func() {...})` 确保函数执行后寄存器、栈和堆分配的内存被清零,防止密钥泄露
  • 主要面向密码库开发者,通过安全擦除会话密钥和敏感数据来增强前向安全性
  • 当前限制包括:仅支持 linux/amd64 和 linux/arm64 平台、不保护全局变量、且`secret.Do`内的协程存在使用限制
  • 示例演示了使用临时密钥加密数据,所有中间敏感状态都会被自动清除