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.