問題
問92
パスワード認証において、パスワードをそのまま保存するのではなく、不可逆な変換を施した値(ハッシュ値)を保存することで、パスワードが漏えいした場合のリスクを低減する対策はどれか。
- パスワードポリシーの強化
- 多要素認証の導入
- パスワードのハッシュ化
- パスワードの定期的な変更
正解
正解は「ウ」です。
解説
正解は「ウ」のパスワードのハッシュ化です。パスワードのハッシュ化とは、利用者が設定したパスワード(平文)を、ハッシュ関数という特殊な関数を用いて、元のパスワードを推測できない別の文字列(ハッシュ値)に変換して、データベースに保存するセキュリティ対策です。ハッシュ関数には「不可逆性」という特徴があり、ハッシュ値から元のパスワードを復元することは極めて困難です。利用者がログインする際には、入力されたパスワードを同じハッシュ関数でハッシュ化し、保存されているハッシュ値と一致するかを比較して認証します。
これにより、万が一データベースからハッシュ値が漏洩しても、攻撃者は元のパスワードを直接知ることができないため、影響を大幅に軽減できます。問題文の「不可逆な変換を施した値(ハッシュ値)を保存する」という説明は、まさにパスワードのハッシュ化の手法そのものです。
ア(パスワードポリシーの強化):
パスワードの最小文字数や複雑さ(英数字記号の混在など)のルールを厳しくすることです。
イ(多要素認証の導入):
パスワード(知識)に加えて、スマートフォン(所持)など、複数の要素で認証を行うことです。
エ(パスワードの定期的な変更):
利用者に一定期間ごとにパスワードの変更を要求することです。漏洩したパスワードが長期間使われるリスクを減らします。
解法のポイント
パスワード関連のセキュリティ対策は、それぞれ目的が異なります。ハッシュ化の目的は「漏洩時のリスク低減」です。他の選択肢も有効な対策ですが、問題文が「パスワードの保存方法」に言及している点がポイントです。「不可逆な変換」「ハッシュ値」というキーワードを見たら、パスワードのハッシュ化を連想できるようにしましょう。ハッシュ関数が「改ざん検知」だけでなく、「パスワードの安全な保存」にも利用されることを理解しておくことが重要です。
用語補足
パスワードのハッシュ化:
パスワードを元に戻せない形に変換して保存することです。金庫の番号そのものではなく、番号の「ヒント」だけをメモしておくようなもので、ヒントから元の番号を当てるのは非常に困難です。
ハッシュ値:
ハッシュ関数によって生成された、データを要約したような固定長の文字列です。データの指紋(フィンガープリント)とも呼ばれます。
不可逆:
一度変換すると、元の状態に戻すことができない性質のことです。卵を焼いて目玉焼きにすると、もう生の卵には戻せないのと同じです。
多要素認証:
複数の鍵を使ってドアを開けるような認証方法です。家の鍵(所持)だけでなく、暗証番号(知識)も必要とすることで、防犯性を高めます。


