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