2019年 秋期 基本情報技術者 午前 問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はハッシュ関数で与えられたデータから固定サイズの要約(ハッシュ値)を出力します。
そして、データが同じであれば算出されるハッシュ値も常に同じであり、ハッシュ値から元のデータを求めることができないという特徴があり、この特徴からメッセージダイジェストを作成するときに使用され、データ(ファイル)の送信者が作成したメッセージダイジェストと受信者が受信したデータから作成したメッセージダイジェストを比較することで、データが改ざんされていないことを確認することができます。


キーワード
・セキュアハッシュ関数

キーワードの解説
  • セキュアハッシュ関数(secure hash function)
    公開鍵暗号を使用したデジタル署名を行うときに、署名を行う可変長のメッセージから、固定長のビット列を生成する関数です。
    セキュアハッシュ関数が生成したビット列をメッセージダイジェスト(message digest)やハッシュ値といいます。
    セキュアハッシュ関数には以下のような特徴が要求されます。
    • 入力データの長さが異なっても、同じ長さのメッセージダイジェストを出力する。
    • 入力メッセージが少しでも異なっていれば、出力されるメッセージダイジェストは大きく異なる。
    • メッセージダイジェストから元のメッセージを算出することができない。
    • 同じメッセージダイジェストを出力する2つの入力データを見つけるのが困難である。

もっと、「セキュアハッシュ関数」について調べてみよう。

戻る 一覧へ 次へ