Da niemand eine Kabelaufnahme bereitstellte, ist hier eine.
Der Servername (der Domänenteil der URL) wird im ClientHello
Paket im Klartext dargestellt .
Das Folgende zeigt eine Browseranforderung an:
https://i.stack.imgur.com/path/?some=parameters&go=here
Weitere Informationen zu TLS-Versionsfeldern finden Sie in dieser Antwort (es gibt drei davon - keine Versionen, Felder, die jeweils eine Versionsnummer enthalten!)
Von https://www.ietf.org/rfc/rfc3546.txt :
3.1. Anzeige des Servernamens
[TLS] bietet keinen Mechanismus für einen Client, um einem Server den Namen des Servers mitzuteilen, den er kontaktiert. Es kann wünschenswert sein, dass Clients diese Informationen bereitstellen, um sichere Verbindungen zu Servern zu ermöglichen, auf denen mehrere "virtuelle" Server an einer einzigen zugrunde liegenden Netzwerkadresse gehostet werden.
Um den Servernamen anzugeben, können Clients eine Erweiterung vom Typ "Servername" in das (erweiterte) Client-Hallo aufnehmen.
Zusamenfassend:
FQDN (der Domänenteil der URL) KANN übertragen werden in klar innerhalb derClientHello
Pakets , wenn SNI Erweiterung verwendet wird
Der Rest der URL ( /path/?some=parameters&go=here
) hat nichts damit zu ClientHello
tun, da die Anforderungs-URL eine HTTP-Sache ist (OSI-Schicht 7), daher wird sie niemals in einem TLS-Handshake (Schicht 4 oder 5) angezeigt. Dies wird später in einer GET /path/?some=parameters&go=here HTTP/1.1
HTTP-Anfrage geschehen , nachdem der sichere TLS-Kanal eingerichtet wurde.
ZUSAMMENFASSUNG
Der Domainname kann eindeutig übertragen werden (wenn die SNI-Erweiterung im TLS-Handshake verwendet wird), die URL (Pfad und Parameter) wird jedoch immer verschlüsselt.
MÄRZ 2019 UPDATE
Vielen Dank an carlin.scott , dass Sie dieses Thema angesprochen haben.
Die Nutzdaten in der SNI-Erweiterung können jetzt über diesen Entwurf eines RFC-Vorschlags verschlüsselt werden . Diese Funktion ist nur in TLS 1.3 verfügbar (als Option und es liegt an beiden Enden, sie zu implementieren), und es gibt keine Abwärtskompatibilität mit TLS 1.2 und darunter.
CloudFlare macht es und Sie können hier mehr über die Einbauten lesen -
Wenn das Huhn vor das Ei kommen muss, wo legen Sie das Huhn hin?
In der Praxis bedeutet dies, dass der FQDN nicht mehr im Klartext übertragen wird (wie das Wireshark-Capture zeigt), sondern jetzt verschlüsselt ist.
HINWEIS: Dies betrifft mehr den Datenschutzaspekt als den Sicherheitsaspekt, da bei einer umgekehrten DNS-Suche der beabsichtigte Zielhost ohnehin angezeigt werden kann.