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.

54voto

blowdart Punkte 53842

Bei SSL findet die Verschlüsselung auf der Transportebene statt, also bevor eine Anfrage gesendet wird.

Alles in der Anfrage ist also verschlüsselt.

24voto

keypress Punkte 703

Ja, die Kopfzeilen sind verschlüsselt. Es ist geschrieben aquí .

Alles in der HTTPS-Nachricht ist verschlüsselt, einschließlich der Kopfzeilen und der Anfrage/Antwort-Last.

12voto

xxiao Punkte 109

Die URL ist ebenfalls verschlüsselt, Sie haben eigentlich nur die IP, den Port und, falls SNI, den Hostnamen, die unverschlüsselt sind.

2voto

HelpfulHelper Punkte 11

Um zu verstehen, was verschlüsselt wird und was nicht, müssen Sie wissen, dass SSL/TLS die Schicht zwischen der Transportschicht und der Anwendungsschicht ist.

im Falle von HTTPS ist HTTP die Anwendungsschicht und TCP die Transportschicht. Das bedeutet, dass alle Header unterhalb der SSL-Ebene unverschlüsselt sind. Außerdem kann SSL selbst Daten preisgeben. Zu den offengelegten Daten gehören (für jeden Header der Schicht):

HINWEIS: Es können auch weitere Daten offengelegt werden, aber diese Daten werden ziemlich sicher offengelegt.

MAC:

  1. Quell-MAC-Adresse
  2. Ziel-MAC-Adresse

IP (vorausgesetzt IPv4):

  1. Ziel-IP-Adresse
  2. Quell-IP-Adresse
  3. IP-Optionen (falls eingestellt)
  4. Art des Dienstes (TOS)
  5. Die Anzahl der Hops, die das aktuelle Paket passiert hat, wenn TTL auf 64 gesetzt ist

TCP:

  1. Quelle: Hafen
  2. Zielhafen
  3. TCP-Optionen

Theoretisch kann man die TCP-Header verschlüsseln, aber das ist schwer zu implementieren.

SSL:

  1. Hostname (wenn SNI verwendet wird)

Normalerweise verbindet sich ein Browser nicht einfach über die IP-Adresse mit dem Zielhost, wenn er HTTPS verwendet. Es gibt einige frühere Anfragen, die die folgenden Informationen preisgeben können (wenn Ihr Client kein Browser ist, kann er sich anders verhalten, aber die DNS-Anfrage ist ziemlich üblich):

DNS: Diese Anfrage wird gesendet, um die korrekte IP-Adresse eines Servers zu erhalten. Sie enthält den Hostnamen und das Ergebnis enthält alle IP-Adressen, die zu dem Server gehören.

HTTP: die erste Anfrage an Ihren Server. Ein Browser verwendet SSL/TLS nur, wenn er dazu angewiesen wird, unverschlüsseltes HTTP wird zuerst verwendet. In der Regel führt dies zu einer Umleitung auf die eigentliche Website. Einige Header können jedoch bereits hier enthalten sein:

  1. User-Agent(Spezifikation des Clients)
  2. Host (Hostname)
  3. Accept-Language (Benutzersprache)

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