X.509 vs. Kerberos

Single Sign-On gegenüber Anwendungen

Sowohl mit Kerberos als auch auf Basis von digitalen Client-Zertifikaten lässt sich ein Single Sign-On gegenüber Anwendungen realisieren. Bei Kerberos sind dafür die bereits genannten Anwendungen mit Kerberos-Unterstützung erforderlich. Bei Nutzung von X.509v3 müssen Anwendungen diesen Standard unterstützen und in irgendeiner Form ein Mapping der Benutzerinformationen aus dem Zertifikat auf Daten aus einem Verzeichnisdienst durchführen können. Beispiele für solche Mappings finden sich bei den IIS sowie beim Active Directory selbst (Bild 1).

Bild 1: Ein Mapping von Zertifikaten zu Benutzerkonten kann beispielsweise beim Active Directory erfolgen.
Bild 1: Ein Mapping von Zertifikaten zu Benutzerkonten kann beispielsweise beim Active Directory erfolgen.

Auf den ersten Blick scheint sich hier also die These von der Austauschbarkeit der beiden Verfahren zu bestätigen. Das gilt auch, wenn man sich beispielsweise mit IPSec (IP Security) beschäftigt, wo die Authentifizierung ebenfalls über Kerberos und über X.509v3 erfolgen kann.

Bei näherer Betrachtung gibt es aber einige gravierende Unterschiede zwischen den beiden Verfahren. Zum einen ist die Unterstützung für X.509v3 insgesamt deutlich größer. Zum anderen ist Kerberos ein Verfahren, das nur innerhalb von lokalen Netzwerken wirklich sinnvoll nutzbar ist. Zwar lassen sich Vertrauensstellungen zwischen verschiedenen Kerberos-Infrastrukturen definieren. In der Praxis ist es aber sehr viel einfacher, einzelne digitale Zertifikate beispielsweise an externe Benutzer zu vergeben, als Vertrauensstellungen zwischen den Kerberos-Infrastrukturen zweier Unternehmen zu definieren (was faktisch meist unmöglich ist).

Kerberos ist auf der anderen Seite ein Mechanismus, der transparent innerhalb von Windows-Umgebungen ohnehin genutzt wird und der für die dort lokal eingesetzten Anwendungen erste Wahl ist. Eine Fokussierung auf Kerberos als Authentifizierungsstandard in Windows-Umgebungen, und damit auch für die Entwicklung eigener Anwendungen, ist daher durchaus sinnvoll.

Die zwingende Erfordernis für X.509v3

An X.509v3 wird man aber nicht vorbei kommen. Digitale Zertifikate werden für die Sicherheit von Web-Zugriffen, den Schutz von drahtlosen Netzwerken über IEEE 802.1X oder die Identity Federation als Einsatzbereiche betrachtet. In allen Fällen werden digitale Zertifikate und damit auch eine Infrastruktur für die Erstellung derselben benötigt.

In der Konsequenz muss man daher sowohl über Kerberos als auch X.509 nachdenken. Kerberos ist der sinnvolle Standard für die Authentifizierung an internen Anwendungen. X.509v3 wird dagegen für Web-Anwendungen und die gezielte Einbindung externer Benutzer benötigt. Die Standards ergänzen sich mehr als sie konkurrieren.