HTTPS は万全と思われがちですが、AdGuard 7.5 シリーズのアップデート(Windows 端末では v7.17、Android と Mac は CoreLibs のアップデートに連動)により、プライバシー保護のパズルに新たなピースが加わりました。**Encrypted ClientHello (ECH)** の実験的サポートが大きく前進し、さらに DNS-over-HTTPS のリアルタイムフィルタリングが全デバイスで利用可能になりました。「通信事業者に自分の訪問先がどこまで見えているのか」が気になる方にとって、このアップデートは 5 分だけ目を通す価値があります。
ECH とは何か?なぜ「プライバシーの最後のピース」と呼ばれるのか
HTTPS サイトにアクセスするたびに、ブラウザはサーバーに最初の「挨拶」を送ります。これが TLS ハンドシェイクの
ClientHello メッセージです。問題は、ページ内容がすべて暗号化されていても、この最初の「こんにちは」には**アクセス先のドメイン名(Server Name Indication、通称 SNI)が平文で含まれている**こと。通信事業者、空港の Wi-Fi 管理者、あるいは廊下の傍受装置でも、あなたが `example.com` にアクセスしていることが一目でわかります。中で何をしたかは不明でも、「どこに行ったか」は丸裸です。
ECH はこの問題を解決します。ClientHello 全体を暗号化し、あなたと対象サーバーだけが解読可能に。中間者は「ECH 対応の CDN ノードに接続した」ことしかわかりませんが、具体的なサイトは——推測するしかありません。つまり、ECH によって HTTPS は最初のパケットから最後のパケットまで、全経路暗号化を実現します。
AdGuard 7.5 はどう実現する?ブラウザに依存しないグローバル ECH
従来、ECH はブラウザ単体でしか機能しませんでした。Chrome や Firefox で実験オプションを有効にしても、サーバー側の対応が必要でした。AdGuard のアプローチはまったく異なります:システムレベルでトラフィックを直接制御します。
Android 版の更新ログには、開発者がジョークを交えた記述があります——「ECH をサポートする第一歩は、まず『抑制』することを学ぶこと」。これは、AdGuard 内部に `pref.dns.block.ech` スイッチがあり、`pref.https.redirect.doh` と組み合わせて、まずネイティブの ECH リクエストを遮断し、その後 AdGuard 自身が本当に ECH に対応した接続を再確立するためです。これにより、**スマートフォン上のすべてのアプリやブラウザが、AdGuard 経由のトラフィックであれば、アプリ開発者の対応を待たずに ECH のプライバシー強化を享受できます**。
Windows 版 v7.17 と Mac 版 v2.10 にも同じ実験的機能が組み込まれています。さらに、ECH を正常に動作させるため、AdGuard は初めて**DNS フィルタリングをデフォルトで有効化**しました。理由は単純:ECH に必要な暗号パラメータは DNS HTTPS レコードから取得されます。AdGuard 独自の DNS 保護モジュールを使用しなければ、ローカルでこれらのパラメータを取得してグローバル暗号化を完了できないからです。
3 ステップで ECH が実際に動作しているか確認
AdGuard は非常に簡単な検証方法を提供しています:
- 詳細設定で Block ECH がオフ、かつ DNS 保護 が有効になっていることを確認。
- Use Encrypted ClientHello 実験オプションを有効にする(Windows/Android は「詳細設定」、Mac は「ネットワーク」関連設定内)。
crypto.cloudflare.com/cdn-cgi/trace にアクセスし、sni=encrypted が表示されるか、www.cloudflare.com/ssl/encrypted-sni/ で SSL_ECH_STATUS: success が表示されれば、ECH が正常に動作しています。
テストが通らない場合、現時点では ECH はサーバー側の対応も必要です(Cloudflare 系サイトの多くは対応済み)。また実験的機能のため、ブラウジング速度にわずかな影響が出ることもあり、公式側でパフォーマンス最適化を進めています。
ECH だけではない:DoH リアルタイムフィルタリングと基盤エンジンの大規模アップグレード
AdGuard 7.5 シリーズがもたらすプライバシー向上は ECH だけではありません。CoreLibs フィルタリングエンジンは v1.12.80 から v1.14.59 までアップデートされ、いくつかの本格的な改良が加わりました:
- On-the-fly DNS-over-HTTPS フィルタリング:以前は DoH リクエストに対するフィルタリングが受動的でしたが、今回のアップデートで AdGuard はセキュア DNS リクエストをリアルタイムでブロックし、ローカルプロキシにリダイレクトできるようになりました。これにより DoH によるフィルタリング回避が不可能になり、暗号化 DNS 経由でこっそり抜け出そうとするアプリを確実に捕捉します。
- ECH GREASE とパラメータ抽出:ブロックした DNS HTTPS クエリから ECH 設定を抽出し、トラフィックに GREASE 値を注入。ECH 非対応の中間機器が誤動作するのを防ぎ、ECH 対応の接続をスムーズにします。