Lets Encrypt! - Neues SSL-Zertifikat für die Seite
Die verschlüsselte Verbindung bei de.indymedia.org vertraut nun einem Lets-Encrypt! Root-Zertifikat.
Seit dem Relaunch der de.indymedia.org-Seite Mai 2014 wird eine SSL-verschlüsselte Seite angeboten. Jedoch war das SSL-Zertifikat, welches der Server für eine verschlüsselte Website benötigt, nicht durch ein sogenanntes Root-CA einer Zertifizierungstelle beglaubigt, weshalb beim Aufruf der Seite https://de.indymedia.org immer ein Warnung kam, dass die Seite unsicher sei. Dies wurde nun nachgebessert.
Lediglich die Domain https://4sy6ebszykvcv2n6.onion, die nur über Tor angesurft werden kann, konnte (noch) nicht mit einbezogen werden.
[Kennt Ihr schon das firefox-Plugin ssl-everywhere? Das schaltet automatisch auf SSL auf einer Seite um, wenn das verfügbar ist. ...]
Worum geht es eigentlich?
Baut ein Browser eine verschlüsselte Verbindung zu einem Webserver auf, so werden zu Beginn einige Zufallszahlen, Verschlüsselungsmöglichkeiten des Servers und des Browsers aber auch ein sogenanntes SSL-Zertifikat (SSL=Secure Sockets Layer, heute auch TLS=Transport Layer Security, https://de.wikipedia.org/wiki/Transport_Layer_Security) ausgetauscht. In jedem Browser findet Ihr eine ziemlich lange Liste von "vertrauenswürdigen" CA-Stellen (CA=Certificate Authorities, Zertifizierungs-Stelle, https://de.wikipedia.org/wiki/Zertifizierungsstelle). Bekommt nun ein Browser ein SSL-Zertifikat, welches von einer im Browser hinterlegten Zertifizierungsstelle beglaubigt wurde, so zeigt er die Seite ohne Probleme an und oben links neben der Adresszeile steht ein kleines grünes Schloss oder ähnliches. Als Server-Betreiber kann man aber auch ein solches SSL-Zertifikat selbst beglaubigen. Dann findet der Browser keine CA, die das erhaltene SSL-Zertifikat der Seite beglaubigt hat und zeigt eine Warnung, dass es sich um eine unsichere Verbindung handelt und dass man Ausnahme definieren soll. Genau das hat de.indymedia.org bisher getan.
Warum hat das de.indymedia.org ein selbst-beglaubigtes Zertifikat?
Der Grund ist, dass das SSL-Verfahren per Design ein hierarchisches System. Es gibt "vertrauenswürdige" Autoritäten (Telekom, Verisign...), die beglaubigen gegen Geld SSL-Zertifikate. Das kann sehr schwer nur anonym geschehen und ist alles andere als basisdemokratisch - es handelt sich dabei in der Regel um große Konzerne. Diese Stellen müssen in einem Audit beweisen, dass sie vertrauensvoll mit den Schlüsseln umgehen können und dass auch niemand für andere Domains Zertifikate beantragen kann. Das ist natürlich aufwendig. Das können sich nur große Firmen leisten - das heisst, das Audit wurde für große Firmen geschrieben. Aber die Kosten für den Kunden stehen da dennoch in keinem Verhältnis. Andererseits gibt es häufig dubiose Anbieter, die es für wenig Geld anbieten, aber weiss man bei diesen Anbietern nie, wie lange die noch in den Browsern Vertrauen genießen. Und dann hat man zwar ein beglaubigtes Zertifikat, für das man Geld gezahlt hat, aber es kommt dennoch eines Tages die Warnung vom Browser, da er die Zertifizierungsstelle nicht mehr anerkennt. Und man muss sich was neues suchen. Es gab in letzter Zeit immer wieder Skandale, dass solche Zertifizierungsstellen gehackt oder missbraucht wurden und aus den Browsern flogen.
Es gab und gibt ein Kollektiv, das sich gegen das Geklüngel der Großen CAs gestellt hat: CACert (https://cacert.org). Die flogen aber kürzlich aus den gängigen Browsern, da sie die Anforderungen aus den Audits nicht erfüllen konnten. Deshalb war das kein Weg, den de.indymedia.org gehen konnte. Eine weitere Alternative wäre StartSSL (https://startssl.com) gewesen. Hier scheiterte die Anmeldung an technischen Schwierigkeiten. Dubiose Quellen sollten auch nicht genutzt werden. Die einzige Alternative wäre gewesen, über Vitamin-B an vertrauenswürdige Seiten heranzukommen - das fanden wir aber politisch falsch.
Die Alternative:
Seit über einem Jahr gibt es eine Initiative, die einen anderen Weg geht: Lets-Encrypt!
Einige Firmen wie Mozilla, Cisco aber auch die Electronic Frontier Foundation, die für Open Source kämpft, möchten das SSL-Geklüngel aufbrechen. Die Idee ist ganz einfach: Es gibt eine Open Source Software, die kann sich jeder Serverbetreibende auf dem Server mit der Domain XYZ.de installieren. Wird die Software gestartet, erstellt sie ein SSL-Zertifikat und verbindet sich zu letsencrypt.org.
Dort fragt die Software an, ob letsencrypt.org nicht das gerade erstellte SSL-Zertifikat für die Domain XYZ.de beglaubigen möchte. Letsencrypt.org prüft dann, ob auf dem Server der Domain XYZ.de die oben genannte Software läuft und tauscht einige kryptographische Informationen aus. Klappt das, ist das SSL-Zertifikat beglaubigt, schlägt die Verbindung fehl, dann nicht.
Kurzum: Kann der Server-Admin gegenüber letsencrypt beweisen, Admin der Domain zu sein? Ja oder nein.
Resümee:
Seit dem 3. Dezember 2015 ist letsencrypt.org in der sogenannten öffentlichen Beta-Phase. de.indymedia.org beteiligt sich an diesem Verfahren. Ihr erhaltet nun beim Ansteuern von https://de.indymedia.org keine Warnung mehr und müsst auch keine Ausnahmen mehr zustimmen.
Lediglich der tor-hidden-Service: https://4sy6ebszykvcv2n6.onion kann da nicht mit einbezogen werden, da letsencrypt nicht über Tor funktioniert.
Ergänzungen
Super!
Ein super schritt, sehr schön zu sehen dass sich bei euch noch was tut in richtung aktueller technischer Standards. Könnt ihr nicht auch http komplett abstellen und wie bei linksunten auf https umleiten? Jetzt wo https so unkompliziert funktioniert?
Let's encrypt
Sehr schön,
aber wie habt ihr erreicht, dass eure Webseite ohne Warnmeldung angezeigt wird? Viele Browser akzeitieren die Certificatin Authority von Let's encrypt noch nicht. Mein LE-Zertifikat auf meiner Webseite erzeugt eine Warnmeldung, eures nicht. Ich erkenne aber keinen Unterschied.