Alex - stock.adobe.com
HTTP vs. HTTPS: Was ist der Unterschied?
HTTP und HTTPS sind Web-Kommunikationsprotokolle. HTTP ist nicht sicher, während HTTPS Daten verschlüsselt, um Vertraulichkeit, Integrität und Authentizität zu ermöglichen.
Von Weihnachtseinkäufen über Onlinesportwetten bis hin zur Fernverwaltung von Systemen – webbasierte Kommunikation ist zweifellos von entscheidender Bedeutung. Diese Übertragungen basieren alle auf dem Hypertext Transfer Protocol (HTTP), einem relativ alten Kommunikationsstandard.
Heute achten viele Menschen auf das sicherere HTTPS-Protokoll (HTTP Secure) in ihren Browsern. Aber nur wenige verstehen die Unterschiede zwischen den beiden Protokollen und wie HTTPS zum Schutz der Webkommunikation beiträgt.
Was ist der Unterschied zwischen HTTP und HTTPS?
HTTP und HTTPS sind Netzwerkprotokolle, die die Kommunikation zwischen Webbrowsern und Servern erleichtern, um eine Webverbindung herzustellen. Bevor wir zwischen HTTP und HTTPS unterscheiden, sollten wir zunächst verstehen, wie Webverbindungen funktionieren. So können wir die Rolle von HTTP und HTTPS beim Aufbau dieser Verbindungen einordnen.
Eine Webverbindung ist im Wesentlichen eine Dateiübertragung. Der Webserver speichert Dateien, die von Webbrowsern für Benutzer interpretiert und formatiert werden. Zu den Dateien gehören Text, Skripte, Bilder und andere Ressourcen. Wenn ein Browser eine Verbindung zu einer Webseite herstellt, fordert er den Download der Dateien an, aus denen die Webseite besteht.
HTTP verwendet eine Anforderungsmethode namens GET, die der Server empfängt und als schreibgeschützte Anforderung zum Kopieren der Webseiten-Dateien interpretiert. Clients nutzen auch die POST-Methode, um Dateien auf den Webserver hochzuladen und zu schreiben.
Wenn HTTP Daten mit diesen Methoden überträgt, werden die Informationen nicht verschlüsselt. Dies kann Risiken bergen, die die Sicherheitskonzepte der Vertraulichkeit, Integrität und Authentizität untergraben:
- Vertraulichkeit: Inhalte sollten nur autorisierten Benutzern zur Verfügung stehen.
- Integrität: Inhalte sollten sich nicht ändern. Wenn eine Änderung auftritt, müssen IT-Teams in der Lage sein, sie zu identifizieren.
- Authentizität: IT-Teams sollten in der Lage sein, den Ursprung von Inhalten zu bestimmen, was auf ihre Quelle hinweist und die Nachweisbarkeit gewährleistet.
HTTP befasst sich nicht mit diesen Konzepten. HTTPS hingegen schon, und hier beginnen die Unterschiede zwischen den beiden Protokollen. Obwohl die beiden im Wesentlichen gleich sind, enthält HTTPS Zertifikate, die eine authentische, vertrauliche und manipulationsfreie Kommunikation gewährleisten.
Wie funktioniert HTTP?
Das Standard-Web-Browsing basiert auf HTTP, einem Protokoll der Anwendungsschicht, das die Verbindung herstellt, über die Webseitendateien von einem Server zu einem Client übertragen werden. Die Dateien enthalten Text und Bilder, die HTML für Formatierungsanweisungen verwenden.
In den Anfangstagen des Internets war die Sicherheit weniger wichtig, da die Benutzer lediglich Webseiten durchsuchten. Inzwischen gibt es jedoch mehr Sicherheitsbedenken, sodass die Datenübertragung im Klartext von HTTP für das tägliche Surfen ungeeignet ist.
HTTP mindert mehrere Risiken beim Surfen im Internet nicht, darunter diese:
- Serverauthentifizierung: Die Identität des Webservers ist nicht authentifiziert, was bedeutet, dass ein Benutzer versehentlich schädliche Dateien von Webservern mit gefälschten Identitäten herunterladen könnte.
- Abfangen von Webseitendateien: Böswillige Akteure könnten die Dateien, aus denen die angeforderte Webseite besteht, abfangen und einsehen, was die Privatsphäre des Benutzers verletzt.
- Manipulation von Webseiten: Böswillige Akteure hätten die Möglichkeit, die Dateien, aus denen die angeforderte Webseite besteht, zu ändern, wodurch sie dem Benutzer gefälschte und potenziell gefährliche Informationen zur Verfügung stellen könnten.
- GET-Anfragen, die Daten offenlegen: Die GET-Anfrage des Browsers könnte vertrauliche Benutzerdaten preisgeben.
- Webbasierte Verwaltungstools, die sensible Informationen offenlegen: Viele Systemadministratoren verlassen sich bei der Verwaltung von Servern, Routern, Cloud-Ressourcen und anderen Geräten auf webbasierte Dienstprogramme, weshalb es unerlässlich ist, diese zu sichern.
Diese Schwachstellen machen HTTP heutzutage zu einer riskanten Wahl. Die Benutzerdaten sind anfälliger für Vertraulichkeits- und Integritätsangriffe, die schwerwiegende Folgen haben können.
Wie unterscheidet sich HTTPS von HTTP?
Wie der Name schon sagt, erweitert HTTP Secure die Funktionalität von HTTP um Sicherheitsaspekte. HTTPS fügt verschiedenen Teilen des Übertragungsprozesses eine Verschlüsselung hinzu. Das allgemeine Konzept von HTTPS bleibt dasselbe: Ein Client lädt die Dateien, aus denen die Webseite besteht, vom Webserver herunter. Der Prozess umfasst jedoch mehrere zusätzliche Ebenen, die die Sicherheit erhöhen.
Bevor Webdateien unter HTTPS verfügbar sind, muss eine Webseite über ein von einer Zertifizierungsstelle (Certificate Authority, CA) ausgestelltes Zertifikat verfügen. Öffentliche Zertifizierungsstellen verlangen eine Gebühr, um die Identität der Webseite mit diesen Zertifikaten zu garantieren. Private CA-Server können auch interne Ressourcen identifizieren.
Bevor Zertifizierungsstellen ein Zertifikat ausstellen, bestätigen sie zunächst die Identität der Organisation. Sie prüfen Informationen wie den Domain-Besitz und Geschäftsdetails. Zertifizierungsstellen verwalten auch den Lebenszyklus des Zertifikats, zum Beispiel Anfragen, Erneuerungen, Widerrufe und Abläufe.
Verschiedene Protokolle arbeiten mit dem Zertifikat und Kryptografiemethoden. HTTPS verwendet das Transport Layer Security-Protokoll (TLS), um die Verschlüsselung zu handhaben. TLS hat sich aus dem älteren SSL-Protokoll (Secure Sockets Layer) entwickelt. Andere Protokolle auf Anwendungsebene, wie SMTP, können ebenfalls TLS verwenden.
Die HTTPS-Verschlüsselung beruht auf symmetrischen und asymmetrischen Kryptografiekonzepten:
- Symmetrische Kryptografie: Ein Schlüssel dient zum Verschlüsseln und Entschlüsseln von Daten, was den Prozess beschleunigt, aber auch das Risiko einer Offenlegung des Schlüssels erhöht.
- Asymmetrische Kryptografie: Es gibt zwei Schlüssel, einen öffentlichen und einen privaten. Wenn Daten mit einem Schlüssel verschlüsselt werden, müssen sie mit dem anderen entschlüsselt werden. Da der private Schlüssel im Netzwerk niemals offengelegt wird, ist die asymmetrische Kryptografie sicherer, aber auch langsamer.
Das Zertifikat basiert auf einem Paar aus öffentlichem und privatem Schlüssel, das den Server identifiziert. Der private Schlüssel verbleibt auf dem Server, während der öffentliche Schlüssel im Zertifikat gespeichert ist und von Clients im Internet abgerufen werden kann. Denken Sie daran, dass Daten, die mit einem Schlüssel verschlüsselt wurden, nur mit dem anderen entschlüsselt werden können.
Clients laden das digitale Zertifikat der Webseite während der initialen HTTPS-Verbindung herunter und verwenden dessen Daten, um die Identität des Webservers zu überprüfen. Der Browser generiert einen symmetrischen Sitzungsschlüssel, den er mit dem öffentlichen Schlüssel des Servers verschlüsselt und an den Webserver sendet.
Der Webserver entschlüsselt den Sitzungsschlüssel mit seinem privaten Schlüssel. Dadurch können das Client-Gerät und der Webserver den Sitzungsschlüssel sicher austauschen. Von diesem Zeitpunkt an verschlüsselt der Sitzungsschlüssel die gesamte Webkommunikation.
Dieser Prozess behebt die Schwachstellen von HTTP, darunter diese:
- Serverauthentifizierung: Der Client fragt die Zertifizierungsstelle ab, um die Identität des Servers zu überprüfen.
- Abfangen vertraulicher Daten: Der Sitzungsschlüssel schützt die Vertraulichkeit der Informationen.
- Datenmanipulation: Der Sitzungsschlüssel schützt die Datenintegrität.
- Datenpreisgabe bei der GET-Methode: Der Sitzungsschlüssel schützt die Daten vor Offenlegung.
- Sichere Fernverwaltung: Dieser Prozess ermöglicht eine sichere Verwaltung über webbasierte Verbindungen.
Zertifizierungsstellen garantieren die Identität einer Organisation und stellen ein digitales Zertifikat aus, das den öffentlichen Schlüssel der Organisation enthält. Clients laden das Zertifikat herunter und verwenden die darin enthaltenen Informationen, um die Identität des Webservers zu überprüfen und die Aushandlung eines symmetrischen Sitzungsschlüssels zu beginnen.
Wechsel von HTTP zu HTTPS
Webserver-Administratoren verlassen sich bei ihren Websites in der Regel auf HTTPS. Die Vorteile überwiegen fast immer die Kosten, den zusätzlichen Konfigurationsaufwand und den Verwaltungsaufwand.
Die Fähigkeit von HTTPS, Vertraulichkeit, Datenintegrität und Authentizität zu gewährleisten, macht es für alle datenschutzorientierten Webtransaktionen unverzichtbar, zum Beispiel im Bankwesen, in der Fernverwaltung, im Gesundheitswesen und in vielen weiteren Bereichen. Selbst Netzwerkadministratoren, die kleine, statische Websites hosten, sollten in Erwägung ziehen, diese von HTTP auf HTTPS umzustellen, um zu gewährleisten, dass Besucher die richtigen Daten erhalten.
Wer HTTPS-Kommunikation durchsetzen möchte, sollte zunächst ein Webzertifikat von einer renommierten Zertifizierungsstelle installieren. Die Webserver-Software bietet Möglichkeiten zur Integration von HTTPS und Zertifikaten. Netzwerkadministratoren müssen möglicherweise auch ihre Firewall-Konfigurationen anpassen, da HTTP den TCP-Port 80 verwendet, während HTTPS auf den TCP-Port 443 angewiesen ist.