ITパスポート過去問 平成30年度(2018年)問93
公開鍵暗号方式を利用した処理と,その処理に使用する公開鍵の組合せa~cのうち,適切なものだけを全て挙げたものはどれか。

選択肢
- ア:a,b
- イ:a,c
- ウ:b
- エ:b,c
- ア
- イ
- ウ
- エ
正解と解き方・学習ポイント(AI解説)
ディジタル署名は、付与(作成)は秘密鍵、検証は公開鍵で行います。また、ブラウザとWebサーバ間の暗号化通信(TLS)では、Webサーバの公開鍵を用いてサーバ認証や鍵共有を行います。したがって、公開鍵を使う処理として適切なのはbとcです。
Point
公開鍵暗号方式で、公開鍵を使う処理と秘密鍵を使う処理を区別できることを確認する問題です。特に、ディジタル署名は付与と検証で使う鍵が異なる点と、TLSでWebサーバの公開鍵が使われる点を理解しているかを問われています。
解くために必要な知識
この問題を解くには、公開鍵暗号方式におけるディジタル署名と暗号化通信の目的と、各処理で使う鍵(公開鍵・秘密鍵)の対応を理解している必要があります。
用語の整理
| 用語 | 意味 |
|---|---|
| 公開鍵暗号方式 | 公開鍵と秘密鍵のペアを使う方式です。公開鍵は配布でき、秘密鍵は本人が管理します。 |
| ディジタル署名 | 送信者が本人であることの確認と、改ざん検出に使います。 |
| 公開鍵 | 署名の検証や、相手に送るデータの暗号化に使います。 |
| 秘密鍵 | 署名の付与や、自分宛てに暗号化されたデータの復号に使います。 |
判断ポイントの整理
1. ディジタル署名(本人確認、改ざん検出)
| 処理 | 使用する鍵 |
|---|---|
| 署名を付与する | 署名者本人の秘密鍵 |
| 署名を検証する | 署名者の公開鍵 |
2. 暗号化通信(内容の秘匿)
| 処理 | 使用する鍵 |
|---|---|
| 暗号化する(送信側) | 受信者の公開鍵 |
| 復号する(受信側) | 受信者の秘密鍵 |
問題の解法手順
この問題では、a〜cそれぞれについて「その処理は署名か暗号化か」「その処理で使うのは公開鍵か秘密鍵か」「誰の鍵か」を確認します。
選択肢を構成する要素の整理
| 要素 | 処理 | 表で示された鍵 | 正しい鍵 | 判定 |
|---|---|---|---|---|
| a | 作成した電子メールに対するディジタル署名の付与 | 電子メール作成者の公開鍵 | 電子メール作成者の秘密鍵 | ✕ |
| b | 受信した電子メールに付与されているディジタル署名の検証 | 電子メール作成者の公開鍵 | 電子メール作成者の公開鍵 | ○ |
| c | 使用しているブラウザからWebサーバへの暗号化通信 | Webサーバの公開鍵 | Webサーバの公開鍵 | ○ |
aの確認(署名の付与)
署名の付与は、作成者本人しか使えない秘密鍵で行います。公開鍵で署名を付与すると、誰でも署名を作れてしまうため不適切です。
bの確認(署名の検証)
署名の検証は、作成者の公開鍵で行います。そのため適切です。
cの確認(暗号化通信)
暗号化通信は、送信側が相手(Webサーバ)の公開鍵で暗号化し、Webサーバが自分の秘密鍵で復号します。そのため適切です。
以上より、適切なのはbとcです。
選択肢ごとの解説
- ア:不正解
ディジタル署名の付与は公開鍵ではなく、電子メール作成者の秘密鍵で行うのが原則です。bは正しいですが、aが誤りなので不適切です。
- イ:不正解
cは適切ですが、aが誤りです。署名の付与は公開鍵ではなく秘密鍵で行うため、aを含むこの組合せは不適切です。
- ウ:不正解
bは適切ですが、cも適切です。ブラウザからWebサーバへ暗号化して送る場合、受信者であるWebサーバの公開鍵を使うのが原則なので、cも正解に含まれます。
- エ:正解
bとcが適切です。署名の検証は作成者の公開鍵を使い、暗号化通信は受信者であるWebサーバの公開鍵を使うのが原則です。
まとめ
ディジタル署名は、付与(作成)は秘密鍵、検証は公開鍵で行います。また、ブラウザとWebサーバ間の暗号化通信(TLS)では、Webサーバの公開鍵を用いてサーバ認証や鍵共有を行います。したがって、公開鍵を使う処理として適切なのはbとcです。
テクノロジ系 > 技術要素 > セキュリティ
ディジタル署名の付与は公開鍵ではなく、電子メール作成者の秘密鍵で行うのが原則です。bは正しいですが、aが誤りなので不適切です。
cは適切ですが、aが誤りです。署名の付与は公開鍵ではなく秘密鍵で行うため、aを含むこの組合せは不適切です。
bは適切ですが、cも適切です。ブラウザからWebサーバへ暗号化して送る場合、受信者であるWebサーバの公開鍵を使うのが原則なので、cも正解に含まれます。
bとcが適切です。署名の検証は作成者の公開鍵を使い、暗号化通信は受信者であるWebサーバの公開鍵を使うのが原則です。