ソルトとは

この記事は約 2 分で読めます

ソルト (Salt) とは、パスワードをハッシュ化する際に付加するランダムなデータです。 同じパスワードでもソルトが異なれば異なるハッシュ値が生成されるため、 レインボーテーブル攻撃や事前計算攻撃を無効化できます。ソルトはユーザーごとに 一意に生成され、ハッシュ値とともに保存されます。

ソルトの仕組み

パスワードのハッシュ化時に、暗号学的に安全な乱数生成器でソルトを生成し、 パスワードと結合してからハッシュ関数に入力します。ソルトは秘密にする必要はなく、 ハッシュ値と一緒にデータベースに保存されます。重要なのは、ユーザーごとに 異なるソルトを使用することです。パスワードハッシュ化の書籍 (Amazon)で詳しく解説されています。

なぜソルトが必要か

ソルトがなければ、同じパスワードを使うユーザーは全員同じハッシュ値になります。 攻撃者はレインボーテーブルを使って一度に大量のパスワードを解読できてしまいます。 パスつく.com で生成したランダムなパスワードはそもそも推測が困難ですが、 サービス側のソルト実装と組み合わせることで、より堅牢な保護が実現します。認証技術の入門書 (Amazon)も参考になります。

関連記事

関連記事

関連用語

用語集に戻る