Allgemein, Linux, Server, Website

SSL Zertifikate – wichtiges Thema

SSL Zertifikate sind ein wichtiger Bestandteil in der Kommunikation zwischen Diensten und Anwendungen. Überall werden sie benötigt und jeder verlangt ein anderes Format. Immer das Format, welches man gerade nicht hat wird benötigt. Zumindest ergeht es mir immer so bei diesem Thema.

Was ist SSL?

SSL steht für Secure Sockets Layer. Dabei handelt es sich um ein Verschlüsselungsprotokoll im TCP/IP-Protokollstapel. Ein SSL-Zertifikat dient als verbindlicher Identitätsnachweis – darüber hinaus sind in dem Zertifikat oft Informationen enthalten, mit dem Browser und Server eine Verschlüsselung aufbauen können. Anstelle von SSL basieren die Zertifikate heute allerdings standardmäßig auf dem Nachfolger TLS (Transport Layer Security), wobei der alte Name weiterhin benutzt wird.

Was ist ein SSL-Zertifikat?

Inzwischen arbeiten Zertifikate nicht mehr mit dem veralteten SSL, sondern setzen auf das neuere und sicherere TLS (Transport Layer Security). In der Praxis wird meist allerdings immer noch von SSL-Zertifikaten gesprochen, wenn es um eine Absicherung von Website und Server mit der Verschlüsslungstechnik geht. Das Zertifikat an sich ist dabei ein simpler Datensatz: In einer Datei sind zahlreiche Informationen enthalten – wie zum Beispiel der Name des Ausstellers, die Seriennummer oder auch der sogenannte Fingerabdruck für die Verschlüsselung. Zertifikate gibt es in verschiedenen Dateiformaten. Möchte der Website-Betreiber ein bestimmtes Zertifikat nutzen, muss er es auf dem Server installieren.

Um ein Zertifikat zu erhalten, müssen sich Website-Betreiber an eine Zertifizierungsstelle wenden. Diese Organisationen sind zur Ausstellung eines SSL-Zertifikats berechtigt, verlangen für ihren Dienst allerdings meist Gebühren. Doch warum kann nicht einfach jeder seine eigene Organisation gründen? Der Grund ist folgender: Die Hersteller von Browsern – wie beispielsweise Microsoft, Mozilla oder Google – müssen die Zertifikate auch akzeptieren, ansonsten hat das entsprechende Zertifikat nicht den geringsten Nutzen. Das musste auch das Softwarehaus Symantec feststellen: Nachdem Google dem Softwarehersteller das Vertrauen entzogen hat, werden dessen Zertifikate nun nicht mehr von Chrome unterstützt. Nutzer des Google-Browsers erhalten infolgedessen kein Verschlüsslungssymbol mehr, das auf eine sichere Datenübertragung hinweist, wenn sie auf einer Website surfen, die ein Symantec-Zertifikat verwendet.

SSL Zertifikat: Wie funktioniert die Verschlüsselung?

Es gibt mehrere Möglichkeiten, wie man Datentransfers verschlüsseln kann. Klassischerweise benötigt man einen Schlüssel, um etwas zu verschlüsseln, und den exakt gleichen Schlüssel, um die Nachricht wieder lesbar zu machen. Diese Methode ist im Internet aber nicht sinnvoll, denn Nutzer nehmen dort häufig Kontakt zu Personen oder Organisationen auf, mit denen sie außerhalb des Internet niemals zuvor kommuniziert haben. Es gibt folglich keine Möglichkeit, einen Schlüssel zu übergeben, ohne diesen zunächst unverschlüsselt über das öffentlich zugängliche Medium zu senden. Daher nutzen SSL-Zertifikate ein anderes Verfahren.

Bei einer Public-Key-Infrastruktur erstellt man nicht nur einen Schlüssel, sondern stattdessen zwei: einen komplett öffentlichen und einen privaten. Eine Nachricht verschlüsselt man mit dem öffentlichen Schlüssel – dem Public Key – und kann diese nur mit dem Private Key wieder dechiffrieren. Der öffentliche Schlüssel ist es dann, den der Browser über das Zertifikat erhält und zum Verschlüsseln verwendet. Zur Codierung der Informationen gibt es unterschiedliche Verfahren. Auch diesbezüglich liefert der Webserver dem Browser über das Zertifikat die notwendigen Infos.

Eine derzeit häufig verwendete Methode zur Codierung ist zum Beispiel AES (Advanced Encryption Standard) mit der kryptologischen Hashfunktion SHA256. Da sowohl Kriminelle als auch Krypto-Experten allerdings stetig damit beschäftigt sind, die Schwachstellen von Verschlüsselungsmechanismen aufzuspüren, ändern sich die Standards regelmäßig. Eine Methode, die letztes Jahr noch als unfehlbar galt, kann schon morgen geknackt werden und fortan als unsicher gelten.

Welche Zertifikate gibt es?

Es gibt mehrere Arten von SSL-Zertifikaten. Obwohl es verschiedene Aussteller mit unterschiedlichsten Verifizierungsmechanismen gibt, sind diese Faktoren nicht die ausschlaggebenden Kriterien. Vielmehr unterscheidet man SSL-Zertifikate unter anderem danach, wie gründlich die Überprüfung des Antragstellers abläuft und wie groß die Reichweite der Zertifikate ist.

Überprüfung

Man unterscheidet drei Arten von Überprüfung. Diese unterscheiden sich nicht nur hinsichtlich der Bearbeitungszeit, sondern auch hinsichtlich der damit zusammenhängenden Kosten. Während SSL-Zertifikate der Kategorie Domain Validation inzwischen kostenlos zu haben sind, können Privatpersonen und kleinere Unternehmen die Kosten für eine Extended Validation nur in den seltensten Fällen stemmen.

Domain Validation (DV)

Die Domain Validation bildet die unterste Stufe der SSL-Zertifikate: Die Überprüfung des Personals hinter der Website-Adresse läuft entsprechend oberflächlich ab. Oftmals versendet die Authentifizierungsstelle lediglich eine E-Mail an die im WHOIS-Eintrag angegebene E-Mail-Adresse. Der Antragsteller wird darin zum Beispiel aufgefordert, einen DNS-Eintrag zu verändern oder eine bestimmte Datei auf seinen Server zu laden, um so die Kontrolle über die Domain zu signalisieren.

Der Überprüfungsvorgang kann vollständig automatisiert ablaufen und wird deshalb von vielen nicht als sicher angesehen. Manche Browser markieren daher ein DV-SSL-Zertifikat gesondert, um auf die im Vergleich zu anderen Zertifikaten geringeren Sicherheitsstandards hinzuweisen. Bei dieser Form von Zertifikat erhalten Sie zudem keine weiteren Informationen zum Besitzer der Website.

Organization Validation (OV)

OV-SSL-Zertifikate sind eine Stufe höher anzusiedeln, was die Sicherheit der Besucher betrifft. Die Zertifizierungsstelle fordert im Rahmen der Validation Unterlagen vom Besitzer der Website an – meist nachdem der automatisierte Ablauf der Domain Validation erfolgt ist. Welche Dokumente konkret benötigt werden, ist von der Ausstellungsorganisation abhängig – häufig wird beispielsweise nach einem Handelsregisterauszug gefragt. Außerdem nehmen einige Authentifizierungsstellen zusätzlich telefonisch Kontakt zum Betreiber der Website auf. OV-SSL-Zertifikate liefern somit Internetnutzern mehr Sicherheit, da im Vorfeld stärker überwacht wurde, wer tatsächlich hinter der Website steckt. Zudem bieten sie den Vorteil, diese Information auch im Zertifikat selbst für jeden Nutzer einsehbar zu halten.

Extended Validation (EV)

SSL-Zertifikate, die unter dem Label Extended Validation angeboten werden, bilden die höchste Sicherheitsstufe. Bei dieser Art von Zertifikaten werden sowohl die Domain und die damit in Verbindung stehende Organisation überprüft als auch der Antragsteller selbst. Man kontrolliert also auch, ob der Antragsteller tatsächlich bei der angegebenen Organisation oder dem angegebenen Unternehmen arbeitet und ob er dazu berechtigt ist, ein solches Zertifikat anzufordern. Darüber hinaus muss auch die Zertifizierungsstelle dazu bevollmächtigt sein, Extended Validation durchzuführen. Um autorisiert zu werden, muss die Stelle einer Überprüfung durch das CA/Browser-Forum standhalten. Dabei handelt es sich um einen freiwilligen Zusammenschluss von Zertifizierungsstellen und Browser-Herstellern.

Kostenloses oder Paid-SSL?

Ein nicht unwesentlicher Punkt für die Kategorisierung und Auswahl eines SSL-Zertifikats sind die Kosten, die mit dem Erwerb verknüpft sind. Bezieht man diesen Aspekt direkt auf die drei voranstehenden Überprüfungstypen, lässt sich dabei grob festhalten: Je ausgeprägter der Zertifizierungscheck ist, desto mehr muss für das Zertifikat am Ende gezahlt werden. Seit 2015 gibt es mit Let’s Encrypt sogar eine Zertifizierungsstelle, die Zertifikate gänzlich kostenfrei ausstellt.

Konvertierung von Zertifikaten

Jedes Mal muss also OpenSSL herhalten und muss mein Zertifikat in ein anderes Format konvertieren.

Nun habe ich eine Lösung gefunden, wie man(n) einfach und schnell über eine OpenSource Software alle SSL Zertifikate importieren und in jegliche Form exportieren kann wie man möchte. Die Rede ist von XCA.

Mit XCA kann man mit Hilfe einer GUI alle Zertifikatstypen PEM, DER, PKCS#7, PKCS#12 importieren und ebenso auch wieder exportieren.

Ebenso ganz einfach lassen sich selbst signierte Zertifikate erstellen und exportieren.

Die Software ist verfügbar für Windows (auch als MSI), für Mac sowie für Linux.

Übersicht der Zertifikate

Über den Button Export lässt sich jegliches Dateiformat exportieren das man möchte.

Schreibe eine Antwort