Menü

Audit und Web-Client: Kritik an SSL/TLS-Zertifizierungsstelle Let's Encrypt

Die Tätigkeit von Let's Encrypt als Zertifizierungsstelle wurde noch nicht der vorgeschriebenen Sicherheitsprüfung unterzogen. Trotzdem stellt die CA schon Zertifikate aus.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 157 Beiträge
Von

Let's Encrypt verteilt schon fleißig Zertifikate, denen die Webbrowser vertrauen. Doch jetzt gibt es Beschwerden, dass die Zertifizierungsstelle (CA) IdenTrust das Intermediate-CA-Zertifikat von Let's Encrypt gar nicht signieren durfte. Aktuell setzt Let's Encrypt auf einen Cross-Zertifizierung von IdenTrust. Denn Betriebssysteme und Webbrowser vertrauen dieser CA.

Alle Root-CAs sind im CA/Browser-Forum organisiert. Die CAs müssen sich dabei an die Spielregeln des Forums halten und etwa vorgeschriebene Sicherheitsprüfungen durchlaufen. Bisher hat Let's Encrypt keine vollständige Prüfung (Audit) absolviert. Darum wurde die Aufnahme in das CA/Browser-Forum vorerst zurückgestellt.

Für die Übergangszeit behelfen sie sich mit einem Intermediate-CA-Zertifikat, dass IdenTrust ihnen ausgestellt hat. Genau das hätten die aber aufgrund des fehlenden vollständigen Audits gar nicht tun dürfen, so die Logik der Beschwerdeführer des Anbieters für Sicherheitslösungen PSW Group. Heise Security hat bei den beteiligten Parteien nachgehakt.

Es gab bereits Pre-Audits von Let's Encrypt. Im November sollte die vollständige Prüfung eigentlich abgeschlossen sein. Aufgrund fehlender Publikationen ist das aber anscheinend noch nicht der Fall. Denn eine Veröffentlichung der Ergebnisse ist obligatorisch für ein vollständiges Audit.

Das für den Audit von Let's Encrypt zuständige Unternehmen BrightLine teilte gegenüber heise Security lediglich mit, dass sie Diskretion wahren müssen und keine Auskunft über ihre Kunden geben können.

Eddy Nigg, der Chef der Zertifizierungsstelle StartCom, fasst in einem Bugzilla-Post zusammen, dass Let's Encrypt auch ohne vollständiges Audit Zertifikate ausstellen darf. Die Prüfung müsse dann aber innerhalb von 90 Tagen nach Ausstellung des ersten Zertifikats vorliegen, um den Anforderungen des CA/Browser-Forums (PDF-Download, Punkt 8.1) gerecht zu werden.

Bei Let's Encrypt läuft diese Frist am kommenden Wochenende ab, denn das erste Zertifikat ging Mitte September 2015 live. Zu diesem Zeitpunkt muss klar sein, dass ein vollständiges Audit durchgeführt wurde. Der Bericht kann dann in einem Zeitfenster von 30 Tagen nachgereicht werden. Das geht aus Punkt Sieben aus den von Mozilla verfassten Verpflichtungen für CAs hervor. Mozilla ist einer der Sponsoren von Let's Encrypt.

Den Basis-Anforderungen von Mozilla an CAs zufolge sind die Intermediate-CA-Zertifikate von Let's Encrypt vorerst noch legitim. Denn eine neue CA kann sich beim Start auf ein Point in Time Readiness Assessment (PITRA) berufen, um regelkonform Zertifikate auszustellen. Wer darauf setzt, muss aber den nächsten jährlich stattfindenden Termin für ein Audit wahrnehmen.

Let's Encrypt bewegt sich somit noch im zeitlichen Rahmen der Richtlinien von Mozilla, reizt die Regeln aber bis aufs Äußerste aus. Christian Heutger, der Chef der PSW Group, findet diesen Umgang "flapsig". Denn schließlich fußt das ganze Konzept von Zertifikaten auf Regeln, die man als CA fristgerecht befolgen muss, um Sicherheit im Internet zu garantieren.

Kann Let's Encrypt innerhalb der Frist kein vollständiges Audit vorlegen, wäre IdenTrust dazu verpflichtet, das Intermediate-CA-Zertifikat bis zum Audit zu widerrufen, erläutert Heutger. Auch Mozilla müsste dem Zertifikat das Vertrauen entziehen, denn die eigens formulierten Anforderungen und Verpflichtungen wären nicht erfüllt.

Der Blogger und Sicherheitsexperte Felix Leitner aka "Fefe" kritisiert den Python-Client von Let's Encrypt zum Abruf von Zertifikaten. Abgesehen von der Tatsache, dass man zunächst Python installieren muss, um ein Zertifikat zu erhalten, moniert er auch, dass der Client einen eigenen Webserver startet. Das "verdutzendfache" Fefe zufolge die Angriffsfläche.

Tatsächlich startet der Client einen Webserver, wenn man ihn im Standalone-Modus betreibt. Dieser Server dient dazu, der Let’s-Encrypt-CA den Beweis zu liefern, dass der Nutzer des Clients die Kontrolle über die Domain hat. Dazu stellt der Webserver des Clients bestimmte Daten unter einer von der CA vorgegebenen Pfad unterhalb der Domain bereit.

Dieser Vorgang dauert allerdings nur wenige Sekunden. Anschließend beendet der Client die Server-Komponente wieder – und die Angriffsfläche ist wieder genauso groß oder klein wie zuvor. Alternativ kann der Client auch einen bereits installierten Webserver wie Apache oder nginx nutzen, um der CA den Beweis zu liefern. Wer den Client nicht nutzen möchte, kann zudem die Abholung des Zertifikates mit etwas Handarbeit unter URL https://gethttpsforfree.com anstoßen.

  • c't hat ein Dossier für die Nutzung von Let's Encrypt zusammengestellt. In diesem finden Sie Artikel zur Technik, Tipps zur Server-Konfiguration und wie man die Verschlüsselung darüber hinaus absichern kann.
nachgehakt: Let's Encrypt - https:// für alles!

(des)