暗号技術|平成29年度 秋期 情報セキュリティマネジメント試験 午前 問18
パスワードを用いて利用者を認証する方法のうち,適切なものはどれか。
- パスワードに対応する利用者IDのハッシュ値を登録しておき,認証時に入力されたパスワードをハッシュ関数で変換して比較する。
- パスワードに対応する利用者IDのハッシュ値を登録しておき,認証時に入力された利用者IDをハッシュ関数で変換して比較する。
- ✓ これが正解パスワードをハッシュ値に変換して登録しておき,認証時に入力されたパスワードをハッシュ関数で変換して比較する。
- パスワードをハッシュ値に変換して登録しておき,認証時に入力された利用者IDをハッシュ関数で変換して比較する。
解説
パスワードをハッシュ値で保存し、入力も同じ関数で変換して比べます。
パスワードをそのままの形で保存しておくと、保存先が漏れたときにそのまま悪用されてしまいます。そこで、あらかじめパスワードをハッシュ関数で変換した値だけを登録しておき、利用者が入力したパスワードを認証のたびに同じハッシュ関数で変換して、登録してある値と一致するかを比べます。ハッシュ関数は、同じ入力からはいつも同じ値を返し、少しでも違う入力からはまったく別の値を返すという性質を持ちます。値から元のパスワードを求めるのは難しいので、登録側にパスワードそのものを持たないまま照合ができるわけです。比べる二つがどちらもパスワードから作った値である、という対応が取れている点が要点になります。
ほかの選択肢はなぜ違うのか
- 登録してあるのは利用者IDから作った値なのに、突き合わせる相手は入力されたパスワードから作った値です。元になったデータが食い違うので、正しいパスワードを入れても一致しません。
- 登録も照合も利用者IDから作った値だけで済ませる形です。手順としてはつじつまが合っていても、秘密であるべきパスワードを一度も確かめていないため、利用者IDを知る人なら誰でも通ってしまいます。
- 保存側はパスワードから作った値、照合側は入力された利用者IDから作った値になっています。異なるデータから作った値どうしを見比べることになり、認証の判定として成り立ちません。
この問題に関係する言葉
- ハッシュ関数どんな長さのものからも決まった長さの値を作り出す計算。少しでも中身が変われば、できあがる値は大きく変わります。
- パスワード本人だけが知っているという前提で使う合言葉。他人に知られた時点で、本人確認の役目を果たさなくなります。
- 利用者IDシステムが利用者を見分けるための名前。パスワードと組にして本人確認に使い、記録を誰の操作かに結び付けます。
- 認証名乗ったとおりの本人か、通信の相手が本物かを確かめる手続き。ここを経ずに入り込む裏口があると、後の許可の仕組みが働きません。
出典:平成29年度 秋期 情報セキュリティマネジメント試験 午前 問18
同じ単元をまとめて解くなら暗号技術へ。
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)