Überblick
Die EFF bemüht sich darum, dass HTTPS zum Standard im Netz wird. Laut ihrer Einschätzung ist die Ausstellung von Zertifikaten eine der größten Hürden dabei. Diese kosten meist Geld, der Prozess zur Zertifikatserstellung ist oft kompliziert, und die Zertifikate laufen regelmäßig ab und müssen erneuert werden. Let's encrypt will hier ansetzen. Die neue Zertifizierungsstelle soll von der gemeinnützigen Internet Security Research Group (SRG) getragen werden und Zertifikate kostenlos ausstellen. Vor allem aber soll der Prozess der Zertifikatserstellung einfacher werden.
Dafür werden Tools geschaffen, mit denen die Verifizierung der Domains und die Zertifikatserstellung mit wenigen Befehlen gelingt. Weiterhin soll ein neues Protokoll namens ACME (Automated Certificate Management Environment) dafür sorgen, dass die Kommunikation zwischen Server und Zertifizierungsstelle automatisiert wird. Abgelaufene Zertifikate sollen dadurch automatisch ersetzt werden.
Let’s Encrypt ist eine Zertifizierungsstelle, die Ende 2015 in Betrieb gegangen ist und kostenlose X.509-Zertifikate für Transport Layer Security (TLS) anbietet. Dabei ersetzt ein automatisierter Prozess die bisher gängigen komplexen händischen Vorgänge bei der Erstellung, Validierung, Signierung, Einrichtung und Erneuerung von Zertifikaten für verschlüsselte Websites.
Bei aktuellen Bestrebungen von großen Webbrowser-Projekten, unverschlüsseltes HTTP als überholt zu erklären und zukünftig davor zu warnen oder die Unterstützung einzuschränken, wird unter anderem auf die Verfügbarkeit von Let's Encrypt gesetzt.Dem Projekt wird das Potenzial zugesprochen, die standardmäßige Verschlüsselung des gesamten Web zu erreichen.
Technik
Let’s Encrypt besitzt ein RSA-Stammzertifikat, das in einem Hardware-Sicherheitsmodul verwahrt wird und nicht direkt verwendet wird. Es soll später durch ein ECDSA-Zertifikat ersetzt werden.
Damit werden zwei Zwischenzertifikate signiert, welche durch die Zertifizierungsstelle IdenTrust gegengezeichnet werden. Eines davon dient dann zur Signierung der ausgestellten Zertifikate, das andere als Ersatz bei Problemen mit dem ersten. Durch die IdenTrust-Signatur können die ausgestellten Zertifikate in großen Webbrowsern über die vorinstallierten Stammzertifizierungsstellen geprüft werden.
So werden Let’s-Encrypt-Zertifikate auf Client-Seite von Anfang an in der Regel ohne weiteres akzeptiert. Längerfristig sollen direkt Let’s-Encrypt-Zertifikate in Anwendungen vorinstalliert werden.
Protokoll
Das zur Automatisierung der Zertifizierung genutzte Challenge-Response-Verfahren heißt Automated Certificate Management Environment (ACME). Dabei werden verschiedene Anfragen an den Webserver der zu zertifizierenden Domain gestellt. Anhand gegebenenfalls darauf erfolgenden passenden Rückmeldungen wird sichergestellt, dass der Antragsteller die Domain kontrolliert („domain validation“).
Auf dem Server-System wird dazu von der ACME-Client-Software ein besonders konfigurierter TLS-Server eingerichtet, der mittels Server Name Indication auf besondere Anfragen der Zertifizierungsstelle antwortet (Domain-Validierung mittels Server Name Indication, DVSNI).
Dieses Verfahren wird allerdings nur für eine erste Zertifikatsausstellung für eine Domain akzeptiert (sogenanntes „trust on first use“, TOFU – Vertrauen bei erster Benutzung). Danach kommt die alternative Validierung über ein bestehendes Zertifikat zum Einsatz. Bei Verlust der Kontrolle über ein bereits ausgestelltes Zertifikat muss daher ein Zertifikat von einem Drittanbieter erworben werden, um wieder ein Let’s-Encrypt-Zertifikat zu erhalten.
Die Validierungsverfahren werden mehrmals über verschiedene Netzwerkpfade durchgeführt. Zur Erschwerung von DNS-Spoofing ist die Prüfung von DNS-Einträgen von mehreren geographisch verteilten Standpunkten aus vorgesehen.
Bei ACME-Interaktionen werden JSON-Dokumente über HTTPS-Verbindungen ausgetauscht. Ein Entwurf einer Spezifikation ist auf GitHub verfügbar. Mehrere Versionen davon wurden als Entwurf eines Request for Comments für einen Internet-Standard bei der Internet Engineering Task Force (IETF) eingereicht.