暗号化・安全な通信
エンドツーエンド暗号化 (E2EE)
約 4 分で読めます
最終更新: 2026-02-18
エンドツーエンド暗号化とは
エンドツーエンド暗号化 (End-to-End Encryption、E2EE) とは、送信者と受信者の端末間でデータを暗号化し、通信経路上のサーバーやサービス提供者を含む第三者が内容を読めない仕組みです。
通常の TLS/SSL 暗号化では、クライアントとサーバー間の通信は保護されますが、サーバー上ではデータが復号されます。つまり、サービス提供者はデータの内容にアクセスできます。E2EE ではサーバーを経由しても暗号化されたままであり、復号できるのは送信者と受信者の端末だけです。
この仕組みの核となるのが公開鍵暗号方式です。各ユーザーの端末で鍵ペアが生成され、秘密鍵は端末から外に出ません。
E2EE の仕組み - Signal プロトコルの例
現在最も広く採用されている E2EE の実装は Signal プロトコルです。WhatsApp、Google Messages、Facebook Messenger (オプション) などが採用しています。
- 鍵ペアの生成: 各端末で長期の ID 鍵と、メッセージごとに使い捨てる一時鍵 (エフェメラルキー) を生成する。
- 鍵交換: 初回通信時に Double Ratchet アルゴリズムで共有秘密を確立する。サーバーは暗号化された鍵交換メッセージを中継するだけで、共有秘密を知ることはできない。
- メッセージの暗号化: 各メッセージは固有の鍵で暗号化される。1 つの鍵が漏洩しても、他のメッセージは解読できない (前方秘匿性)。
- 鍵の更新: メッセージを送受信するたびに鍵が更新される (ラチェット)。過去の鍵は破棄されるため、端末が侵害されても過去のメッセージは保護される。
E2EE の限界と注意点
E2EE は強力なプライバシー保護技術ですが、万能ではありません。
- メタデータは保護されない: 誰が誰に、いつ、どのくらいの頻度で通信したかという情報は暗号化されません。メタデータだけでも個人の行動パターンや人間関係を推測できます。
- 端末が侵害されれば無意味: E2EE は通信経路を保護しますが、端末にマルウェアが仕込まれていれば、復号後のデータを盗まれます。端末のセキュリティが前提条件です。
- バックアップの暗号化: クラウドバックアップが E2EE で保護されていない場合、バックアップ経由でメッセージが漏洩する可能性があります。iCloud や Google Drive のバックアップ設定を確認しましょう。
- 鍵の検証: 中間者攻撃を防ぐには、通信相手の公開鍵が本物であることを確認する必要があります。Signal や WhatsApp の「安全番号の確認」機能がこれに該当します。
E2EE 対応サービスの選び方
E2EE を謳うサービスを選ぶ際は、以下の点を確認してください。
- デフォルトで有効か: Signal や WhatsApp はデフォルトで E2EE が有効。Telegram は「秘密のチャット」でのみ有効で、通常のチャットは E2EE ではない点に注意。
- ソースコードが公開されているか: Signal はオープンソースで、暗号化の実装を第三者が検証できます。クローズドソースのサービスは「E2EE」と主張していても検証が困難です。
- 独立した監査を受けているか: セキュリティ企業による第三者監査の結果が公開されているサービスは信頼性が高い。
- グループチャットの E2EE: 1 対 1 では E2EE でも、グループチャットでは無効になるサービスがあります。
よくある誤解
- E2EE なら通信の全てが秘匿される
- E2EE はメッセージの内容を保護しますが、誰が誰に通信したか (メタデータ) は保護しません。通信の存在自体を隠すには、Tor などの匿名化ネットワークが別途必要です。
- E2EE は犯罪者のための技術
- E2EE はジャーナリスト、人権活動家、企業の機密通信など、正当なプライバシー保護に不可欠な技術です。銀行のオンラインバンキングや医療情報の通信にも E2EE の考え方が応用されています。
E2EE と通常の TLS 暗号化の比較
TLS 暗号化 (通常)
クライアントとサーバー間の通信を暗号化。サーバー上ではデータが復号されるため、サービス提供者はデータにアクセス可能。
E2EE
送信者と受信者の端末間で暗号化。サーバーを含む中間者はデータを復号できない。サービス提供者もメッセージ内容を読めない。