▲ | ▼ | 目次 | SecurityBasisTop |
ここでは、暗号化ソフト PGP とは何か? PGP が採用する暗号化方式である公開鍵暗号方式とはどのようなものか、について解説します。
なぜ暗号化が必要か? で説明したように、電子メールには「盗聴」、「なりすまし」、「改ざん」といった危険が潜在しています。
電子メールを私的な目的にのみ使用しているのであれば、これらの不幸に遭遇した場合にこうむる被害は自分だけかも知れません。しかし、ビジネスで電子メールを使用しているのであれば、これは深刻な問題となります。
つまり、重要な電子メールに関してはメールを「暗号化」してしまえばよいわけです。暗号化されたメールであれば、盗聴されても内容が分からないため大事にいたることはないし、電子署名を併用すれば「なりすまし」、「改ざん」も防ぐことができます。
暗号化というと、なんとも難しそうなイメージを持つかもしれませんが、そんなことはありません。
みなさんも、重要なメールについては暗号化をするべきだと思います。
PGP(Pretty Good Privacy) とはアメリカの Philip R. Zimmermann を中心とした開発チームによって作られた暗号化ソフトで、メールの暗号化では国際的に使われています。インターネット上から無償でダウンロードでき、様々な環境で動作します。日本語版も公開されているので、インストールや設定なども容易に行えます。
PGPは非常に強固な暗号方式を採用しており、公開鍵暗号方式であることが特徴です。公開鍵暗号方式とは「公開鍵」、「秘密鍵」という対となる鍵を使用する暗号化方式のことで、暗号化のほかに本人が作成したことを証明する電子署名も実現しています。
それでは、ここから公開鍵暗号方式を使用した PGP でできることを見ていきましょう!
「なぜ暗号化が必要か? 2. 盗聴の危険」で「オカピくん」は「ハイエナくん」にメールを盗み見られて大変なことになりましたが、メールを暗号化していた場合はどうだったでしょうか?
「ハイエナくん」は、「オカピくん」のメールを盗み見ることはできますが、メールは暗号化されているのでその内容を理解することはできないのです。これが暗号化による盗聴の防止です。
それでは、ここで暗号化の仕組みについて簡単に説明します。
PGP では、公開鍵暗号方式を採用しているといいましたが、公開鍵暗号方式では、まず通信する人がそれぞれ「公開鍵」、「秘密鍵」という対となる2種類の鍵を作ります。この鍵をペア鍵といいます。
したがって、「オカピくん」、「キリンさん」はそれぞれペア鍵を作ることになります。そして「公開鍵」をお互いに交換します。公開鍵は広く一般に公開してもかまいません、その場合は鍵を預かってくれるインターネット上のサーバに登録することもできます。一方の秘密鍵は誰にも渡してはいけません、それぞれが大切に保管します。
暗号化したデータをやり取りしたい相手と公開鍵を交換したら、相手の公開鍵を使って暗号化します。暗号化されたデータの復号化ができるのは、対となる秘密鍵 + パスワード(パスフレーズ)だけです。したがって、暗号化しているメールを盗聴したとしても相手の公開鍵 + パスワードを手に入れない限り解読できないというわけです。
「オカピくん」が「キリンさん」に暗号化メールを送る場合は、「キリンさん」の公開鍵を使ってメールを暗号化します。
暗号化されたメールを受取った「キリンさん」は自分の公開鍵 + パスワードでメールを復号化します。
当然のことですが、「キリンさん」が「オカピくん」に秘密のメールを送るときは、「オカピくん」の公開鍵を使いますよ。
「なぜ暗号化が必要か? 3. なりすましの危険」で「ハイエナくん」は「オカピくん」のふりをして「キリンさん」にメールを出し、「オカピくん」は「キリンさん」の信頼を失いかけました。もし、「オカピくん」と「キリンさん」が電子署名付メールのやり取りをおこなっていたらどうでしょうか?
「キリンさん」は、メールに付いている署名を確認することで受取ったメールが「オカピくん」からのものではないことがわかります。これが電子署名によるなりすましの防止です。さらに、電子署名を使えば改ざんも防止できます。
それではここで、電子署名について簡単にその仕組みを説明します。
PGP で採用している公開鍵暗号方式では「公開鍵」で暗号化されたデータは、対となる「秘密鍵」でしか復号化できず、また、「秘密鍵」で暗号化されたデータは、対となる「公開鍵」でしか復号化できないという特徴があります。電子署名では「秘密鍵」を使用してデータの暗号化を行います。
したがって、「ハイエナくん」がいくら「オカピくん」のふりをして暗号化メールを送っても、「キリンさん」が「オカピくん」の公開鍵でそのメールを復号化できないということは、そのメールは偽物ということになります。
でも、この方法では「オカピくん」のメールをハイエナくんが書き換えるといった改ざんは防止できません。実は、電子署名にはもっと重要な仕組みがあります。
電子署名では、やり取りするデータを「秘密鍵」で暗号化する前に、特殊な計算をしてデータを数値化し、暗号化データに添付します。データを受信したほうは相手の「公開鍵」で復号化し、復号化したデータを同じように特殊な計算をして数値化します。ここで、添付されている数値と復号化したデータの数値を比較することで内容の改ざんがされていないかチェックできます。内容が書き換えられていると同じ数値は算出されません。
どうですか?PGP は何をやってくれるか、そして、なかなか優れものだということが理解してもらえたと思います。ただ、「○○さん」公開鍵だの、電子署名だの面倒だなって気がしますか?どうぞご心配なく! PGP はメーラーと連携して、これらのことをほとんど自動的におこなってくれます。
さっ、PGP をインストールしてみましょう!
>>> PGP 日本語版のインストール