ソルト(salt)とは

ソルト(salt)とは、パスワードを暗号化する際に付与されるデータのこと。

通常、パスワードを保存する際には、何らかの「非可逆処理」を行うことが多い。例えば、ハッシュ関数と呼ばれる一定の関数により算出されたハッシュ値などが代表的なもので、ハッシュ値から入力値(平文のパスワード)を再現することはできない。

しかし、予め任意の文字列をハッシュ値に変換しておき、標的のパスワードのハッシュ値と比較することでパスワードを推察する「レインボー攻撃」というパスワード破りの手法がある。こうした攻撃に対し、ランダムなデータをパスワードに付与してから非可逆処理を行うと、同じパスワードであっても、算出されるハッシュ値は違ったものになり、パスワードを解析されにくくする効果が期待できる。この付与されるデータをソルトという。

ソルトは、総当たり的にハッシュ値を計算する「ブルートフォース攻撃」のような手段にはほとんど効果はないものの、予めハッシュ値を計算しておくレインボー攻撃に対しては有効に作用する対策の一つといえる。レインボー攻撃は、ブルートフォース攻撃に比べ相当短時間でパスワードを解読することが可能であるため、そこを防ぐことには大きなメリットがあるといえるだろう。

セキュリティ用語辞典一覧ページへ

辻 伸弘のセキュリティ防衛隊

関連キーワード:
  • 違法ダウンロード刑事罰化とは
  • カテゴリートップへ
  • 2012年7月のIT総括