概要
この記事は、Gmail
にて公開鍵暗号化方式であるPGP
を利用してメール暗号化を検証するものです。
動機
普段何気なく使っているメール、暗号化送受信を意識していますか? 正直、セキュリティ分野の仕事をしている自分にも、あまり意識していない。というのは、センシティブな内容をメールに書くことは、めったいにないからかもしれません。
しかし、そもそも暗号化送受信ができているのか? というのは、現状を知る上では重要なことなので調べて見る必要があります。
更に、今はないが、「うちの公開鍵を使ってメール暗号化して送信してね」の送信先が出てくるかもしれないので、暗号化送信できる方法を準備しておきたいです。
PGP暗号化と復号の原理
“Pretty Good Privacy” (PGP) is a data encryption and decryption computer program that provides cryptographic privacy and authentication for electronic communications. It was created by Phil Zimmermann in 1991 and is now owned by Symantec Corporation.
PGPによる暗号化と復号の流れ
PGPの仕様
オープン仕様として、OpenPGPやGnuPGがあります。メールの暗号化と復号する際は、公開暗号鍵方式が用いられます。
だれが | 何の鍵で | 何をする |
---|---|---|
送信者 | 受信者の公開鍵 | メールを暗号化 |
受信者 | 受信者の秘密鍵 | メールを復号 |
前提条件として、
- 受信者:
PGP
で公開鍵と秘密鍵のペアを作成し、公開鍵を公開する。 - 送信者:受信者の公開鍵を入手可能(している)。
Gmailの暗号化状況確認
Gmail
の受信メールから、暗号化されているかを確認することができる。次のページによく説明されています。
送受信時のメールの暗号化
3つのパターンがあります
種類 | アイコン | 意味 | 備考 |
---|---|---|---|
緑 | S/MIME - 高度な暗号化 | ほぼなし | |
灰色 | TLS - 標準的な暗号化 | ほぼ全部 | |
赤 | 暗号化なし | 偶にある |
受信アイコンの実例
Standard encryption (TLS)
で経路暗号化されている事例:- 送信元がメール送信時に、経路暗号化で送信をしていない事例:
GmailでPGPを使う方法
FlowCrypt拡張機能を追加
FlowCrypt
を追加後、Set Up
画面にてNEW ENCRYPTION KEY
をクリック。
次は、鍵ペアを作成する画面。pass phrase
をなるべく長めの文字列を使いましょう(メモしておくこと)。またEncryption key type
には鍵長が一番大きいRSA 4096bit
を選択しました。
CREATE AND SAVE
ボタンを押すと、次のようなpass phrese
をどこか保存しておけの画面が表示されます。用途はFlowCrypt accout
にアクセスする際に必要になるそうです。
自動テストメール
チェックしてOK
したら、Gmail
宛にFlowCrypt
からの暗号化テストメールが送られてきました。自動復号されたメール本文は下記画像に表示されている通りです。また、Gmail
画面の左上にSecure Compose
ボタンが生成され、今後暗号メールを作成する際は、そちらのボタン経由で作成可能になっています。
自動復号されたメール本文は次の通り
FlowCrypt lets you send and receive encrypted messages and attachments with Gmail. Even if the recipient doesn’t use FlowCrypt or Gmail.
,This message is inside a green frame because it’s protected with end-to-end encryption. Only you and your recipients can read the contents.
,Someone asked for a public key? You’ll find it in FlowCrypt Settings -> Additional Settings -> Public Key.
,If you just want to test this out, try hitting the reply button to reply with a “hello” or “test” (this [email protected] mailbox is not monitored).
,For support, email [email protected] instead.
“他人から”、PGP
で暗号化されたメールの受信と自動復号は検証成功!
自分から暗号メールを送受信検証
Gmail
画面左上にあるSecure Compose
を押下すると、以下のようなメール作成画面が表示されて、自分のメールアドレス宛に書いてみました。
送信すると、すぐメールが届いて(さすがGmail
)、開く以下のように添付ファイル以外は、すでに自動復号されている状態です。
添付ファイルをクリックすると、次のように復号後のメール文面表示、およびDownload
ボタンが表示されています(FlowCrypt
のUIUX
も抜群ですね!)
これで検証は全部完了です。
まとめ
Gmail
単体ではPGP
を使ったメール暗号化の機能はないが、フリーの拡張機能(本記事ではFlowCrypt
を使っています)を使えれば、鍵ペアの作成から、Backup
としてのメール送信、および暗号メールのテスト送受信を簡単で確認や操作することができました。
今後、例えば自分のgithub.com
ページ(やこのBlog
の紹介ページ)などに、PGP
の公開鍵を公開すれば、簡単に他人からの暗号化メールを受信することができますし、他人が公開しているPGP
の公開鍵を使えれば、簡単に暗号メールをその人に送信することができるようになります。