Frage

Ich entwickle eine Client / Server-Anwendung, die über Rest kommunizieren. Einige benutzerdefinierten Anforderungsdaten werden im Header der Anforderung gespeichert werden. Sowohl der Server die Anforderung und der empfangende Server sendet haben ein SSL-Zertifikat - werden die Header verschlüsselt werden, oder nur der Inhalt

?
War es hilfreich?

Lösung

SSL den gesamten Kommunikationspfad vom Client zum Server verschlüsselt und zurück, also ja -. Die Header werden verschlüsselt

By the way, wenn Sie vernetzte Anwendungen entwickeln und um die Datensicherheit kümmern, das Mindeste, was Sie tun sollten, ist ein Buch wie Practical Cryptography lesen, von Niels Ferguson und Bruce Schneier und wahrscheinlich weiter lesen, das ist mehr konzentrierte sich auf die Sicherheit von Webanwendungen würde sein eine gute Idee. Wenn ich eine Beobachtung machen kann - und bitte, ich will damit nicht sagen, dass als persönliche Kritik -. Ihre Frage zeigt einen grundlegenden Mangel an Verständnis für sehr grundlegende Web-Sicherheitstechnologien, und das ist nie ein gutes Zeichen

Also, es ist nie eine schlechte Idee, dass die Daten zu bestätigen, die sich zu verschlüsselnden angenommen wird, tatsächlich verschlüsselt. Sie können einen Netzwerkanalysator verwenden, um Verkehr auf dem Draht zu überwachen und achten Sie auf etwas empfindlich im Klartext gesendet werden. Ich habe verwendet Wireshark, dies zu tun, bevor -. Die Ergebnisse überraschend sein können, manchmal

Andere Tipps

Solange Sie im SSL-Tunnels sind in Verbindung stehen, alles zwischen dem Server und dem Client gesendet werden verschlüsselt. Die Verschlüsselung erfolgt, bevor Daten gesendet oder empfangen wird.

Beide Header und Inhalte sind verschlüsselt.

Sie scheinen zu glauben, dass REST ein deutliches Protokoll ist.

REST ist kein Protokoll. Es ist ein Design-Stil für HTTP-basierten Anwendungen.

So, Sie ein eine HTTP-Anwendung zu schreiben. Sind die Header verschlüsselt? Ja, wenn Sie die HTTPS verwenden (HTTP über SSL) Protokoll anstelle von einfachen HTTP.

Zertifikate auf beiden Seiten zu haben, ist nicht direkt relevant für Ihre Frage. SSL-Zertifikate werden zur Authentifizierung verwendet. Sie helfen bei der Aufdeckung von Man-in-the-Middle-Angriffen wie möglich DNS-Cache-Poisoning verwenden.

über eine Bescheinigung nicht ausreicht, müssen Sie den Web-Server konfigurieren, um die Verbindungen zu verschlüsseln (das heißt, das Zertifikat zu verwenden) für die Domäne oder virtuelle Host. Darüber hinaus denke ich, Sie würde nur ein einziges Zertifikat benötigen, Antworten auf Anfragen noch verschlüsselt werden.

Und ja, HTTP-Header sind, sowie die Daten verschlüsselt.

SSL..or eher HTTPS (HTTP über SSL) sendet alle HTTP-Inhalte über SSL und als HTTP-Content und Header in der Tat die gleiche Sache sind, dies bedeutet, dass die Header als auch verschlüsselt werden. Sehen als GET und POST-Daten über HTTP-Header gesendet, dann dann macht es nur Sinn, wenn das Senden von Daten sicher würden Sie nicht wollen, nur der Response-Code oder Inhalt verschlüsselt werden.

Die anderen Antworten sind richtig, dass Header tatsächlich verschlüsselt ist, zusammen mit dem Körper, wenn SSL verwendet wird. Aber bedenken Sie, dass die URL, die Abfrageparameter umfassen kann, ist nie verschlüsselt. Also vorsichtig sein, um nie sensible Informationen in URL-Abfrageparametern zu setzen.

Update: als @blowdart unten wies darauf hin, das ist falsch. Siehe Kommentar unten.

Nicht alles ist verschlüsselt: die Anforderungsabfragezeichenfolge ist nicht verschlüsselt. Glauben Sie mir, ich habe so gesehen Anfragen:

https://mydomain.com/authenticate?user=username&password=MyStrongPasswordSentInTheClear

Bitte stellen keine sensiblen Daten als Parameter in der Query-String.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top