781 Stimmen

Sind die HTTPS-Header verschlüsselt?

Wenn ich Daten über HTTPS sende, weiß ich, dass der Inhalt verschlüsselt ist, aber ich höre unterschiedliche Antworten darüber, ob die Kopfzeilen verschlüsselt sind oder wie viel von den Kopfzeilen verschlüsselt ist.

Wie viel von HTTPS-Headern son verschlüsselt?

Einschließlich GET/POST-Anfrage-URLs, Cookies, usw.

706voto

Greg Punkte 306033

Das Ganze ist verschlüsselt † - alle Header. Aus diesem Grund funktioniert SSL bei vhosts nicht so gut - Sie benötigen eine dedizierte IP-Adresse, da der Host-Header verschlüsselt ist.

† Der SNI-Standard (Server Name Identification) bedeutet, dass der Hostname nicht verschlüsselt werden darf, wenn Sie TLS verwenden. Unabhängig davon, ob Sie SNI verwenden oder nicht, werden die TCP- und IP-Header niemals verschlüsselt. (Wäre dies der Fall, könnten Ihre Pakete nicht weitergeleitet werden.)

132voto

mdb Punkte 50584

Die Kopfzeilen sind vollständig verschlüsselt. Die einzigen Informationen, die "unverschlüsselt" über das Netz gehen, beziehen sich auf die SSL-Einrichtung und den D/H-Schlüsselaustausch. Dieser Austausch ist sorgfältig so konzipiert, dass er keine nützlichen Informationen für Lauscher liefert, und sobald er stattgefunden hat, sind alle Daten verschlüsselt.

97voto

Andrew Jay Punkte 1286

Neue Antwort auf alte Frage, sorry. Ich dachte, ich würde meine $.02 hinzufügen

Der Auftraggeber fragte, ob die Kopfzeilen verschlüsselt sind.

Sie sind: im Transit.

Sie sind NICHT: wenn sie nicht im Transit sind.

So kann die URL Ihres Browsers (und in einigen Fällen auch der Titel) den Querystring (der in der Regel die sensibelsten Details enthält) und einige Details in der Kopfzeile anzeigen; der Browser kennt einige Header-Informationen (Inhaltstyp, Unicode usw.); und Browserverlauf, Passwortverwaltung, Favoriten/Lesezeichen und zwischengespeicherte Seiten enthalten alle den Querystring. Die Serverprotokolle auf der Gegenseite können ebenfalls den Querystring sowie einige Inhaltsangaben enthalten.

Außerdem ist die URL nicht immer sicher: Domäne, Protokoll und Port sind sichtbar - sonst wissen die Router nicht, wohin sie Ihre Anfragen schicken sollen.

Wenn Sie einen HTTP-Proxy haben, kennt der Proxy-Server die Adresse, aber normalerweise nicht den vollständigen Querystring.

Wenn die Daten also in Bewegung sind, sind sie im Allgemeinen geschützt. Wenn sie nicht unterwegs sind, sind sie nicht verschlüsselt.

Ich will nicht pingelig sein, aber die Daten am Ende werden ebenfalls entschlüsselt und können nach Belieben geparst, gelesen, gespeichert, weitergeleitet oder verworfen werden. Außerdem kann Malware an beiden Enden Schnappschüsse von Daten machen, die in das SSL-Protokoll eintreten (oder es verlassen) - wie z. B. (schlechtes) Javascript auf einer Seite innerhalb von HTTPS, das heimlich http- (oder https-) Anrufe zu protokollierenden Websites tätigen kann (da der Zugriff auf die lokale Festplatte oft eingeschränkt und nicht sinnvoll ist).

Außerdem werden Cookies auch im Rahmen des HTTPS-Protokolls nicht verschlüsselt. Entwickler, die sensible Daten in Cookies (oder irgendwo anders) speichern wollen, müssen ihren eigenen Verschlüsselungsmechanismus verwenden.

Was die Zwischenspeicherung anbelangt, so werden die meisten modernen Browser HTTPS-Seiten nicht zwischenspeichern, aber diese Tatsache wird nicht durch das HTTPS-Protokoll definiert, sondern hängt vollständig vom Entwickler eines Browsers ab, der sicherstellen muss, dass über HTTPS empfangene Seiten nicht zwischengespeichert werden.

Wenn Sie sich also Sorgen um Packet Sniffing machen, ist das wahrscheinlich kein Problem. Aber wenn Sie sich Sorgen über Malware oder jemanden machen, der in Ihrem Verlauf, Ihren Lesezeichen, Cookies oder Ihrem Cache stöbert, sind Sie noch nicht aus dem Schneider.

58voto

AviD Punkte 12808

HTTP Version 1.1 fügte eine spezielle HTTP-Methode, CONNECT, hinzu, die dazu dient, den SSL-Tunnel zu erstellen, einschließlich des notwendigen Protokoll-Handshakes und der kryptografischen Einrichtung.
Die regulären Anfragen werden danach alle in den SSL-Tunnel eingepackt, inklusive Kopfzeilen und Textkörper.

56voto

Christian C. Salvadó Punkte 763569

HTTPS (HTTP over SSL) sendet alle HTTP-Inhalte über einen SSL-Tunnel, so dass HTTP-Inhalte und Kopfzeilen ebenfalls verschlüsselt werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X