HTTPSヘッダーは暗号化されていますか?


600

HTTPS経由でデータを送信するとき、コンテンツが暗号化されていることを知っていますが、ヘッダーが暗号化されているかどうか、またはヘッダーのどの程度が暗号化されているかについて、さまざまな答えが聞こえます。

どのくらいのHTTPSのヘッダーをされています暗号化されますか?

GET / POSTリクエストURL、Cookieなどを含みます。


9
HTTPSを介したHTTPヘッダーは暗号化され、HTTP圧縮されません(本文が暗号化されている場合でも)。これにより、BEASTなどの圧縮関連の攻撃に対する脆弱性が軽減されます
Neil McGuigan

回答:


552

ロット全体が暗号化されます -すべてのヘッダー。そのため、vhostsのSSLはあまり機能しません。ホストヘッダーが暗号化されているため、専用のIPアドレスが必要です。

サーバー名識別(SNI)標準は、TLSを使用している場合、ホスト名が暗号化されない可能性があることを意味します。また、SNIを使用しているかどうかにかかわらず、TCPおよびIPヘッダーは暗号化されません。(そうであった場合、パケットはルーティングできません。)


3
@ Greg、vhostゲートウェイが承認されているため、ゲートウェイで暗号化を解除できませんでした。Hostヘッダーを確認してから、パケットを送信するホストを決定してください。
Pacerier 2014

2
Afaik URL自体は暗号化されていません。
テディ

4
@Teddu「URL自体は暗号化されていません」とはどういう意味ですか。ヘッダーの一部であるため、暗号化されます。
Dmitry Polushkin 2017

1
Fiddlerを使用してhttps通信をキャプチャする場合でも、いくつかのヘッダーが表示されますが、なぜですか?特に、インターネット接続が認証を必要とするプロキシを経由している場合、最初の送信で407を取得した後で要求が再送信されると、Proxy-Authorizationヘッダーが表示されます。
Bochen Lin

1
ペガサスと同じように@Bochen。HTTPSトンネルの両端にいる場合は、すべてを見ることができます。同じ方法で、ブラウザのdevtoolsで何でも見ることができます。
木の実

97

ヘッダーは完全に暗号化されています。「平文で」ネットワークを通過する唯一の情報は、SSLセットアップとD / Hキー交換に関連しています。この交換は、盗聴者に有用な情報を提供しないように慎重に設計されており、行われると、すべてのデータが暗号化されます。


4
すべてのSSLセットアップにDHが含まれるわけではありません
Dori

30
少し面倒になるように:クライアントとサーバーのIPアドレス、サーバーのホスト名、およびそれらのSSL実装に関する信号は、盗聴者にとって有用であり、表示されます。
poolie

66

古い質問に対する新しい答え、申し訳ありません。$ .02を追加すると思いました

OPは、ヘッダーが暗号化されているかどうかを尋ねました。

輸送中です。

それらはそうではありません:輸送中ではありません。

そのため、ブラウザーのURL(および場合によってはタイトル)は、クエリ文字列(通常、最も機密性の高い詳細を含む)とヘッダーの詳細を表示できます。ブラウザーはいくつかのヘッダー情報(コンテンツタイプ、Unicodeなど)を知っています。ブラウザの履歴、パスワード管理、お気に入り/ブックマーク、およびキャッシュされたページにはすべてクエリ文字列が含まれます。リモートエンドのサーバーログには、クエリ文字列やコンテンツの詳細も含まれます。

また、URLは常に安全であるとは限りません。ドメイン、プロトコル、ポートが表示されます-そうでない場合、ルーターはリクエストの送信先がわかりません。

また、HTTPプロキシがある場合、プロキシサーバーはアドレスを知っています。通常、完全なクエリ文字列は知りません。

したがって、データが移動している場合、それは一般的に保護されています。転送中でなければ、暗号化されません。

ピックするだけではなく、最後のデータも復号化され、自由に解析、読み取り、保存、転送、または破棄できます。そして、どちらかの端のマルウェアは、SSLプロトコルに入る(または出る)データのスナップショットをとることができます-HTTPS内のページ内の(悪い)Javascriptなどが、ローカルのハードドライブにアクセスしたために、不正にログWebサイトにhttp(またはhttps)呼び出しを行うことができます多くの場合、制限があり有用ではありません)。

また、CookieもHTTPSプロトコルで暗号化されません。機密データをCookie(またはそのほかの場所)に保存する開発者は、独自の暗号化メカニズムを使用する必要があります。

キャッシュに関しては、ほとんどの最新のブラウザーはHTTPSページをキャッシュしませんが、その事実はHTTPSプロトコルで定義されていません。HTTPS経由で受信したページをキャッシュしないようにすることは、ブラウザーの開発者に完全に依存しています。

したがって、パケットスニッフィングが心配な場合は、おそらく大丈夫でしょう。しかし、マルウェアや誰かが履歴、ブックマーク、Cookie、またはキャッシュを突っ込んでいることを心配している場合は、まだ水に浸っていません。


20
私は良い答えが一番上にあることを知っていますが、これは再び誤った情報を挿入します。SNIを使用しない限り、ドメインは表示されません。IPおよびTCP以外のプロトコル表示されません。HTTP 1.1、SPDY、HTTP2のどれを使用しているかはわかりません。暗号化の目的は、物を見えなくすることではなく、信頼できる関係者だけに見えるようにすることなので、2つのエンドポイントで見えるものは無関係です。したがって、エンドポイントは質問に含まれており、回答の約2/3を削除できます。プロキシ情報は次のようになります。HTTPSプロキシを使用する場合、すべてにアクセスできます
メルビン2016

6
あなたのリンクは、Cookieが暗号化されていることを明確に述べています:「訪問者の接続は暗号化されており、URL、Cookie、およびその他の機密メタデータを覆い隠しています。」
DylanYoung 2017年

1
はい、そうです。Cookieは転送中に暗号化されますが、一度ブラウザに到達すると、SSLプロトコルによって暗号化されません。開発者がCookieデータを暗号化することは可能ですが、SSLの範囲外です。
アンドリュージェニングス2017

4
@DylanYoung SSL =セキュアソケットレイヤー; TLS = トランスポート層セキュリティ。暗号化はソケット(接続)レベルで行われるか、ドメインデータベースごとにブラウザに保存されている間ではなく、トランスポートレベルで行われます。
curiousguy

@Wigwamセキュリティに敏感なHTTP Cookieは、ほとんどの場合、認証されたセッションのサーバーデータベース内のレコードへの不透明な参照です(通常、これは暗号学的に強力な乱数です)。したがって、この無意味な識別子を暗号化すると、ほとんどの場合さらに複雑になります。
curiousguy

53

HTTPバージョン1.1では、特別なHTTPメソッドCONNECTが追加されました。これは、必要なプロトコルハンドシェイクと暗号化設定を含む、SSLトンネルを作成するためのものです。
その後の通常の要求はすべて、SSLトンネルにラップされて送信され、ヘッダーと本文が含まれます。


SSLトンネルの作成にCONNECTはいつ使用されますか?
curiousguy


47

SSLでは、暗号化はトランスポートレベルで行われるため、リクエストが送信される前に行われます。

したがって、リクエストのすべてが暗号化されます。


SSLはトランスポート層で行われ、パケット内の宛先アドレスの割り当て(ヘッダー内)はネットワーク層(transportの下)で行われるため、ヘッダーはどのように暗号化されますか?
Prateek Joshi 2017

@PrateekJoshi HTTPヘッダーはアプリケーションレイヤー上に存在するため、デフォルトでは、下位/上位レイヤーが暗号化されるため、暗号化されます。
Aquarelle 2017

40

HTTPS(HTTP over SSL)はすべてのHTTPコンテンツをSSLトンネルを介して送信するため、HTTPコンテンツとヘッダーも暗号化されます。


21

はい、ヘッダーは暗号化されています。ここに書いてあります

ヘッダーやリクエスト/レスポンスの負荷など、HTTPSメッセージのすべてが暗号化されます。


37
ウィキペディアは仕様ではないので、引用すべきです。
Aran Mulholland 2017年

8

URLも暗号化されています。実際に使用できるのは、IP、ポート、そしてSNIの場合は暗号化されていないホスト名のみです。


SNIがサポートされていない場合でも、HTTP接続を傍受できる仲介者は、DNSの質問も監視できることがよくあります(ほとんどの傍受は、海賊版ユーザーのルーターのように、クライアントの近くで行われます)。したがって、彼らはDNS名を見ることができます。
curiousguy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.