X.509 vs. Kerberos

X.509 und Kerberos sind zwei wichtige Verfahren im Bereich der Authentifizierung, die gleichzeitig auch für das Single Sign-On gegenüber mehreren Anwendungen eingesetzt werden können. Der Artikel vergleicht die Einsatzbereiche der beiden Ansätze miteinander.

Vor allem Anbieter von Smartcard-Infrastrukturen klagen gelegentlich über Diskussionen darüber, dass Smartcards und X.509v3 verzichtbar seien, weil auf Kerberos gesetzt würde. Aussagen in dieser Art beruhen aber im besten Fall auf einem Vergleich von „Äpfeln mit Birnen“. Es gibt zwar einige Ergebnisse, die man zwar sowohl mit Kerberos als auch mit auf X.509v3 basierenden digitalen Zertifikaten erreichen kann. In der Praxis wird man aber zumindest in mittleren und größeren Netzwerken nicht daran vorbeikommen, beide Verfahren zu nutzen.

Kerberos

Kerberos ist zunächst ein Standard für die Authentifizierung in verteilten Umgebungen. Kerberos definiert, wie Clients, Authentifizierungsserver und Anwendungsdienste, auf die zugegriffen werden soll, zusammenarbeiten können. Da es sich um einen Standard handelt, mit dem auf verteilte Dienste zugegriffen werden kann, kann er auch für das Single Sign-On genutzt werden. So genannte „kerberized applications“, also Anwendungen mit integriertem Support für Kerberos, können nach einer Authentifizierung mit Dienst-Tickets, die vom KDC (Kerberos Key Distribution Center, die authentifizierende Komponente) genutzt werden.

X.509v3

X.509v3 beschreibt dagegen zunächst einmal nur einen Standard für digitale Zertifikate. Digitale Zertifikate identifizieren einen Benutzer, ein System oder einen Dienst.

Da zu digitalen Zertifikaten einerseits ein öffentlicher, andererseits ein privater Schlüssel gehört, können diese Zertifikate nicht nur für die Authentifizierung, sondern auch für andere Aufgabenstellungen wie die Verschlüsselung und Signatur genutzt werden.

Die Historie der digitalen Zertifikate liegt auch eher in diesen Bereichen. Der wichtigste Einsatzbereich ist bis heute die Authentifizierung von Servern gegenüber Browsern bei der Nutzung von HTTPS.