目次
PGPは一般的にメールで用いられている暗号化方法です。
PGPはPretty Good Privacyの略で、日本語に訳せば「結構いい感じのプライバシー」でしょうか。
PGPは1990年代に作られた暗号化方法で、現代では電子メールの標準的な暗号化方法です。
PGPを利用すると何がいいの?
PGPを利用して電子メールを送受信することで内容が暗号化され、安全にコミュニケーションをすることができます。
安全にメッセージを送り合える?ん?と思った方もいるかもしれません。そうです。メールの実装にプライバシーという文字はありません。送りあっている内容は筒抜けです。メールは最も普及しているコミュニケーションツールであり、個人の連絡から企業、あるいは銀行や政府からの連絡にも使われているにもかかわらず、セキュリティは皆無といってもいいほどです。
メールは手紙をデジタルの世界で実現させたようなものであり、手紙では本文が書かれた便せんを封筒に入れることで、差出人と宛名が見えるものの、本文のぞき見を防ぐことができます。
PGPを利用しなければ、メールはポストカードに書いて送るようなもので差出人と宛名どころか本文まで見えてしまいます。さらに悪いことに、手紙は郵便業者によって適切に扱われるので、ポストカードを見れば中身がわかるとはいえ悪用されるとは考えにくいですが、メールは悪意のある人やちょっと中身をのぞきたい10代の若者でものぞき見るどころか、痕跡を残さず改ざんすることさえ可能です。
もちろん、銀行や政府もこうしたことは理解しているので、S/MIMEというPGPとは違った方法を使い、セキュリティを確保しています。
政府で使われるほどのものなのだから、我々はS/MIMEを利用すればいいではないかと思うかもしれませんが、S/MIMEは公的な認証局(以下CAとします)に認証を申請しないといけません。
セキュリティでは中央集権的なものは脆弱性になり得る懸念点として扱われるため、分散されたモデルによって構築されたものがよいとされます。
つまりS/MIMEの認証を受けるには多くの費用がかかる上、セキュリティの観点からCAが脆弱性になり得るため、PGPと比べて特段いい手法だとはいえません。
ところでなぜPGPはGoogleやApple、Microsoftで使われていないの?
大手の企業ではメールサービスを提供しているところがあります。
GoogleのG-Mail、AppleのiCloud、MicrosoftのOutlook、Yahoo!のYahoo! mailなどがありますよね。
プライバシーを重要視していると歌っているAppleのメールサービスを使っていてもPGPという言葉を聞いたことはないと思いますし、GAFAMの一角であるGoogleやMicrosoftはITの最先端にいるにもかかわらず、PGPを有効にするオプションは見当たりません。
GoogleもといAlphabetは個人情報を利用することで、高い広告収益を上げることで成り立っている企業であり、GAFAMはすべて個人情報を好きなように扱うことで成り立っている企業群であることは間違いありません。
Appleでさえ、うたっているプライバシーは「Appleが好き放題扱うだけで、ほかの企業などに渡さないよ」というだけです。
こうした大企業がプライバシーを軽視する慣習は正していきたいですが、PGPにも致命的な点があります。
メールを暗号化することで「秘密鍵を知る人だけが」メールの本文を読むことができます。つまり、メールプロバイダーだけでなくシステムすら秘密鍵なしには読み取ることができません。
セキュリティの観点から、これは素晴らしいことですがThunderbirdやWebアプリケーションでさえメールの中身が見れないので、メール全体の検索が全くできません。
そもそもメールで機密情報を扱わないから大丈夫だと思ったそこのあなた
メールでは前述の通り、のぞき見だけではなく改ざんすらできます。
そして改ざんされたとしても、あなたはその改ざんに気づくことはできません。
様々なオンラインサービスを利用するに当たって、ユーザー登録にメールアドレスを利用していることは多いのではないのでしょうか。そうしたサービスからのメールを改ざんし、URLを書き換えられてしまえばあなたは簡単にハッカーの餌食になるでしょう。また、あなたが友人に送ったメールにウイルスを埋め込まれるかもしれません。
こうした被害を防ぐには、メールをやめるか、PGPを利用してメールの内容を暗号化するほかありません。
脱PPAP
PPAPをご存じでしょうか。
ピコ太郎様が作り出した流行 の方ではありません。セキュリティの方のPPAPです。
PPAPはセキュリティ対策として、全くの無意味であり、悪習慣です。
PGPを利用することで本文だけでなく、添付ファイルの暗号化と改ざん防止が約束されるため、PPAPをやるのはいますぐにやめてPGPを利用したメールサービスに移行すべきです。
PGPをどうやって使うの?
PGPを使わないとまずいことはわかりましたが、どうやってPGPを使えばいいのでしょうか。
オリジナルのPGPそのものはSymantec社によって所有されているため、オープンソースのopenPGPやGNUバージョンのGPGを使うことでPGPを利用することができます。
しかし、これらのツールを入手してもそもそもPGPがどのような仕組みで鍵を認証し、正当性を保障するのかを理解しなければいけませんし、暗号化に利用されるアルゴリズムについてもある程度の知識が必要になります。ここまでPGPを褒め続けてきましたが、そうです。PGPはセットアップが複雑で、非常に使いづらいことで悪名高いのです。
詳しい仕組みを知りたい方は、Orallyの書籍「PGP : 暗号メールと電子署名」などを読むといいでしょう。
我々の最終目標は、PGPの公開鍵(public keyと呼ばれます)を手に入れ、相手と共有することです。
秘密鍵はあなたが大切に持っておかなければなりません。
PGPが採用している暗号方法では前方秘匿性(Forward Securityと呼ばれFSと略されます)がありません。private keyがばれた瞬間にあなたがそのprivate keyを利用して送信したメッセージはすべて解読可能になるため、あなたはその鍵が無効であることをシステムに伝えなければなりません。そして、新たなprivate keyをを生成しなければなりません。
暗号化の手段が多く提供されていなかった1990年代ならまだしも、現代の基準で考えればこうした処理はシステムにやってほしいものです。そもそもここまで重要なprivate keyの管理は我々ではなく、サービスの方で厳重に管理にしてほしいです。
救世主Proton Mail
そこに颯爽と現れたプライバシーの救世主が、Proton Mailです。
Proton MailはPGPのサポートを公式にしており、面倒な設定はすべてシステムが自動的に行ってくれます。
あなたがProton Mailで行うことは設定画面からpublic keyをダウンロードし、相手と共有することです。
public keyはどのようにして先方に共有してもかまいません。ホームページで公開してもかまいません。
好きなように公開し、お互いが適切なPGPをセットアップすることで、安全なコミュニケーションが確保されます。
もしあなたが同じPGP鍵を別にシステムで使う場合でも秘密鍵(private keyと呼ばれます)をダウンロードすることが可能です。
POPだけでなく、Proton Mailの利用者同士ならProtonはさらに高度な暗号化処理(E2EE―End to End Encryption)を行い、より安全なコミュニケーションが可能です。
PGPの交換が面倒な方は、送信メールに自動でpublic keyを添付することができます。メールのフッターにでもPGPの鍵を添付しておりますので、設定のほどお願いします
と一言書いておくことで、PGPの設定をお願いするだけの面倒な連絡も避けることができます(それでも初回の連絡は秘匿化されず、適切にPGPが設定されるまでは安全な連絡は取れませんが)。
Proton Mailでは、メールの全文検索がサポートされています。
また、面倒な暗号化に関する処理はすべてProtonが行ってくれますので、普通のメールサービスと同じようにProton Mailを利用することが可能です。
参考文献
Harry Bone, “What is PGP encryption and how does it work?”, Proton, Visited on 2023/09/07