web-dev-qa-db-ja.com

サイトのHTTPS暗号化により、NSAがそのドメイン/ URLにアクセスしたことを知ることができなくなりますか?

HTTPSがNSAなどのバックボーン上の盗聴エンティティからインターネットアクティビティのメタデータを保護するかどうかを尋ねる理由は、次のシナリオです。

たとえば、暗号化されたhttps://xsite.com/page.htmlを参照しているときに、http://ysite.com/library.jsにある暗号化されていないJavaScriptライブラリまたはhttp://ysite.com/image.jpgにある外部画像を呼び出したとします。

このクロスサイトリクエストのGETリクエストは、暗号化されていないysite.comのサーバーにアクセスしている暗号化されたページのURLを渡しますか。つまり、 RequestPolicy 、私はNSAが私のIPアドレスがhttps://xsite.com/page.html(またはドメインxsite.com全体)にアクセスしたことを知らないようにしますか?

または、そのようなプライバシーの懸念は、実際にあなたのIPアドレスがhttps://xsite.com(または/page.html)を訪問したことを実際に(バックボーンの盗聴者に)HTTPS ではないによって非難されています。 ?

11
user21377

このクロスサイトリクエストのGETリクエストは、暗号化されていないysite.comのサーバーにアクセスしている暗号化されたページのURLを渡しますか?

いいえ。ysite.comは、アクセスしているページのURLを知りません。 xsite.comは、ysite.comに対するリクエストには表示されません。

requestPolicyのようなブラウザのアドオンを使用してそのようなクロスサイトリクエストをブロックすると、NSAが私のIPアドレスがhttps://xsite.com/page.html(またはドメインxsite .com全体)?

HTTPSはホスト名を暗号化しないため、xsite.comにアクセスしたことは誰でも知っています。これは、接続を設定するためにホスト名が必要なためです。ただし、パスが暗号化されるため、page.htmlまたはpage2.htmlにアクセスしたかどうかを判別することはできません。

ただし、NSAがhttp://ysite.com/image.jpgpage.htmlにのみ埋め込まれていることを知っていて、最近DNSクエリを実行してxsite.comに接続した場合、彼らはそれを推測できます。おそらくhttps://xsite.com/page.htmlにアクセスしました。

編集:URLパスのおおよその長さは、すべての盗聴者に表示されます。したがって、xsite.comに数ページしかない場合、攻撃者が訪問しているページを推測する可能性もあります。

HTTPトラフィック分析に関する追加リソース: 1つのIPから1つ以上のWebサイトへのHTTPSトランザクション中にURLが識別されますか?

13
limbenjamin

はいおよびいいえ。理由を理解するには、インターネットの構造を調べる必要があります。

インターネットは単一のプロトコルで構成されているのではなく、相互に積み重ねられている多数のプロトコル。スタックのどこに適合するかに従ってプロトコルを分類できます。これを行うと現れるテーマはlayersと呼ばれます。

これがどのように機能するかについては2つの競合モデルがあり、OSIモデルの最下層について簡単に説明します。これは、IP関係者が使用するモデルではありませんが、興味深い根拠を提供します。 OSIの関係者によると、最下位レベルは物理層であり、信号の送信に実際に使用します。コンピューターが現在使用している物理層が「銅線」または「電波」のいずれかである可能性がありますが、他にもあります。以前は、光ファイバーケーブル、音波、レーザービームなどが使用されてきました。 。エイプリルフールのジョークとして、誰かが伝書鳩を使ってそれを行う方法を考え出しましたが、それは誰もが使いたいものではありませんが、実際に機能します。

TCP/IP関係者が使用する最も低いモデル(OSIモデルで2番目に低いモデル)はリンク層と呼ばれます。物理層は2つのマシン間の直接接続を提供しますが、その接続を介して信号を取得する方法については何も述べていません。これは、イーサネットのリンクレイヤーとは、現在のマシンで一般的なリンクレイヤープロトコルです。ケーブルを介して永続的に接続され、Wi-Fi(イーサネットから派生)は電波に対して同じことを行います。 PPPは、最近モデムで最も人気のあるリンク層プロトコルです。他のリンク層プロトコルもあります。

しかし、この質問で本当に興味深いのは、2番目と3番目のレイヤーです。 2番目のレイヤーはネットワークレイヤーまたはインターネットレイヤーと呼ばれます(小さな[〜#〜] i [〜#〜]に注意してください。これはインターネットとは異なります)。これは、あるが直接接続されているマシンのチェーンを使用して、[されていない直接接続されている2つのマシン間で信号を取得しようとする信号が存在する場所です。 IP(インターネットプロトコル)はこの層にあります。ここからIPアドレスが取得されます。

3番目の層-the transport layer-は、信号の話をやめ、データの話を始めるところです。信号が与えられると、それから一貫した何かを作り始めます。 TCPとUDPについて聞いたことがある場合は、ここにあります。TCPを使用すると、パケットをセッションにチェーンできますが、UDPの方が低TCPのインフラストラクチャが実際には必要ないときのためのレイヤプロトコルトランスポートレイヤの役割は、接続の両端のホストを一貫した方法で通信することです。

4番目のレイヤー-アプリケーションレイヤー-は、エキサイティングなアクションのほとんどが行われる場所です。トランスポートレイヤーのインフラストラクチャ上に構築され、私たちが通常ネットワークタスクと考えるものを実現します。 Webが構築されているプロトコルであるHTTPは、この層にあります。 FTPとBitTorrentのファイル転送プロトコル、SMTP/POP/IMAPの3つの電子メールプロトコル、IRCチャットプロトコル、その他多くのプロトコルがそうです。

TLS(およびその前身のSSL)はトランスポート層に存在します。 TLSは、その名前をトランスポートレイヤーセキュリティから取得しています。これは、HTTPなどのアプリケーション層プロトコルが相互に通信するための共通のインフラストラクチャを提供し、このために適切に機能します。

TLSはHTTPを暗号化するため、(理論的には)URLなどのデータを保護します。ただし、IPを介して接続するサーバーのIPアドレスを含めて、その要求を行うと、TLSがスタック内で高すぎるそれを暗号化するには。したがって、サイトが存在するのと同じホストからサイトをリクエストした場合、NSA(または他のエージェント))は、送信先を確認することで、接続先のホストを特定できますインターネット層。残りのURLは取得できません。これは、HTTP(TLSが暗号化する)の内部で処理されるためですが、ホストは取得できます。

HTTPトンネリングを使用している場合は、これを部分的に回避できます。別のHTTP接続を介して1つのHTTP接続をトンネリングする場合、xsite.comまたはysite.comに直接接続するのではなく、代わりにzsite.comに接続し、これらの他の場所に接続することを伝えます。あなたのための要求。 HTTPトンネリングはHTTP内に存在するため、TLSはそれを保護します。NSAは、zsite.comに接続していることを検出できますが、要求したサイトを含め、他に何も通知できません。接続するzsite.com。もちろん、最終的にはzsite.comが何をするのか理解し始めますが、最初に気づく必要があります。

これはいずれも、TLSを破るという実用性にはつながりません。私は、TLSが保護できるもの(保持している限り)と、TLSが完全に機能しても保護できないものの概要を説明しようとしています。

7
The Spooniest

番号

HTTP経由で外部JavaScriptにアクセスする場合、NSAがこのJavaScriptのリクエストを途中で仲介し、情報を中継するハッキングされたバージョンを提供する可能性があります。それらに戻る、またはさらに悪い。

ただし、このような攻撃が発見される可能性があるため、収集したい情報の価値と攻撃対象が標的を検出する可能性に基づいて、攻撃を使用するかどうかを決定します。

価値の高いターゲットの場合、次のような他の手法を採用することもあります。

  • 施設内またはxsite.comでの監視機器の設置
  • セキュリティの脆弱性を使用して、システムまたはxsite.comへのアクセスを取得します(おそらくゼロデイのライブラリから)。
  • 偽のSSL証明書の発行とxsite.comへの接続のミット-たとえば、侵害されたCAの使用
  • Xsite.comに潜入するためにモグラを送信する、または既存の従業員を脅迫してサービスを提供する
  • 分類され、まだリークされていないテクニック
  • あなたが訪問したサイトを伝えるまでドアハンドルの袋であなたを倒します
2
James_pic

トラフィックを盗聴している誰かのパケットは、HTTPSでリクエストしたホスト名を認識しません。 HTTPSは、単にTLSを使用してソケット全体を暗号化することに他なりません。 TLSハンドシェイクが完了すると、そのソケットを介してプレーンテキストで何も送信されません(奇妙な理由でTLSがネゴシエートしない限り)ただし、IPアドレスとポート番号は表示されますそして、そこから、だれがそれを所有しているかを判断することは、通常は簡単です。さらに、特定のIPアドレスとポート番号の組み合わせでHTTPSを使用できるのは単一のドメイン名のみです。そのため、実際にネットワークから盗聴することはできませんが、訪問したドメイン名を特定できます。もちろん、HTTPS接続を開始する直前にブラウザーが送信した、暗号化されていないDNS Aルックアップ要求(および対応する応答)を盗聴した可能性もあります。要約すると、HTTPS(および一般にTLS)は、通信の機密性、Originの完全性、およびデータの完全性を保護するだけです。それはあなたのコミュニケーションを匿名にしません。実際、少なくともオプションとして、証明書を使用してサーバーとクライアントの相互認証を実行することで、それとは正反対のことを行うように設計されています。

これを回避する方法: Tor を使用します。 Torは機密性と匿名性の両方を提供するように設計されています。

1
reirab