情報セキュリティの基礎

パスワードの保存に、SHA-256のような高速なハッシュ関数をそのまま使うのではなく、bcryptやArgon2のような、わざと計算に時間がかかるように設計された方式を使うことが推奨される理由として正しいものはどれか。

  1. A計算に時間がかかる方式は出力が長いので、衝突が起きなくなるから
  2. B計算に時間をかけると、ハッシュ値から元のパスワードを正規の利用者だけが復元できるようになるから
  3. C保存されたハッシュ値が漏えいしたときに、攻撃者が候補のパスワードを1つ試すための計算も重くなり、総当たりや辞書攻撃にかかる時間が大きく増えるから
答えと解説を見る

正解:C. 保存されたハッシュ値が漏えいしたときに、攻撃者が候補のパスワードを1つ試すための計算も重くなり、総当たりや辞書攻撃にかかる時間が大きく増えるから

パスワードのハッシュ値が漏えいすると、攻撃者は手元の計算機で候補のパスワードを次々にハッシュ化して、一致するものを探せます。SHA-256のような汎用のハッシュ関数は、大量のデータを速く処理するために作られているので、GPUなどを使えば1秒あたりに膨大な数の候補を試せてしまいます。bcryptやArgon2のようなパスワードの保存のための方式は、計算の繰り返しの回数(コスト)を調整でき、1回の計算をわざと重くします。例えば1回の計算を100万倍遅くすれば、総当たりにかかる時間も100万倍になります。正規の利用者がログインするときは1回計算するだけなので、0.1秒程度の遅れなら問題になりません。Argon2は計算に多くのメモリも使うように設定でき、GPUや専用の回路で大量に並列に計算することを難しくします。どの方式でも、利用者ごとのソルトと組み合わせて使います。

  • A. 計算の時間と出力の長さは関係がありません。目的は衝突を防ぐことではなく、総当たりを遅くすることです。
  • B. どの方式でもハッシュ値から元のパスワードを復元することはできず、正規の利用者も入力されたパスワードを計算し直して比べるだけです。
  • C. 正しい。1回の試行を重くすることで、漏えいした後の総当たりにかかる時間を大きく増やせます。
この分野を解く 分野ページへ

関連する計算ツール

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

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

情報セキュリティの基礎のほかの問題

  1. 8文字のパスワードを、すべての候補を試す総当たりで探す。1秒あたり1×10^10個の候補を試せるとき、英小文字(26種類)だけで作ったパスワードと、英大文字・英小文字・数字(62種類)で作ったパスワードについて、すべての候補を試し終えるまでの時間の組み合わせとして最も近いものはどれか。
  2. AさんがBさんに送る文書にデジタル署名を付ける。署名の作成と検証に使う鍵と、デジタル署名によって確かめられることの組み合わせとして正しいものはどれか。
  3. メッセージ認証コード(MAC)とデジタル署名を比べたときの説明として正しいものはどれか。
  4. Webサーバのサーバ証明書に対応する秘密鍵が漏えいしたおそれがあることが分かった。証明書の有効期限はまだ残っている。運営者がとるべき対応として最も適切なものはどれか。
  5. 利用者を確かめる認証の3つの要素(知識・所持・生体)のうち、社員証のICカードを使う認証が当てはまるものはどれか。