ホーム >>> ソフトウェア >>> OpenPGP

ThunderbirdとOpenPGP



オープンソースで開発されているメールクライアントソフトThunderbirdにOpenPGPが標準装備されました。
OpenPGPは、ファイルやメールを暗号化するための技術です。
Thunderbirdに実装されたOpenPGPでは、簡単な操作でメールの盗み見を防ぎ、メールの改ざんや成りすましメールを排除することができます。

ここでは、OpenPGPの仕組みとThunderbirdでの使い方、OpenPGP非対応のメーラーでの使い方まで書いていきます。




 

○ e-mailのセキュリティー


e-mailのセキュリティーはSSLなどの暗号化通信技術を使用する場合が多いでしょう。この技術は、PCとメールサーバー間の通信を暗号化して覗き見を防ぐ技術です。
この技術では有線・無線に関わらずメールの通信を暗号化して送受信するため覗き見防止には有効な手段です。
しかし、そんな技術でも次の理由から完全なセキュリティーを確保できません。

・メールサーバがSSLに対応していない場合利用できない
・PCからメールサーバまで暗号化されていても、中継するサーバ間が対応していない場合がある
・相手の使用しているメールサーバがSSLに対応していない

この技術では、通信は暗号化されますがサーバを通過するメールは暗号化されていません。


 

○ OpenPGP技術


上記の通信自体を暗号化する技術はサーバー側の対応で簡単に導入(意識せずに導入)することができます。
しかし、インターネット上でやり取りする通信の全てが安全なサーバーを経由するとは限りません、WI-FIや経由地などで覗き見られたりするリスクを排除できません。
そこで、メールそのものを暗号化するOpenPGP技術が普及してきました。

OpenPGPでは作成したメールをアルゴリズム処理し添付ファイルとして送信します。
よく例として示されるのは、非SSL(非暗号化)通信はハガキで、SSL(暗号化)通信は封書のようなものとして説明されます。
対してOpenPGPで暗号化されたメールでは、ハガキや封筒の中に入れた便箋に書かれた文字が暗号文で書かれているイメージです。
この暗号化された文書は第三者が見ても何が書いてあるかはわかりません。
このことにより、信頼性の小さいネットワークを経由したメールでも安全に送ることができます。

さらに、メールの信憑性を確保する仕組みは、メールの送信者が事前に自分のメールアドレスに対して作成した鍵を使います。受信者は事前にこの鍵を入手しておきます。
メールを受け取った場合、メールに添付された鍵と手持ちの鍵を対比し確認しメール送信者が間違いなく本人であることを確認します。イメージ的には割符が近いでしょうか。

また、メールの改ざんが無いことも確認することができます。
メールを送信するときに送信者が事前に作った鍵を使ってアルゴリズム処理したファイルを添付します。受信者は、送信者から事前に入手した鍵を使ってアルゴリズム処理をして、添付されたファイルと比較します。
このときにメールが改ざんされていると、添付されたアルゴリズム処理されたファイルと受信者がアルゴリズム処理したものが噛み合わなくなります。
例えば 送信するメールの文字数が10でそれを3倍したファイルを添付します。受信したメールが12文字で3倍処理をした場合 10x3 ≠ 12x3 となり改ざんされていることがわかります。



○2つの鍵


OpenPGPで鍵が要であることを書きましたがこの鍵はどのような役割をしているのでしょうか。
この鍵は、メールアドレスに対して作成されます。先で書いたOpenPGP鍵マネージャーで自分のメールアドレスで鍵を作成すると自分専用の鍵(秘密鍵)が作成されます。
この鍵は、OpenPGPの機能を使うための強い権限を持っていますので大切に保管する必要があります。

もう一つ重要な鍵があります。こちらの鍵はみんなに配るための鍵(公開鍵)です。みんなに鍵を配るというと不安になるかもしれませんが、あくまで仕組み上の鍵ですから問題ありません。
この公開鍵は、先の秘密鍵を元に作られるものでこの組み合わせを「キーペア」と呼びます。

 ・秘密鍵
すべての権限を持つ強力な鍵
決して他人に渡してはいけない
メールに署名したり暗号化されたメールを復号する

 ・公開鍵
秘密鍵と対になる鍵
メールの相手方に渡す(ネット上で公開しても構わない)
メールを送ってきた人の公開鍵を使って成りすましや改ざんを確認する
メールを送りたい相手の公開鍵を使って暗号化する

 
○署名の仕組み
メールに署名することにより成りすましのメールでないことを証明するとともに、経路の途中で改ざんされていないかを確認することができます。

Thunderbirdでメールを作成し署名をつける設定にすると、OpenPGP鍵マネージャーで管理している自分の秘密鍵を使って作成された署名ファイルをメールに添付します。
この署名ファイルには自分の秘密鍵をもとにメールの内容をアルゴリズム処理した結果が含まれています。この署名を付けたメールを相手に送ります。

署名付きのメールを受け取った場合、ThunderbirdはOpenPGP鍵マネージャーからメール送信者の公開鍵を探します。
該当する公開鍵が見つかった場合、メールに添付されている署名ファイルを該当の公開鍵をアルゴリズムで処理した結果で、正規の署名なのかと改ざんされていないかを検証します。
もし、OpenPGP鍵マネージャーにメール送信者の公開鍵がない場合は「検証できない」というニアンスのメッセージを発しますが、メールは読むことができます。


○暗号化の仕組み
メールを暗号化することによりメールの漏洩を防ぎます。このとき、メールの文章だけではなく添付されたファイルも含めて暗号化します。

暗号化メールを送る場合、ThunderbirdはOpenPGP鍵マネージャーに登録されている送り先の公開鍵を使って暗号化します。
もし、送り先から公開鍵を手に入れていない場合は暗号化することができませんので、メール送信前に相手の公開鍵を入手する必要があります。
暗号化されたメールは、暗号化に使った公開鍵とペアの秘密鍵でしか復号できないので、第三者がメールを盗み見ようとしても読むことができません。

暗号化されたメールを受信した場合、ThunderbirdはOpenPGP鍵マネージャーに登録されている自分の秘密鍵を使って復号します。この動作はThunderbirdが自動で行うため適切に鍵が管理されていれば暗号化を意識せずにメールを読むことができます。
しかし、OpenPGP鍵マネージャーに必要な鍵がない場合、メールを読むことができません。
 
 
 
 
 
 
 
 

ホーム >>> ソフトウェア >>> OpenPGP