RSA署名の検証鍵は誰の鍵を使うのか
基本情報技術者試験 令和元年度秋期 午前 問38 / セキュリティ › 情報セキュリティ
過去問にチャレンジ
メッセージにRSA方式のディジタル署名を付与して2者間で送受信する。そのときのディジタル署名の検証鍵と使用方法はどれか。
- ア
受信者の公開鍵であり,送信者がメッセージダイジェストからディジタル署名を作成する際に使用する。
- イ
受信者の秘密鍵であり,受信者がディジタル署名からメッセージダイジェストを算出する際に使用する。
- ウ
送信者の公開鍵であり,受信者がディジタル署名からメッセージダイジェストを算出する際に使用する。
- エ
送信者の秘密鍵であり,送信者がメッセージダイジェストからディジタル署名を作成する際に使用する。
会話形式の解説
講師この問題では、署名を作るときと検証するときで、使う鍵を分けて考えます。問われているのはどちらですか。
受験者検証するときの鍵です。送信者が使う鍵を選んでしまいそうです。
講師まず、送信者が署名を作るときは、自分の秘密鍵を使います。検証するのは受信者です。
受験者受信者が検証するなら、受信者の鍵を使うのでしょうか。
講師そこが紛らわしいところです。受信者が使う検証鍵は、署名を付けた送信者の公開鍵です。
受験者受信者の秘密鍵を使う選択肢は、検証する人は合っていても、鍵の持ち主が違うのですね。
講師そのとおりです。受信者の公開鍵で署名を作る選択肢も違います。署名を作るのは送信者で、使うのは送信者の秘密鍵です。
受験者送信者の秘密鍵で署名を作る選択肢は、その操作自体は合っています。それでも検証鍵を聞かれているので選べませんね。
講師はい。受信者が送信者の公開鍵を使う選択肢が正解のウです。署名から得たダイジェストを、受信した本文から計算した値と照合します。
受験者作成は送信者の秘密鍵、検証は受信者が使う送信者の公開鍵、と分ければ判断できます。
講師鍵の持ち主だけで決めず、誰が何のために使う鍵かまで確かめると、作成用の鍵との取り違えを防げます。
まとめ
RSA方式のディジタル署名は、送信者が自分の秘密鍵で作ります。検証時には、受信者が送信者の公開鍵を使います。受信者は署名から得たダイジェストと、受信した本文から計算した値を照合します。鍵の持ち主と用途の両方を確かめることが、この問題の判断点です。
解答・解説
正解はウです
この問題のテーマ
RSA方式のディジタル署名について、検証に使う鍵と、それを使う人を問う問題です。
解き方の考え方
まず、署名を作る操作と検証する操作を分けます。送信者が自分の秘密鍵で署名を作り、受信者が送信者の公開鍵で検証します。したがって、検証鍵を述べたウを選びます。
選択肢ごとの解説
- ×ア 受信者の公開鍵であり,送信者がメッセージダイジェストからディジタル署名を作成する際に使用する。アは受信者の公開鍵を使って署名を作るとしています。署名を作る際に使うのは送信者の秘密鍵なので、鍵の持ち主も用途も設問に合いません。
- ×イ 受信者の秘密鍵であり,受信者がディジタル署名からメッセージダイジェストを算出する際に使用する。イは受信者の秘密鍵で署名からダイジェストを得るとしています。送信者が付けた署名の検証には受信者の秘密鍵を使いません。
- ○ウ 送信者の公開鍵であり,受信者がディジタル署名からメッセージダイジェストを算出する際に使用する。ウは送信者の公開鍵を、受信者が署名の検証に使うとしています。署名から得たダイジェストを受信した本文から計算した値と照合できるため、検証鍵と使用方法の両方が合っています。
- ×エ 送信者の秘密鍵であり,送信者がメッセージダイジェストからディジタル署名を作成する際に使用する。エが述べる送信者の秘密鍵は、送信者が署名を作るときに使う鍵です。設問が尋ねている検証鍵ではないため、選べません。
POINT
- 鍵を選ぶときは、署名を作る側と確かめる側を先に区別します。
- 署名の検証では、署名から得た値と受信した本文から求めた値を照合します。
- 鍵の持ち主と用途の両方が設問に合う選択肢を選びます。
