エンドツーエンド暗号化はメッセージの内容を保護しますが、「誰が誰にメッセージを送ったか」という情報は保護しません。この情報こそがメタデータであり、Sealed Senderはこの問題に対処するために開発された技術です。
この記事では、Sealed Senderの技術的な仕組み、その利点と限界、そしてメタデータ保護がプライバシーにとってなぜ不可欠なのかを解説します。
1. メタデータ問題: 暗号化の盲点
従来のエンドツーエンド暗号化メッセージングでは、メッセージの配信プロセスは郵便システムに似ています。封筒の中身(メッセージの内容)は暗号化されていますが、封筒の外側には送信者と受信者のアドレスが明記されています。サーバーはメッセージを正しい受信者に届けるために、この情報を必要とします。
つまり、サーバーの運営者(または法的要求を通じてサーバーにアクセスできる第三者)は、以下の情報を知ることができます:
- 誰が誰にメッセージを送ったか
- メッセージの送信時刻
- メッセージの頻度
- メッセージのサイズ
このメタデータだけで、個人の社会的ネットワーク、行動パターン、生活リズムを詳細に再構築することが可能です。元NSA長官が「我々はメタデータに基づいて人を殺す」と述べたのは、この情報の力を端的に示しています。
2. Sealed Senderとは何か
Sealed Senderは、Signalが2018年に導入した技術で、メッセージの送信者情報をサーバーから隠します。従来の「封筒の外側に送信者を記載する」モデルを変え、サーバーは受信者のみを知り、送信者情報は暗号化されたメッセージの内部にのみ含まれます。
郵便の例えで言えば、Sealed Senderは「差出人不明の手紙」を投函するようなものです。郵便局(サーバー)は手紙を届ける先(受信者)は知っていますが、誰が投函したか(送信者)は知りません。受信者だけが、手紙を開封することで送信者を知ることができます。
3. 技術的な仕組み
Sealed Senderの技術的な仕組みを段階的に説明します:
通常のメッセージ送信(Sealed Senderなし):
- アリスが認証済みの接続でサーバーにログイン(サーバーはアリスのアイデンティティを知る)
- アリスが「ボブ宛」の暗号化されたメッセージをサーバーに送信
- サーバーは「アリスがボブにメッセージを送った」ことを記録
- サーバーがメッセージをボブに配信
Sealed Senderを使ったメッセージ送信:
- アリスがサーバーからセンダー証明書(Sender Certificate)を取得。この証明書はアリスのアイデンティティを暗号学的に証明するもの
- アリスがメッセージを作成し、センダー証明書と共にSignal Protocolで暗号化
- 暗号化されたメッセージ全体(送信者情報含む)を、受信者の公開鍵でさらに暗号化(封印)
- 封印されたメッセージを、認証なしの接続でサーバーに送信。宛先(受信者)のみ平文で指定
- サーバーは「誰かがボブにメッセージを送った」ことだけを知り、メッセージをボブに配信
- ボブが自分の秘密鍵で封印を解き、内部のメッセージを復号化し、センダー証明書からアリスが送信者であることを確認
この仕組みにより、サーバーはメッセージの受信者を知ることができますが、送信者を知ることができません。
4. 配信トークンとスパム防止
Sealed Senderには重要な課題があります。送信者が匿名であれば、スパマーが大量のメッセージを送りつけることが容易になります。この問題に対処するため、Signalは配信トークン(Delivery Token)の仕組みを導入しました。
各ユーザーは、自分の連絡先にのみ配信トークンを発行します。Sealed Senderでメッセージを送るには、受信者が事前に発行したトークンが必要です。サーバーはトークンの有効性を確認しますが、トークンが誰に発行されたかは知りません。
これにより、信頼できる連絡先からのSealed Senderメッセージのみが配信され、見知らぬ送信者からのスパムを防止できます。
5. Sealed Senderの限界
Sealed Senderは強力な技術ですが、完全ではありません:
受信者情報: サーバーは依然として受信者を知っています。メッセージを正しく配信するためにこの情報は必要です。
タイミング分析: 高度な攻撃者は、メッセージの送信タイミングとネットワークトラフィックのパターンを分析することで、送信者を推測できる可能性があります。
IPアドレス: メッセージ送信時のIPアドレスがサーバーに記録される可能性があります。VPNやTorと組み合わせることでこのリスクを軽減できます。
サーバーの信頼性: サーバーが正直にプロトコルに従っていることを前提としています。悪意のあるサーバーが追加の監視を行う可能性は排除できません。
6. メタデータ保護技術の比較
Sealed Sender以外にも、メタデータを保護する技術があります:
- Sealed Sender(Signal/Hashe): サーバーから送信者情報を隠す。受信者情報は保持。実用的な性能。
- Onion Routing(Session/Tor): 複数のノードを経由してIPアドレスを隠す。高い匿名性だが遅延が発生。
- Mix Networks: メッセージをシャッフルしてタイミング分析を困難にする。学術的な研究段階。
- Private Information Retrieval(PIR): サーバーがどのデータにアクセスされたか知らずにデータを提供。計算コストが高い。
各技術にはトレードオフがあります。Sealed Senderは、実用的な性能を維持しながら送信者のメタデータを保護するバランスの取れたアプローチです。
7. なぜ重要なのか
メタデータの保護が重要な理由は、メタデータがメッセージの内容と同等以上に個人のプライバシーを侵害する可能性があるからです。
具体的な例を挙げます:
- 毎週金曜日の深夜にある人物にメッセージを送っているパターンは、人間関係を示唆します
- がん専門医にメッセージを送った後、保険会社に連絡するパターンは、健康状態を推測させます
- ジャーナリストと政府関係者間のメッセージパターンは、内部告発の可能性を示します
- 特定の政治団体との頻繁なメッセージ交換は、政治的立場を明らかにします
FBIの内部文書によると、WhatsAppのメタデータは15分ごとに更新され、ほぼリアルタイムで取得可能です。一方、Signalについては「メッセージの内容なし、登録日時のみ」と記載されています。Sealed Senderがこの差を生んでいます。
8. HasheのSealed Sender実装
DEVOLIMチームによるフランス製、HasheはSealed Senderを実装するとともに、メタデータ保護をさらに強化するアーキテクチャを採用しています。
Sealed Sender: Signalの実装と同様に、サーバーからメッセージの送信者情報を隠します。サーバーは「誰かが受信者にメッセージを送った」ことだけを知ります。
完全な匿名性: Signalが電話番号による登録を必要とするのに対し、Hasheは個人識別子を一切必要としません。受信者情報(サーバーが唯一知る情報)すら、実際の人物と結びつけることができません。
設計による消滅: メッセージは受信確認後にサーバーから自動削除されます。メタデータが蓄積されることがなく、過去の通信パターンの分析が不可能になります。
最大24時間のサーバー保持: 受信者がオフラインの場合でも、メッセージは最大24時間でサーバーから削除されます。長期的なメタデータの蓄積を防止します。
Signal Protocol: 暗号化の基盤としてSignal Protocolを使用。Double Ratchet、X3DH、Curve25519による最高水準の暗号化。
Vasheモード: デバイスの押収時に、代替PINですべてのデータ(ローカルのメタデータ含む)を静かに消去できます。
オープンソース: Sealed Senderの実装を含む全コードがGitHubで公開されています。
9. 結論
Sealed Senderは、エンドツーエンド暗号化の重要な弱点であるメタデータの問題に対処する画期的な技術です。メッセージの内容を暗号化するだけでなく、「誰が送ったか」という情報もサーバーから隠すことで、プライバシーの保護を質的に向上させます。
しかし、Sealed Sender単体では完全なメタデータ保護を実現できません。匿名性(個人識別子の不使用)、消滅型メッセージ(メタデータの蓄積防止)、クラウドバックアップの禁止など、複数の技術と方針の組み合わせが必要です。
メッセージアプリを選ぶ際は、暗号化の品質だけでなく、メタデータの取り扱いにも注目してください。メッセージの内容が暗号化されていても、メタデータが無保護であれば、プライバシーの保護は不完全です。