私は残りを介して通信するクライアント/サーバーアプリを開発しています。一部のカスタム リクエスト データは、リクエストのヘッダーに保存されます。リクエストを送信するサーバーと受信サーバーの両方に SSL 証明書があります。ヘッダーは暗号化されますか、それともコンテンツだけですか?
8 に答える
SSL は、クライアントからサーバーへの通信パス全体を暗号化するため、ヘッダーは暗号化されます。
ところで、ネットワーク化されたアプリケーションを開発し、データのセキュリティに関心がある場合は、少なくとも Niels Ferguson と Bruce Schneier による Practical Cryptography のような本を読む必要があります。おそらく、Web アプリケーションのセキュリティに重点を置いた本をさらに読むとよいでしょう。考え。個人的な批判として言っているわけではありませんが、あなたの質問は非常に基本的な Web セキュリティ技術に対する理解が根本的に欠如していることを示しており、それは決して良い兆候ではありません。
また、暗号化されていると思われるデータが実際に暗号化されていることを確認することは決して悪い考えではありません。ネットワーク アナライザーを使用して、回線上のトラフィックを監視し、機密性の高いものが平文で送信されないように注意することができます。以前に Wireshark を使用してこれを行ったことがありますが、驚くべき結果が得られることもあります。
SSL トンネルで通信している限り、サーバーとクライアントの間で送信されるものはすべて暗号化されます。暗号化は、データが送受信される前に行われます。
ヘッダーとコンテンツの両方が暗号化されます。
あなたは、REST は別のプロトコルだと考えているようです。
REST はプロトコルではありません。HTTP ベースのアプリケーションの設計スタイルです。
それで、あなたはHTTPアプリケーションを書いています。ヘッダーは暗号化されていますか? はい、プレーン HTTP の代わりに HTTPS (HTTP over SSL) プロトコルを使用している場合。
両側に証明書があることは、質問とは直接関係ありません。認証には SSL 証明書が使用されます。これらは、DNS キャッシュ ポイズニングを使用して発生する可能性のある中間者攻撃を検出するのに役立ちます。
証明書があるだけでは不十分です。そのドメインまたは仮想ホストの接続を暗号化する (つまり、証明書を使用する) ように Web サーバーを構成する必要があります。さらに、必要な証明書は 1 つだけだと思います。リクエストへの応答は引き続き暗号化されます。
はい、HTTP ヘッダーはデータと同様に暗号化されます。
他の答えは正しいですが、SSLを使用する場合、ヘッダーは本文とともに実際に暗号化されます。ただし、クエリパラメータを含めることができるURLは暗号化されないことに注意してください。したがって、URLクエリパラメータに機密情報を入れないように注意してください。
更新: @blowdartが以下で指摘しているように、これは間違っています。以下のコメントを参照してください。
SSL..または HTTPS (HTTP over SSL) はすべての HTTP コンテンツを SSL 経由で送信します。HTTP コンテンツとヘッダーは実際には同じものであるため、ヘッダーも暗号化されます。GET および POST データが HTTP ヘッダーを介して送信されるのを見ると、データを安全に送信するときに応答コードまたはコンテンツを暗号化するだけでは意味がありません。
すべてが暗号化されているわけではありません。リクエストのクエリ文字列は暗号化されていません。私を信じてください、私はこのような要求を見てきました:
https://mydomain.com/authenticate?user=username&password=MyStrongPasswordSentInTheClear
機密データをクエリ文字列のパラメーターとして入れないでください。