基礎からわかる!パソコン入門・再入門 / 無料パソコン教室・基礎知識・Word・Excel・PowerPoint

電子メールのセキュリティ(6) ~ PKIの検証 ~

子メールのセキュリティ編では、公開鍵暗号化通信の概要とPKIについて学習してきました。これまでの学習でその基礎はすべて学習したといえると思います。

本項は、それらが理解できていることを前提としてすすめますので、もし不安な方はもう一度復習してみてください。

さて、これまでに登場した技術や仕組みは、当初から触れてきた「8つの疑問」を解決し、安全な暗号通信を行うためのものです。

その「8つの疑問」は、暗号通信で防止しなければならない4つの要素、盗聴・改ざん・なりすまし・否認 をさらに具体的に分類したものでした。

PKIによって、それらが本当にすべて解決することができるのか、その疑問を今一度すべて列挙し、ひとつひとつ検証して行きましょう。

例によって、「あなた」と「Aさん」が通信を行うと仮定します。「あなた」が「送信者」の場合と「受信者」の場合の2通りについて検証します。

まず、「あなた」が「送信者」の場合です。「あなた」をあなた自身と仮定して考えてみてください。

公開鍵暗号通信で「あなた」が送信者の場合のイメージ

1.送信相手が、本当に「Aさん」なのか?
2.Aさんの公開鍵が、本当にAさん本人のものなのか?
3.Aさんにメールが届いているか?
4.内容が盗聴されていないか?
5.内容が改ざんされていないか?

こちら(あなた)から相手(Aさん)に送信する場合の注意点は、以上の5つでした。では逆に、相手(Aさん)の通信をこちら(あなた)が受信する場合の疑問をみてみましょう。今度は「あなた」が鍵作成者になります。

公開鍵暗号通信で「あなた」が受信者の場合のイメージ

6.あなた宛ての暗号文が、本当にAさん本人からのものなのか?
7.内容が改ざんされていないか?
8.Aさんがメールを送ったという事実を否定しないか?

こちら(あなた)が受信する場合の注意点は、以上の3つでした。では、これまで学習した知識で解決してみましょう。まず、「あなた」が送信者の場合からです。

1.送信相手が、本当に「Aさん」なのか

この問題はどのように解決できるでしょうか? 送信相手である「Aさん」が顔なじみで、何度か通信したことがある間柄で、かつメールアドレスが正しければ相手は「Aさん」で間違いありません。

しかし、「あなた」が「Aさん」とビジネス等の取引をする場合などは、Aさんの素性もメールアドレスも正しいかどうかわからない(正しいと確認していない)場合があります。この場合は、Aさんの「なりすまし」の可能性を否定できません。

「なりすまし」の可能性を否定し、相手が「Aさん」であると確めるには、「Aさん」に「デジタル署名」を送ってもらうのが最も有効で確実な方法です。

もちろん、デジタル署名だけでは、先述のとおり「Aさん」の公開鍵の証明ができないので、「あなた」も信用することができるCAに発行された「Aさんの電子証明書」を「あなた」に送ってもらうことで、相手が「Aさん」であると確信することができます。

本文、「Aさん」のデジタル署名、「Aさん」の電子証明書の3点を送ってもらえば、「あなた」は相手が「Aさん」であることが安全に認証できます。この時の本文は、認証のみが目的なのでどんな内容でも構わず、暗号化の必要もありません。「デジタル署名」と「電子証明書」があれば認証できます。

つまり、電子証明書により「Aさん」の公開鍵が証明されているので、その公開鍵で「Aさん」のデジタル署名が正しく認証できれば、通信相手は「Aさん」で間違いないことが証明できます。

では、次の疑問はどうでしょうか?

2.Aさんの公開鍵が、本当にAさん本人のものなのか?

これも、1で、「Aさん」の電子証明書を送ってもったことで解決しています。電子証明書には「Aさん」の公開鍵が含まれているので、その公開鍵は電子証明書によって「Aさん」のものであると証明されています。

もっとも、先述したとおり、

電子証明書以外のかたちで公開鍵を受け取らない

ようにすれば、この問題は解決できます。電子証明書は、発行元のCAのリポジトリから誰でもダウンロードすることができます。(もちろん相手から受け取ることも可能)

問題は、その証明書を発行したCAが信用できるかどうかですが、前項で解説したとおり、自己署名証明書がインストールされているようなCA、もしくは、そのCAが保証している下層のCAであれば信用できます。では、次にいきましょう。

3.Aさんにメールが届いているか?

これは、基本的に「Aさん」から何らかのアクション(返信や送信内容の履行など)がない限り、確認することはできません。

WindousメールやOutlook Expressでは、「開封確認メッセージの要求」を行うことができます。これは、この要求を付けたメールを受信するとメッセージボックスが開かれて、「開封」ボタンをクリックすると、送信者にその行為(メールを開封したというメッセージ)が自動的に返送されるというものです。

ただし、「開封確認メッセージの要求」をしても無視されたり、通信経路の途中でメールが第三者に盗まれた場合は、「Aさん」にメールが届いているかを確認することはできません。

例えば、このメールが請求書だった場合、「Aさん」に受け取っていないと「否認」されたら大問題になってしまいます。つまり、「Aさん」の否認を防止するためには、「あなた」が送信した事実と「Aさん」がそれを受信した事実の2つを証明しなければなりません。

実は、これは認証局(CA)に証明してもらうことができます。具体的には、認証局に「送達証明書」と「受取証明書」を発行してもらうことになります。

このことは解説しませんでしたが、要するに第三者証明機関であるCAに証明書を発行してもらうことによって、「Aさん」の否認、つまり、「受信者否認」を防止することができます。

その他、プロバイダやIT企業によっては、メールの受信者が開封しなかった場合、未読のまま数日間たったら通知してくれるようなサービスを提供しているところもあります。

もっとも、受信者に対して「送信した事実」や「開封した事実」を証明する技術はあまり普及していないのが現状です。迷惑メールやフィッシングメールが社会問題となり、受信者の保護の方が優先課題の様相ですが、メールを送信したら取り消せないのと同様、送信者が保護されるシステム環境も必要だと思います。

また、基本的に「受け取っていない」をシラを切られたら、現状ではそれを証明するのは法的に困難になります。そこまで慎重を期すような内容を送信するのであれば、メールではなく、「内容証明郵便」を利用するべきです。

日本郵便では、電子内容証明(e内容証明) のサービスも行われています。

したがって、この疑問を解決するには上記のサービスを利用するか、Aさんに何らかのアクションをしてもらうことです。もし否認されたら、それを証明するのはかなりの労力を必要とします。しかし、証明できないことはありません。

では、次の疑問はどうでしょうか?

4.内容が盗聴されていないか?

これについては、「Aさん」が秘密鍵を漏洩することなく大切に保管していれば、誰であろうと盗聴することはできません。公開鍵で暗号化した暗号文は、対になる秘密鍵でしか復号化できないからです。

問題となるのは、「Aさん」に第三者が「なりすまし」をした場合です。第三者の公開鍵で暗号化してしまったら、その第三者の秘密鍵でしか復号化できないことになり、「Aさん」は復号化することができず、第三者に盗聴されてしまいます。

しかし、1および2で、送信相手は「Aさん」に間違いなく、公開鍵も「Aさん」のもので間違いないことを証明しているので、「なりすまし」の可能性はなく盗聴される恐れはありません。

では、「あなた」が送信者の場合の最後の疑問です。

5.内容が改ざんされていないか?

これは、4で盗聴することはできないと証明したので、「注文数を百個から千個」といった類の改ざんは防ぐことができます。しかし、暗号化されたデータを無理やり改ざん(改ざんした第三者も、本文にどう影響したのかわからないような改ざん)される可能性があります。

改ざんを検知する方法は「デジタル署名」です。暗号化したメッセージダイジェストであるデジタル署名と、本文から抽出したメッセージダイジェストの両者を「Aさん」に比較してもらえば、改ざんの有無を認証することができます。

したがって、「あなた」はメールにデジタル署名を付けて送信することで、この疑問は解決することができます。

これで、「あなた」が送信者である場合の疑問はすべて解決しました。すべてをまとめると、まず先に「Aさん」にデジタル署名付きメールを送ってもらい、相手を認証してから、「Aさん」の公開鍵で暗号化した本文を、「あなた」のデジタル署名と電子証明書付きで送信することで、完璧に安全な通信を行うことができます。

つまり、根底にあるCAの認証から始まり、双方がかなりの数の認証を行わなければなりません。安全な通信を行うことができますが、処理が複雑で時間がかかるというのが公開鍵暗号化通信の欠点でもあります。

では、「あなた」が受信者となる場合について検証してきましょう。今度は「あなた」が受信者で、鍵の作成者になります。

6.あなた宛ての暗号文が、本当にAさん本人からのものなのか?

この暗号文は、「あなた」の公開鍵で作成された暗号文です。その暗号文が「あなた」の秘密鍵で正しく復号化できれば、間違いなく「あなた」の公開鍵で作成された「あなた」宛ての通信であることは確定します。

しかし、「あなた」の公開鍵は誰でも手に入れることができるので、相手が本当にAさんなのか確かめる必要があります。「なりすまし」の可能性があります。

これも、「Aさん」にデジタル署名を付けてもらうことで解決できます。1と同様に、電子証明書とデジタル署名で、相手が「Aさん」であることを認証することができます。

このことにより、次の疑問も解決できます。

7.内容が改ざんされていないか?

デジタル署名により、5と同様、改ざんは検知することができます。したがってこれも「Aさん」のデジタル署名によって解決しています。

また、「盗聴」については、「あなた」自身の秘密鍵でしか復号化できないため、「あなた」が秘密鍵を漏洩しない限り完全に防止できるので問題ありません。では、次が最後の疑問です。

8.Aさんがメールを送ったという事実を否定しないか?

これは、「あなた」はメールを受け取っているのに、Aさんが、そんなもの送っていないと「否認」する可能性があということです。つまり、受信したメールを提示したとしても、誰かが「Aさん」になりすまして送ったと言い逃れをする場合です。

これは、3の「受信者否認」の逆で、「送信者否認」になります。この送信者否認が行われると、例えば、注文書を受け取って商品などを発送したのに、そんな注文していないとシラを切られたら大問題になります。

ただし、これも「Aさん」にデジタル署名付きのメールを送ってもらうことで解決しているのです。

なぜなら、先述のとおりデジタル署名は、自分(Aさん)の秘密鍵で暗号化して送るというものです。つまり、第三者が入手し得ない秘密鍵で暗号化しているということは、送信者はその秘密鍵の持ち主である「Aさん」以外にはあり得ないのです。

したがって、「あなた」が受信者となる場合のすべてをまとめると、送信者である「Aさん」に、暗号化した本文とともにデジタル署名と電子証明書を送ってもらうことで、完全に安全な通信となるということです。

これで、すべての疑問は解決しました。もうおわかりのように、結局のところ、

PKIが整備されていれば、デジタル署名だけで安全な通信が可能

ということなのです。公開鍵暗号化通信は、通信相手と公開鍵の作成者の証明ができれば安全な通信が可能となるからです。この証明をするためにCAという第三者証明機関が存在し、信頼の基礎を築いています。

さて、長かったですが、これで「電子メールのセキュリティ」編は終了です。多少難解な部分もありましたが、基礎となるのは、「公開鍵の証明」です。ここをおさえておけば、迷路に迷い込むことはないでしょう。

また、前項でも解説しましたが、

PKIは、電子メールのみを目的としていない

ということも覚えておいてください。PKIは公開鍵暗号通信の基盤(インフラ)であり、公開鍵暗号通信は何も電子メールだけに用いられているわけではないのです。SSLなども公開鍵暗号を利用しますが、それについてはまた後述します。

したがって、公開鍵暗号やPKIは、電子メールのみならず、もっと広い範囲でインターネット上のすべての通信に影響を与えるものなのです。「電子メールのセキュリティ」編と銘打って解説しましたが、実は、

電子メールを含むインターネット上のすべての暗号通信の基礎を学習した

ことになります。このことによって、電子メールやHTTPなど個別に特化した暗号通信の規格や仕組みも理解しやすくなると思います。

それでは、次項で、電子メールに特化した規格について解説します。「電子メールのセキュリティ」編が理解できていれば、難なく理解できると思います。

ページトップへ戻る


関連情報&オススメ

JALカードはJALマイレージバンク機能に、各提携会社のクレジット機能が備わったクレジットカードです。フライトでもショッピングでも効率よくマイルをためることができます。

マイルをためようとている方、旅行好きな方には最適なクレジットカードです。JAL派とANA派に分かれますが、JAL便を多く利用するなら、はっきり言ってJALカードは「必須」です。

JAL便の場合、チェックインも搭乗手続きもJALカードをかざすだけで可能になりますし、カード付帯保険や各地の特約ホテルで割引などもあります。

たまったマイルは特典航空券と交換でき、マイルをためることで無料で旅行を楽しむことができたりもします。その他にも様々な商品や各地で使えるクーポン、電子マネーやAmazonギフト券などとも交換することができます。

私はクレジットカードはすべてJALカードにまとめ、電話代等の引落しもJALカードを使っています。すると、月々の支払いによってマイルが自動的たまり、数年に一度は無料で飛行機に乗ったり、Amazonギフト券に交換したりと重宝しています。

ページトップへ戻る

更新履歴

2008年11月24日
ページを公開。
2009年6月5日
ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
2014年5月21日
内容修正。
2018年1月30日
ページをSSL化によりHTTPSに対応。

ページトップへ戻る

参考文献・ウェブサイト

当ページの作成にあたり、以下の文献およびウェブサイトを参考にさせていただきました。

情報セキュリティ入門:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20060214/229302/?ST=security
電子証明書とPKI入門
http://www.verisign.co.jp/basic/pki/index.html

ページトップへ戻る