読み方 : ピービーケーディーエフツー

PBKDF2【Password-Based Key Derivation Function 2】

概要

PBKDF2とは、パスワードから暗号鍵を生成したり、パスワードを安全にハッシュ化して保存したりするための鍵導出関数の一つ。入力されたパスワードから繰り返し処理を経て暗号学的に強い値を生成し、辞書攻撃総当たり攻撃に対する耐性を高める。
PBKDF2のイメージ画像

鍵導出関数は、パスワードなどの秘密の情報を入力値として受け取り、ハッシュ関数などを繰り返し適用して規則性のない値を生成する関数である。もとはパスワードなどから共通鍵暗号暗号鍵を導出するための計算手法として考案されたためこのような名称になっているが、現代ではパスワードハッシュ化して安全に保存する目的でもよく用いられる。

PBKDF2の動作は、パスワード本体、ソルト値、疑似乱数関数(PRF:Pseudo-Random Function)、反復回数、出力鍵長の5つのパラメータで制御される。パスワードソルト値をもとに、指定の関数を反復回数だけ繰り返し適用し、指定された固定長ハッシュ値を最終的な出力値として得る。

反復回数を増やすほど計算に時間がかかり、攻撃者による高速な試行を困難にする。実用上は数千回といった回数が指定される。ソルト値はランダムに生成される毎回異なる値で、同じパスワードでも計算結果が毎回異なるようにする。複数の利用者が同じパスワードを使用していても、生成されるハッシュ値は異なるものになる。疑似乱数関数はHMAC-SHA256などを用いることが多い。

PBKDF2は前身の「PBKDF1」の改良版で、1990年代に当時の米RSAラボラトリーズ(RSA Laboratories)社が策定した「PKCS #5」標準の一部として定義された。2000年にRFC 2898として公開され、2017年にRFC 8018として改訂された。Webサービスオペレーティングシステム(OS)のパスワード管理、ディスク暗号化ツールでの鍵生成など幅広い用途で使われている。同種の技術には「bcrypt」や「Argon2」などがある。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。