説明
パスワードを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も選べます。