OpenSSL

OpenSSL ist eine freie Software, die das Erstellen, Beantragen und Verwalten von verschiedenen Zertifikaten ermöglicht. Das Kommandozeilentools "openssl" kommt dabei zum Einsatz.

 

Zweck des Howtos

Das Howto zeigt wie man eine Zertifizierungsstelle CA erstellt, eigene Zertifikate erstellt und mit einer eigenen CA (Certificate Authority) selbst signiert, um sie in der eigenen Infrastruktur verwenden zu können. Im Klartext: Gültige Zertifikate mit eigener CA selbst erstellen und signieren.

 

Begriffserklärungen:

Encryption - Verschlüsselung
Daten, die übertragen werden, werden verschlüsselt. Das bedeutet, dass sie nicht mehr für Dritte lesbar sind. Dazu benötigt der Sender als auch der Empfänger einen Schlüssel, um die Daten ver- bzw. entschlüsseln zu können. Hat man diesen Schlüssel nicht, so bleiben die übertragenen  Daten für Dritte wertlos.

Symetrische Verschlüsselung
Die symetrische Verschlüsselung setzt auf einen Schlüssel. Dabei ist es für beide Seiten der gleiche Schlüssel. Verschlüsselt der Sender etwas, so muss er dafür Sorge tragen, dass der Schlüssel zum Empfänger kommt damit dieser die Daten entschlüsseln kann und dabei sicherstellen, dass niemand anderes diesen Schlüssel abfängt/erhält. Der Vorteil des Verfahrens ist, dass es ressourcenschonend ist.

Asymetrische Verschlüsselung
Hier wird ein Schlüsselpaar verwendet, welches aus einem privaten Schlüssel und einem öffentlichen Schlüssel besteht. Der vertrauliche private Schlüssel wird vom Sender niemals herausgegeben. Allerdings kann der öffentliche Schlüssel problemlos für Jedermann bereitgestellt werden. Mit dem öffentlichen Schlüssel ist nur eine Verschlüsselung möglich, aber keine Entschlüsselung. Die verschlüsselten Pakete können wiederum nur mit einem privaten Schlüssel entschlüsselt werden. Das ist der Grund wieso beide Kommuniktationspartner ihre öffentlichen Schlüssel auf Public-Key-Servern bereitstellen können. Der Nachteil ist, dass dieses Verschlüsselungsverfahren sehr, sehr ressourcenintensiv ist.

CA - Certificate Authority
Das ist die Stelle, die den öffentlichen Schlüssel (in der CSR enthalten) beglaubigen kann. Die CA bezeugt, dass der Schlüssel tatsächlich von demjenigen ist mit dem man die Kommunikation anstrebt. Am Beispiel eines TLS/SSL-Zertifikats wird von einer CA bspw. beglaubigt, dass die aufgerufene Domain tatsächlich die ist, die man auch zu erreichen beabsichtigte und nicht fälschlicherweise plötzlich woanders "landet", weil jemand den DNS gecrackt und Einträge geändert hat.

CSR - Certificate Signing Request
Die Zertifikatssignierungsanforderung ist nach der Erstellung des Private-Keys (privater Schlüssel) der nächste Schritt in der Kette. Die CSR beinhaltet nicht nur den öffentlichen Schlüssel, sondern auch zusätzliche Informationen wie CN (Common Name), O (Organization), OU (Organization Unit), L (Stadt/Ort), S (Bundesland/Region), C (Land) und Email-Adresse.