暗号化通信の分析
暗号化された通信であっても、タイミング、サイズ、通信パターンなどのメタデータが漏れることを学びます。
「暗号化通信の分析」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。
暗号化してもタイミングは隠せない
ネットワークトラフィックを暗号化するとメッセージの内容は保護できますが、パケットのタイミングは完全に観測可能なままです。暗号化された接続を監視する攻撃者は、パケット間の遅延、接続時間、バーストの時間的パターンを測定できます。こうしたタイミングの特徴から、使用中のアプリケーションの種類、ユーザーが入力中かデータを受信中かを推測でき、場合によってはタイミングだけから機密情報を再構成することさえ可能です。
パケットサイズから分かるデータ量
内容を読み取れなくても、パケットサイズから情報が得られます。ファイルのダウンロードでは最大転送単位に近い大きなパケットが生成され、チャットメッセージでは小さなパケットが生成されます。暗号化されたセッションで転送されたデータの総量から、大きなファイルが共有されたかどうかを推測できます。ビデオ通話の品質設定によって、訓練を受けた観測者であれば識別できる特徴的なパケットサイズの分布が生じます。
トラフィック分析:通信パターン
トラフィック分析では、内容を調べることなく、誰が誰と、いつ、どのくらいの頻度で、どれほど長く通信しているかを調べます。完全に暗号化された通信であっても、ソーシャルグラフは明らかになります。あるジャーナリストが特定の政府高官のIPアドレスに不規則な間隔で接続していると分かれば、何を話したかに関係なく、価値のある情報になります。トラフィック分析は、電信通信の時代から監視に利用されてきました。
TLS SNIはホスト名を漏えいさせる
ブラウザーがTLS接続を確立すると、暗号化が始まる前に、初期のClientHelloメッセージ内でServer Name Indication拡張を送信します。SNIには、クライアントが接続しようとしているドメイン名が含まれます。ネットワーク経路上のあらゆる観測者がSNIを読み取り、後続のHTTPリクエストが暗号化されていても、利用者がどのウェブサイトを訪れているかを正確に知ることができます。サーバーが正しい証明書を選択する必要があるため、SNIは平文で送信されます。
QUICとEncrypted Client Hello
QUICはGoogleが開発した最新のトランスポートプロトコルで、UDP上で動作します。Encrypted Client Hello(ECH)という仕組みを使用し、SNIを含むTLSハンドシェイクを最初から暗号化します。ECHでは、実際のホスト名を含む内側のClientHelloを、CDNのエントリポイント宛ての外側のClientHelloの内部で暗号化します。これにより、TCP上で従来のTLS 1.3を使用する場合には避けられなかったホスト名の漏えいを防止できます。
トラフィックパターンによるウェブサイト・フィンガープリンティング
ウェブサイト・フィンガープリンティング攻撃は、各ウェブサイトが特徴的なリソースリクエストのパターンを生成するという事実を悪用します。具体的には、特定の数のオブジェクトが、特定のサイズで、特定の順序で読み込まれます。これらのパターンで分類器を訓練すると、暗号化されたVPN経由であっても、トラフィックパターンだけから利用者が訪れたウェブサイトを特定できます。一般的なウェブサイトに対して、90%を超える精度が得られることが研究で示されています。
グローバルな攻撃者に対するTorの限界
Torは、各ホップで暗号化しながらボランティアが運営する3つのリレーを経由してトラフィックをルーティングし、発信元と宛先の接続を隠します。しかし、Torのエントリーノードと出口ノードの両方を監視できる攻撃者は、トラフィック相関を利用できます。つまり、内容が暗号化されていても、入口と出口におけるタイミングや通信量のパターンが一致します。インターネットの広い範囲を監視できる国家レベルの攻撃者は、この相関攻撃を実行できます。
動画ストリーミングの解像度推測
NetflixやYouTubeは利用可能な帯域幅に応じて動画品質を調整し、解像度ごとにパケットレートとサイズの分布が異なります。研究者は、観測したトラフィックパターンを、品質レベルごとに既知の動画を登録したフィンガープリントデータベースと照合することで、ストリーミング中の動画タイトルを推測できることを実証しました。これは、content-lengthとタイミングのパターンが見えるため、HTTPS経由でも機能します。
VPNメタデータの漏えい
VPNは利用者とVPNサーバーの間のトラフィックを暗号化し、ローカルISPから宛先を隠します。しかし、VPNプロバイダーにはすべての宛先が見え、宛先ごとの総通信量もプロバイダーには分かります。また、VPNトンネルの開始前に行われたDNSクエリがISPに漏えいする場合もあります。さらに、明示的にブロックしない限り、ブラウザーのWebRTCによって、VPNが有効でも利用者の実際のIPアドレスが公開される可能性があります。
TLS接続前のDNSルックアップでも宛先が明らかになる
TLS接続が確立される前に、ブラウザーはドメイン名をIPアドレスに解決するため、DNSルックアップを実行します。DNSが暗号化されていない場合(DoHやDoTを使用していない場合)、DNSクエリは平文で送信され、ローカルリゾルバー、ISP、ネットワーク上のあらゆる観測者に宛先が知られます。その後のTLS接続が暗号化され、ECHによってSNIが隠されても、DNSクエリによって宛先はすでに開示されています。
トラフィック分析への対策
トラフィック分析から防御するには、実際のパターンを分かりにくくするカバートラフィックを追加し、トラフィックシェーピングを行う匿名ネットワークを使用し、DoHまたはDoTでDNSを暗号化する必要があります。HTTPSパディングによってオブジェクトのサイズを隠すこともできます。Pluggable Transportを使用したTorは、検閲に基づく検出に対抗するためにトラフィックパターンを難読化します。単独ですべてのトラフィック分析攻撃を防げる対策はないため、効果的な保護には複数の技術を組み合わせる必要があります。
トラフィックメタデータ
TLS 1.3がHTTPリクエストを暗号化していても、ネットワーク観測者に見えるメタデータはどれでしょうか。
暗号化トラフィック分析:重要なポイント
暗号化は内容を保護しますが、メタデータまでは保護しません。タイミング、パケットサイズ、通信パターンから、重要な情報が明らかになります。TLSのSNIはホスト名を平文で漏えいさせますが、QUICのEncrypted Client Helloはこれを防ぎます。ウェブサイト・フィンガープリンティングによって、トラフィックパターンから訪問先のサイトを特定できます。Torは、グローバルな攻撃者によるトラフィック相関に対して脆弱です。DoHまたはDoTを使用しない限り、TLS接続前のDNSルックアップによって宛先が明らかになります。
よくある質問
「暗号化通信の分析」レッスンは無料ですか?
はい。「暗号化通信の分析」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。
「暗号化通信の分析」で何を学びますか?
暗号化された通信であっても、タイミング、サイズ、通信パターンなどのメタデータが漏れることを学びます。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cryptology Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「暗号化通信の分析」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCryptology Academyレッスンでコードを書いて実行できますか?
はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。