スマホから友人へ届く一通のメッセージを追うと、少なくとも二種類の異なる保護を通ることがわかる。VPNはクライアントとそのゲートウェイの間の経路を覆い、メッセージアプリは参加者の端末の間の内容を覆う。どちらも相手の代わりにはならず、有用な問いはどちらが強いかではなく、各段階で誰が何を読めるかである。経路を一度たどれば、役割は明白になる。

二つの保護、二つの端点

送信側の端末では、アプリが会話に属する鍵でメッセージを暗号化し、その暗号文をオペレーティングシステムに渡す。VPNが有効なら、そのポリシーに合う通信をすべて包み、ゲートウェイまで運ぶ。そこからパケットは通常のインターネットを伝ってアプリのサーバーへ向かい、サーバーが受信者へ向けて中継する。暗号文を再びテキストに戻す鍵を持つのは、受信者の端末だけである。

その経路上の中継は、メッセージが届いて去るのを読まずに見ることができ、まさにそれがエンドツーエンド暗号化が提供すべき性質である。

VPNの出口が読めるものと読めないもの

VPNゲートウェイが復号するのはトンネルであり、アプリの内容ではない。クライアントがどのサーバーにいつ接続し、どれだけのデータが動いたかを観察し、その後パケットを先へ転送できる。それは意味のある事実の集合であり、メッセージ本文よりずっと小さい集合である。通常のHTTPSサイトではTLS接続がサイトで終わるため、VPNが読めなくてもサイトは送信内容を読める。違いは各層がどこで終わるかにあり、どちらの製品がより私的かという話ではない。

宛先をエンドツーエンド暗号化のサービスに変えると、中間の中継は内容を失い、VPNは依然として接続のパターンを見る。

鍵は会話に属し、経路には属さない

内容の鍵は参加者の間で交渉され、各自の端末にとどまり、VPNはその交換に関与しない。アプリはしばしば安全番号や鍵のフィンガープリントを表示し、双方が持つものを比較できるようにする。その比較は途中で差し替えられた鍵を検出し、これは価値があり、誰が入力しているかを証明するより狭い。ある人の本人確認には、通話や対面の確認など、アプリの外の経路が依然として必要である。VPNのサーバー証明書の検査は、まったく別の端点を検証している。

検証済みの安全番号を、アカウントの所有の証明として読んではならない。それは鍵についての証拠であり、人についての証拠ではない。

複製、メタデータ、そしてもう一つの端末

読める内容は両端に存在するので、次に何が起きるかは両端が決める。トンネルがどれだけ役立つかを決める前に、複製が届きうる場所の短い地図を作る。

PointCan it read the messageWhy
Sending deviceYesContent exists before encryption
VPN gatewayNoTerminates the tunnel, not the app keys
App relayNo, by designOnly ciphertext passes through
Recipient deviceYesHolds the conversation keys
Cloud backupDepends on the productMay store plaintext or an encrypted archive

バックアップ、連携端末、通知、エクスポートはどれも別々の複製であり扱いもそれぞれ違うため、アプリの規則を読みなさい。内容が保護されていてもネットワークは時刻と量をさらし、VPNが変えるのは地域の接続をどの事業者が見るかであって、そうしたメタデータが存在するかどうかではない。保護された会話からエクスポートしたファイルは、その形式が与える保護を保つだけで、トンネルはその後何もしない。

保護は、それが覆うものに合わせて選ぶ。内容と鍵にはアプリ、経路と地域ネットワークの見え方にはVPNであり、そのうえで、どちらにも属さない複製と端末を列挙する。

関連記事