密钥擦除实战(二):如何清除栈与寄存器中的敏感数据
jedisct1 · x · 2026-10-08
Frank Denis 续讲密码学代码中的 zeroization 问题:本意清除密钥的代码反而可能制造更多副本。
核心方案:首选使用专为秘密保护设计的编译器,如 Jasmin——它能自动证明被标记为秘密的值不会被作为公开值返回、以常量时间运行、抵抗部分 Spectre 攻击,甚至能证明内存安全,并在函数返回前自动擦除所有秘密值(无论在寄存器还是栈上)。AEGIS 最快的实现就是用 Jasmin 写的。
通用语言的做法:不必在微观层面逐条清零,而是划定边界——在明确边界内使用临时密钥处理数据,出边界后即不再需要,从更高层面统一清理。
「安全」频道最新
- Anthropic 红队:GLM-5.3 安全护栏 64%-100% 可被简单绕过 — dl_weekly · 2026-10-09
- 分析 2000 个开源 AI 仓库:人工代码审查量一年缩水近半 — ronbodkin · 2026-10-09
- Arena 对齐指数技术细节:各模型虚假归因行为模式大不相同 — arena · 2026-10-09
- Agent 框架皆为拐杖?真正关键是最小权限的行动授权框架 — andreisavu · 2026-10-09
- 「理解审计」新提案:AI 自我改进应看人是否还看得懂造了什么 — ronbodkin · 2026-10-09
- 新论文提「理解审计」:人类看不懂就暂停 AI 自我改进研发 — ronbodkin · 2026-10-09