弱いパスワードハッシュ

弱いパスワードハッシュ

説明

パスワードをmd5、sha1、汎用のhashなど高速なハッシュで保存すると、オフラインでの総当たり攻撃に弱くなります。

想定される影響

ハッシュが漏えいすると、攻撃者が短時間でパスワードを推測できる可能性があります。

対処方法

password_hashとpassword_verifyを使い、PASSWORD_DEFAULTまたは対応しているPASSWORD_ARGON2IDを選んでください。

例

変更前

php
<?php
$hash = md5($password);

変更後

php
<?php
$hash = password_hash($password, PASSWORD_DEFAULT);

説明:

  • 変更前: パスワード専用のハッシュではなく、高速な汎用ハッシュ関数を使っています。
  • 変更後: password_hashとPASSWORD_DEFAULTを使います。検証にはpassword_verifyを使用してください。対応している場合はPASSWORD_ARGON2IDも選べます。

参考資料