8.2.6. Zertifikate für öffentliche Schlüssel

Zertifikate sind digital signierte Dokumente, die die Bindung eines bestimmten öffentlichen Schlüssels an einen bestimmten Namen bestätigen. Dadurch läßt sich verhindern, daß jemand unbemerkt gefälschte Keys verwendet, um eine fremde Identität vorzutäuschen. Der Name kann dabei nicht nur Personen, sondern z.B. auch Rechner oder einzelne auf ihnen laufende Prozesse bezeichnen, da man diesen für unterschiedliche Zwecke ebenfalls Schlüssel zuordnet.

In der Regel wird ein Zertifikat von einer unabhängigen, vertrauenswürdigen Instanz ausgestellt, die man als Zertifizierungsinstanz (certification authority, kurz CA), vertrauenswürdige dritte Instanz (trusted third party) oder manchmal auch als trust center bezeichnet. Üblicherweise existieren Hierarchien von CAs. Hier ein Beispiel:

Die Zertifizierungsinstanzen an der Spitze einer solchen Hierarchie (auch als Root-CA bezeichnet), denen man in der Regel a priori vertraut, müssen ihre Keys geeignet publizieren (Rundfunk, Fernsehen, Presse ...), um so Fälschungen de facto auszuschließen.

Möchte nun jemand einem Partner nachweisen, daß sein verwendeter öffentlicher Schlüssel authentisch ist, so empfiehlt es sich, ihm eine Kette von Zertifikaten mitzusenden, in der jedes Element die Authentizität seines Vorgängers bestätigt. Enthält diese Kette das Zertifikat einer CA, der der Empfänger a priori vertraut bzw. deren Key er anderweitig (z.B. über die in einem Directory verfügbaren Zertifikate) zweifelsfrei überprüfen kann, so ist es ihm möglich, die Bindung des betreffenden öffentlichen Schlüssels an seinen vermeintlichen Eigner zu verifizieren.

Hier einige Hinweise auf existierende Zertifizierungsinstanzen bzw. -hierarchien:

Zertifikate sind Datenstrukturen, die aus einem Daten- und einem Unterschriftsteil bestehen. Der Datenteil enthält zumindest Informationen über den zu zertifizierenden Public Key (dazu gehören in der Regel der Schlüssel selbst, die Angabe des asymmetrischen Algorithmus, für den er erzeugt wurde, sowie optionale Parameter) und den Namen seines Eigentümers. Darüber hinaus sind meist noch weitere Elemente vorhanden, z.B. die Angabe des verwendeten Signaturverfahrens (Name des Algorithmus und optionale Parameter), ein Verfallsdatum, der Name der CA und eine Seriennummer. Der Unterschriftsteil enthält die von der jeweiligen CA erstellte digitale Signatur, die sich auf den Datenteil bezieht und somit die Bindung des Keys an den Namen seines Eigentümers herstellt.

Eines der am weitesten akzeptierten Formate für Zertifikate wurde durch die ITU-T im Standard X.509 definiert. Seit 1995 ist dessen Version 3 aktuell (X.509v3). X.509-Zertifikate werden z.B. bei PEM (Privacy Enhanced Mail), SSL, S/MIME [http://www.rsa.com/smime/] und PKCS eingesetzt. Ursprünglich wurde durch PKCS #6 eine Erweiterung von X.509 definiert. Mittlerweile orientiert allerdings auch RSADSI auf X.509v3.

Abschließend noch eine Bemerkung zu PGP: Dort haben Sie Zertifikate kennengelernt, die von keiner CA, sondern von anderen PGP-Nutzern (als introducer bezeichnet) ausgestellt wurden. PGP setzte vom Konzept her bewußt nicht auf CAs oder eine CA-Hierarchie, sondern auf ein sog. web of trust. Jeder Nutzer soll selbst entscheiden können, wem er wie stark vertraut. Das hat aber zur Folge, daß Zertifikatsketten zum Nachweis der Authentizität von Schlüsseln in der Regel nicht anwendbar sind, da man ja bei fremden Partnern nicht weiß, wem sie welches Vertrauen entgegenbringen.

Ein web of trust funktioniert bei kleinen Gruppen recht gut, ist aber beim großflächigen Einsatz von PGP, z.B. zum Signieren rechtsgültiger Verträge, sehr hinderlich bzw. meist nicht akzeptabel. Das Fehlen einer CA-Hierarchie ist auch der Hauptkritikpunkt seitens des Konkurrenten S/MIME, wie man in den S/MIME FAQ [http://www.rsa.com/smime/html/faq.html#gnrl.4] nachlesen kann:

PGP can be thought of as both a specification and an application. PGP relies on users to exchange keys and establish trust in each other. This informal "web of trust" works well for small workgroups, but can become unmanageable for large numbers of users. S/MIME, on the other hand, utilizies hierarchies in which the roles of the user and the certifier are formalized. This means that S/MIME is both more secure and more scalable than PGP implementations. S/MIME has flexible guidelines for establishing hierarchies of users and will be equally easy for small groups and scalable to large enterprises. S/MIME will also be well integrated into many e-mail applications, making it simple for users and ubiquitous.
Deshalb werden PGP-Keys zunehmend von CAs zertifiziert. Informationen dazu finden Sie z.B. auf der schon erwähnten Home-Page der DFN-PCA [http://www.cert.dfn.de/dfnpca/] oder auf den Seiten des IN.


© Holger Trapp, 18.10.1998