Das Unternehmen Mozilla hat die Unterstützung für das ECH (Encrypted Client Hello) für Nutzer der stabilen Firefox-Version angekündigt, was die Weiterentwicklung der ESNI-Technologie (Encrypted Server Name Indication) vorantreibt. Diese Technologie ist dazu gedacht, Informationen über TLS-Session-Parameter wie das angeforderte Domänenname zu verschlüsseln. Ursprünglich wurde der Code für die ECH-Unterstützung in der Firefox-Version 85 hinzugefügt, aber standardmäßig deaktiviert. Im Chrome-Browser wird die ECH-Unterstützung schrittweise seit der Version 115 aktiviert.
Da zusätzlich zur Verbindung mit Server die Offenlegung von Informationen über angeforderte Domänen über DNS erfolgt, ist für einen vollständigen Schutz neben ECH die Anwendung der Technologie DNS over HTTPS oder DNS over TLS zur Verschlüsselung des DNS-Verkehrs erforderlich. Firefox wird ECH nicht verwenden, ohne dass DNS over HTTPS in den Einstellungen aktiviert ist. Die Unterstützung von ECH im Browser kann auf dieser Seite überprüft werden.
Einer der Faktoren für die standardmäßige Aktivierung der ECH-Unterstützung in Firefox war die kürzliche Aktivierung der ECH-Unterstützung durch Cloudflare in ihrem Content Delivery Network. Praktisch betrachtet ist es nun, da die Daten über angeforderte Hosts bei der Anwendung von ECH vor einer Analyse verborgen sind, erforderlich, das gesamte Cloudflare-Netzwerk, alle ECH-Anfragen zu blockieren oder HTTPS mittels gefälschter Wurzelzertifikate auf dem Usersystem abzugreifen, um unerwünschte Websites, die das Cloudflare CDN nutzen, zu filtern und zu blockieren.
Ursprünglich wurde zur Einrichtung mehrerer HTTPS-Websites auf einer IP-Adresse die TLS-Erweiterung SNI verwendet, bei der der Name des angeforderten Hosts in der ClientHello-Nachricht angegeben wurde, die vor dem Aufbau des verschlüsselten Kommunikationskanals übertragen wurde. Dieses Merkmal ermöglichte es, Anfragen in der frühen Phase der Verbindung zu virtuellen Hosts zu verteilen, erlaubte es aber auch dem Internetdienstanbieter, den HTTPS-Verkehr selektiv zu filtern und zu analysieren, welche Websites der Nutzer aufruft, was eine vollständige Vertraulichkeit bei der Verwendung von HTTPS verhinderte.
Um dieses Problem zu lösen und Datenlecks über die angeforderte Website auszuschließen, wurde später die Erweiterung ESNI vorgeschlagen, die die Verschlüsselung von Daten mit dem Hostnamen implementiert. Bei der Einführung von ESNI stellte sich heraus, dass der vorgeschlagene Mechanismus nicht alle möglichen Datenlecks über den Host abdeckt und seine Anwendung nicht ausreicht, um vollständige Vertraulichkeit bei HTTPS-Sitzungen zu gewährleisten. Insbesondere bei der Wiederaufnahme einer zuvor etablierten Sitzung wurde der Domänenname im Klartext weiterhin als einer der Parameter der TLS-Erweiterung PSK (Pre-Shared Key) angegeben. Darüber hinaus wurden bei den Versuchen zur Einführung von ESNI Kompatibilitäts- und Skalierungsprobleme festgestellt, die einer breiten Verbreitung von ESNI im Wege standen.
In Anbetracht der festgestellten Nachteile von ESNI wurde ein neuer universeller Mechanismus ECH entwickelt, der die Verschlüsselung der Parameter aller TLS-Erweiterungen ermöglicht. Technisch gesehen besteht der Hauptunterschied zwischen ECH und ESNI darin, dass anstelle separater Felder die gesamte Nachricht ClientHello auf einmal verschlüsselt wird. ECH sieht eine Aufteilung von ClientHello in zwei separate Nachrichten vor - die verschlüsselte Nachricht ClientHelloInner (SNI Inner) und die unverschlüsselte Basisnachricht ClientHelloOuter (SNI Outer). In dem unverschlüsselten SNI Outer werden nicht vertrauliche Daten übermittelt, wie die TLS-Version und die Liste der verwendeten Chiffren, sowie der allgemeine Domänenname, der sich nicht mit dem tatsächlichen Namen der angeforderten Domäne überschneidet. Zum Beispiel wird für alle Cloudflare-Kunden im unverschlüsselten SNI Outer der allgemeine Host „cloudflare-ech.com“ angegeben, während der tatsächliche Name des angeforderten Hosts im verschlüsselten SNI Inner übermittelt wird und nicht analysiert werden kann.

ECH verwendet auch ein anderes Schlüsselaustauschschema zur Verschlüsselung - die Informationen über den öffentlichen Schlüssel werden in der DNS-Aufzeichnung HTTPSSVC übermittelt und nicht in einer TXT-Aufzeichnung. Für den Erhalt und die Verschlüsselung des Schlüssels wird eine authentifizierte End-to-End-Verschlüsselung basierend auf dem Mechanismus HPKE (Hybrid Public Key Encryption) angewendet. ECH unterstützt auch den sicheren erneuten Austausch des Schlüssels vom Server, was verwendet werden kann, um Probleme beim Abrufen veralteter Schlüssel aus dem DNS-Cache zu lösen. Server und zur Lösung von Problemen beim Abrufen veralteter Schlüssel aus dem DNS-Cache.
Quelle: opennet.ru
