Präsentation

Werbung
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
Herunterladen