Ist bei HTTPS die URL verschlüsselt?
Ist bei HTTPS die URL verschlüsselt? Seit wenigen Tagen ist mein Blog durch ein SSL Zertifikat nur noch über HTTPS erreichbar. Dabei wird die Kommunikation zwischen Client und Server verschlüsselt. Ein Leser richtet nun die interessante Frage an mich, ob auch die URL mit verschlüsselt wird. Ich habe dazu einiges recherchiert und möchte euch davon nun berichten.
HTTPS URL verschlüsselt?
Sicherheit ist ein immer wichtigeres Gut im Internet. Jeder der kann sammelt Daten. Das sind zum einen große Konzerne wie Google, Facebook oder ähnliche und zum anderen Staaten. Trackt man den Traffik eines Menschen, dann kann man schnell Rückschlüsse über seinen Charakter, Kaufverhalten und sogar seine Absichten errechnen. Konzerne sammeln Daten um daraus Profit zu machen, Staaten um die „Sicherheit“ zu erhöhen. Wie man selbst zu dem Thema steht ist irrelevant, es werden generell alle gleich behandelt. Man muss sich das aber nicht gefallen lassen. GnuPG, HTTPS und Tor sind geeignete Tools und Hilfsmittel um weitgehend Anonym bleiben zu können. Man muss ja nicht vollständig unsichtbar sein, man sollte es den Überwachern aber so schwer als möglich machen.
Was ist mit den URLs?
Bei HTTPS wird die Kommunikation zwischen Client und Server verschlüsselt, damit die Datenpakete unterwegs (man weiß ja vorher nicht welchen Weg diese nehmen) niemand lesen kann. Aktuell gilt HTTPS als sicher, das heißt die Daten kann nur der richtige Empfänger verstehen:
- Client
Daten die mir der Server schickt – beispielsweise ein Artikel auf developer-blog.net – wird beim Server verschlüsselt und bei dir im Browser entschlüsselt und dargestellt. Fängt jemand das gesendete Paket ab, dann kann er dort nur verschlüsselte Daten sehen, er kann diese jedoch nicht entschlüsseln und weiß somit auch nichts über dessen Inhalt. - Server
Fragt nun jemand im Browser eine Webseite (beispielweise https://developer-blog.net) ab, dann wird diese Abfrage verschlüsselt und verschickt. Inhalt ist dabei ebenfalls nicht lesbar, außer für den Server developer-blog.net.
Die Frage ist nun: bringt dir als Leser mein HTTPS Zertifikat etwas? Die verschlüsselten Daten eines Artikels sind wenig interessant für Hacker. Die Antwort ist JA! Die URL die man aufruft ist nämlich ebenfalls verschlüsselt. Wird die Leitung also beispielsweise von deinem Provider abgehört, dann kann dieser aus den verschlüsselten Datenpaketen nicht herauslesen, welche URLs du aufrufst. Niemand außer deinem Browser und dem developer-blog.net Server wissen von der Kommunikation.
Technik
Der Hintergrund der Kommunikation ist folgender:
- SSL kommuniziert zwischen dem TCP und dem HTTP Layer der Netzwerkhierarchie
- der Server stellt zuerst eine sichere verschlüsselte TCP Verbindung her (zu einer IP Adresse)
- verwendet wird das SSL/TLS Protokoll
- die URL mit dem HTTP Request wird erst dann verschlüsselt gesendet
Dein Provider kennt somit anhand der Paketdaten lediglich an welche IP Adresse er dieses weiterleiten soll. Meist laufen unter einer IP Adresse viele Domains. Der Provider weiß nur, dass mit der im Paket stehenden IP Adresse kommuniziert wird. Der Inhalt ist nicht ersichtlich.
Verwendet man zusätzlich noch einen VPN Dienst oder ein Peer-to-Peer Netzwerk wie Tor, dann ist nicht mal mehr die IP Adresse sprechend, der Provider weiß nur, dass man mit eben jenem Dienst kommuniziert, jedoch nicht an wen das Paket weitergeleitet wird.
Cookies
Warum bekommt man trotzdem personalisierte Werbung? Die Frage ist recht einfach erklärt. Durch Cookies, welche den bisherigen Webverlauf speichern und JavaScript, welches die passende Werbung direkt am Client darstellt. Verbietet man den Browser den Verlauf zu cachen und deaktiviert außerdem Cookies, dann sollte man theoretisch anonym surfen.
Warum nur theoretisch?
Neben den bereits genannten Techniken gibt es noch weitere Möglichkeiten Daten über einen Benutzer abzufragen. Zum einen könnte ein Trojaner direkt auf deinem Rechner den Bildschirm fotografieren und an Dritte schicken, es könnte aber auch viel unauffälliger einfach die Tastendrücke der Tastatur Klick für Klick weitergeleitet werden. Um diesem Problem auch zu entgehen gibt es Live Betriebssysteme wie Knoppix, die direkt von USB oder CD booten und jedesmal direkt von einem nicht beschreibaren Medium frisch geladen werden.
Fazit
Unter HTTPS ist die aufgerufene URL verschlüsselt, man kann von außerhalb keinen Rückschluss auf das eigene Surfverhalten schließen. Es gibt zahlreiche Methoden über die Daten abgefragt werden, man versucht von jeder möglichen Stelle Daten über den Menschen vorm Computer zu sammeln. Ob diese nun für besseres Service genutzt werden oder dafür das Konto leer zu räumen – alles ist möglich. Als Benutzer hat man darauf keinen Einfluss mehr und steht vor dem großen Problem, dass man nicht 100% anonym surfen kann. HTTPS ist ein wichtiger Schritt, leider aber nicht der einzige.
Was denkt ihr darüber? Wie schützt ihr euch vor dem unbekannten Dritten, der es auf eure Daten abgesehen hat?
Wenn die URL verschlüsselt wird, warum sieht man diese dann bei einem MITM Angriff? Denn wenn die URL bei einem MITM Angriff angezeigt wird, dann sieht der Provider die URL auch.
ja und zwar bevor es zur verschlüsselten Kommunikation kommt. Client und Server müssen die Schlüssel austauschen um die verschlüsselten Daten wieder entschlüsseln können und das wird über einen vertrauenswürdigen Dritten gemacht – deswegen des Zertifikat. Ein Angreifer kann das entweder beim Endpunkt über beispielsweise Maleware abfangen oder er bekommt das direkt von der Zertifizierungsstelle. Durch Fehler in der Software kann es dann auch noch zu Problemen kommen, man denke an Poodle. In jedem Fall ist zu achten, dass das Zertifikat das TLS 1.2 Protokoll unterstützt. Alte Versionen (TLS 1.1, TLS 1.0 und SSL 3.0) gelten als unsicher.
Bei einer MITM-Attacke wird der (nicht ‚“die“) URL erst gar nicht übertragen – eben da keine verschlüsselte Verbindung aufgebaut werden kann. Der Browser warnt den Benutzer vor Übermittlung des URLs, dass die Verbindung nicht sicher ist. Verschafft sich der Angreifer das Zertifikat, dann sieht das freilich anders aus.
danke für den Beitrag. Es ist übrigens beides möglich: http://www.duden.de/rechtschreibung/URL. In Österreich sagt eigentlich jeder die URL…ist wohl wieder so ein kleiner Unterscheid zwischen deutsch Deutsch und österreichisch Deutsch 😉
„der URL“ = Quark –> entspricht so gar nicht dem intuitiven Sprachgebrauch der allermeisten Deutschsprachigen
Die Adresse, also die URL. Sprache hat sich gefälligst dem Menschen anzupassen, nicht umgekehrt.
Sorry… Aber „die“ Locator ist Quark 😉
Intuitiv heisst es DER Locator. Also auch DER Uniform Resource Locator. Und auf gar keinen Fall die.
doch, laut Duden ist beides korrekt: https://www.duden.de/rechtschreibung/URL
Da fehlt etwas im Artikel bzw. es hat sich ein Fehler eingeschlichen.
„Wird die Leitung also beispielsweise von deinem Provider abgehört, dann kann dieser aus den verschlüsselten Datenpaketen nicht herauslesen, welche URLs du aufrufst.“
„Dein Provider kennt somit anhand der Paketdaten lediglich an welche IP Adresse er dieses weiterleiten soll. Meist laufen unter einer IP Adresse viele Domains. Der Provider weiß nur, dass mit der im Paket stehenden IP Adresse kommuniziert wird.“
Kurzes Szenario um meine Vermutung zu verdeutlichen: Ich gebe im Browser die Adresse https://www.google.de ein.
Woher weiß der Browser jetzt, auf welche IP er zugreifen soll? Die Information geht an einen DNS Server. Hier bin ich mir unsicher, wie die Kommunikation jetzt erfolgt. Eine kurze Befragung von Wikipedia besagt, dass das aktuell unverschlüsselt passiert. Falls dem so ist, so wird mindestens die Domain unverschlüsselt übertragen.
„Die URL die man aufruft ist nämlich ebenfalls verschlüsselt.“
Jetzt bleibt die Frage, welche Informationen wirklich in Summe unverschlüsselt übertragen werden.
Zur Namensauflösung wird nur der Hostname an den DNS-Server übermittelt (also http://www.google.com), dieser gibt die IP-Nummer zurück, die dann für die Paketübermittlung verwendet wird. Im IP-Header befindet sich kein Hinweis mehr auf den Namen, dieser befindet sich, nachdem die Verschlüsselung etabliert ist, nur mehr in den Daten (im sog. HTTP-Header, der dann vom Webserver ausgewertet wird)
PS: Die Kommentarsoftware hat in meinem Kommentar beim Hostnamen ein http vorangestellt. Das wird natürlich nicht an den DNS- Server mitgeschickt!