鍵導出関数(KDF)
鍵導出関数(KDF) とは何ですか?
鍵導出関数(KDF)パスワードや共有秘密、マスター鍵などの秘密入力から、1 つまたは複数の強力な暗号鍵を導出する暗号関数。
鍵導出関数(Key Derivation Function、KDF)は、パスワード、Diffie-Hellman 共有秘密、既存のマスター鍵などの秘密素材から、固定長で暗号学的に強い鍵を 1 つ以上生成する関数です。KDF は大きく 2 種類に分かれ、パスワードベース KDF は意図的に遅くメモリ消費型に設計されています(Argon2id、scrypt、bcrypt、PBKDF2 など)。一方、高エントロピー入力向けの extract-and-expand 型 KDF として HKDF(RFC 5869)があり、TLS 1.3、Signal、WireGuard、Noise などで HMAC を用いて 1 つの共有秘密から複数のセッション鍵を導出するのに広く使われています。優れた KDF はソルトと任意のコンテキスト文字列(info)を扱い、派生鍵のドメイン分離を実現することで、異なる用途間で鍵が関連付けられたり再利用されたりするのを防ぎます。
● 例
- 01
TLS 1.3 はハンドシェイクとトラフィックの秘密値を HKDF-Extract+Expand で導出する。
- 02
Argon2id はユーザーのパスフレーズから 32 バイトの AES 鍵を導出し、暗号化された保管庫の解錠に使う。
● よくある質問
鍵導出関数(KDF) とは何ですか?
パスワードや共有秘密、マスター鍵などの秘密入力から、1 つまたは複数の強力な暗号鍵を導出する暗号関数。 サイバーセキュリティの 暗号 カテゴリに属します。
鍵導出関数(KDF) とはどういう意味ですか?
パスワードや共有秘密、マスター鍵などの秘密入力から、1 つまたは複数の強力な暗号鍵を導出する暗号関数。
鍵導出関数(KDF) からどのように防御しますか?
鍵導出関数(KDF) に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
鍵導出関数(KDF) の別名は何ですか?
一般的な別名: KDF, 鍵導出。