🍋
Menu
Security

Password Hashing

パスワードハッシュ化(安全な認証情報の保存)

平文のパスワードを固定長の不可逆なハッシュ値に変換して保存するプロセスで、データベースが漏洩しても元のパスワードが容易に復元されないようにします。

技術的詳細

パスワードハッシュ化アルゴリズムは総当たり攻撃に耐えるため意図的に低速でなければなりません:bcrypt(1999年、調整可能なワークファクター、184ビット出力)、scrypt(2009年、メモリハード、GPU攻撃に耐性)、Argon2(2015年、Password Hashing Competitionの優勝者、時間/メモリ/並列度を設定可能)。各パスワードはハッシュ化前にユニークなランダムソルトと組み合わされ、レインボーテーブル攻撃を防止します。ペッパー(サーバー側のシークレット)が追加の保護を提供します。生の暗号学的ハッシュ(SHA-256)は高速に設計されているため不適切で、GPUで毎秒数十億回の推測が可能です。OWASPはArgon2idを第一の選択肢として推奨しています。

```
Password hashing comparison:

  bcrypt:  $2b$12$salt22chars..hash31chars..
           Cost factor 12 → ~250ms per hash

  argon2id: $argon2id$v=19$m=65536,t=3,p=4$salt$hash
            Memory: 64MB, Iterations: 3, Parallelism: 4

  Never use: MD5, SHA-256 alone (too fast → brute-forceable)
```

関連ツール

関連用語