Matthias Aevermann Systemberatung

« | Home | »

Der X.509 Standard

Digitale Zertifikate

 
Im Folgenden beschreibe ich den Einsatz von Zertifikaten zur Verschlüsselung  und Signatur auf Basis von X.509. Ich habe mich bemüht eine allgemein  verständliche Darstellung der Funktionen zu geben.

Der Standard X.509 beschreibt das Design von digitalen Zertifikaten, die in  einer PKI-Infrastruktur erstellt wurden. X.509 ist der am weitesten  verbreite Standard einer PKI und zeichnet sich durch einen hierarchischen Aufbau  aus. Dies unterscheidet ihn beispielsweise von PGP, einer weiteren PKI  Technologie, die einen dezentralen Ansatz aufweist.

Bei X.509 stellen sogenannte Zertifizierungsstellen (CA) Zertifikate aus.  Diese Zertifikate können von Computern oder Benutzers zur Verschlüsselung oder  Signatur verwendet werden. Ein Zertifikat ist immer an eine Person oder einen  Computer gebunden und sichert dessen Kommunikation mit anderen Benutzern oder  Computern.

Nutzen von Zertifikaten

Auf Basis von Zertifikaten kann die Kommunikation entweder signiert oder  verschlüsselt werden. Bei der Signatur wird verhindert, dass der Inhalt der  Kommunikation verändert werden kann, bei der Verschlüsselung wird das Lesen der  Kommunikation durch unberechtigte Dritte verhindert.

Eine PKI basiert immer auf der Nutzung von 2 unterschiedlichen Schlüsseln,  hier ist auf der einen Seite der namensgebende öffentliche Schlüssel (public key) und als weitere Komponente der private Schlüssel zu nennen. Die für Signatur und Verschlüsselung genutzten  mathematischen Funktionen sind so gewählt, dass man aus dem öffentlichen  Schlüssel keine Rückschlüsse auf den privaten Schlüssel ziehen kann und der  öffentliche Schlüssel daher als Teil des Zertifikates ohne  Sicherheitseinschränkungen bereitgestellt werden kann.

Bei der Signatur erzeugt der Absender bzw. das von ihm verwendete Programm  mittels mathematischer Funktionen mit dem privaten Schlüssel eine Prüfsumme über  die signierte Nachricht. Der Empfänger kann mit dem Zertifikat sowohl die  Prüfsumme prüfen als auch den Ursprung der Nachricht nachvollziehen.

Bei der Verschlüsselung wird ebenfalls auf Basis von mathematischen  Funktionen mit dem öffentlichen Schlüssel eine Nachricht für eine weitere Person  oder einen weiteren Computer verschlüsselt, die bzw. der die Nachricht mit dem  privaten Schlüssel entschlüsseln und im Klartext auf die Informationen zugreifen  kann.

Vertrauensstellung

Die Sicherheit dieser Kommunikation hängt einerseits von den mathematischen  Funktionen und andererseits von der Infrastruktur ab. Ein Computer oder eine  Person kann dem Ursprung einer Nachricht nur dann vertrauen, wenn er der  absendenden Stelle vertrauen kann. An dieser Stelle zeigt sich der Nutzen des  hierarchieschen Aufbaus von X.509. Die CA erstellt Zertifikat, über die der  Kommunikationspartner prüfen kann, ob der andere Kommunikationspartner  vertrauenswürdig ist. Die CA fügt im Zuge der Generierung eines Zertifikates in  dieses u.a folgende Informationen ein:

- Ausstellende CA
- URLs für den Zugriff auf Informationen über die   CA
- Seriennummer des Zertifikates
- Gültigkeitszeitraum eines   Zertifikates
- Informationen über den Antragsteller, z.B. Email-Adresse   oder DNS-Name des Computers (FQDN)
- Verwendungszweck (Verschlüsselung,   Signatur usw.
- URL zum Abruf von Sperrinformationen (wird im Folgenden   beschrieben)

Anschließend signiert die CA das Zertifikat und verhindert so, dass  Informationen verändert werden können. Die Signatur hat zudem noch eine weitere  Funktion, sie erlaubt den Kommunikationspartnern die Echtheit des Zertifikates  und somit die Vertrauenswürdigkeit des Kommunikationspartners zu prüfen.

Die CA ist einem Notar vergleichbar, der die Echtheit von etwas attestiert.  Während aber bei einem Notar Regelungen exisitieren, die die Einhaltung von  Regeln garantieren, kann eine CA theoretisch von beliebigen Personen aufgebaut  werden. Die Sicherheit hängt entsprechend davon ab, dass nur mit Zertifikaten  aus wirklich notwendigen Zertifizierungsstellen kommuniziert wird und nicht  beliebige Zertifizierungsstellen akzeptiert werden. Um dies sicher zustellen  muss eine CA als gültiger Nachweis für die Identität von Computern oder  Personen anerkannt werden. Die CA muss im Computersystem als  vertrauenswürdig eingestuft werden, erst im Anschluss werden Zertifikate aus  dieser Hierarchie akzeptiert. Computer enthalten in der Regel eine Liste von  vertrauenswürdigen CAs, es ist aber möglich diese zu erweitern. Auf diese Weise  kann eine sichere Kommunikation garantiert werden.

Sicherer Einsatz von Zertifikaten

Zertifikate werden entweder als Dateien oder auf sicheren Trägern wie  Smartcards gespeichert. Die geeignete Speicherung hängt von den  Anforderungen ab, bei der Speicherung als Datei sollte immer darauf geachtet  werden, dass die Datei nicht im Klartext auslesbar ist und Schutzmechanismen ein  Kopieren durch Dritte verhindern. Neben dem Risiko des Kopierens von  Dateien existieren noch weitere Aspekte, die bei der Nutzung von Zertifikaten  beachtet werden müssen. Dateien können wie schon beschrieben kopiert oder  versehendlich gelöscht werden, Smartcard unterliegen dagegen dem Risiko von  Verlust oder Beschädigung. Da in diesem Fall das Zertifikat nicht mehr verwendet  werden kann und verhindert werden soll, dass es durch den Finder der Smartcard  oder des kopierenden Dritten verwendet wir, muss es zurückgerufen und als  ungültig eingestuft werden. Dieser Prozess wird Sperrung genannt und führt dazu,  dass Kommunikationspartner erkennen können, dass ein Zertifikat nicht mehr  verwendet werden soll. DieSperrung eines Zertifikates erfolgt indem das  Zertifikat in eine sogenannte Sperrliste eingetragen wird, die die  Kommunikationspartner bei Nutzung von Zertifikaten prüfen. Neben Sperrlisten  gibt es noch weitere Möglichkeit der Bereitstellung des Sperrstatus z.b. über  OCSP oder SCVP, diese beiden Validierungsprotokolle beschreibe ich auf den  Webseiten http://www.ocsp.de/ und http://www.scvp.de/.

Zertifikate werden nur als gültig akzeptiert, wenn im Rahmen der Überprüfung  des Sperrstatus die Meldung kommt, dass das Zertifikat nicht gesperrt wurden.  Bei einer positiven Meldung (Zertifikat ist gesperrt) oder Zugriffsfehlern  auf die Sperrstatusinformationen wird das Zertifikat als ungültig bewertet und  je nach Konfiguration eine Warnung angezeigt oder die Kommunikation  abgebrochen.

Die Nutzung von Zertifikaten ist in den meisten Betriebssystemen oder auch  Kommunikationssoftware (E-Mail-Clienst) integriert und kann ohne größere  Aufwände genutzt werden. Der Funktionsumfang kann aber von der jeweiligen  Software abhängen.

 

Test-Möglichkeiten

Für Interessierte findet sich auf der Webseite des PKI Komponenten Anbieters  “Cryptoshop” eine Anleitung zur Einrichtung  einer Testumgebung zur Demonstration zertifikatsbasierter Anwendungen. Die  Anleitung beschreibt den Testaufbau einer CA auf einem Microsoft Windows Server.  Dieser behinhaltet als optionale Funktion die Zertifizierungsdienste, mit denen  eine CA für beliebig große Umgebungen aufgebaut werden kann. Es handelt sich um  ein weitentwickelte, sehr stabile Lösung, die nicht nur für Microsoft-Umgebungen  geeignet ist. Durch ihre Schnittstellen zum Active Directory ist Sie gerade im  Microsoft-Umfeld in vielen Fällen die beste Wahl.

Bitte beachten Sie, dass es sich hier nur um eine Anleitung für  Testsysteme handelt. Das Design einer PKI Infrastruktur beinhaltet viele  Aspekte, die hier verständlicher Weise nicht behandelt werden können. Ich  empfehle vor dem Aufbau einer PKI Infrastruktur eine detaillierte Planung auf  Basis der Anforderungen. Designfehler können sich langwierig auswirken und sind  teilweise nachträglich nicht mehr zu korrigieren.

Eine einfache Möglichkeit zum Testen von Zertifikaten bietet auch  verschiedene Trustcenter, hierbei handelt es sich kommerzielle Betrieber von  Zertizierungsstellen. Alternativ bietet Microsoft das Programm makecert, mit dem  selbstsignierte Zertifikate für Testzwecke erstellt werden können. Eine  Beschreibung zur dem Programm finden Sie unter Creating  a Digital Certificate for Testing Purposes. Makecert ist im Windows® Server 2003 SP1  Platform SDK Web Install enthalten.