bcryptとは
パスワード保存専用の低速ハッシュ関数
bcryptとは
bcryptは1999年にNiels ProvosとDavid Mazièresが設計したパスワードハッシュ関数だよ。パスワードの安全な保存を目的に作られたもので、「意図的に遅い」のが大きな特徴なんだ。
コストファクター(ストレッチング)
bcryptには「コストファクター」というパラメーターがあって、ハッシュ計算の重さを調整できるよ。コスト10なら1024回、コスト12なら4096回の繰り返し計算が行われる。
$2b$12$[22文字のソルト][31文字のハッシュ]
ハードウェアが進化して計算速度が上がっても、コストファクターを引き上げることで安全性を維持できる仕組みになってるんだ。
自動ソルト管理
bcryptはソルトの生成と管理を自動でやってくれる。同じパスワードでも呼び出すたびに異なるハッシュ値が生成されるので、実装者がソルトを手動管理する必要がないよ。
現在の推奨状況
bcryptは25年以上の実績を持つ枯れた技術だよ。ただし、メモリ使用量が少ないためGPUによる並列攻撃に対してArgon2より弱い面がある。新規システムではArgon2idが推奨されることが多いけど、bcryptも適切なコストファクター(12以上推奨)で使えば十分に安全だね。
パスワードとの関係
bcryptを使っているサービスは、パスワードが盗まれてもすぐに解読されるリスクが低い。でも、パスワードが弱ければhcryptも万能ではないよ。強いパスワードと組み合わせてこそ意味があるんだ。
作ったパスワードは頭で覚えるのではなく、マネージャーに任せると安全です。 編集部がふだん使っているサービスをご紹介します。
洗練されたUI・Watchtower侵害通知・旅行モード搭載。Apple製品ユーザーに特に人気の老舗マネージャー。
オープンソースで透明性が高く、無料プランでも基本機能をフルに使える。セルフホストも可能。
SOC2 Type2認証取得済み。BreachWatch によるダークウェブ監視と法人向け管理コンソールが強力。
NordVPN 系列の老舗。XChaCha20 暗号化・データ漏洩スキャナ・パスワードヘルスを内蔵。日本語UI対応。
スイス拠点・Proton Mail 系列。E2E 暗号化・メールエイリアス・2FA を1つに統合。プライバシー重視派に。