HTTPS oder HyperText Transfer Protocol Secure ist ein Protokoll, das für die sichere Kommunikation über ein Computernetzwerk, typischerweise das Internet, verwendet wird. Es kombiniert das Standard-HTTP mit den SSL/TLS-Verschlüsselungsprotokollen, um sicherzustellen, dass die zwischen dem Client (z. B. einem Webbrowser) und dem Server (z. B. einer Website) ausgetauschten Daten vertraulich und vollständig bleiben. HTTPS verschlüsselt Daten mit symmetrischen Verschlüsselungsalgorithmen wie AES (Advanced Encryption Standard) und stellt die Authentizität des Servers durch digitale Zertifikate sicher, die von vertrauenswürdigen Zertifizierungsstellen (CAs) ausgestellt werden. Diese Verschlüsselung verhindert, dass Unbefugte die Kommunikation zwischen Client und Server abhören oder manipulieren können, und sorgt so für ein sicheres Surferlebnis für Benutzer.
HTTP oder HyperText Transfer Protocol ist die Grundlage der Datenkommunikation im World Wide Web. Es arbeitet in einem Client-Server-Modell, bei dem der Client (typischerweise ein Webbrowser) Anfragen an den Server (einen Webserver, der eine Website hostet) sendet, um Webseiten oder andere Ressourcen abzurufen. Der Prozess läuft Schritt für Schritt wie folgt ab:
- Client-Anfrage: Der Client initiiert eine Verbindung zum Server und sendet eine HTTP-Anfragenachricht. Diese Nachricht gibt die Ressource an, auf die sie zugreifen möchte, beispielsweise eine Webseiten-URL, und andere optionale Parameter.
- Server-Antwort: Nach Erhalt der Anfrage verarbeitet der Server diese und sendet eine HTTP-Antwortnachricht zurück. Diese Antwort enthält die angeforderte Ressource sowie Statusinformationen, z. B. ob die Anfrage erfolgreich war oder ob Fehler aufgetreten sind.
- Datenübertragung: Der Client empfängt die HTTP-Antwort und zeigt dem Benutzer die angeforderte Webseite oder Ressource an. Wenn zusätzliche Ressourcen benötigt werden (z. B. Bilder, Skripte), kann der Client nachfolgende HTTP-Anfragen senden, um diese vom Server abzurufen.
- Verbindungsschluss: Sobald die Datenübertragung abgeschlossen ist, kann der Client die Verbindung schließen oder sie für weitere Anfragen offen halten, abhängig von der HTTP-Version und den Servereinstellungen.
HTTPS sendet Daten sicher, indem es sie vor der Übertragung mit symmetrischen Verschlüsselungsalgorithmen wie AES verschlüsselt. Der Prozess umfasst:
- Verschlüsselung: Bevor Daten über das Netzwerk gesendet werden, verschlüsselt HTTPS diese mit symmetrischen Verschlüsselungsalgorithmen wie AES. Dadurch wird sichergestellt, dass die Daten selbst bei einem Abfangen ohne die richtigen Entschlüsselungsschlüssel unlesbar bleiben.
- Datenübertragung: Die verschlüsselten Daten werden über das Netzwerk vom Client zum Server oder umgekehrt übertragen. Diese Übertragung erfolgt über die aufgebaute sichere Verbindung, die beim SSL/TLS-Handshake eingerichtet wurde.
- Entschlüsselung: Beim Empfang der verschlüsselten Daten entschlüsselt der Empfänger (entweder Client oder Server) diese mithilfe der gemeinsam genutzten symmetrischen Verschlüsselungsschlüssel, die während des SSL/TLS-Handshakes erstellt wurden. Durch diese Entschlüsselung kann der Empfänger sicher auf die ursprünglichen Klartextdaten zugreifen und diese verarbeiten.
HTTPS verwendet während der SSL/TLS-Handshake-Phase typischerweise asymmetrische Verschlüsselungsalgorithmen wie RSA (Rivest-Shamir-Adleman), um eine sichere Verbindung zwischen Client und Server herzustellen. Für den Schlüsselaustausch und die Authentifizierung wird asymmetrische Verschlüsselung verwendet. Sobald eine sichere Verbindung hergestellt ist, verwendet HTTPS symmetrische Verschlüsselungsalgorithmen wie AES (Advanced Encryption Standard), um die tatsächlichen Daten zu verschlüsseln, die zwischen Client und Server übertragen werden. Diese Kombination aus asymmetrischer und symmetrischer Verschlüsselung gewährleistet die Vertraulichkeit, Integrität und Authentizität der über HTTPS-Verbindungen ausgetauschten Daten.