【PHP8.x】SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE定数の使い方
SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE定数は、PHPのsodium拡張機能が提供するパスワードハッシュ関数sodium_crypto_pwhashにおいて、パスワードハッシュ計算のCPUコスト(操作回数)の上限値を設定するための定数です。この定数は、特に機密性の高い情報を保護する場合や、非常に高いセキュリティ要件が求められる環境に適した、最も厳しいセキュリティレベルを表します。
パスワードハッシュ処理では、ユーザーのパスワードをそのまま保存せず、計算量の多いアルゴリズムを用いて一方向のデータに変換します。この計算量を意図的に増やすことで、もし悪意のある第三者がハッシュ化されたパスワードデータを手に入れたとしても、総当たり攻撃(ブルートフォース攻撃)や辞書攻撃によって元のパスワードを推測するのにかかる時間を大幅に引き延ばし、攻撃の成功を困難にすることが目的です。
SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVEを使用すると、他のopslimit設定(例えば、SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATEなど)と比較して、CPUがより多くの計算処理を実行します。これにより、パスワード推測攻撃に対する耐性が最大限に向上し、高いセキュリティレベルが確保されます。ただし、この設定はパスワードハッシュの計算に要する時間も増加させるため、アプリケーションの性能要件とセキュリティのバランスを考慮して適用することが重要です。この定数を適切に利用することで、システムのセキュリティ基盤を強化できます。
構文(syntax)
1<?php 2echo SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE; 3?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません