ソルトとは

そると

パスワードのハッシュ値を計算するときに、利用者ごとに加えるランダムな値。同じパスワードでもハッシュ値が異なるようになり、あらかじめ計算したハッシュ値の表を使った解読を難しくする。ハッシュ値と一緒に保存し、秘密にする必要はない。

「ソルト」は、1分野の2問の練習問題に出てきます(情報セキュリティの基礎など)。

この用語の分野: 情報セキュリティの基礎

ソルトの練習問題に挑戦

Webサービスで利用者のパスワードを保存するとき、パスワードに利用者ごとに異なるランダムな値(ソルト)を加えてからハッシュ値を計算して保存する。ソルトを使う主な目的はどれか。

  1. Aハッシュ値からソルトを使って元のパスワードを復元できるようにし、パスワードを忘れた利用者に知らせられるようにする
  2. B同じパスワードを使う利用者がいても保存されるハッシュ値が異なるようにし、あらかじめ計算したハッシュ値の表を使った解読を難しくする
  3. Cハッシュ値を短くして、データベースの容量を節約する
答えと解説を見る

正解:B. 同じパスワードを使う利用者がいても保存されるハッシュ値が異なるようにし、あらかじめ計算したハッシュ値の表を使った解読を難しくする

パスワードは、そのまま保存せず、ハッシュ関数で計算したハッシュ値を保存するのが基本です。ログインのときは、入力されたパスワードのハッシュ値を計算して、保存された値と比べます。しかし、ハッシュ値だけを保存すると、同じパスワードの利用者は同じハッシュ値になり、よく使われるパスワードのハッシュ値をあらかじめ計算した表(レインボーテーブルなど)と照らし合わせるだけで、多くのパスワードが分かってしまいます。ソルトは、利用者ごとにランダムに作ってパスワードに加える値で、ハッシュ値と一緒に保存します。ソルトは秘密にする必要はありませんが、利用者ごとに値が違うので、同じパスワードでもハッシュ値が異なり、事前に計算した表が使えなくなります。攻撃者は利用者ごとに計算し直す必要があり、手間が大きく増えます。

解説の中の「ソルト」

「ソルト」が出てくる問題(2問)

  1. Webサービスで利用者のパスワードを保存するとき、パスワードに利用者ごとに異なるランダムな値(ソルト)を加えてからハッシュ値を計算して保存する。ソルトを使う主な目的はどれか。
  2. パスワードの保存に、SHA-256のような高速なハッシュ関数をそのまま使うのではなく、bcryptやArgon2のような、わざと計算に時間がかかるように設計された方式を使うことが推奨される理由として正しいものはどれか。

情報セキュリティの基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

半導体・電子回路・情報の計算ツール

関連する用語

ハッシュ関数 GPU SQLインジェクション 共通鍵暗号 クロスサイトスクリプティング(XSS) 公開鍵暗号 最小権限の原則 ゼロデイ攻撃 ソーシャルエンジニアリング 多要素認証

用語集の一覧へ