X.509 - Kurzfassung

Ein (X.509)-Zertifikat ist ein elektronischer Datensatz, der mit einem Ausweis vergleichbar ist und im Wesentlichen folgende Daten enthält: [3]

  • eine eindeutige Kennung
  • Daten des Inhabers
  • Daten des Ausstellers
  • den Gültigkeitszeitraum
  • den öffentlichen Schlüssel eines Public Key Systems des Inhabers
  • den Verwendungszweck
  • die Unterschrift (Signatur) des Ausstellers nebst Kennung des für die Signatur verwendeten Zertifikats des Ausstellers

Der vollständige Datensatz enthält noch einige Felder mehr und definiert auch eine Reihe von Regeln für die Benutzung des Zertifikats. [1] Die Daten sind vom Aussteller verifiziert, die Signatur wird mit Hilfe des privaten Schlüssels des Ausstellers erstellt. Sie kann mit dem öffentlichen Schlüssel überprüft werden. Die Daten können nicht verändert werden, ohne dass die Signatur ungültig wird. Fälschungen sollen so ausgeschlossen werden.

Der öffentliche Schlüssel des Inhabers kann genutzt werden, um diesem eine verschlüsselte Nachricht zukommen zu lassen oder Signaturen des Inhabers zu prüfen.

Um ein von einem Server vorgelegtes Zertifikat prüfen zu können, benötigt man folglich das Ausstellerzertifikat, auch CA-Root-Zertifikat genannt. Der Einfachheit halber werden die Root-Zertifikat in den Browsern vorinstalliert. In den Einstellungen der Browsers kann man sich leicht ein Bild davon verschaffen. Lässt sich das vorgelegte Zertifikat nicht überprüfen, erhält der Nutzer eine Warnung und muss selbst entscheiden, ob er die Verbindung trotzdem zulässt; [2] möglicherweise wird die Verbindung auch von der Software abgelehnt, ohne dass der Nutzer ein Mitspracherecht hätte. Hierdurch soll erreicht werden, dass man immer mit demjenigen verbunden sein sollte, den man auch erreichen wollte, und sich nicht ein Hacker unerkannt in eine Verbindung einschleifen kann. So weit, so gut - oder eher schlecht.

Jede CA bietet nämlich mehrere Zertifikate mit unterschiedlichen Sicherheitsstufen an, von ungeprüft bis ISO 9000-x geprüft. Herauszubekommen, welche Qualität ein Nutzerzertifikat hat, ist selbst für Fachleute mit einigem Aufwand verbunden. Der Browser weiß es ebenfalls nicht und zeigt alle Qualitäten gleich an. Darüber hinaus existieren Zwischenzertifikate, d.h. ein Server-Zertifikat ist mit einem Zwischenzertifikat signiert und erst dieses mit einem registrierten CA-Root-Zertifikat. Die Software prüft solche Zertifikatketten automatisch und gibt auch solche Verbindungen frei. Für den Nutzer ist alles transparent, d.h. die Verbindung ist verschlüsselt, bei allem Weiteren muss er der Software blind vertrauen.

Die Datenstruktur der Zertifikate wird mit Hilfe der Strukturnotation ASN.1 beschrieben, die einzelnen Datenfelder durch Object Identifier (OID) eindeutig gekennzeichnet (Dokumente X.680 und X.690, im Internet zu finden). Wenn man sich mit dem Innenleben der Software beschäftigen will, ist zumindest eine Grundkenntnis dieser Spezifikationen notwendig. Leider müssen wir dich hierbei auf ein Selbststudium verweisen. Mit den angegebenen Quellen und Hilfen sollte das aber kein Problem sein. Du kannst damit aber auf jeden Fall warten, bis du auf Codeteile stößt, in denen diese Kenntnisse tatsächlich notwendig sind.

[1]Dieses Regelwerk ist im Detail etwas unübersichtlich. Obwohl bestimmte Kombinationen von Parametern formal nicht ausgeschlossen sind, verweigert die eine oder andere Software die Kooperation. Die Dokumentationen sind häufig unvollständig; wer selbst Versuche machen will, ist zum Teil auf Trial-and-Error angewiesen, bis etwas funktioniert.
[2]Solche Sonderzertifikate werden ebenfalls in der Browserdatenbank gespeichert, d.h. die Bestätigung durch den Nutzer erfolgt nur einmalig. Nur an dieser Stelle wird der Nutzer tatsächlich aktiv in das Geschehen eingebunden. Die Nutzung dieser Möglichkeit ist allerdings im X.509-Schema die Ausnahme und wird im EI-Schema zum Prinzip werden.
[3]Im Menü “Einstellungen” jedes Browsers findet man unschwer die Abteilung “Zertifikate” (meist im Bereich “Advanced Options”), in der man sich die Zertifikate und deren Inhalt genauer ansehen kann, ohne dabei befürchten zu müssen, irgendetwas Dummes anzustellen.

Letzte Aktualisierung: 13.7.2017