公開鍵暗号方式の安全性|電子メールの暗号化(2)
- 著者:YAMANJO
- 公開日:2008年11月24日
- 最終更新日:2025年7月8日
暗号通信における「盗聴」「改ざん」「なりすまし」「否認」の4つのリスクについて、具体的に理解していきましょう。
暗号通信の4つのリスク
公開鍵暗号方式の誕生によって、どうやって鍵を安全に相手に渡すのかというそれまでの大問題が一気に解決し、安全な通信ができるようになりました。
本項では、公開鍵暗号方式によって前項で学習した4つのリスク「盗聴」「改ざん」「なりすまし」「否認」をについて具体的に理解していきたいと思います。
盗聴のリスク
盗聴とは、通信の内容を第三者に傍受されることを言いますが、傍受されること自体を重大なリスクとするわけではなく、傍受されたとしても内容を解読されなければ問題ありません。
つまり、傍受された通信が意味不明な暗号文で解読できなければ盗聴とは言えません。したがって、通信を傍受されて内容まで解読されるリスクが盗聴のリスクになります。
ただし、傍受内容を時間をかけて解読したり、将来的なコンピュータ技術によって解読される可能性があること、また「いつ誰と通信していたか」といった情報は漏えいしてしまうため、傍受自体もリスクと言えます。
例えば、個人情報や企業機密の漏えい、クレジットカード番号の盗用などのリスクがあります。
改ざんのリスク
改ざんとは、通信内容が途中で改変されることを言います。つまり、相手に届く前に第三者によって内容が書き換えられることです。
例えば、銀行講座が書き換えられて送金されたり、メッセージやファイルにマルウェアが混入されるなどのリスクがあります。
なりすましのリスク
なりすましとは、悪意のある第三者が正当な送信者や受信者の「ふり」をすることを言います。つまり、通信相手に偽装してやり取りを行うことです。
例えば、盗聴と同様に機密情報の漏えい、クレジットカード番号の盗用などのリスクがあります。
否認のリスク
否認とは、通信相手が後から「やっていない」「知らない」と主張することです。
つまり、電子メールであれば「受け取っていない」「送っていない」と主張されることで、これにより取引などの証明ができなくなります。否認には「送っていない」という送信否認と、「受け取っていない」という受信否認があります。
例えば、契約書を受け取っていない、注文書を送っていない(他人がなりすまして送ったものだ)といった主張により、トラブルになるリスクがあります。
これら4つのリスクを防止すること、または、これらが行われていないことを証明することで完全に安全な通信となります。
具体的な防止方法や証明方法については、次項から詳しく学習していきますが、この4つの中で特に重要な要素がひとつだけあります。それがどれかわかるでしょうか?
共通鍵暗号方式でも公開鍵暗号方式でも、暗号化によって「盗聴」を防ぐことができます。鍵を複製(自力で発見)されたり、暗号の脆弱性を発見されない限り、現実的に内容を解読される恐れはありません。
しかし、それは鍵が第三者に漏れていないことが前提になっています。したがって、鍵が漏れてしまえば第三者が盗聴することが可能になってしまいます。
公開鍵暗号方式では、公開鍵で暗号化されたメッセージは受信者だけが持つ秘密鍵でしか復号化できないため、秘密鍵が第三者に漏れる可能性は非常に低くなります。そのため、盗聴の可能性は非常に低くなりますが、盗聴されないということは「改ざん」も防ぐことができるでしょうか?
内容が解読できないということは、例えば、本文にどう影響したのかわからないような意味をなさない改ざんが行われる可能性はありますが、注文書の100個を1,000個というように、内容を知り得えなければできない改ざんは防ぐことができそうです。
本当にそうでしょうか?じつは、暗号化だけでは盗聴も改ざんも可能性を完全に排除することはできないのです。
情報の受け手(受信者)を「あなた」だとしましょう。
この場合は「あなた」が公開鍵を公開し、秘密鍵を保持しています。そして「あなた」の公開鍵で作成された暗号文が送られてきます。その暗号文を「あなた」の秘密鍵で正しく復号化できれば、盗聴もなく改ざんもされていないことになります。
公開鍵は誰でも手に入れることができるため、はっきり言えば送信相手が誰であろうと、「あなた」の秘密鍵で正しく復号化できれば、他に復号化できる第三者はいないため、盗聴も改ざんもされていないことになります。
では、立場を逆した場合はどうでしょうか?
今度は「あなた」が情報を送る送信者の立場で考えてみましょう。「あなた」は送信相手(受信者)の公開鍵で暗号文を作成して送信します。この時、送信相手が本当にその人本人と言えるでしょうか?
さらに言えば、その公開鍵が送信相手のもので間違いないと言えるのかということです。メールアドレスから送信相手を確認できるとしても、公開鍵がその人のものである根拠がないのです。
つまり、盗聴となりすまし防止の根拠は、
公開鍵が受信者本人のものでに間違いないことが前提になっている
ということです。
この前提が崩れてしまうと、すべての安全が崩壊します。例えば、公開鍵が送信相手本人のものではなく、第三者が作成したものだったらどうでしょうか?
作成した暗号文はその第三者の秘密鍵で復号化されてしまい「盗聴」を防ぐことができません。そもそも、その第三者の秘密鍵でしか復号化することができなくなります。そのため「改ざん」も容易です。
このことからわかるとおり、
「なりすまし」の可能性を排除しなければ安全は確保できない
ということになります。
暗号通信において防止しなければならないのは、何より「なりすまし」です。なりすまし防止しなければ、その他の3つ「盗聴」「改ざん」「否認」を防止することができなくなります。
では、どうやってなりすましを防止するのかですが、それが公開鍵暗号方式の最重要課題と言っても過言ではありません。
ただ、犯罪をゼロにすることができないように、なりすまし自体を防止する方法はありません。盗聴、改ざん、否認を含めて、それらが行われていないことを総合的に検証するしかないのです。したがって、なりすましを防止するのではなく、なりすましが行われていないことを証明することになります。
暗号通信の8つの疑問
では、公開鍵暗号方式において、4つのリスクをさらに具体的に検証してみます。
疑わなければならないリスクには、どのようなリスクがあるでしょうか?
例として「あなた」と「花子さん」が通信すると仮定して検証していきたいと思います。あなた自身だと思って考えてみてください。 まずは「あなた」が「花子さん」に暗号メールを送信する場合を考えてみましょう。

1.送信相手が、本当に花子さん本人か?
メールアドレスが花子さん本人のもので間違いなければ、送信相手は花子さんで間違いありません。メールアドレスは世界唯一のユニークな文字列であり、世界に2つとないからです。
しかし「あなた」が「花子さん」と面識がない場合はどうでしょうか。迷惑メールでよくある手口で、Amazonや宅配業者など実在の企業になりすましたメールが世の中にあふれています。「なりすまし」の可能性を疑わなければなりません。
つまり、メールアドレスは一つの目安にはなりますが、それだけで本人性を保証するものではありません。
2.公開されている花子さんの公開鍵が、本当に花子さん本人のものか?
これは、1と同じことのようですが意味はまったく異なります。そして、ここがもっとも重要なポイントでもあります。
送信相手は花子さんに間違いなくても、公開鍵は文字どおり公開されているので、それが花子さんのものではなく、なりすましによる第三者のものである可能性があります。
公開鍵は花子さんと直接会って受け取るわけではありません。そもそもそれができるなら暗号通信は必要ありません。
花子さんではなく、悪意のある第三者が作成した公開鍵であった場合、情報はその第三者に復号化されてしまい、花子さんの秘密鍵では復号化できないということになります。「なりすまし」によって「盗聴」「改ざん」が行われる可能性があります。
3.花子さんにメールが届いているか?
花子さんより返信があれば届いていることが確認できますが、返信を求めない一方通行のメールの場合は、花子さんから何らかのアクションがない限り到着確認ができません。
受け取っていないと「否認(受信否認)」される可能性があります。
4.内容が盗聴されていないか?
秘密鍵を花子さん本人が大切に保管していれば、第三者が盗聴することはできません。
しかし、1および2の疑問を解決する必要があります。「なりすまし」によって「盗聴」される可能性があります。
5.内容が改ざんされていないか?
1および2の疑問を解決しなければ「なりすまし」によって改ざんが可能になります。
また、暗号化されたデータを無理やり改ざん(改ざんした第三者にも本文にどう影響したのかわからないような改ざん)をされる可能性もゼロではありません。
以上が、送信者側から見た(あなたから花子さんに送信する際の)疑うべき点です。この5つについて検証を行えば安全な通信が可能になります。
では、逆に「花子さん」が送信者となり「あなた」が受信する場合を考えてみましょう。今度は「あなた」が鍵の作成者になります。

6.あなた宛ての暗号文が、本当に花子さん本人からのものか?
この場合は「あなた」が配布した公開鍵で暗号文が送られてきます。その暗号文が「あなた」の秘密鍵で復号化できれば、間違いなく「あなた」の公開鍵で作成された「あなた」宛ての通信であることは確定します。
しかし「あなた」の公開鍵は誰でも手に入れることができるので、相手が本当に花子さんであるのか確かめる必要があります。「なりすまし」の可能性を疑わなければなりません。
7.内容が改ざんされていないか?
「あなた」だけが持つ秘密鍵で復号化するため、「あなた」が秘密鍵を大切に保管していれば、いかなる場合も第三者が盗聴することはできません。
しかし、前述のとおり、暗号化されたデータを無理やり「改ざん」される可能性はゼロではありません。
8.花子さんがメールを送ったという事実を否定しないか?
「あなた」はメールを受け取っているのに、花子さんがそんなもの送っていないと「否認(送信否認)」される可能性があります。(誰かが花子さんになりすましをしたと主張される)
以上が、受信者側から見た(あなたが受信する際の)疑うべき点です。この3つについて検証を行えば安全な通信が可能になります。
こうして、送信と受信の場合で計8つの疑問について認証を行い、それぞれ正しいことを証明できれば、完全に安全な通信が行えたことになります。
重要なポイントは、なりすましが行われていないことをどうやって証明するかです。実際にどのような方法で「なりすまし」の検証を含め、これら8つの疑問は解決されるのか、次項から詳しく学習していきたいと思います。
更新履歴
- 2008年11月24日
- ページを公開。
- 2009年5月22日
- ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
- 2018年1月30日
- ページをSSL化によりHTTPSに対応。
- 2025年7月8日
- 内容修正。
著者プロフィール
YAMANJO(やまんじょ)
- 経歴
- 岡山県出身、1980年生まれ(申年)の♂です。現在、総合病院で電子カルテなどの情報システム担当SEとして勤務。医療情報学が専門ですが、ネットワーク保守からプリンタの紙詰まり、救急車の運転手までこなしています。
- 医療情報技師、日本DMAT隊員。ITパスポート、シスアドなど、資格もろもろ。
- 趣味は近所の大衆居酒屋で飲むこと、作曲(ボカロP)、ダイビング。
- 関連リンク
- 詳細なプロフィールはこちら
- 作成したボカロ曲などはYoutubeへ
- X(Twitter)
