BLog

ImprintImpressum
PrivacyDatenschutz
DisclaimerHaftung
Downloads 

Die PKI und der FreeBSD-Home-Server

PKI ist die Abkürzung für die Public Key Infrastructure, und auf diese muß man einmal näher eingehen, bevor man sich mit den Fragestellungen zu schlüsselbasierter Authentifizierung und Transport-Verschlüsselung SSL/TLS beschäftigt. Schon bei der Übersetzung des Begriffs muß man aufpassen, denn Öffentliche Schlüsselinfrastruktur ist schlichtweg falsch. Die Schlüssel müssen öffentlich sein, und nicht die Infrastruktur, wir reden also eigentlich über die Verwaltung von öffentlichen Schlüsseln.

Auch die Öffentlichkeit der Schlüssel ist nicht wirklich ernst gemeint, denn im Grunde muß ihn nur der Kommunikationspartner kennen, und der Rest der Welt muß nichts. Wenn der öffentliche Schlüssel Dritten in die Hände fällt, dann ist das zwar nicht weiter tragisch, denn die können sowieso nichts damit anfangen, aber wirklich gewollt ist das nicht. Die öffentlichen Schlüsselverkäufer (Certification Authorities) haben natürlich ein Interesse daran, alle Welt im Glauben zu belassen, daß es ohne sie nicht geht. Tatsächlich benötigt man ein Zertifikat einer öffentlichen Zertifizierungsstelle (das ist der öffentlich vorgehaltene öffentliche Schlüssel) nur dann, wenn der eigene Home-Server unbekannten Dritten SSL/TLS-Services zur Verfügung stellen soll.

Moment mal, unbekannte Dritte sollen verschlüsselten Zugriff auf den Home-Server haben?

Eben nicht, und deshalb vergessen wir einfach die PKI und richten uns stattdessen die eigene PPKI = Private Public Key Infrastructure ein.

Die Private Public Key Infrastructure

Drei Dinge braucht der aufgeklärte freie Mensch für seine PPKI:

  1. eine eigene private Certification-Authority-Installation,
  2. einen privaten Schlüssel für das CA-Zertifikat,
  3. das „öffentliche“ CA-Zertifikat.

Die Installation der eigenen privaten Certification-Authority

Dabei handelt es sich im wesentlichen um einen sicheren Speicherort, und um Software-Werkzeuge zur Erstellung von Schlüsseln und zur Signierung von Zertifikaten. Am bekanntesten ist OpenSSL mit dem sich diese Aufgaben auf der Kommandozeile erledigen lassen. Weniger bekannt ist, daß macOS von Haus aus mit einem hübschen Programm ausgestattet ist, mit dem sich alle notwendigen Aufgaben mittels Ausfüllen von Formularen und mit ein paar Mausklicks erledigen lassen. Das ist der Zertifikatsassistent.

Nach Möglichkeit wählt man als sichersten aller sicheren Speicherorte sowieso nicht einen Platz auf dem Home-Server aus, sondern auf einem internen Client, der auch nicht das Haus verlassen sollte. Besonders praktisch wäre es, wenn dieser Client zufällig ein Mac ist, denn dann können wir einfach den Zertifikatsassistenten für alles weitere benutzen. Wer keinen Mac hat, der muß halt alles mit OpenSSL in seinem Terminal zu Fuß machen.

Im Jargon des Zertifikatsassistenten ist die Certification Authority eine Zertifizierungsinstanz und diese wollen wir erstellen. Hierzu wählt man die entsprechende Option Zertifizierungsinstanz erstellen aus und klickt auf Fortfahren. Nehmen wir einmal an, daß wir unsere Zertifizierungsinstanz für die Ausstellung sowie Verwaltung von Schlüsseln und Zertifikaten für die Domain beispiel.de verwenden möchten, und der Einfachheit halber benennen wir die Instanz nach dieser Domain ohne Länderkennung. Im Menü Benutzerzertifikat wählen wir SSL-Server aus, ferner möchten wir einige der Standardwerte überschreiben, und schließlich geben wir noch eine gültige E-Mail-Adresse an, unter der unsere Zertifikatsverwaltung erreicht werden kann.

Copyright © Dr. Rolf Jansen - 2016-02-27 22:49:16

Diskussion auf Twitter: 1082810519923421184