暗号化しているのに漏れる理由 ― 本当に怖いのは鍵管理
「○○方式で暗号化しています」
設計書にこの一文があると、なんとなく安心した気持ちになります。
しかし、レビューをしている立場からすると、実はそこはスタート地点にすぎません。
私が本当に気にしているのは、「何で暗号化しているか」よりも「鍵をどう管理しているか」です。
暗号化しても、鍵が漏れれば意味がない
暗号は、鍵があって初めて成り立ちます。
どれだけ強力なアルゴリズムを使っていても、
その鍵が漏えい・紛失・誤配布されれば、暗号化は実質的に無効になります。
それなのに、設計書ではしばしばこう書かれています。
- 「AESで暗号化する」
- 「SSL/TLSで通信を保護する」
方式の説明はある。
でも、鍵の扱いについては曖昧。
私はここで立ち止まります。
見るべきは“鍵のライフサイクル”
鍵管理で本当に重要なのは、ライフサイクル全体です。
- 鍵はどこで生成するのか
- 誰が配布するのか
- どこに保管するのか
- いつ更新するのか
- 失効や廃棄はどうするのか
この一連の流れが設計され、文書化され、見直される仕組みがあるか。
ここが曖昧だと、暗号化は「やっているつもり」になります。
特に怖いのは、「更新ルールがない鍵」です。
気づけば何年も同じ鍵を使い続けている。
それはもはや運用リスクです。
鍵を暗号化して保存? その強度は?
もう一つ、レビューでよく見るのが「鍵を暗号化して保存しています」という説明です。
一見、正しいように見えます。
でもそこで止まってはいけません。
その鍵を暗号化している鍵は何か。
その強度は十分か。
管理方法は分離されているか。
暗号鍵を守るための暗号が、守る対象より弱ければ意味がありません。
ここは論理的に確認しないと、形だけ整った設計になってしまいます。
暗号化の本質は“技術”より“統制”
暗号アルゴリズムは進化します。
推奨リストも更新されます。
しかし、鍵管理の甘さは、技術ではカバーできません。
私がレビューで見ているのは、
「この組織は、鍵を資産として扱っているか?」
という一点です。
暗号化は設定ではなく、統制の問題です。
そこまで踏み込めるかどうかが、設計レビューの分かれ目だと感じています。
