令和元年秋期試験問題 午前問40
問40解説へ
ファイルの提供者は,ファイルの作成者が作成したファイルAを受け取り,ファイルAと,ファイルAにSHA-256を適用して算出した値Bとを利用者に送信する。そのとき,利用者が情報セキュリティ上実現できることはどれか。ここで,利用者が受信した値Bはファイルの提供者から事前に電話で直接伝えられた値と同じであり,改ざんされていないことが確認できているものとする。
- 値BにSHA-256を適用して値Bからデジタル署名を算出し,そのデジタル署名を検証することによって,ファイルAの作成者を確認できる。
- 値BにSHA-256を適用して値Bからデジタル署名を算出し,そのデジタル署名を検証することによって,ファイルAの提供者がファイルAの作成者であるかどうかを確認できる。
- ファイルAにSHA-256を適用して値を算出し,その値と値Bを比較することによって,ファイルAの内容が改ざんされていないかどうかを検証できる。
- ファイルAの内容が改ざんされていても,ファイルAにSHA-256を適用して値を算出し,その値と値Bの差分を確認することによって,ファイルAの内容のうち改ざんされている部分を修復できる。
広告
解説
本問で登場する「SHA-256」は入力値から256ビットの文字列を生成するハッシュ関数です。
ハッシュ関数は、任意の長さのデータを入力すると固定長のビット列(ハッシュ値、メッセージダイジェスト)を返す関数です。次のような特徴をもちます。
ハッシュ関数は、任意の長さのデータを入力すると固定長のビット列(ハッシュ値、メッセージダイジェスト)を返す関数です。次のような特徴をもちます。
- 決定性
- 入力データが同じであれば、常に同じハッシュ値が生成される
- 雪崩効果
- 入力データが少しでも異なっていれば生成されるハッシュ値は大きく異なったものになる
- 一方向性(原像計算困難性)
- ハッシュ値から元の入力データを割り出すことが計算量的に難しい
- 衝突耐性
- 異なる入力データから同じハッシュ値が生成される可能性が極めて低い
- メッセージダイジェスト(値B)からデジタル署名を生成するには、ハッシュ関数ではなく公開鍵暗号を使用しなければなりません。ハッシュ関数だと利用者側で復号することができないからです。また、正しくデジタル署名を生成したとしてもファイル作成者を確認することはできません。
- 「ア」と同じ理由で誤りです。
- 正しい。ハッシュ関数を利用したメッセージ認証の説明です。送信側で算出したハッシュ値と受信側で算出したハッシュ値を比較することで、通信経路上でファイルが改ざんがされていないかどうかを確認できます。
- 改ざん部位の特定はできません。
広告