ハッシュ値からデジタル署名を生成するのに使う鍵|情報処理安全確保支援士 平成30年 春期午前Ⅱ試験 問7

出典:平成30年春期 午前Ⅱ 問7 分野:セキュリティ / 情報セキュリティ
発信者がメッセージのハッシュ値からデジタル署名を生成するのに使う鍵はどれか。
  • ア:受信者の公開鍵
  • イ:受信者の秘密鍵
  • ウ:発信者の公開鍵
  • エ:発信者の秘密鍵
解説

デジタル署名は、メッセージが改ざんされていないことと、送信者本人が送ったことを確認するための仕組みです。

ポイントは、送信者が署名を作るときに「送信者の秘密鍵」を使い、受信者が確認するときに「送信者の公開鍵」を使うことです。

デジタル署名
  1. 送信者は、送信するメッセージからハッシュ値を作る。ハッシュ値は、メッセージの内容を短く要約した値のようなものです。
  2. 送信者は、そのハッシュ値を送信者の秘密鍵で変換し、デジタル署名を作る。秘密鍵は本人だけが持つ鍵なので、署名者の正当性を示す根拠になります。
  3. 送信者は、元のメッセージにデジタル署名を付けて受信者へ送る。
  4. 受信者は、受け取ったメッセージから同じようにハッシュ値を作る。
  5. 受信者は、送信者の公開鍵を使ってデジタル署名を検証する。
  6. 検証結果と、受信者が作ったハッシュ値が一致すれば、メッセージが改ざんされていないことを確認できる。
  7. さらに、送信者の公開鍵で正しく検証できたということは、その署名が送信者の秘密鍵で作られたことを意味するため、送信者本人による署名だと確認できる。

デジタル署名では、メッセージ全体を秘密鍵で暗号化するのではなく、メッセージから作ったハッシュ値に署名する点が重要です。

つまり、発信者がメッセージのハッシュ値をデジタル署名に変換するときに使う鍵は、「発信者の秘密鍵」です。

デジタル署名は、「秘密鍵で署名を作り、公開鍵で署名を確認する仕組み」と考えると分かりやすいです。

したがって、が適切です。

TSUNAGARU-ADVICE

まず押さえたいこと

デジタル署名は、発信者がメッセージのハッシュ値に対して、発信者自身の秘密鍵を使って生成します。受信者は、発信者の公開鍵で署名を検証することで、発信者本人が作成したことと、メッセージが改ざんされていないことを確認できます。

迷ったときの判断軸

暗号化では「受信者の公開鍵で暗号化し、受信者の秘密鍵で復号する」と考えます。一方、デジタル署名では「発信者の秘密鍵で署名し、発信者の公開鍵で検証する」と考えます。署名は、発信者しか持っていない秘密鍵を使うと判断しましょう。

科目Bにつなげるために

科目Bでは、公開鍵暗号・デジタル署名・証明書・認証局・ハッシュ関数を組み合わせて問われることがあります。秘密鍵を誰が持っているか、公開鍵を誰が検証に使うかを整理し、暗号化と署名で鍵の使い方が逆になる点を押さえておきましょう。