Single Sign-on: Shibboleth

From
Revision as of 22:05, 14 December 2009 by Eweber (talk | contribs)
Jump to navigation Jump to search

Single Sign-on

Was ist Single Sign-on?

Single Sign-on befasst sich mit der Zugangskontrolle von mehreren, unabhängigen Software-Systemen. Anders gesagt, der Anwender muss sich über Single Sign-o nur einmal anmelden und erhält sofort Zugang zu allen Systemen. Dementsprechend steht Single Sign-out für das gleichzeitige Ausloggen aus diesen Systemen.

Vor- und Nachteile

Vorteile:

  • Es wird ein einheitlicher Authentisierungsmechanismus verwendet.
  • Der Anwender muss sich nur ein Passwort und einen Login-Namen merken.
  • Es kann ein komplexeres, sicheres Passwort gewählt werden.
  • Die Kosten reduzieren sich, da Wartungsarbeiten einfacher durchzuführen sind.

Nachteile:

  • Der Single Sign-on-Mechanismus kann zum Single Point of Failure werden. Das heißt bei z.B. Sicherheits- oder Daten-Übertragungsproblemen wird der Zugang zu allen beteiligten Systemen im schlimmsten Fall unmöglich, bzw. unsicher.
  • Die Anwender-Daten werden zentral gespeichert. (Datenschutz)
  • Ein Identity-Provider kann speichern welche Dienste der Anwender wann benutzt hat. (Data Tracking)

Konzepte

Portal (Zentraler Sign-on Server)

Beispiele: Yahoo!, MSN(Passport), Central Authentication Servie (CAS)

Lokal

Beispiele: Passwort-Manager, Microsoft's Identity Metasystem

Ticketing-Systeme (Circle of Trust)

Beispiele: Kerberos, Liberty Alliance Project

Shibboleth

Allgemeines

Shibboleth ist ein auf Standards basierendes, Open-Source Software-Packet für Web Single Sing-on. Es ist unter der Apache Software License herausgegeben worden. Shibboleth implementiert die OASIS' Security Assertion Markup Language (SAML). Weiterhin enthält Shibboleth eine erweiterte Funktionalität, die es dem Browser-Anwender und der Heimat-Organisation erlaubt die Attribute zu kontrollieren, die jeder Anwendung freigegeben werden. (Attribute-Based Access Control)

Shibboleth als Begriff

Shibboleth (deutsch: Schibboleth) stammt von dem hebräischen Wort "shibbólet". Es bedeutet eigentlich wörtlich "Getreideähre", wird aber im Sinne von "Code" oder "Kennwort" verwendet. Shibboleth bezeichnet somit eine sprachliche Besonderheit, durch die man eine Person einer bestimmten sozialen oder regionalen Gruppe zuordnen kann. Fremde, also nicht Zugehörige können auf diese Art entlarvt werden, wie auch durch folgenden Text aus dem Alten Testament (Buch der Richter 12, 5-6) deutlich wird:


"Und die Gileaditer nahmen ein die Furten des Jordans vor Ephraim. Wenn nun die Flüchtigen Ephraims sprachen: Laß mich hinübergehen! so sprachen die Männer von Gilead zu ihm: Bist du ein Ephraimiter? Wenn er dann antwortete: Nein! hießen sie ihn sprechen: Schiboleth; so sprach er: Siboleth und konnte es nicht recht reden; alsdann griffen sie ihn und schlugen ihn an den Furten des Jordans, daß zu der Zeit von Ephraim fielen 42000."

Föderationen

Föderationen sind Zusammenschlüsse von in Beziehung stehenden Organisationen, wie zum Beispiel, Universitäten, Bibliotheken oder anderen Informationsanbietern.

  • Universitäten, Unternehmen und Regierungsbehörden
  • DFN-AAI (Deutschland)
  • InCommon (US)
  • SWITCHaai (Schweiz)
  • The UK federation (Großbritannien)
  • Federation Education-Recherche (Frankreich)
  • ...

Anwendungen und Dienste

Im Folgenden sind einige ausgewählte Beispiele für Systeme, die Shibboleth verwenden oder Schnittstellen für Shibboleth anbieten, aufgelistet.

Informationsanbieter

  • American Chemical Society
  • Elsevier ScienceDirect
  • H.W. Wilson
  • National Science Digital Library (NSDL)
  • Online Computer Library Center (OCLC)
  • Schweizerisches Bundesgericht
  • ...

Learning Management Systems

  • Blackboard
  • Moodle
  • OLAT - Online Learning and Training
  • WebAssign
  • WebCT
  • ...

Andere Systeme

  • DokuWiki
  • Google Apps/Email
  • GridShib
  • Horde
  • Microsoft
  • Napster
  • WordPress
  • ...

Anforderungen und Spezifikationen

Der Identity Provider (IdP) wurde in Java geschrieben und der Service Provider (SP) läuft mit Apache, dem Internet Locator Server (IIS) oder dem Netscape Server Application Programming Interface (NSAPI). Außerdem kann er auf Java und anderen Web Servern abgebildet werden. Es wird u.a. das SAML 2.0 Web Browser SSO Profile, Cardspace, das Shibboleth Profile, SAML 1.1, LDAP, sowie Kerberos unterstützt. Die Client-Software muss für die Verwendung von Shibboleth nicht modifiziert werden.

Login-Prozedur

Überblick

Ermittelung der Heimat-Organisation

Authentisierung, Attribute-Statement und Zugriff

Zusammenfassung

Single Logout

Quellen

Single Sign-on

  • [1]: Wikipedia-Artikel über Single Sign-on
  • [2] Rummeyer, Oliver; Düsterhaus, Jörg (2006): SSO frei Haus: Einfache Lösungen zur Implementierung von Single Sign-on (SSO)
  • [3] Bruce Sams (2008): Single-Sign-On-Systeme

Shibboleth

  • [4]: Shibboleth-Homepage
  • [5]: Shibboleth-Demo des Schweizer Wissenschaftsnetzwerks SWITCH
  • [6]: Beschreibung der Schwierigkeiten mit Single Logout in der Shibboleth-Dokumentation
  • [7]: Single Logout Lösung des ungarischen National Information Infrastructure Developement Institute (NIIF)
  • [8]: Wikipedia-Artikel über die Bedeutung des Wortes Shibboleth