PQK und TLS
Da es noch kein ausreichendes Vertrauen in die Sicherheit des ML-KEM gibt, wird eine Hybride Schlüsselvereinbarung genutzt: die eine Hälfte des Sitzungsschlüssels wird via ML-KEM vereinbart, die andere Hälfte per klassischem Schlüsselaustausch (X25519). Beide Hälften werden aneinanderhängt (X25519MLKEM768). Außerdem setzt die PQK Unterstützung zwingend TLS 1.3 voraus.Cloudfare hat eine (etwas veraltete) Liste von Browsern und Server, die PQK unterstützen.
Alle wichtigen Browser unterstützen X25519MLKEM768: Firefox ab Version 132, Chrome sowie Edge ab Version 131, Safari ab Version 26, TOR Browser ab Version 15, sowie die aktuellen Opera und Brave. Ebenso unterstützen die Apple Betriebssysteme ab Version 26 und Android ab Version 15 ML-KEM
Auch die Webserver Apache, Caddy, lighttpd und NGINX unterstützen in Verbindung mit OpenSSL (ab Version 3.5.0) ML-KEM.
In der Apache Konfigurationsdatei muss TLS 1.3 ergänzt werden und in die Liste der "Curves" muss "X25519MLKEM768" aufgenommen werden.
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLOpenSSLConfCmd Curves X25519MLKEM768:X25519:X448:prime256v1:secp384r1
In der lighttpd Konfigurationsdatei conf-enabled/10-ssl.conf werden alle Protokolle ab TLS 1.2 aktiviert und in die Liste der "Curves" muss "X25519MLKEM768" aufgenommen werden.
ssl.openssl.ssl-conf-cmd = ("MinProtocol" => "TLSv1.2")
ssl.openssl.ssl-conf-cmd += ("Curves" => "X25519MLKEM768:X25519:X448:prime256v1;secp384r1“)
NGINX muss mit einer aktuellen Version von OpenSSL compiliert werden. Dann wwerdne in der Konfigurationsdatei TLS 1.3 und und in die Liste der "Curves" muss "X25519MLKEM768" aufgenommen werden.
ssl_protocols TLSv1.2 TLSv1.3;
ssl_conf_command Curves "X25519MLKEM768:X25519:X448:prime256v1:secp384r1";
Der eigene oder auch fremde Web-Server können getestet werden, ob sie PQK-Algorithmen für die Schlüsselvereinbarung unterstützen.
Unter MacOS mit
nscurl --tls-diagnostics https://tipps4it.de
Unter Windows/Linux: mit
openssl s_client -brief -connect tipps4it.de:443
Unter Windows muss OpenSSL erst installiert werden:
winget install openssl. In jedem Fall muss OpenSSL bei beiden Betriebssystemen mindestens in der Version 3.5 vorliegen.
Qualys SSL Labs bietet derzeit noch keinen Test auf PQK-Algorithmen. Wir können aber mit mit dem Skript testssl.sh den nahezu identischen Test. Da es ein Shell-Skript ist, muss es unter Linux installiert und ausgeführt werden. Es wird mit
./testssl.sh tipps4it.de:443
Die Abbildung zeigt einen Ausschnitt aus der Ergebnisliste
Der eigene Browser kann auch auf Kompatibilität mit PQC getestet werden, Cloudflare bietet einen entsprechenden Test an. Das Ergebnis sehen wir nach dem ersten Absatz:
