VPNとエンドツーエンド暗号化:誰が何を読めるのか
VPNは経路を守り、メッセージアプリは内容を守る。どちらかがメッセージを隠すと決めつける前に、出口・中継・受信者を比べてほしい。
スマホから友人へ届く一通のメッセージを追うと、少なくとも二種類の異なる保護を通ることがわかる。VPNはクライアントとそのゲートウェイの間の経路を覆い、メッセージアプリは参加者の端末の間の内容を覆う。どちらも相手の代わりにはならず、有用な問いはどちらが強いかではなく、各段階で誰が何を読めるかである。経路を一度たどれば、役割は明白になる。
二つの保護、二つの端点
送信側の端末では、アプリが会話に属する鍵でメッセージを暗号化し、その暗号文をオペレーティングシステムに渡す。VPNが有効なら、そのポリシーに合う通信をすべて包み、ゲートウェイまで運ぶ。そこからパケットは通常のインターネットを伝ってアプリのサーバーへ向かい、サーバーが受信者へ向けて中継する。暗号文を再びテキストに戻す鍵を持つのは、受信者の端末だけである。
その経路上の中継は、メッセージが届いて去るのを読まずに見ることができ、まさにそれがエンドツーエンド暗号化が提供すべき性質である。
VPNの出口が読めるものと読めないもの
VPNゲートウェイが復号するのはトンネルであり、アプリの内容ではない。クライアントがどのサーバーにいつ接続し、どれだけのデータが動いたかを観察し、その後パケットを先へ転送できる。それは意味のある事実の集合であり、メッセージ本文よりずっと小さい集合である。通常のHTTPSサイトではTLS接続がサイトで終わるため、VPNが読めなくてもサイトは送信内容を読める。違いは各層がどこで終わるかにあり、どちらの製品がより私的かという話ではない。
宛先をエンドツーエンド暗号化のサービスに変えると、中間の中継は内容を失い、VPNは依然として接続のパターンを見る。
鍵は会話に属し、経路には属さない
内容の鍵は参加者の間で交渉され、各自の端末にとどまり、VPNはその交換に関与しない。アプリはしばしば安全番号や鍵のフィンガープリントを表示し、双方が持つものを比較できるようにする。その比較は途中で差し替えられた鍵を検出し、これは価値があり、誰が入力しているかを証明するより狭い。ある人の本人確認には、通話や対面の確認など、アプリの外の経路が依然として必要である。VPNのサーバー証明書の検査は、まったく別の端点を検証している。
検証済みの安全番号を、アカウントの所有の証明として読んではならない。それは鍵についての証拠であり、人についての証拠ではない。
複製、メタデータ、そしてもう一つの端末
読める内容は両端に存在するので、次に何が起きるかは両端が決める。トンネルがどれだけ役立つかを決める前に、複製が届きうる場所の短い地図を作る。
| Point | Can it read the message | Why |
|---|---|---|
| Sending device | Yes | Content exists before encryption |
| VPN gateway | No | Terminates the tunnel, not the app keys |
| App relay | No, by design | Only ciphertext passes through |
| Recipient device | Yes | Holds the conversation keys |
| Cloud backup | Depends on the product | May store plaintext or an encrypted archive |
バックアップ、連携端末、通知、エクスポートはどれも別々の複製であり扱いもそれぞれ違うため、アプリの規則を読みなさい。内容が保護されていてもネットワークは時刻と量をさらし、VPNが変えるのは地域の接続をどの事業者が見るかであって、そうしたメタデータが存在するかどうかではない。保護された会話からエクスポートしたファイルは、その形式が与える保護を保つだけで、トンネルはその後何もしない。
保護は、それが覆うものに合わせて選ぶ。内容と鍵にはアプリ、経路と地域ネットワークの見え方にはVPNであり、そのうえで、どちらにも属さない複製と端末を列挙する。