平成13年ソフトウェア開発技術者 午後

問3
 暗号化と認証に関する次の記述を読んで,設問1〜5に答えよ。

  X 社では,インターネット経由で取引先と電子メールやデータ(以下,メッセージという)の交換を行うことを計画している。インターネット経由でメッセージの交換を行う場合,メッセージの本文を暗号化するだけではセキュリティ面で安全とは言えない。メッセージの交換相手の認証も行う必要ある。相手の認証を行うに当たって,暗号化と復号を同一の鍵(共通鍵)で行う秘密鍵方式ではなく,暗号化と復号を各個人が所有する秘密鍵と公開鍵とで行う公開鍵方式の暗号化アルゴリズムを採用することにした。公開鍵方式を使って受信者Bが送信者Aの認証を行う場合の手順を図1に示す。

 図1の手順を応用して認証を可能にしたメッセージ送受信の手順を図2に示す。
図2の【  a  】【  b  】には,それぞれ図1の【  a  】【  b  】と同じ字句が入る。

 図2に示すメッセージ送受信の手順は次のとおりである。
 
(1) 送信者Aは,メッセージ本文を,Aと受信者Bが共有している共通鍵を使って,秘密鍵方式で暗号化してBへ送る。
(2) 認証を行うために,AとBとで共有しているハッシュ関数を用いて,Aはメッセージダイジェストを生成し,生成したメッセージダイジェストを公開鍵方式で暗号化してBに送る。ここで、AとBは相手の公開鍵を安全な方法で入手できるものとする。
(3) Bは,受け取ったメッセージダイジェストを公開鍵方式で復号する。さらに,メッセージ本文を共通鍵で復号し,復号した本文からハッシュ関数を使ってメッセージダイジェストを作る。
(4) Bは,Aから受け取って復号したメッセージダイジェストと,自分でメッセージ本文から生成したメッセージダイジェストが一致しているかどうかをチェックすることによって,相手を認証する。

設問1
 図1中の【  a  】【  b  】に入れる適切な字句を,それぞれ10字以内で答えよ。

設問2
 図2中の【  c  】【  f  】に入れる適切な字句を,それぞれ10字以内で答えよ。

設問3
 次の記述中の【  g  】に入れる適切な字句を15字以内で答えよ。

 図2の手順でメールを送るとき,メッセージ本体の暗号化と,メッセージダイジェストの暗号化では,別々の暗号化方式を用いている。これは,公開鍵方式が秘密鍵方式に比べて,【  g  】が長いからである。

設問4
 認証用データにメッセージダイジェストを用いることは,セキュリティ上,何を防止することを目的としているか。10字以内で答えよ。

設問5
 メッセージダイジェストを生成するハッシュ関数がもつべき特徴を解答群の中から一つ選び記号で答えよ。

 解答群
  ア 異なる入カデータから同じ出カデータを作成できる。
  イ 入カデータから出カデータを求める時間が短い。
  ウ 入カデータから出カデータを求める時間が長い。
  工 入力されるデータの長さより出力されるデータの長さが長い。
  オ 出カデータから入カデータを復元できない。

解答例(若林研二氏サイトへリンク)