ソルトとは

概要

ソルトとは、パスワードや重要なデータをハッシュ化する際に追加される「ランダムな文字列」のことです。
ソルトを使うことで、同じパスワードでも異なるハッシュ値を生成でき、
総当たり攻撃(ブルートフォース)やレインボーテーブル攻撃に対する耐性が高まります。
セキュリティ分野で非常に重要な役割を担っています。

正式名称

Salt(ソルト)

略称

特になし

特徴

  • パスワードのハッシュ化にランダム性を持たせる
  • 同じパスワードでもソルトが異なればハッシュ結果も異なる
  • レインボーテーブル攻撃を無効化できる
  • 一般的にユーザーごとに固有のソルトを生成し、データベースに保存する
  • 単独ではなく「ハッシュ関数」と組み合わせて使われる

具体例

例えば、ユーザーが「password」というパスワードを登録した場合:

  • ソルトなしでハッシュ化(SHA-256)すると:
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
  • ソルト(例: XyZ123!)を追加してハッシュ化すると:
passwordXyZ123!
↓
8a7c5e73f2a1b02bb3b3cabc8d2c45edb8ab8f3c38e9a8c0c3e2c48ffdd9a6d0

関連用語

用語解説
ハッシュ関数データを固定長の文字列に変換する関数(SHA-256, bcryptなど)
レインボーテーブル攻撃ハッシュ値と元のパスワードを対応させた表を使う攻撃手法
ペッパー(Pepper)ソルトと似ているが、アプリケーション側で秘密に保持する追加のランダム文字列
ブルートフォース攻撃総当たりでパスワードを試す攻撃

タイトルとURLをコピーしました