暗号
暗号鍵
別称: 暗号化鍵, 暗号キー
定義
暗号アルゴリズムをパラメータ化し、データの暗号化・復号・署名・認証に用いる高エントロピーな秘密または公開値。
暗号鍵は、暗号アルゴリズムがデータを変換するために用いるビット列です。対称鍵暗号(例:AES-128/192/256)では同じ鍵で暗号化と復号を行い、非対称鍵暗号(例:RSA-2048、ECDSA P-256、Ed25519)では数学的に関連する秘密鍵と公開鍵のペアを使います。鍵強度は長さ・乱数性・アルゴリズムに依存し、NIST の現行ガイドラインでは 128 ビットの対称鍵、3072 ビット RSA、256 ビット楕円曲線鍵を 128 ビット相当の安全性レベルとみなしています。鍵は暗号学的に安全な RNG で生成し、HSM・TPM・セキュアエンクレーブ・KMS などの保護領域に保管したうえで、生成・配布・利用・ローテーション・エスクロー・アーカイブ・失効・破棄というライフサイクル全体で管理する必要があります。
例
- ハードウェア RNG で生成し HSM に保管した 256 ビットの AES 鍵。
- Git コミットや SSH 接続の署名に使用する Ed25519 鍵ペア。
関連用語
秘密鍵
非対称鍵ペアのうち秘密にすべき側で、所有者宛ての暗号文を復号したり、所有者を証明する電子署名を生成するために用いられる鍵。
公開鍵
非対称鍵ペアのうち自由に配布できる側で、所有者宛ての暗号化や対応する秘密鍵による署名の検証に用いられる鍵。
セッション鍵
1 回の通信セッションを保護するために使われ、終了後に破棄される短命の対称鍵。
マスター鍵
他の鍵を導出したり、他の鍵を直接暗号化したりするために用いる、長期に保有する高価値の暗号鍵。
鍵導出関数(KDF)
パスワードや共有秘密、マスター鍵などの秘密入力から、1 つまたは複数の強力な暗号鍵を導出する暗号関数。
鍵ローテーション
1 つの鍵で保護されるデータ量と漏洩時の影響範囲を抑えるため、暗号鍵を定期的に新しいものへ置き換える運用慣行。