Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E-Learning Anwendungen

Preview:

DESCRIPTION

Einsatz von Single-Sign-On Technologien im Rahmen der Integration von E-Learning Anwendungen. Christian Nockemann. Agenda. 1. Einleitung 2. Single Sign-On 3. SSO im E-Learning Kontext 4. Live Demo 5. Fazit. Einleitung. Unüberschaubare Anzahl von Web-Ressourcen - PowerPoint PPT Presentation

Citation preview

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

Recommended