web-dev-qa-db-ja.com

RESTリクエストヘッダーはSSLで暗号化されていますか?

休憩を介して通信するクライアント/サーバーアプリを開発しています。一部のカスタムリクエストデータはリクエストのヘッダーに保存されます。リクエストを送信するサーバーと受信サーバーの両方にSSL証明書があります-ヘッダーは暗号化されますか、それともコンテンツのみですか?

41
Adam Hopkinson

SSLは、クライアントからサーバーへ、そしてサーバーへの通信経路全体を暗号化するため、はい-ヘッダーは暗号化されます。

ちなみに、ネットワークアプリケーションを開発してデータのセキュリティに関心がある場合、最低限行うべきことは、Niels Ferguson氏とBruce Schneier氏によるPractical Cryptographyのような本を読むことです。考え。私が観察する可能性がある場合-そしてお願いします、私は個人的な批判として-あなたの質問は非常に基本的なWebセキュリティ技術の根本的な理解の欠如を示しており、それは決して良い兆候ではありません。

また、暗号化されていると想定されるデータが実際に暗号化されていることを確認することは決して悪い考えではありません。ネットワークアナライザーを使用して、回線上のトラフィックを監視し、機密情報がクリアテキストで送信されるのを監視できます。私は以前にWiresharkを使用してこれを行ったことがあります-時には、驚くべき結果が得られることもあります。

57
Ori Pessach

SSLトンネルで通信している限り、サーバーとクライアントの間で送信されるすべてのものが暗号化されます。暗号化は、データが送受信される前に行われます。

6
zigdon

ヘッダーとコンテンツの両方が暗号化されています。

5
cjm

RESTは別のプロトコルであると考えているようです。

RESTはプロトコルではありません。これは、HTTPベースのアプリケーションのデザインスタイルです。

つまり、HTTPアプリケーションを作成していることになります。ヘッダーは暗号化されていますか?はい、プレーンHTTPではなくHTTPS(HTTP over SSL)プロトコルを使用している場合。

両側に証明書があることは、質問には直接関係ありません。認証にはSSL証明書が使用されます。これらは、DNSキャッシュポイズニングを使用して可能であるような中間者攻撃の検出に役立ちます。

3
ddaa

証明書を用意するだけでは十分ではなく、そのドメインまたは仮想ホストの接続を暗号化する(つまり、証明書を使用する)ようにWebサーバーを構成する必要があります。さらに、1つの証明書が必要なだけだと思います。要求に対する応答は暗号化されます。

はい、HTTPヘッダーとデータは暗号化されています。

2
Vinko Vrsalovic

SSL ..またはHTTPS(HTTP over SSL)はすべてのHTTPコンテンツをSSL経由で送信します。HTTPコンテンツとヘッダーは実際には同じものであるため、ヘッダーも暗号化されます。 GETおよびPOSTデータはHTTPヘッダーを介して送信されるため、データを安全に送信する場合にのみ応答コードまたはコンテンツを暗号化する必要はありません。

0
Wesley Mason

他の答えは、SSLを使用する場合、ヘッダーが本文とともに実際に暗号化されることです。ただし、クエリパラメータを含めることができるURLはnever暗号化されていることに注意してください。したがって、URLクエリパラメータに機密情報を含めないように注意してください。

pdate: @blowdartが以下に指摘するように、これは誤りです。以下のコメントを参照してください。

0
Avi Flax