ZIDline
Ein kleines Authentifizierungslexikon
Georg Gollmann
Eine technische Voraussetzung für die u:book-Aktion (siehe Artikel "u:books an der TU Wien") war der Betrieb einer AAI Federation auf Basis von SAML 2.0. Was ist mit diesem Kauderwelsch gemeint? Der folgende Artikel versucht eine Erklärung.

Grundbegriffe

AAI

Das Akronym AAI steht für Authentifizierungs- und Autorisierungs-Infrastruktur.

Federation

Der Begriff Federation bezeichnet einen organisationsübergreifenden Verbund. Im Fall der gerade abgelaufenen u:book-Aktion bestand er aus elf Universitäten und drei Händlern. Für die Zukunft ist geplant, diesen ad hoc Verbund im Rahmen des ACOnet zu institutionalisieren (ACOnet-AAI). Aufgabe einer AAI Federation ist, gemeinsame Richtlinien festzulegen und den gesicherten Austausch der Metadaten zu ermöglichen. Die Richtlinien umfassen z. B. technische Anforderungen, die Definition der verwendeten Attribute, oder den Datenschutz.

Authentifizierung

Bei der Authentifizierung wird die Identität des Benutzers von einem Identity Provider überprüft, üblicherweise durch Benutzername und Passwort. Die Auswahl des zuständigen Identity Providers erfolgt über einen WAYF Dienst.

Autorisierung

Autorisierung ist die Vergabe von Rechten. Sie findet durch die Weitergabe von Attributen des authentifizierten Benutzers vom Identity Provider an den Service Provider statt. Unterschiedliche Service Provider können unterschiedliche Sätze von Attributen erhalten.

Prinzipiell muss dem Service Provider die Identität des Benutzers gar nicht bekannt werden – es könnte z. B. lediglich bestätigt werden, dass der anonyme Benutzer Mitarbeiter der TU Wien ist.

Single Sign-On

Nach Anmeldung bei einem Identity Provider werden die diesem bekannten Anwendungen freigeschaltet. Bei sicherheitskritischen Anwendungen kann dies unerwünscht sein, daher besteht die Möglichkeit, bei solchen Anwendungen immer eine explizite Anmeldung zu verlangen.

Neben der Bequemlichkeit ist ein Vorteil von Single Sign-On, dass die Benutzer daran gewöhnt werden, ihr Passwort nur mehr an einer Stelle einzugeben. Phishing Attacken sollten dadurch weniger erfolgreich sein.

Single Sign-Off

Abmeldung vom Identity Provider und von allen geöffneten Applikationen. Aber Achtung: durch die lose Kopplung der einzelnen Server über das Internet besteht keine Garantie, dass alle Abmeldungen tatsächlich bzw. sofort ausgeführt werden. Der Benutzer sollte zumindest Rück-meldung bekommen, wo die Abmeldung funktioniert hat und wo nicht. Das öfter empfohlene Schließen des Browsers kann helfen, lokale Daten der Sitzung zu löschen, ist aber auch dafür keine Garantie. Sitzungen auf den Servern sind von dieser Aktion ohnehin nicht berührt.

Für Fortgeschrittene

SAML 2.0

Die Abkürzung steht für Security Assertion Markup Language. Es handelt sich um eine auf XML basierende Spezifikation, um Authentifizierungsdaten, Rechte und Attribute von Benutzern zwischen Computern auszutauschen. SAML ist eine umfangreiche Spezifikation, in der Praxis werden nur einzelne Teile („Profile“) benötigt.

Das Ziel von SAML ist, Authentifizierungslösungen verschiedener Anbieter miteinander kompatibel zu machen.

Identity Provider, IdP

Der Identity Provider prüft die Identität des Benutzers und gibt dem Service Provider die vorher vereinbarten Benutzerattribute weiter. Bei der u:book-Aktion hat jede teilnehmende Universität einen Identity Provider betrieben.

Service Provider, SP

Der Service Provider bietet Dienste an, die auf bestimmte Benutzergruppen eingeschränkt sind und daher Authentifizierung und Autorisierung der Benutzer erfordern. Die Webshops und das u:book-Forum waren die Service Provider der u:book-Aktion.

Metadaten

Metadaten beschreiben und identifizieren die einzelnen Provider. Identity Provider und Service Provider müssen sich für einen gesicherten Datenaustausch gegenseitig bekannt gemacht werden. Zu diesem Zweck werden die Metadaten von der Federation gesammelt und den Teilneh- mern signiert zur Verfügung gestellt.

WAYF

Where Are You From. Ein Dienst, über den der Benutzer seine Heimatorganisation und damit seinen Identity Provider auswählt; oft ein einfaches Auswahlmenü.

Attribute

Attribute sind Aussagen über den authentifizierten Benutzer. Diese Merkmale können u. a. Name, E-Mail-Adresse oder Organisationszugehörigkeit sein. Zur Attributdefinition im akademischen Bereich gibt es verschiedene Standards, wie etwa eduPerson oder SCHAC.

User Consent

Aus Datenschutzgründen werden dem Benutzer die Attribute angezeigt, bevor sie an den Service Provider übermittelt werden. Wichtig im Single Sign-On Umfeld, da sonst diese Übermittlung erfolgen könnte, ohne dass dem Benutzer bewusst wird, welche seiner Daten an welchen Service Provider weitergegeben werden. Der Benutzer gibt entweder die Übermittlung der Attribute an den Service Provider frei, oder er bricht den Anmeldevorgang ab. Damit der Benutzer bei wiederholten Besuchen eines Service Providers nicht immer wieder gefragt wird, kann er die Zustimmung zur Weitergabe eines bestimmten Satzes von Attributen beim Identity Provider speichern.

Implementierungen

Shibboleth

Eine verbreitete SAML Implementierung ist Shibboleth. Shibboleth deckt alle Bereiche des umfangreichen SAML Standards ab, ist dadurch aber aufwendig in der Installation und Konfiguration. Shibboleth ist in Java implementiert.

simpleSAMLphp

Wie der Name andeutet, handelt es sich um eine PHP Implementierung. Die Installation und Konfiguration ist relativ einfach, ebenso die Anbindung an bestehende (PHP) Anwendungen. Es werden dafür nicht alle – selten benötigten – Aspekte des SAML Standards abgedeckt.

simpleSAMLphp kommt an der TU Wien für den Identity Provider zum Einsatz.

Lokale Authentifizierung

Der ZID betreibt seit Jahren ein Authentifizierungsservice für Webapplikationen (siehe ZIDline Nr. 7). Mittlerweile sind 75 Anwendungen registriert, die im laufenden Jahr bereits über 4 Millionen Authentifizierungen durchgeführt haben. Hauptnutzer ist mit großem Abstand TUWIS++, gefolgt von TUWEL.

In den letzten Monaten wurde dieser Dienst um ein Portal erweitert, das neben Single Sign-On auch Single Sign-Off erlaubt.

Der Vorteil der lokalen Authentifizierung gegenüber SAML ist die sehr einfache Einbindung in eigene Anwendungen, potentieller Nachteil ist die Beschränkung auf lokale Benutzer und auf die reine Authentifizierung, d. h. Autorisierungsinformationen müssen aus anderen Quellen, etwa aus TUWIS++, geholt werden.

Die Zukunft

Derzeit ist nicht abzuschätzen, wie schnell die ACOnet- AAI abseits der u:book-Aktion in Schwung kommen wird. Bislang haben sich jedenfalls noch keine größeren universitätsübergreifenden Projekte aufgedrängt. Für lokale Bedürfnisse stellt das gut eingeführte Authentifizierungsservice eine einfach zu benutzende Alternative dar. Deshalb werden vom ZID auf absehbare Zeit beide Schienen parallel angeboten werden.