33
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 Anwendungen Christian Nockemann

Embed Size (px)

Citation preview

Page 1: 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

Page 2: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian 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

Page 3: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 4: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 5: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 6: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 7: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 8: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 9: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 10: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 11: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 12: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 13: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 14: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 15: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 16: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 17: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 18: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 19: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 20: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

Freitag, 16. März 2008

20

Anmeldung bei xLx

1. 2. 3. 4. 5.Live Demo

Page 21: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

Freitag, 16. März 2008

21

Anmeldung beim IdP des ZIV

1. 2. 3. 4. 5.Live Demo

Page 22: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

Freitag, 16. März 2008

22

Weiterleitung zurück zum SP

1. 2. 3. 4. 5.Live Demo

Page 23: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

Freitag, 16. März 2008

23

Zugriff auf den geschützten Bereich

1. 2. 3. 4. 5.Live Demo

Page 24: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

Freitag, 16. März 2008

24

Anmeldung bei Learnr

1. 2. 3. 4. 5.Live Demo

Page 25: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

Freitag, 16. März 2008

25

Direkte Weiterleitung zum geschützten Bereich

1. 2. 3. 4. 5.Live Demo

Page 26: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

Freitag, 16. März 2008

26

Zugriff auf den geschützten Bereich

1. 2. 3. 4. 5.Live Demo

Page 27: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 28: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 29: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 30: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 31: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

Freitag, 16. März 2008

31

Fragen?

Page 32: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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

Page 33: Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E- Learning Anwendungen Christian Nockemann

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