擦除密钥反而更危险:密码学家详解 zeroization 的隐藏陷阱
jedisct1 · x · 2026-10-06
密码学工程师 Frank DENIS 撰文指出:给疑似密钥的数据加 zeroization(用后擦除)看似是 LLM 爱报的『低垂果实』,但盲目擦除可能弊大于利。
核心论点:
- 经典 memset() 擦除常被编译器直接优化掉——但反编译对比显示,擦除与不擦除生成的指令完全相同,因为中间值根本没进内存,只存在寄存器里
- 为『修复』这一点改用 volatile 字节写入强制落盘,反而会制造原本不存在的密钥内存副本:副本在函数返回后仍留在缓存/内存中,扩大了攻击面
- 作者给出 Godbolt 上的代码与编译结果对照,逐条演示这些反直觉行为
结论:密钥擦除是安全敏感操作,不加分析地批量加 memset/volatile 写入,可能让代码比原来更不安全。后续还有系列第二部分。
「编程与Agent」频道最新
- Cloudflare 推出 agent 优先的 CLI 工具 cf,八项举措打破可观测性黑箱 — dinasaur_404 · 2026-10-06
- 开源项目 celld:自托管版 Cloudflare Workers,每个 AI Agent 一个 Cell — letandrewcook · 2026-10-06
- 664 次 agent 实测:9 条规则减少 29% 思考且零任务损失 — PilgrimofHaqq2 · 2026-10-06
- 调低 coding agent 努力档位反而烧更多 token?Qwen3.8-27B-pi 专门训练档位排序 — lmoroney · 2026-10-06
- 128GB Mac Studio 跑本地 Agent 栈怎么选:推理层之争引发讨论 — DrainBramage · 2026-10-06
- Yacine 对谈 a1zhang 90 分钟:为什么 harness 能提升 LLM 泛化 — yacinelearning · 2026-10-06