【かぎかんり】

鍵管理 とは?

最終更新:
💡 暗号鍵を、作ってから使い終えるまで管理する

暗号鍵の生成、保管、配布、利用、更新、破棄などを、そのライフサイクル全体で管理すること。使える人や用途、利用期間、必要な復号の継続、漏えい時の対応まで考える。

📌 このページのポイント
更新後も、古いデータの復号を考える 鍵を生成 用途・権限を設定 保管・利用 保護と利用記録 更新を計画 種類・利用期間で判断 🔑 古い鍵 必要な復号用に保持 🔑 新しい鍵 新しい暗号化に利用 以前の暗号文 対応する鍵で復号 新しい暗号文 新しい鍵で暗号化 KMSの鍵素材更新だけでは、データは再暗号化されない 漏えい時の対応と、不要な鍵の破棄も別に計画する
暗号化の鍵を更新する際の概念例。上段の矢印は管理の流れ、下段の線は復号に必要な対応。必要なデータの復号手段を確認してから破棄を計画する。
ひよこ ひよこ
なぜ鍵管理が重要なの?
ペンギン先生 ペンギン先生
強い暗号を使っても、必要な秘密鍵が漏れたり、唯一の復号鍵を失ったりすると、情報を守れなくなるよ。暗号の安全性にはアルゴリズムや実装も関わるので、鍵管理だけで決まるわけではない。なおAWSのアクセスキーはサービスを使う認証情報で、データ暗号化に使う鍵とは役割が違うんだ。
ひよこ ひよこ
AWS KMSって何?
ペンギン先生 ペンギン先生
暗号化や署名に使う鍵を作り、管理するAWSのサービスだよ。KMSキーはHSMで保護され、平文のままサービスの外へ出ない。利用者はAPIを通じて処理を依頼し、キーポリシーなどで誰が使えるかを決める。サービスを使っても権限の設計は必要なんだ。
ひよこ ひよこ
鍵のローテーションは年1回すればいい?
ペンギン先生 ペンギン先生
一律の周期ではないよ。用途や鍵の種類、リスク、適用される要件に応じて利用期間と更新方法を決める。AWS KMSの自動更新は対象の対称暗号化キーで利用でき、既定は365日だけれど周期も指定できる。非対称キーなどは同じ自動更新の対象ではないので、対応する方法を確認しよう。
ひよこ ひよこ
更新すれば古いデータも安全になる?
ペンギン先生 ペンギン先生
AWS KMSの鍵素材の更新では、既存データが自動で再暗号化されるわけではないよ。古い暗号文は対応する古い鍵素材で復号する。漏えいしたデータ鍵の影響も更新だけでは解消しない。古いデータをいつまで復号するか、再暗号化が必要か、いつ鍵を破棄するかを合わせて計画するんだ。
ひよこ ひよこ
開発者が気をつけることは?
ペンギン先生 ペンギン先生
秘密の鍵や認証情報をソースコードに埋め込まず、利用権限を絞って管理しよう。Secret scanningは混入の発見を助けるけれど、検出されたら必ず自動失効するとは限らない。漏れた認証情報は失効・更新などの対応を確認する。ファイルを削除するだけで対処が完了したとは考えないでね。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「鍵管理」って出てきたら「暗号鍵のライフサイクル全体を安全に管理する仕組み」と思えればだいたいOK!
📖 おまけ:英語の意味
「Key Management」 = 鍵管理
💬 暗号のKey(鍵)をManagement(管理)すること。鍵そのものに加え、誰が何のために使えるかや、いつ使い終えるかも管理するよ

参考資料

← 用語集にもどる