关于密钥管理的五个误解

密码学 · 2 分钟阅读· 169 次阅读

密钥取用要有审计,谁在什么时候解开了哪一批数据必须能查

下面五条,每条都能对应一个真实的事故模式。

先说结论

误解的共同点是:把「降低概率」当成「消除风险」。

  • 误解一:有 WAF 就安全
  • 误解二:内网系统不用管
  • 误解三:修完就没事了
  • 误解四:低危可以先放着
  • 误解五:加密了就安全了

误解一:有防护设备就安全

信封加密用主密钥保护数据密钥,轮换主密钥时不必重加密全部数据,业务侧只拿到版本号,版本号随密文存。

WAF 挡的是已知模式,绕过的成本往往是「改个编码」级别。它能降噪,不能当唯一防线。

误解二:内网不用管

同一把密钥既用于加密又用于签名,两种用途的安全性会互相拖累,一处泄露会牵连另一处,用途要拆开。

内网的前提是「边界真的存在」。一旦有一台机器被钓鱼,内网就是平的。

误解三:修完就没事了

把密钥放进环境变量就认为安全,同机进程都能读

修复要覆盖:同一入口的其它路径、同类代码的其它位置、以及历史数据。

关于密钥管理的五个误解

这个问题的几个常见误判

实际评估时最容易被带偏的几条:

  • HKDF 的 info 字段写清用途,能让同一主密钥派生出互不相关的子密钥,轮换也只影响一个用途,这层很便宜
  • 轮换的难点在历史数据,新密钥只加密新增,旧密钥保留用于解密

误解四与五

多个低危串起来常常就是一条完整链路:信息泄露、越权、拿后台。加密解决的是机密性,解决不了「密钥在代码里」和「加密了但没验签」。

再补充几点

这几条不改变结论,但会改变你评估风险时的顺序。

  • 密钥写进代码库之后,删掉也还留在历史提交里,只能按已泄露处理
  • 所有环境共用一套密钥,测试数据能解开生产密文
  • 轮换时直接覆盖旧密钥,历史数据全部解不开

安全里最贵的一句话是「应该没问题吧」。

评论 (3)

白
白帽小陈

防御那节写得克制,没有教人打站,这点好评。

南
南风

补一句:修完要回归,很多人修一半。

K
Kai

日志留存时间那条被我们领导采纳了。

发表评论

验证码

提交后需站长审核,通过后才会显示。