Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E-Learning Anwendungen Christian Nockemann
Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E-Learning
AnwendungenChristian Nockemann
Freitag, 16. März 2008
2
Agenda
1. Einleitung
2. Single Sign-On
3. SSO im E-Learning Kontext
4. Live Demo
5. Fazit
1. 2. 3. 4. 5.Agenda
Freitag, 16. März 2008
3
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
1. 2. 3. 4. 5.Einleitung
Freitag, 16. März 2008
4
Single Sign-On
• Einmalige Anmeldung bei Authentifizierungs-Autorität (AA)
• Authentifizierung bei mehreren Service-Anbietern (SA)
• Zwei Varianten[Koc07]:– Client-basiert– Server-basiert
• Weiterleitung der Benutzerdaten [Ope01]:– direkt– token-basiert– unmittelbar– temporär
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
5
Token-basierte Weiterleitung [Dec02]
Service-Anbieter n
Service-Anbieter 2
Authentifizierungs-Autorität
Authentifi-zierungs-Server
Benutzer
(1) Anmeldedaten
(2)
Vertrauen
(4) Anmeldung mit Token(3) Token
Service-Anbieter 1
Datenbank
AccountManager
Benutzer Schnittstelle
Anmeldung
AccountManager
Datenbank
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
6
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
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
7
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
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
8
Anmeldung mit Kerberos
KDC
Authentication Server (AS)
Client
(1)Ticket-Granting-Ticket(TGT)
-Anfrage
(5)
(2) Antwort
Service-Anbieter
Ticket Granting
Server (TGS)
Principal Database
(3) Service-Ticket(ST)-Anfrage
(4) Antwort
(6)
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
9
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
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
10
OpenID
• Sehr populär [Arr08]
• Beschränkt sich auf grundlegende SSO-Funktionen
• Vier Parteien:– Client– OpenID Server– Identity Server– Consumer
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
11
Anmeldung mit OpenID
OpenID-Server
Client
(5) Login(1) OpenID URL(6) Weiterleitungzum Consumer
Consumer
Identity Server
(2) OpenID Server ermitteln (3) OpenID Server
(4)Weiterleitung Zum OpenID
Server(7) Zugriff
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
12
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
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
13
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
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
14
Anmeldung mit Shibboleth
Identity Provider
SSO ServiceAuthentication
Authority
Service Provider
Ziel Ressource
Assertion Consumer
Service
Client
Zugriffskontrolle
(1) (2) (7) (8) (6) (4)(5) (3)
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
15
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 Service-
Anbieter zugreift
• Nachteile:– Aufwändige Anpassung bereits vorhandener Web-
Ressourcen– Kein Single Sign-Out
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
16
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 E-Learning Umfeld am besten geeignet
1. 2. 3. 4. 5.Single Sign-On
Freitag, 16. März 2008
17
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
1. 2. 3. 4. 5.SSO im E-Learning Kontext
Freitag, 16. März 2008
18
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
1. 2. 3. 4. 5.SSO im E-Learning Kontext
Freitag, 16. März 2008
19
Kopplung mit dem Identitätsmanagement des ZIV
• IdP des ZIV empfängt und bearbeitet Authentifizierungsanfragen
• Voraussetzungen für die Nutzung des SSO-Services:– Installation eines SP– Zertifikat des ZIV
• Übermittelte Attribute:– Nachname– Universitäts-Email-Adresse– ZIV-Kennung
• Verwendung der Benutzerdatenbank des ZIV
1. 2. 3. 4. 5.SSO im E-Learning Kontext
Freitag, 16. März 2008
20
Anmeldung bei xLx
1. 2. 3. 4. 5.Live Demo
Freitag, 16. März 2008
21
Anmeldung beim IdP des ZIV
1. 2. 3. 4. 5.Live Demo
Freitag, 16. März 2008
22
Weiterleitung zurück zum SP
1. 2. 3. 4. 5.Live Demo
Freitag, 16. März 2008
23
Zugriff auf den geschützten Bereich
1. 2. 3. 4. 5.Live Demo
Freitag, 16. März 2008
24
Anmeldung bei Learnr
1. 2. 3. 4. 5.Live Demo
Freitag, 16. März 2008
25
Direkte Weiterleitung zum geschützten Bereich
1. 2. 3. 4. 5.Live Demo
Freitag, 16. März 2008
26
Zugriff auf den geschützten Bereich
1. 2. 3. 4. 5.Live Demo
Freitag, 16. März 2008
27
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
1. 2. 3. 4. 5.Fazit
Freitag, 16. März 2008
28
Literaturverzeichnis
[Arr08] Micheal Arrington: OpenID Welcomes Microsoft, Google, Verisign and IBM, http://www.techcrunch.com/2008/02/07/openid-welcomes-microsoft-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/openid-next-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.tu-freiberg.de/~saxis/content/dokumente/Eberle_TU_Freiberg.pdf?PHPSESSID=c07726a2852cb0ed7a5122f2562edc8e. Zuletzt abgerufen am 08.04.08.
1. 2. 3. 4. 5.Literaturverzeichnis
Freitag, 16. März 2008
29
Literaturverzeichnis
[Koc07] Christian Koch: Single Sign-On – Komfort für den Benutzer oder ein Sicherheitsrisiko?, http://www.securitymanager.de/magazin/artikel_996_single_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.
1. 2. 3. 4. 5.Literaturverzeichnis
Freitag, 16. März 2008
30
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.oasis-open.org/committees/tc_home.php?wg_abbrev=security. Zuletzt abgerufen am 04.04.08.
[Wie08] Mike Wiesner, Kerberos V5 mit Debian, http://meetings-archive.debian.net/pub/debian-meetings/2005/linuxtag-karlsruhe/debianday/mike_wiesner-kerberos_v5_mit_debian.pdf. Zuletzt abgerufen am 08.04.08.
1. 2. 3. 4. 5.Literaturverzeichnis
Freitag, 16. März 2008
31
Fragen?
Freitag, 16. März 2008
32
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>
1. 2. 3. 4. 5.Implementierung
Freitag, 16. März 2008
33
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.
1. 2. 3. 4. 5.Implementierung