Einsatz von Single-Sign-On Technologien im Rahmen der Integration von ELearning Anwendungen Christian Nockemann Agenda 1. Einleitung 2. Single Sign-On 3. SSO im E-Learning Kontext 4. Live Demo 5. Fazit Freitag, 16. März 2008 1. 2. 3. 4. Agenda 5. 2 Einleitung • Unüberschaubare Anzahl von Web-Ressourcen • Jeweils eigene Anmeldeverfahren • Probleme aus Sicht der Benutzer: – Geringe Benutzerfreundlichkeit – Sicherheitsprobleme • Probleme aus Sicht der Admins/Entwickler: – Kosten-/Zeitaufwändige Verwaltung von Benutzerdaten – Inkonsistente Datenhaltung – Aufwändige Entwicklung und Änderung von sicheren Anmeldeverfahren Freitag, 16. März 2008 1. 2. 3. 4. Einleitung 5. 3 Single Sign-On • Einmalige Anmeldung bei AuthentifizierungsAutorität (AA) • Authentifizierung bei mehreren ServiceAnbietern (SA) • Zwei Varianten[Koc07]: – Client-basiert – Server-basiert • Weiterleitung der Benutzerdaten [Ope01]: – – – – direkt token-basiert unmittelbar temporär Freitag, 16. März 2008 1. 2. 3. 4. Single Sign-On 5. 4 Token-basierte Weiterleitung [Dec02] Benutzer (1) Anmeldedaten (3) Token AuthentifizierungsServer (2) (4) Anmeldung mit Token Datenbank Benutzer Schnittstelle Anmeldung Account Manager Datenbank Vertrauen Account Manager Authentifizierungs-Autorität Service-Anbieter 1 Service-Anbieter 2 Service-Anbieter n Freitag, 16. März 2008 1. 2. 3. 4. Single Sign-On 5. 5 Autorisierung und Single Sign-Out • Autorisierung: – Geschieht meist nach der Authentifizierung – „Zuweisung […] von Zugriffsrechten auf Daten und Dienste an Systemnutzer“ [Jan04] • Single Sign-Out – Gleichzeitige Abmeldung bei allen Service-Anbietern – Wichtig bei der Benutzung öffentlicher Rechner Freitag, 16. März 2008 1. 2. 3. 4. Single Sign-On 5. 6 Kerberos • • • • Authentifizierungsprotokoll Starke Kryptographie [Ker07] Authentifizierung mit so genannten Tickets Drei Parteien [Wie08]: – Principal (z.B. c_nock01/student@uni-muenster) – Key Distribution Center (KDC) • Principal Database • Authentication Server (AS) • Ticket Granting Server (TGS) – Service-Anbieter Freitag, 16. März 2008 1. 2. 3. 4. Single Sign-On 5. 7 Anmeldung mit Kerberos Client (2) Antwort (1)Ticket-GrantingTicket(TGT) -Anfrage (4) Antwort (3) ServiceTicket(ST) -Anfrage (5) (6) Ticket Granting Server (TGS) Authentication Server (AS) Principal Database KDC Freitag, 16. März 2008 Service-Anbieter 1. 2. 3. 4. Single Sign-On 5. 8 Vor- und Nachteile von Kerberos • Vorteile: – Sichere Kryptographie – Performant [Wie08] – Im RFC 1510 festgehalten • Nachteile: – Nicht ohne weiteres mit NAT-Firewalls einsetzbar [Wie08] – Anpassung bereits vorhandener Web-Applikationen ist sehr aufwändig – Kein Single Sign-Out Mechanismus Freitag, 16. März 2008 1. 2. 3. 4. Single Sign-On 5. 9 OpenID • Sehr populär [Arr08] • Beschränkt sich auf grundlegende SSOFunktionen • Vier Parteien: – – – – Client OpenID Server Identity Server Consumer Freitag, 16. März 2008 1. 2. 3. 4. Single Sign-On 5. 10 Anmeldung mit OpenID Client Identity Server (4)Weiterleitung (1) OpenID URL Zum OpenID Server (7) Zugriff (2) OpenID Server ermitteln (3) OpenID Server (5) Login Consumer Freitag, 16. März 2008 (6) Weiterleitung zum Consumer OpenID-Server 1. 2. 3. 4. Single Sign-On 5. 11 Vor- und Nachteile von OpenID • Vorteile: – Weit verbreitet – Auch bei bereits vorhandenen Webseiten leicht einzusetzen – Sehr intuitiv, da Benutzer sich direkt beim Consumer anmeldet – Single Sign-Out Problematik existiert nicht • Nachteile: – – – – Phishing Attacken möglich [Lau07] Identity Server speichert besuchte Seiten [Ben07] Keine Autorisierungsfunktion Nur grundlegende SSO-Funktionalität Freitag, 16. März 2008 1. 2. 3. 4. Single Sign-On 5. 12 Shibboleth • Basiert auf der Security Assertion Markup Language (SAML) [OAS07] • Vier Parteien: – Client – Identity Provider (IdP) • SSO-Service • Authentication Authority – Service Provider (SP) • Assertion Consumer Service – Where Are You From? (WAYF) • Unterstützt Weiterleitung von Attributen Freitag, 16. März 2008 1. 2. 3. 4. Single Sign-On 5. 13 Anmeldung mit Shibboleth Client (1) (2) (7) (8) (5) (6) (3) (4) Zugriffskontrolle Ziel Ressource Assertion Consumer Service SSO Service Identity Provider Service Provider Freitag, 16. März 2008 Authentication Authority 1. 2. 3. 4. Single Sign-On 5. 14 Vor- und Nachteile von Shibboleth • Vorteile: – Verbreitete Standards: SAML, XML, SOAP, SSL, uvm. – Nutzung bereits vorhandener Infrastrukturen [Ebe06] – Intuitiv, da Benutzer zunächst auf den ServiceAnbieter zugreift • Nachteile: – Aufwändige Anpassung bereits vorhandener WebRessourcen – Kein Single Sign-Out Freitag, 16. März 2008 1. 2. 3. 4. Single Sign-On 5. 15 Evaluation der SSO-Anbieter • OpenID: – Leicht anwendbar, weit verbreitet – Sicherheitslücken, geringer Funktionsumfang • Kerberos: – Hoher Grad an Sicherheit, Performant – Aufwändige Anpassung, kein Single Sign-Out • Shibboleth: – Flexibel, Offene Schnittstellen – Aufwändige Anpassung, kein Single Sign-Out → Kerberos und Shibboleth sind für das ELearning Umfeld am besten geeignet Freitag, 16. März 2008 1. 2. 3. 4. Single Sign-On 5. 16 Vorteilhaftigkeit von SSO im E-Learning Kontext • Vorteile: – – – – Einheitlicher Authentifizierungsvorgang Benutzerfreundlichkeit Sicherheit Reduzierter Aufwand für Benutzerverwaltung • Nachteile: – Ermöglicht unerlaubten Zugriff auf viele SAs, wenn Anmeldedaten ausgespäht werden – Single-Point-Of-Failure – Nur wenige Anbieter unterstützen Single Sign-Out Freitag, 16. März 2008 1. 2. 3. 4. 5. SSO im E-Learning Kontext 17 SSO an der WWU • Seit 2006 wird Shibboleth eingesetzt (initiiert vom ZIV) • ZIV stellt IdP zur Verfügung • Anwendungen die den Service bereits nutzen: – Learnr (learnr.uni-muenster.de) – xLx (xlx.uni-muenster.de) • Anmeldung mit ZIV-Kennung und Passwort Freitag, 16. März 2008 1. 2. 3. 4. 5. SSO im E-Learning Kontext 18 Kopplung mit dem Identitätsmanagement des ZIV • IdP des ZIV empfängt und bearbeitet Authentifizierungsanfragen • Voraussetzungen für die Nutzung des SSOServices: – Installation eines SP – Zertifikat des ZIV • Übermittelte Attribute: – Nachname – Universitäts-Email-Adresse – ZIV-Kennung • Verwendung der Benutzerdatenbank des ZIV Freitag, 16. März 2008 1. 2. 3. 4. 5. SSO im E-Learning Kontext 19 Anmeldung bei xLx Freitag, 16. März 2008 1. 2. 3. 4. Live Demo 5. 20 Anmeldung beim IdP des ZIV Freitag, 16. März 2008 1. 2. 3. 4. Live Demo 5. 21 Weiterleitung zurück zum SP Freitag, 16. März 2008 1. 2. 3. 4. Live Demo 5. 22 Zugriff auf den geschützten Bereich Freitag, 16. März 2008 1. 2. 3. 4. Live Demo 5. 23 Anmeldung bei Learnr Freitag, 16. März 2008 1. 2. 3. 4. Live Demo 5. 24 Direkte Weiterleitung zum geschützten Bereich Freitag, 16. März 2008 1. 2. 3. 4. Live Demo 5. 25 Zugriff auf den geschützten Bereich Freitag, 16. März 2008 1. 2. 3. 4. Live Demo 5. 26 Fazit • SSO gewinnt an Bedeutung[Arr08] • Nutzenzuwachs für Benutzer und Entwickler/Admins • Universitätsübergreifendes SSO-Netz denkbar – Im Rahmen des SaxIS-Projekts in Sachsen bereits eingeführt[Sax06] • Probleme: – Single Sign-Out – Anpassungsaufwand Freitag, 16. März 2008 1. 2. 3. Fazit 4. 5. 27 Literaturverzeichnis [Arr08] Micheal Arrington: OpenID Welcomes Microsoft, Google, Verisign and IBM, http://www.techcrunch.com/2008/02/07/openid-welcomesmicrosoft-google-verisign-and-ibm/. Zuletzt abgerufen am 09.04.08. [Ben07] Ralf Bendrath: OpenID - next big thing with lots of problems, http://bendrath.blogspot.com/2007/04/openidnext-big-thing-with-lots-of.html. Zuletzt abgerufen am 20.04.08. [Dec02] J. De Clercq: Single Sign-On Architectures, in Lecture notes in computerscience vol. 2437, S. 40 – 58, Springer-Verlag, 2002. [Ebe06] Lars Eberle, SaxIS-Shibboleth-Workshop, http://www.tufreiberg.de/~saxis/content/dokumente/Eberle_TU_Freiberg.pd f?PHPSESSID=c07726a2852cb0ed7a5122f2562edc8e. Zuletzt abgerufen am 08.04.08. Freitag, 16. März 2008 1. 2. 3. 4. 5. Literaturverzeichnis 28 Literaturverzeichnis [Koc07] Christian Koch: Single Sign-On – Komfort für den Benutzer oder ein Sicherheitsrisiko?, http://www.securitymanager.de/magazin/artikel_996_sin gle_sign_on_komfort_fuer_den_benutzer_oder.html. Zuletzt abgerufen am 01.04.08. [Ope01] Introduction to Single Sign-On, http://www.opengroup.org/security/sso_intro.htm. Zuletzt abgerufen am 04.04.08. [Jan04] Wilhelm Janssen: Autorisierung, http://www.at-mix.de/autorisierung.htm. Zuletzt abgerufen am 19.04.08. [Ker07] What is Kerberos?, http://web.mit.edu/kerberos/www/#what_is. Zuletzt abgerufen am 08.04.08. Freitag, 16. März 2008 1. 2. 3. 4. 5. Literaturverzeichnis 29 Literaturverzeichnis [Lau07] Ben Laurie: OpenID: Phishing Heaven, http://www.links.org/?p=187. Zuletzt abgerufen am 20.04.08. [OAS07] OASIS Security Services (SAML) TC, http://www.oasisopen.org/committees/tc_home.php?wg_abbrev=s ecurity. Zuletzt abgerufen am 04.04.08. [Wie08] Mike Wiesner, Kerberos V5 mit Debian, http://meetings-archive.debian.net/pub/debianmeetings/2005/linuxtagkarlsruhe/debianday/mike_wiesnerkerberos_v5_mit_debian.pdf. Zuletzt abgerufen am 08.04.08. Freitag, 16. März 2008 1. 2. 3. 4. 5. Literaturverzeichnis 30 Fragen? Freitag, 16. März 2008 31 Implementierung • Installation und Konfiguration eines SP: – Shibboleth Dienst bzw. Daemon installieren (shibd) – Apache/Tomcat Konfiguration: • shibboleth.xml • httpd.conf: <Location /geschützte_ressource> AuthType shibboleth ShibRequireSession On ShibRedirectToSSL 443 require valid-user </Location> • AAP.xml: <AttributeRule Name="urn:mace:dir:attribute-def:mail" Header="Shib-mail"> <AnySite> <AnyValue/> </AnySite> </AttributeRule> Freitag, 16. März 2008 1. 2. 3. 4. Implementierung 5. 32 Implementierung • Auslesen des HTTP-Headers – Code-Beispiel in Java: String E-Mail = request.getHeader(“Shib-mail”); • Leicht wartbar, da nur bei einer Pfadänderung die httpd.conf angepasst werden muss. Freitag, 16. März 2008 1. 2. 3. 4. Implementierung 5. 33