令和元年度 秋期 基本情報技術者試験 午前 問40
テクノロジ/セキュリティファイルの提供者は,ファイルの作成者が作成したファイルAを受け取り,ファイルAと,ファイルAにSHA-256を適用して算出した値Bとを利用者に送信する。そのとき,利用者が情報セキュリティ上実現できることはどれか。ここで,利用者が受信した値BはファイルAの提供者から事前に電話で直接伝えられた値と同じであり,改ざんされていないことが確認できているものとする。
出典:令和元年度 秋期 基本情報技術者試験 午前 問40
- ア値BにSHA-256を適用して値Bからディジタル署名を算出し,そのディジタル署名を検証することによって,ファイルAの作成者を確認できる。
- イ値BにSHA-256を適用して値Bからディジタル署名を算出し,そのディジタル署名を検証することによって,ファイルAの提供者がファイルAの作成者であるかどうかを確認できる。
- ウファイルAにSHA-256を適用して値を算出し,その値と値Bを比較することによって,ファイルAの内容が改ざんされていないかどうかを検証できる。
- エファイルAの内容が改ざんされていても,ファイルAにSHA-256を適用して値を算出し,その値と値Bの差分を確認することによって,ファイルAの内容のうち改ざんされている部分を修復できる。
正解:ウ
解説
SHA-256 はハッシュ関数であり,同じデータからは必ず同じ値が得られ,1ビットでも変わればまったく異なる値になります。利用者は値Bを電話で直接受け取って正しいと確認できているので,受信したファイルAから自分で SHA-256 の値を計算して値Bと比較すれば,ファイルAが途中で改ざんされていないか(完全性)を検証できます。ただしハッシュ関数だけでは,誰が作成したかという真正性の確認や,改ざん部分の修復はできません。
選択肢ごとの解説
- ア誤り。ハッシュ値にハッシュ関数を適用してもディジタル署名は作れません。署名の作成には秘密鍵が必要です。
- イ誤り。同様にハッシュ値から署名は算出できず,提供者と作成者が同一かどうかを確認することもできません。
- ウ正しい。ファイルAから計算した SHA-256 の値と値Bを比較することで,内容が改ざんされていないことを検証できます。
- エ誤り。ハッシュ値は元データを復元できない一方向の値なので,差分から改ざん部分を特定して修復することはできません。