Informatik

Forschungsbericht 2011 - Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen (GWDG)

MPG-AAI – eine MPG-weite Authentifizierungs- und Autorisierungs-Infrastruktur

MPG-AAI – a MPG wide authentication and authorization infrastructure

Autoren

Andreas Ißleiber, Sebastian Rieger

Abteilungen

Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen

Zusammenfassung
Die MPG-AAI ist eine Max-Planck-weite Authentifizierungs- und Autorisierungs-Infrastruktur und ein gemeinsames Projekt der GWDG, der MPDL und des RZG. Primär dient diese Struktur zur sicheren Authentifizierung bei Web-Anwendungen mittels Shibboleth und bietet zudem den Vorteil des Single Sign-On. Ein Benutzer muss sich nur einmal an einer Web-Anwendung anmelden und hat damit Zugriff auf weitere Web-Anwendungen innerhalb seiner Föderation. Die MPG-AAI befindet sich im Testbetrieb, der aber bereits produktiv genutzt wird. Der Weg für die Anbindung weiterer Max-Planck-Institute steht nun offen.
Summary
The MPG-AAI is a Max Planck wide authentication and authorization infrastructure, which was planned and developed as a joint project between the GWDG, the MPDL and the RZG. This infrastructure serves primarily as a secure way for authentication with web applications via Shibboleth and provides single sign-on. A user only needs to sign on once with a web service and is subsequently granted access to further web applications within his federation. The MPG-AAI currently runs in test mode and is used productively. The road is now open to integrate additional Max-Planck Institutes.

MPG-AAI ist ein gemeinsames Projekt der Gesellschaft für wissenschaftliche Datenverarbeitung mbH Göttingen (GWDG), der Max Planck Digital Library (MPDL) und des Rechenzentrum Garching (RZG) zum Aufbau einer MPG-weiten, gemeinsamen, föderalen Infrastruktur zur Authentifizierung („Wer bin ich?“) und Autorisierung („Was darf ich?“). Im Fokus stehen hierbei zugangskontrollierte Web-Anwendungen im Internet.

Im Jahr 2010 wurde eine Pilotföderation bestehend aus dem Max-Planck-Institut für Festkörperforschung in Stuttgart sowie dem Max-Planck-Institut für Psycholinguistik in Nijmegen realisiert. Zusätzlich wurden neben den beiden Rechenzentren der MPG (RZG und GWDG) sechs weitere Institute der MPG in die Testföderation integriert und stellen damit eine Basis für eine einheitliche Authentifizierung und Autorisierung für  Web-Anwendungen dar, welche innerhalb dieser Föderation angeboten werden.

Die Realisierung einer MPG-weiten Authentifizierungsstruktur mit klassischen Methoden (Active Directory, LDAP, Radius etc.) erfordert oft eine gemeinsame Authentifizierungsdatenbasis und ein zentrales Benutzermanagement. Nicht zuletzt aufgrund des Föderalismus der einzelnen Max-Planck-Institute existieren recht unterschiedliche Benutzerverzeichnisse und Varianten zur Authentifizierung, die einer gemeinsamen, zentralen Struktur zunächst entgegen sprechen. Moderne Ansätze, wie der Einsatz von Shibboleth als Authentifizierungsverfahren für den sicheren Zugriff auf geschützte Web-Angebote, schaffen den Spagat zwischen Zentralisierung und dezentralen, autonomen Benutzerverzeichnissen.

Single Sign-On ist einer der wesentlichen Vorteile für Web-Anwendungen innerhalb dieser Struktur. Hat sich ein Benutzer erfolgreich an einer innerhalb der Föderation angebotenen Web-Anwendung authentifiziert (Service Provider, kurz: SP), so entfällt damit die Notwendigkeit einer erneuten Anmeldung bei Zugriff auf weitere föderativ angebotene Web-Anwendungen. Ein weiterer Vorteil liegt in der logischen Trennung von Authentifizierung und Autorisierung. Die Heimatinstitution eines Nutzers ist qualitativ in der Lage, die Authentifizierung durchzuführen. Eine Autorisierung, also die Definition, was der Benutzer „darf“, obliegt hier dem Anbieter.

Discovery Services und Identity Provider

Eine Anmeldung an einer Web-Anwendung erfolgt durch die Auswahl des Heimatinstituts des Benutzers (Discovery Service, kurz: DS) und der anschließenden Anmeldung am sog. Identity Provider des Instituts. Einige Institute betreiben bereits eigene Identity Providers, (kurz: IdPs) für die Authentifizierung und Autorisierung. Auf der anderen Seite gibt es auch kleinere Institute, die keine eigene Benutzerverwaltung durchführen bzw. die Verwaltung an externe Dienstleister, wie beispielsweise die GWDG oder das RZG, auslagern.

 

IdP Proxy zur Darstellung eines gemeinsamen MPG-weiten IdP

Für die Auslagerung des IdP-Betriebs an die Rechenzentren wurde eine spezielle Erweiterung für das im Rahmen der MPG-weiten Authentifizierungs- und Autorisierungs-Infrastruktur (kurz: MPG-AAI) verwendete Shibboleth-System realisiert. Aufgrund der Funktion als Vermittler zwischen mehreren Föderationen und verschiedenen Authentifizierungsverfahren wird diese Erweiterung als „IdP Proxy“ bezeichnet. Der IdP Proxy ermöglicht es, die Eigenständigkeit der Max-Planck-Institute hinsichtlich des Identity Managements aufrecht zu erhalten, ohne dabei alle 80 Institute separat in externe Föderationen integrieren zu müssen. Innerhalb der Max-Planck-Gesellschaft bestand die Anforderung, Shibboleth für die Authentifizierung und Autorisierung verteilter Forschungsgruppen einzusetzen. Außerdem sollten die Max-Planck-Institute Zugriff auf externe Dienstleister bzw. Verlage erhalten, die ihre Authentifizierung und Autorisierung bereits auf Shibboleth umgestellt haben.

Die Mehrheit dieser externen Service Provider ist bereits in der DFN-AAI-Föderation des DFN-Vereins integriert, welche ebenfalls Shibboleth verwendet. Um die Dienste innerhalb der DFN-AAI für die Benutzer der Max-Planck-Institute nutzbar zu machen, wurde eine Anbindung der MPG-AAI an die DFN-AAI angestrebt.

Eine einfache Lösung für die Integration der eigenständigen Institute in die DFN-AAI bildet die Registrierung separater IdPs für jedes Institut der MPG innerhalb der DFN-AAI. Dies hätte jedoch zur Folge, dass jedes Institut auch zwingend einen IdP installiert und die zu dessen Betrieb erforderliche Expertise aufbauen und vorhalten muss. Aus Sicht des DFN-Vereins war es überdies nicht wünschenswert, alle 80 Institute der Max-Planck-Gesellschaft separat zu integrieren, da dies die Verwaltung des DS erschwert hätte.

Insbesondere wäre hierbei die Verwendung der DFN-AAI aufgrund der Länge der Liste der Heimat-Organisationen (Universitäten und Forschungseinrichtungen) durch die zusätzlichen Max-Planck-Institute schwieriger geworden. Benutzer anderer Einrichtungen müssten bei der Auswahl ihrer Heimat-Organisation am DS eine unüberschaubar lange, um 80 Max-Planck-Institute erweiterte, Liste durchgehen.

Die MPG-AAI sollte zusätzlich offen für die Integration weiterer Föderationen, z. B. von internationalen Forschungsgruppen oder -netzen, konzipiert werden. Dies schließt auch die eigenständige Integration einzelner Institute in weitere Föderationen mit ein.

Als Alternative zur Registrierung separater IdPs für die Institute wurde daher ein einzelner, zentraler IdP entwickelt, der als Proxy die gesamte MPG in der DFN-AAI repräsentiert. Dieser „IdP Proxy“ ist dabei sowohl in der DFN-AAI als auch in der MPG-AAI registriert, was Abbildung 1 verdeutlicht.

Funktion des IdP Proxy

Verwenden Benutzer eines Max-Planck-Instituts einen Dienst innerhalb der DFN-AAI, so wählen sie im DS des DFN-Vereins den Eintrag „Max-Planck-Gesellschaft“ aus und werden zum Login an den IdP Proxy weitergeleitet. An diesem können sich die Benutzer anschließend mit dem Account ihres lokalen Instituts anmelden.

Um die heterogene Struktur der Benutzerverwaltung an den Instituten abzubilden, können Institute bezüglich der Anbindung an den IdP Proxy zwischen drei Optionen wählen (vgl. Abb. 1).

Option a)
Das Institut betreibt einen eigenen Shibboleth IdP innerhalb der MPG-AAI, welche vom IdP Proxy für die Authentifizierung und Autorisierung verwendet wird.

Option b)
Besitzt das Institut keine eigenen Kapazitäten für den Betrieb eines Shibboleth IdP, so kann auch eine andere bestehende Benutzerverwaltung angebunden werden. Beispielsweise könnte der IdP Proxy eine Datenbank, ein Kerberos KDC oder, wie in der MPG am häufigsten verwendet, einen LDAP-Server des Instituts abfragen.

Option c)
Diese Option eignet sich für kleinere Institute innerhalb der MPG, die keine eigene Benutzerverwaltung durchführen bzw. diese an externe Dienstleister auslagern. Diese Option ist beispielhaft für die Auslagerung des Identity Managements an die GWDG oder das RZG als externen Dienstleister.

Shibboleth IdP Proxy als Bindeglied zwischen heterogenen IT-Strukturen Bild vergrößern
Shibboleth IdP Proxy als Bindeglied zwischen heterogenen IT-Strukturen

Der IdP Proxy kann zusätzlich zur der in Abbildung 1 gezeigten MPG-AAI sowie DFN-AAI auch in weitere Föderationen aufgenommen werden. Die Anbindung von Föderationen anderer Länder oder Forschungsgruppen am IdP Proxy ist dabei jederzeit möglich. Dies unterstützt auch die Fluktuation von Personen und Projekten (z. B. temporäre Aufnahme von Gastforschern etc.).

Der IdP Proxy fungiert somit als zentrale Instanz, um eine dezentrale Authentifizierung und Vertrauensstellungen zu realisieren. Für die Anmeldung am IdP Proxy verwenden die Benutzer die an Ihrem Heimat-Institut vergebene E-Mail-Adresse, welche somit auch Eindeutigkeit besitzt. Anhand der E-Mail-Adresse ermittelt der IdP Proxy das Heimat-Institut sowie den zugehörigen IdP oder das vom Institut verwendete Authentifizierungssystem. Das vom Benutzer eingegebene Passwort wird dann gegenüber dieser Instanz verifiziert und der Benutzer authentifiziert. Die E-Mail-Adresse selbst wird nur für die Anmeldung verwendet und nicht an den vom Benutzer verwendeten Anbieter übermittelt.

Unabhängig von dem durch das Institut gewählten Betriebsmodell können die für den Benutzer ermittelten Attribute vor der Übermittlung an den SP gefiltert oder modifiziert werden. Beispielsweise können Attribute, deren Inhalt nur innerhalb der MPG übertragen werden darf, gefiltert werden. Dadurch wird der Datenschutz bei der Übermittlung von Attributen zwischen unterschiedlichen Föderationen gewährleistet. Um den Benutzern in Bezug auf den Datenschutz die Möglichkeit zu geben, die übermittelten Attribute selbst zu kontrollieren, wurde auf dem IdP Proxy der in der Schweiz für die SWITCH-AAI entwickelte uApprove-Dienst installiert. uApprove zeigt dem Benutzer alle ermittelten Attribute an und erfordert dessen explizite Zustimmung vor der Übermittlung.

 

Zugriff auf Verlage und Digital Libraries

Ein Beispiel für einen Shibboleth-basierten Dienst stellt der Zugriff auf Verlage dar. In der Vergangenheit wurde der Zugriff auf Web-Ressourcen wissenschaftlicher Verlage insbesondere durch die Prüfung der IP-Adresse des Clients, von dem aus der Zugriff erfolgt, geschützt. Benutzer, die über eine vom jeweiligen Verlag akzeptierte IP-Adresse verfügten, wurden durch diese Adresse gleichermaßen authentifiziert und autorisiert. Um die Authentifizierung und Autorisierung an unterschiedlichen Web-Seiten unabhängig von der IP-Adresse einheitlich zu realisieren, wurden in den letzten Jahren vermehrt Shibboleth-basierte föderative Authentifizierungsverfahren eingeführt und die Verlage beispielsweise als SPs in die DFN-AAI integriert. Trotzdem verwendet die Mehrzahl weiterhin eine IP-Adress-basierte Zugangskontrolle. Dies ist vorrangig in der Komplexität von föderativen im Vergleich zu IP-basierten Verfahren begründet. Um den Benutzern innerhalb einer Föderation auch diese Anbieter bzw. Verlage zugänglich zu machen, wurden unterschiedliche Proxy-Lösungen für Bibliotheken (wie z. B. der OCLC EZproxy) um föderative Authentifizierung und Autorisierung erweitert. Alle Benutzer des Proxy erhalten hierbei innerhalb der Föderation dessen IP-Adresse als Quell-Adresse beim Zugriff auf die Verlage. Mit dieser einzelnen IP-Adresse ist auf der Seite der Verlage keine differenzierte Autorisierung und Abrechnung, z. B. von unterschiedlichen Instituten, die den Proxy verwenden, möglich. Hierfür wurde von der GWDG, der MPDL und dem RZG ein sog. IP Proxy realisiert, der eine Anmeldung mittels Shibboleth ermöglicht, in Richtung der Verlage allerdings unterschiedliche Quell-IP-Adressen verwendet, um so unterschiedliche Max-Planck-Institute differenzieren zu können. Basierend darauf kann eine differenzierte Abrechnung sowie die Erhebung institutsbezogener Nutzungsstatistiken für die MPDL ermöglicht werden.

Abb. 2: Einsatz eines Proxy-Servers für den Zugriff auf Verlage in einer Föderation Bild vergrößern
Abb. 2: Einsatz eines Proxy-Servers für den Zugriff auf Verlage in einer Föderation

Die Abbildung 2 zeigt die Verwendung des Proxy-Servers für Verlage, deren Zugriffskontrolle nach wie vor auf der Quell-IP-Adresse des zugreifenden Web-Clients basiert, innerhalb einer Föderation.

Die Abbildung zeigt einen Ausschnitt der MPG-AAI-Föderation der Max-Planck-Gesellschaft. In dem gezeigten Beispiel betreiben die Institute i1 und i2 für die Authentifizierung und Autorisierung ihrer Benutzer einen Shibboleth IdP innerhalb der Föderation.

Funktion der Authentifizierung und Autorisierung in Abbildung 2:

  • Die Benutzer können sich an dem Web Proxy „MPG EZproxy“ über die IdPs ihrer Institute authentifizieren und nach erfolgreicher Autorisierung auf die Ressourcen der Verlage v1 und v2 zugreifen.
  • Der EZproxy bildet hierbei die Funktion eines Reverse Proxy für die Web-Ressourcen der Verlage.
  • Benutzer können beispielsweise über die Adresse http://verlag-v1.proxy.aai.mpg.de auf den Verlag v1 zugreifen.

Da für die Autorisierung und das Accounting auf der Seite der Verlage die Quell-IP-Adresse des Proxy ausgewertet wird, können die Benutzer, unabhängig von Ihrer aktuellen IP-Adresse, auf die bereitgestellten Ressourcen zugreifen. Außerdem können die Benutzer alle Dienste der Föderation, z. B. Verlage, die bereits eine föderative Authentifizierung sowie den EZproxy unterstützen, ohne separate Anmeldung nutzen.

Die „Single Sign-On“-Authentifizierung und -Autorisierung am EZproxy erfüllt auch die Anforderungen der Verlage in Bezug auf den Schutz der Ressourcen.

Häufig schließt dies auch zusätzliche Anforderungen, wie z. B. maximale Gültigkeitszeiträume für Benutzer-Accounts bzw. eine zeitnahe Sperrung von Benutzer-Accounts, mit ein, die innerhalb der Policy der Föderation für alle Teilnehmer verbindlich vorgegeben werden. Die skizzierte Lösung erlaubt eine sanfte Migration zum föderativen Authentifizierungsverfahren, ohne den Benutzern den Zugriff auf Verlage, deren Zugriffskontrolle noch auf der Auswertung der Quell-IP-Adresse basiert, außerhalb des IP-Subnetzes ihres Instituts zu verweigern. Der MPG EZproxy ist unter http://ezproxy.aai.mpg.de erreichbar.

 

Fazit und weitere Entwicklung

Shibboleth als Verfahren zur verteilten Authentifizierung und Autorisierung ist nicht vollkommen neu, gewinnt aber insbesondere in der letzten Zeit durch den nachvollziehbaren Wunsch, geregelten Zugriff auf Web-Ressourcen zu bekommen, immer mehr an Bedeutung. Eine besondere Motivation entstand durch die wissenschaftlichen Verlage und Bibliotheken, die das Angebot kontrolliert den Benutzern zur Verfügung stellen möchten. Die Zugriffsbeschränkung der Verlage durch Listen von „erlaubten“ IP-Adressen stellte sich als suboptimal heraus und ermöglicht dem Anwender oft nicht die legale Nutzung der Dienste außerhalb seiner Heimatinstitution. Teilweise sind recht aufwendige VPN-Konstruktionen in den Instituten entstanden, um dieser Problematik zu begegnen, welche jedoch nicht von allen Verlagen zugelassen sind.

Die MPG-AAI unter Einsatz von Shibboleth ist ein geeigneter Ausweg und überführt den Anwender in eine moderne Authentifizierungsumgebung, ohne dass besondere Expertise auf Seiten der Nutzerschaft vorhanden sein muss. MPG-AAI aber auch DFN-AAI geben der Entwicklung und dem Einsatz in der Praxis deutlichen Rückenwind und demonstrieren, dass auch der Einsatz komplexerer Verfahren zur Authentifizierung durchaus anwenderfreundlich ist.

Die Strukturen sind geschaffen, und der Anbindung weiterer Max-Planck-Institute in der Test-Föderation steht nun der Weg offen. Die aus mittlerweile sechs Max-Planck-Instituten und den beiden Rechenzentren RZG und GWDG gebildete Keimzelle könnte der Beginn für eine zukünftige, flächendeckende MPG-weite AAI-Struktur sein.
Detaillierte Informationen zur MPG-AAI und zur Teilnahme können unter https://aai.mpg.de nachgelesen werden.

 
loading content