Dark ITSec

PKI
Eine PKI (Public-Key-Infrastructure) ist ein System zur genauen Identifizierung eines Users, zur sicheren Verschluesselung von Daten im Netzwerk und zur Sicherung der Datenintegritaet. Wie der Name bereits verraet, wird bei diesem Verfahren ein "Public-Key" also ein oeffentlicher Schluessel erzeugt, der jedem zugaenglich ist und zum verschluesseln persoenlicher Daten verwendet wird. Solche Verfahren nennt man auch "asymmetrische" Verfahren.

Soll solch eine sichere Kommunikation im "kleinen Kreis" und nur zwischen engen Bekannten vonstatten gehen, reichen "Tools" wie beispielsweise PGP voellig aus. In kleineren Firmen jedoch, stoszen solche Programme schnell an ihre Grenzen. Um die Herkunft eines Schluessels genau bestimmen zu koennen, muessen Zertifikate eingefuehrt werden. Ein solches Zertifikat enthaellt einige wichtige Informationen ueber seinen Besitzer, wie Name, Abteilung, Telefon-/Faxnummer, E-Mail Adresse und den oeffentlichen Schluessel. Um die Echtheit eines solchen Zertifikates zu gewaehrleisten, muss es von einer autorisierten Zertifizierungsstelle "unterschrieben" werden.

Eine PKI muss nun folgende Aufgaben erfuellen:
1. Registrierungsantraege neuer Schluesselpaare entgegennehmen
2. Erzeugung der Schluesselpaare
3. Bekanntmachung der oeffentlichen Schluessel
4. Ausstellung der Zertifikate

Diese Aufgaben werden nun folgendermaszen verteilt:
Clients: 2.
oeffentlicher Server: 1. und 3.
nichtoeffentlicher Server: 4.

Theoretisch kann die Aufgabe der Zertifizierung auch der oeffentliche Server ausfuehren, was allerdings aus sicherheitstechnischen Gruenden nicht besonders zu empfehlen ist. Im Idealfall ist der Zertifizierungsserver allein fuer diese Aufgabe vorgesehen und gegen Zugriff bzw. Zugang von auszerhalb geschuetzt. (Rechner nicht ans Netzwerk angeschlossen, durch Passwoerter gesichert und evtl. in einem zugangsgesicherten Raum untergebracht.)

Die erstellten Zertifikate und Schluessel koennen mit Hilfe des "S/MIME"-Verfahrens (Secure Multipurpose Internet Mail Extension) in die gaengigsten Mailprogramme eingebunden werden. (Zu diesem Zweck gibt es durchaus mehrere Verfahren, doch ist S/MIME wohl die gebraeuchlichste.)

Der naechste Schritt ist die Auswahl der Zertifikattypen; X.509-Zertifikate sind hier besonders zu empfehlen, da sie u.a. auch fuer SSL-Verbindungen genutzt werden koennen.

Um die PKI nun auch auf Softwarebasis aufzubauen benoetigen wir folgende Tools:
OpenSSL: zur Erstellung und zum Rueckzug der X.509-Zertifikate -> www.openssl.org
pyCA: zur Verwaltung der Zertifikate -> www.pyca.de

OpenSSL wird nun auf beiden, pyCA nur auf dem oeffentlichen PKI-Server installiert. Der oeffentliche Server braucht weiterhin einen Webserver (z.B. Apache) und eine Laufzeitumgebung fuer die pyCA Module (z.B. Phyton). Der Administrator dieses Servers ist nun dafuer verantwortlich, die Zertifizierungsantraege und die fertigen Zertifikate mit Hilfe eines Datentraegers (Diskette, CD, Wechselplatte, ...) zwischen oeffentlichem und nichtoeffentlichem Server zu bewegen.

Sollte es noetig sein, koennen auch mehrere Zertifizierungsstellen definiert werden, um Zertifikate unterschiedlicher Rechte erstellen zu koennen. (z.B. nur fuer Mail, ...)

Einem sollte man sich allerdings bewusst sein: Diese Zertifikate haben keine Rechtsgueltigkeit! Nur die (kostenpflichtigen) Zertifikate der anerkannten Trustcenter lassen sich Weltweit als gueltige Unterschrift nutzen.

Die Schluesselpaare werden wie gesagt vom User selbst erstellt, da dieser nur so 100% sicher gehen kann, dass explizit er ueber den privaten Schluessel verfuegt.