コンテンツへスキップ
uencoder

PBKDF2

PBKDF2(Password-Based Key Derivation Function 2)はPKCS#5で標準化されたKDFであり、HMACの反復によりパスワードから鍵を導出する。パスワードハッシュと鍵導出で広く使われる。

目的

低エントロピーのパスワードから高エントロピーの鍵を導出し、反復回数によって総当たり攻撃のコストを倍増させる。

メカニズム

DK = T1 || T2 || … ここでTi = U1 ⊕ … ⊕ Uc、U1 = HMAC(P, salt || i)、Uj = HMAC(P, U_{j-1})。反復回数cは通常100000以上である。CPUハードのみで、GPU/ASICの並列化には抵抗しない。

ユースケース

  • Wi-FiのWPA2/3鍵導出
  • iOS/Androidのパスワードバックアップ
  • 1Passwordでの鍵導出
  • PKCS#12の鍵保管

例

  • 入力
    password, salt, c=600000
    Output
    256-bit derived key

    OWASP 2023 recommends ≥ 600000

よくあるエラー

Iteration count too low (e.g., 1000)
Use at least 600000 (OWASP 2023)

関連用語

関連ツール

References