メールの暗号化とは?

電子メールの暗号化は、電子メールの内容を偽装し、権限のない第三者による閲覧や改ざんができないようにするものです。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • 「電子メールの暗号化」を定義する
  • メールの暗号化の仕組みを説明する
  • メール暗号化の主な種類を知る

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

メールの暗号化とは?

電子メールの暗号化とは、電子メールメッセージの内容を偽装し、権限のない者が見たり改ざんしたりできないようにする方法です。暗号化は、このコンテンツをエンコードすることで偽装します。言い換えれば、暗号鍵*を使って、読めるテキストをランダムな文字の組み合わせの解読不能なものに変更するということです。受信者のメールプロバイダーは、鍵を使用してテキストを解読し、目的の受信箱に安全に配信された後に、メールの内容を明らかにすることができます。

多くのメールプロバイダーは、送信者と受信者のメールサーバー間でメッセージを安全に伝送するために、暗号化を使用しています。これにより、攻撃者が転送中のメールを傍受し、そのメールに含まれる機密情報を閲覧、改ざん、窃取することを防ぐことができます。しかし、メールサービスの中には暗号化されていないものもあり、ユーザーはデータの盗難などの攻撃を受けやすくなっています。

*暗号鍵は、暗号アルゴリズムがデータをスクランブルするために使用する文字列です。

メールの暗号化の仕組みは?

電子メールの暗号化は、ユーザー間の電子メールの保存、送受信を担当する電子メールサービスプロバイダーが担当します。電子メールの暗号化には、主にトランスポートレベルの暗号化とエンドツーエンドの暗号化の2つの方法があります。

トランスポートレベルの暗号化

トランスポートレベルの暗号化は、Transport Layer Security(TLS)プロトコルを使用して、電子メールメッセージを暗号化および復号化します。また、攻撃者がメールを傍受できないように、メール送信に関わるサーバーの身元を認証する役割も担っています。

メッセージを暗号化し、クライアントの身元を認証するプロセス(すなわち、ユーザーデバイス)とウェブサーバーは、TLSハンドシェイクと呼ばれ、4つのステップで実行されます。

  1. クライアントとサーバーは、接続を確立するために使用するTLSのバージョンの合意を行います。
  2. クライアントとサーバーは、そのセッションの暗号鍵を決定するために使用される暗号スイート(またはアルゴリズム)の合意を行います。
  3. TLS証明書は、サーバーの身元を確認するために使用されます。
  4. 暗号鍵*(セッションキーとも呼ばれます)が生成され、ハンドシェイク完了後にメッセージを暗号化するために使用されます。

トランスポートレベルの暗号化により、SMTP処理中の電子メールを保護します。SMTP(Simple Mail Transfer Protocol)は、電子メールクライアントとサーバー間のデータ交換を担う電子メール配信プロトコルです。この過程で、電子メールメッセージは通常、意図した宛先に到達するまでに複数の電子メールサーバーに転送されます。TLS暗号化により、サーバーからサーバーへのリレー間でメッセージが保護されることが保証されます。サーバー-クライアントまたはサーバー-サーバー接続は、それぞれ新しいTLSハンドシェイクプロセスを使用します。つまり、メッセージはホップごとに短時間で復号化され、再度暗号化されるのです(詳しくは、「SMTPの仕組み」をご覧ください)。

このプロセスを視覚化するために、アリスがサンフランシスコから東京にギフトを送ることを想像してください。ギフトは箱の中に入れられ、中身が他人に見えないように、安全に保管されます(ちょうど、電子メールのメッセージの内容が秘密にされるのと同じです)。その荷物を郵便配達員に渡し、郵便配達員は地元の郵便局に荷物を届けます。内容物、配送先情報ともに間違いがないか検品します。その後、東京に輸送され、税関を経て再び検品が行われます。最後に、荷物は配達のために地元の郵便局に転送され、そこで目的地に到着する前に最後の県費を受けます。

これはTLS暗号化と同様で、電子メールは最終的な宛先に配信される前に、送信先のすべてのサーバーで復号化・再暗号化されます。

*セッションキーは、TLSハンドシェイクの際に両者が使用する一時的な暗号文字列です。

エンドツーエンドの暗号化

トランスポートレイヤーの暗号化とは異なり、 エンドツーエンド暗号化E2EEとも呼ばれます)は、転送中のメールメッセージを復号化したり再暗号化したりすることはありません。その代わり、メッセージはメールの送信者と最終的な受信者の2者だけが解読することができます。これにより、第三者がメールを傍受し、その内容を盗み見たり、改ざんしたり、コピーしたりすることを防止しています。

TLS暗号化と同様に、E2EEは公開鍵暗号化(または非対称暗号化)を使用して、送信者と受信者間のメッセージを暗号化し、安全を確保します。しかし、TLSがクライアントとサーバー間のメッセージを暗号化するのに対し、E2EEはメールの送信者と受信者間の通信を暗号化し、サービスプロバイダーでさえもメッセージを解読できないようにします(E2EEとTLS暗号化との違いについてはこちらをご覧ください)。

前の例に戻って、今度はアリスがサンフランシスコのある地域から別のサンフランシスコの地域へ荷物を送る場合を考えてみましょう。荷物は郵便配達員が引き取り、中間検品を経ずに直接最終目的地まで配達されます。これは、エンドツーエンドの暗号化と同様で、送信者の電子メールメッセージが意図した受信者に届く前に復号化されることはありません。

なぜメールのセキュリティに暗号化が重要なのか?

1970年代に電子メールが開発された当初は、ユーザー間のメッセージは暗号化されていませんでした。メールに含まれる内容は、本文にある機密データも含めてすべて平文であり、誰でも簡単に読むことができる状態になっていました。このため、攻撃者はメッセージを解読することなく、メッセージを傍受してデータを盗むことができるため、ユーザーは攻撃に対して無防備な状態になっていました。

暗号化プロトコルの開発により、ユーザーやメールプロバイダーは平文を暗号文に変換し、権限のない第三者がパケットスニッファー(ネットワーク上を流れるデータを収集・分析するためのプログラム)を使ってデータを盗み見ることを防ぐことができるようになったのです。

しかし、これらの暗号化プロトコルは、電子メールを攻撃から守る上で重要な役割を担っているものの、リスクに対して脆弱であることに変わりはありません。

必然的に、TLSを使用して暗号化された電子メールメッセージは、サーバーのリレー間で復号化されるため、電子メールの転送中にオンパス攻撃中間者攻撃とも呼ばれます)からデータを完全に保護することが難しくなっています。オンパス攻撃では、攻撃者は機密データが意図した受信者に到達する前に傍受します。

一方、E2EEを提供するサービスプロバイダーは、そのサービスに暗号化バックドアを組み込む可能性があります。バックドアとは、暗号化方式を回避し、機密性の高いユーザーデータにアクセスする秘密の方法です。プロバイダーは、これらのバックドアを使って、ユーザーの活動を監視したり、データを不正に使用したりする可能性があります。

一般的なメール暗号化ツールにはどのようなものがあるか?

電子メールの暗号化は、通常、サービス・プロバイダーが担当するか(例:Gmail)、ユーザーによって設定されます。メッセージを保護するために強力な暗号化が必要な組織は、ゲートウェイソフトウェアまたはウェブベースのサービスを使用する場合があります。どちらも、暗号化が必要なメールを決定するポリシーを設定し、メッセージを暗号化するために使用するプロトコルを特定することが可能です。

代表的な暗号化ツールには、以下のようなものがあります。

暗号化ツール 暗号化の種類 メリット デメリット
STARTTLSは、メールサーバーにTLS接続を開始するように指示するコマンドです。 トランスポート層
  • SMTPおよびIMAPの接続を保護するために使用されます。
  • 暗号化に対応したメールサーバーであれば、異なるプロトコルのサーバーでも使用可能です。
  • メールプロバイダーで広く支持されています。
  • 受信者のメールプロバイダーが設定する必要があります。
  • SMTPリレー間でメッセージが傍受される可能性があります。
  • SMTP接続に遅延を追加します。
STLSはSTARTTLSと同様に、POP3のTLS接続を開始するコマンドです。 トランスポート層
  • POP3接続のセキュリティ確保に使用します。
  • 暗号化に対応したメールサーバーであれば、異なるプロトコルのサーバーでも使用可能です。
  • メールプロバイダーで広く支持されています。
  • 受信者のメールプロバイダーが設定する必要があります。
  • SMTPリレー間でメッセージが傍受される可能性があります。
  • SMTP接続に遅延を追加します。
PGP(Pretty Good Privacy)とOpenPGPは、公開鍵と秘密鍵の暗号化を使用するプログラムです。 エンドツーエンド
  • メッセージの真正性を証明するデジタル署名を提供します。
  • ほとんどのメールサービスに対応しています。
  • 公開鍵と秘密鍵のペアを設定する必要があるため、設定が難しいという特徴があります。
  • メタデータを暗号化しません(例:メールヘッダー)。
  • 第三者が電子メールの送信者及び受信者を識別することが可能となります。
  • 他のプロトコルと互換性がありません。
  • メールソフトとの連携が容易ではありません。
Secure/Multipurpose Internet Mail Extensions(S/MIME)は公開鍵暗号化規格で、サーバーにMIMEデータの暗号化方法を指示します。 エンドツーエンド
  • メッセージの認証に認証局(CA)を使用します。
  • メッセージの真正性を証明するデジタル署名を提供します。
  • メールプロバイダーで広く支持されています。
  • 証明書は毎年更新する必要があります。
  • メタデータを暗号化しません(例:メールヘッダー)。
  • 第三者が電子メールの送信者及び受信者を識別することが可能となります。
  • 他のプロトコルと互換性がありません。

その他の電子メール暗号化プロトコルとしては、PGPに代わる無償のGNU Privacy Guard(GPG)や、暗号通貨ビットコインを模した暗号化プロトコルであるBitmessageなどがあります。

メールの暗号化でメールの安全性は保たれるか?

電子メールの暗号化は、電子メールの内容を保護するものです。しかし、電子メールの内容そのものは、まだ安全でない、あるいは危険が及んでいる可能性があります。例えば、攻撃者は完全に暗号化されたフィッシングメールを意図した被害者に送ることができますが、彼らが使用する暗号化方式は、被害者が攻撃に引っかかるのを阻止することはできません。

電子メールセキュリティは、対応すべき攻撃ベクトルが複数存在する広範な分野です。メール受信の安全性確保について詳しく知りたい方は、「メールセキュリティとは?」をご覧ください。