問題
問86
AさんはBさんの公開鍵をもっている。Bさんの公開鍵を使ってAさんができることはどれか。
- Aさんのディジタル署名を作成でき、Bさんへの通信に付与する。
- Bさんが確実に受け取ったという通知を自動返信させることができる電子メールを送信する。
- Bさんだけが復号できる暗号文を作成する。
- Bさんへの通信の内容が改ざんされた場合に、Aさんが検知できる。
[出典:ITパスポート試験 平成29年度春期 問86]
正解
正解は「ウ」です。
解説
正解はウです。 公開鍵暗号方式では、公開鍵と秘密鍵というペアの鍵を使います。公開鍵は名前の通り公開されていて、誰でも自由に利用できます。一方、秘密鍵は所有者だけが厳重に保管し、他人に知られないように管理します。 この方式では、公開鍵で暗号化されたデータは、対応する秘密鍵でしか復号できません。
今回の問題では、AさんがBさんの「公開鍵」を持っている状況です。AさんがBさんの公開鍵を使ってメッセージを暗号化すると、そのメッセージはBさんしか持っていない秘密鍵でしか復号できません。そのため、AさんはBさんだけが内容を読める暗号文を作成することができます。
これは、郵便ポストに鍵をかけるようなイメージです。誰でもポストに手紙を入れる(公開鍵で暗号化する)ことはできますが、そのポストを開けて手紙を取り出す(秘密鍵で復号する)ことができるのは、ポストの鍵を持っているBさんだけ、というわけです。
ア(Aさんのディジタル署名を作成でき、Bさんへの通信に付与する。):
ディジタル署名を作成するには、署名する人自身の秘密鍵が必要です。AさんがBさんの公開鍵を持っていても、Aさんの署名を作成することはできません。ディジタル署名は、データが誰によって作られたか(本人性)と、改ざんされていないか(完全性)を保証するためのものです。
イ(Bさんが確実に受け取ったという通知を自動返信させることができる電子メールを送信する。):
電子メールの受信通知は、メールソフトやメールサーバの機能であり、公開鍵暗号方式とは直接関係ありません。これは、メールの送受信に関するプロトコル(手順)によって実現される機能です。
エ(Bさんへの通信の内容が改ざんされた場合に、Aさんが検知できる。):
通信内容の改ざん検知は、一般的にディジタル署名を使って行われます。ディジタル署名では、送信者が秘密鍵で署名し、受信者が送信者の公開鍵を使ってその署名を検証することで、改ざんされていないかを確認します。問題文ではAさんがBさんの公開鍵を持っている状況なので、AさんがBさんの通信の改ざんを検知するためには、BさんがAさんの公開鍵を使って署名を検証する必要があります。AさんがBさんの公開鍵を持っていても、Bさんの通信が改ざんされたかどうかをAさんが検知することはできません。
難易度
この問題は、公開鍵暗号方式の基本的な仕組み、特に公開鍵と秘密鍵のそれぞれの役割を理解しているかを問うものです。ITパスポート試験の頻出テーマであり、基本的な知識があれば解答しやすい問題と言えます。公開鍵と秘密鍵のどちらで暗号化・復号、署名・検証が行われるのかを整理して理解しておくことが重要です。
用語補足
公開鍵暗号方式:
データを安全にやり取りするための暗号化方式の一つです。暗号化と復号に異なる「公開鍵」と「秘密鍵」という2つの鍵を使います。公開鍵は誰にでも公開し、秘密鍵は自分だけが持っておくことで、セキュリティを確保します。例えば、郵便ポストの例でいうと、誰でも手紙を入れる(公開鍵で暗号化)ことはできますが、ポストから手紙を取り出す(秘密鍵で復号)ことができるのは、ポストの鍵を持っている人だけです。
公開鍵:
公開鍵暗号方式で使われる鍵の一つで、不特定多数の人に公開しても問題ありません。主な役割は、データを暗号化したり、相手のディジタル署名を検証したりすることです。例えるなら、誰でも書けるように公開されているメッセージボックスの住所のようなものです。
秘密鍵:
公開鍵暗号方式で使われる鍵の一つで、所有者本人だけが厳重に管理し、決して他人に公開してはいけません。主な役割は、公開鍵で暗号化されたデータを復号したり、自分自身のディジタル署名を作成したりすることです。例えるなら、自分しか開けられないプライベートなメッセージボックスの鍵そのものです。
ディジタル署名:
電子文書が改ざんされていないこと(完全性)と、誰が作成したか(本人性)を証明するための技術です。送信者が自身の秘密鍵を使って文書に署名し、受信者が送信者の公開鍵を使ってその署名を検証します。例えるなら、実世界の書類に押す印鑑やサインの電子版のようなものです。
対策
この問題のポイントは、公開鍵と秘密鍵のそれぞれの役割を正確に理解することです。
- 公開鍵:相手に送るメッセージを「暗号化」する、または相手の「ディジタル署名を検証」する際に使います。
- 秘密鍵:自分宛ての暗号化されたメッセージを「復号」する、または自分の「ディジタル署名を作成」する際に使います。
「誰が誰の鍵を使って何ができるのか」をしっかり区別できるように、これらの役割を整理して覚えることが、対策の鍵となります。図やイラストで視覚的に覚えるのも効果的です。

