Encrypted Client Helloを有効にしてサイトを開くと、接続は機能します。VPNはまだ必要なのかと誰かが尋ねますが、正直な答えは、この二つの機能は異なる相手に対して異なるものを隠すというものです。ECHは、そうしなければ要求したサーバー名を明かしかねないTLSハンドシェイクの一部を保護します。VPNは通信を、事業者のエンドポイントで終わるトンネルの内側に置きます。両者を混同すると、すでにある保護に余分な費用を払うか、決して持ったことのない保護があると信じ込むかのどちらかになります。

ECHなしでハンドシェイクが露呈するもの

TLS接続はClientHelloから始まり、古い形式では目的のサーバー名がその中を平文で流れます。ハンドシェイクを観察できる立場にある者なら誰でも、ネットワーク事業者から経路上のパッシブセンサーまで、その名前を読めます。その後に続くアプリケーションデータが暗号化されていても同じです。宛先アドレスも見えるため、名前は唯一の手がかりではなく確認情報であることが多いのです。

それがECHの狙う特定の漏洩です。狭い漏洩であり、狭める価値はありますが、通信がどこへ向かうかを隠すこととは同じではありません。

ECHが実際に変えるもの

互換性のあるクライアントとサーバーの対応と必要な設定があれば、ECHはサーバーが公開した鍵で内側のClientHelloを暗号化するため、観察者には本当のサーバー名を運ばない外側のハンドシェイクが見えます。通信は同じアドレスへ、同じ時刻に、ほぼ同じ量だけ流れます。タイミングとサイズは観察可能なままであり、宛先IPはECHが暗号化するものの一部では決してありませんでした。

対応も普遍的なものではありません。すべてのクライアント、サービス、個々の接続がECHを使うわけではなく、鍵アイコンやVPNの国を変えたことからその存在を推測することはできません。診断にはハンドシェイクを見る必要があり、ブラウザの装飾ではありません。

代わりにVPNが変えるもの

VPNは覆われた通信をトンネルの内側でエンドポイントまで運ぶため、あなたに最も近い観察者には宛先ではなくVPNへの接続が見えます。これは誰が何を観察できるかを変え、宛先が見るアドレスも変えます。アプリケーションがすでに暗号化していないものを暗号化するわけではなく、構造上経路上にいるVPN事業者から接続を隠すこともしません。

両者は自然に組み合わさります。アプリケーションがTLSとECHを使いながら、トンネルがその周囲のネットワーク区間を保護します。どちらも、経路上で異なる位置を占める各当事者が何を見て何を保持できるかを確定するものではありません。

DNSがどこに関わるか

保護されていないDNSクエリは、リゾルバーとその経路を観察するすべての者に名前を明かします。これはTLSハンドシェイクとは別の露出です。ECHはDNSを暗号化せず、VPNがリゾルバーの身元を変えるのは、クエリもトンネル経由で送るか暗号化されたリゾルバーを使う場合だけです。人々は三つのうち一つを有効にして、残り二つも付いてくると考えてしまいます。

リゾルバーの経路はハンドシェイクの経路とは別に確認する。両者は独立して失敗し、異なる場所で設定されます。

どの層を見ているかを見分ける方法

その観察が何を明かすかを自問してください。どのサーバー名が要求されたかという問いなら、ハンドシェイクとリゾルバーが該当する層です。通信がどのネットワークへ向かい、転送中に誰が見られたかという問いなら、トンネルです。サイト上でどのアカウントが何をしたかという問いなら、どちらも役に立ちません。ウェブサイトは依然として要求と、あなたが提供したあらゆる身元を受け取るからです。

互換性を調べる間は、証明書の検証とDNSポリシーをそのままにしておいてください。テストを通すために検査を無効にすると、ECHが何を保護するかを示すのではなく、結果の意味が変わってしまいます。

別の層を追加する前に、実際にどの層を有効にしたかを書き留めてください。ここでの混乱のほとんどは、単一の制御が要求・その名前・宛先・身元を一度に覆うという思い込みから生じます。

関連記事