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`内的协程存在使用限制
- 示例演示了使用临时密钥加密数据,所有中间敏感状态都会被自动清除