米国時間の8月29日、オープンソースのメーラー「Thunderbird」の最新版78.2.1が公開された。本バージョンでは、OpenPGPがデフォルトで有効化されたことが特徴だ。

「OpenPGP」がデフォルトで有効化された「Thunderbird 78.2.1」がリリース
「GnuPG」や「Enigmail」アドオンを導入しなくてもデジタル署名と暗号化メールが扱える

https://forest.watch.impress.co.jp/docs/news/1273939.html

そこで、今回はメールの暗号化・署名をテーマとする。

メールにおけるリスク

メールのやり取りにおいて、盗聴、なりすまし、改竄というリスクが存在する。

(盗聴)
メールは、いくつものメールサーバを経由して、相手に届く。相手に届くまでの通信経路上での盗聴により、情報が盗まれるリスクがある。

この対策のために、ファイルを暗号化して、メールで送るという方法がよく行われる。この場合、暗号化したファイルのパスワードも同じメールか、別のメールで知らせることが多いだろう。しかし、それでは暗号化した意味がないと考えている。なぜなら、ファイルの送信もパスワードの通知も、同じメールという手段を利用しており、通信経路上で盗聴されていると、1通目を見ることができているならば、2通目も見ることができるのではないか、と考えることができるからである。

IPAが発行している「中小企業の情報セキュリティ対策ガイドライン第3版」の付録3「5分でできる!情報セキュリティ自社診断」においては、「パスワードはその電子メールには書き込まず、電子メール以外の手段で通知することが必要」とされている。

SSLを用いたとしても、通信が暗号化されるのは、自分が使用しているメールサーバまでであり、そこから先の通信の暗号化は保証されていないため、盗聴を防ぐことにはならない。

盗聴対策としては、送信者の端末から受信者の端末までの通信経路上全てでメッセージが暗号化された状態で通信される手段が求められる。

(なりすまし)
送信者を別の人のものに偽装することができるので、それでなりすまして、情報を聞き出したり、勝手にメッセージを伝えるなどの不正行為が考えられる。

なりすまし対策としては、送信者が自身の端末から送信されたことを確認できる手段が求められる。

(改竄)
通信経路上で、メッセージに手が加えられ、不正なリンクを加えられるなどの不正行為が考えられる。

改竄対策としては、送信者が送信されたメッセージそのものであることを確認する手段が求められる。

対策

対策として、メール自体を暗号化したり、署名データを付けて送るという方法がある。そのための技術として、S/MIMEとOpenPGPがある。

暗号化と署名のそれぞれの仕組みは以下の通りである。

(暗号化)
送信者は、受信者の公開鍵を使用してメールを暗号化して送信する。受信者は、自分の秘密鍵を使用してメールを復号して読むことができる。メールを復号できるのは、送信者と受信者の端末のみであり、途中のメールサーバなどでは復号することはできない。

(署名)
送信者が自らの秘密鍵を使って、メッセージから署名データを作成して送信する。受信者は、送信者の公開鍵を使用して署名データを復号し、受け取ったメッセージと同一であることを以って、送信者自身の端末から送信されたメッセージそのものであることを確認することができる。

S/MIMEは、個人証明書をあらかじめ入手しておく必要がある。有料のところが多く、無料で入手できるところはあまりない。Let’s Encryptは無料でSSL証明書を発行しているが、S/MIMEには非対応である。無料でS/MIMEの証明書を入手できるところは、イタリアの認証局「Actalis S.p.A.」があるが、他にもあるかは把握していない。

OpenPGPでは、使用する公開鍵や秘密鍵を生成するために証明書を購入する必要はなく、無料で導入できる。ただし、対応するメーラーが限定されている。

メールのやり取りで、情報漏洩対策、なりすまし対策、改竄対策を実施したいならば、S/MIMEやOpenPGPを利用すべきである。

(参考)
中小企業の情報セキュリティ対策ガイドライン第3版
https://www.ipa.go.jp/security/keihatsu/sme/guideline/index.html