FE SUBJECT B
基本情報技術者 科目Bの問題解説:B社の社内システムでは、利用者のパスワードを共通の方式で暗号…
問題
B社の社内システムでは、利用者のパスワードを共通の方式で暗号化して保存しており、暗号化と復号に使う鍵をプログラムのソースコード中に直接書き込んでいる。レビューで、ソースコードが流出すると鍵も同時に漏れ、保存されたパスワードがすべて元に戻されてしまうと指摘された。担当者がパスワード保管方式を見直す。
見直しとして、最も適切なものはどれか。
- ア 暗号化方式は変えず、ソースコードのコメントを削除する。
- イ 復号できる暗号化ではなく、ソルトを付けたパスワードハッシュによる保存に変更する。(正解)
- ウ 鍵をソースコードの末尾に移動する。
- エ パスワードを全角文字に変換してから暗号化する。
- オ 暗号化を二重にかけて保存する。
出典:オリジナル問題|参考範囲:試験要綱Ver.5.5 / FEシラバスVer.9.2 科目B範囲
正解と解説
正解:復号できる暗号化ではなく、ソルトを付けたパスワードハッシュによる保存に変更する。
状況の整理:復号できる暗号化+鍵の埋め込みのため、鍵が漏れれば全パスワードが復元されます。そもそもパスワードは「元に戻せる必要がない」点が見落とされています。
なぜイか:ハッシュは一方向で元に戻せないため、保存値が漏れても元のパスワードは得られません。ソルトを加えればまとめての解読も困難です。鍵管理の問題自体が消えます。
誤答の理由:ア(コメント削除)・ウ(鍵を末尾へ)は鍵がコード内にある問題を解決しません。エ(全角変換)は無意味です。オ(二重暗号化)も復号可能なままで鍵漏えいに弱い点は変わりません。
読み解きのコツ:「鍵をどう守るか」で悩んだら、そもそも復号不要なハッシュにできないかを考えるのがパスワード保管の発想です。
他の選択肢はなぜ違う?
- アコメントを消しても鍵そのものはコードに残る。
- ウ鍵の位置を変えても流出すれば同じ。
- エ全角変換は暗号学的に無意味。
- オ二重に暗号化しても、鍵が漏れれば順に復号できる。
この問題について
公開問題・サンプル問題のセキュリティ事例形式(A社シナリオ+もっともらしい誤答)を参考にした独自問題です。本文・選択肢・解説は新規作成しています。
公式試験問題、公開問題、市販教材、外部問題サイトの問題文を転載・改題したものではありません。