概要

この記事は、Gmailにて公開鍵暗号化方式であるPGPを利用してメール暗号化を検証するものです。

動機

普段何気なく使っているメール、暗号化送受信を意識していますか? 正直、セキュリティ分野の仕事をしている自分にも、あまり意識していない。というのは、センシティブな内容をメールに書くことは、めったいにないからかもしれません。

しかし、そもそも暗号化送受信ができているのか? というのは、現状を知る上では重要なことなので調べて見る必要があります。

更に、今はないが、「うちの公開鍵を使ってメール暗号化して送信してね」の送信先が出てくるかもしれないので、暗号化送信できる方法を準備しておきたいです。

file

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による暗号化と復号の流れ

file 引用:Pretty Good Privacy

PGPの仕様

オープン仕様として、OpenPGPGnuPGがあります。メールの暗号化と復号する際は、公開暗号鍵方式が用いられます。

だれが 何の鍵で 何をする
送信者 受信者の公開鍵 メールを暗号化
受信者 受信者の秘密鍵 メールを復号

前提条件として、

  • 受信者:PGPで公開鍵と秘密鍵のペアを作成し、公開鍵を公開する。
  • 送信者:受信者の公開鍵を入手可能(している)。

Gmailの暗号化状況確認

Gmailの受信メールから、暗号化されているかを確認することができる。次のページによく説明されています。 送受信時のメールの暗号化

3つのパターンがあります

種類 アイコン 意味 備考
file S/MIME - 高度な暗号化 ほぼなし
灰色 file TLS - 標準的な暗号化 ほぼ全部
file 暗号化なし 偶にある

受信アイコンの実例

  • Standard encryption (TLS)で経路暗号化されている事例: file
  • 送信元がメール送信時に、経路暗号化で送信をしていない事例: file

GmailでPGPを使う方法

FlowCrypt拡張機能を追加

FlowCryptを追加後、Set Up画面にてNEW ENCRYPTION KEYをクリック。 file

次は、鍵ペアを作成する画面。pass phraseをなるべく長めの文字列を使いましょう(メモしておくこと)。またEncryption key typeには鍵長が一番大きいRSA 4096bitを選択しました。

file

CREATE AND SAVEボタンを押すと、次のようなpass phreseをどこか保存しておけの画面が表示されます。用途はFlowCrypt accoutにアクセスする際に必要になるそうです。

file

自動テストメール

チェックしてOKしたら、Gmail宛にFlowCryptからの暗号化テストメールが送られてきました。自動復号されたメール本文は下記画像に表示されている通りです。また、Gmail画面の左上にSecure Composeボタンが生成され、今後暗号メールを作成する際は、そちらのボタン経由で作成可能になっています。 file

自動復号されたメール本文は次の通り

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を押下すると、以下のようなメール作成画面が表示されて、自分のメールアドレス宛に書いてみました。

file

送信すると、すぐメールが届いて(さすがGmail)、開く以下のように添付ファイル以外は、すでに自動復号されている状態です。 file

添付ファイルをクリックすると、次のように復号後のメール文面表示、およびDownloadボタンが表示されています(FlowCryptUIUXも抜群ですね!)

file

これで検証は全部完了です。

まとめ

Gmail単体ではPGPを使ったメール暗号化の機能はないが、フリーの拡張機能(本記事ではFlowCryptを使っています)を使えれば、鍵ペアの作成から、Backupとしてのメール送信、および暗号メールのテスト送受信を簡単で確認や操作することができました。

今後、例えば自分のgithub.comページ(やこのBlogの紹介ページ)などに、PGPの公開鍵を公開すれば、簡単に他人からの暗号化メールを受信することができますし、他人が公開しているPGPの公開鍵を使えれば、簡単に暗号メールをその人に送信することができるようになります。

参考資料(THX!)