ソルト
ソルト とは何ですか?
ソルトハッシュ計算前にパスワードへ付加する一意のランダム値で、レインボーテーブルを無効化し各ユーザーのハッシュを別物にする仕組み。
暗号学的ソルト(salt)は、Argon2、scrypt、bcrypt、PBKDF2 などのハッシュ関数や KDF にパスワードを渡す前に混ぜ込む非秘匿のランダム値です。同じパスワードを使う 2 人のユーザーでも保存ハッシュが異なるため、事前計算済みのレインボーテーブルが無力化され、大規模攻撃はバッチ処理ではなくユーザーごとの線形処理になります。少なくとも 16 バイト、暗号学的に安全な RNG で生成し、認証情報ごとに一意で、ハッシュと一緒に保存します(秘匿の必要はありません)。最新のパスワードハッシュ形式(PHC 文字列、$argon2id$...、$2b$...、$scrypt$... など)はソルトを直接埋め込みます。HKDF やランダム化された公開鍵暗号方式も同じ目的でソルトを使用します。
● 例
- 01
$argon2id$v=19$m=65536,t=3,p=1$<base64-salt>$<base64-hash> 形式の Argon2id ハッシュ。
- 02
アカウント作成時にユーザーごとに生成する 16 バイトのランダムソルト。
● よくある質問
ソルト とは何ですか?
ハッシュ計算前にパスワードへ付加する一意のランダム値で、レインボーテーブルを無効化し各ユーザーのハッシュを別物にする仕組み。 サイバーセキュリティの 暗号 カテゴリに属します。
ソルト とはどういう意味ですか?
ハッシュ計算前にパスワードへ付加する一意のランダム値で、レインボーテーブルを無効化し各ユーザーのハッシュを別物にする仕組み。
ソルト からどのように防御しますか?
ソルト に対する防御は通常、上記の定義で述べたとおり、技術的統制と運用上の実践を組み合わせます。
ソルト の別名は何ですか?
一般的な別名: 暗号学的ソルト, パスワードソルト。