210 likes | 366 Views
Technische Übersicht zu Shibboleth 2. Shibboleth-Workshop, Freiburg, 23.03.2006. Franck Borel, UB Freiburg borel@ub.uni-freiburg.de. Übersicht. Wissen – Verstehen – Anwenden Eigenschaften von Shibboleth Wie funktioniert Shibboleth? Shibboleth in der Praxis Shibboleth in der Zukunft.
E N D
Technische Übersicht zu Shibboleth 2. Shibboleth-Workshop, Freiburg, 23.03.2006 Franck Borel, UB Freiburg borel@ub.uni-freiburg.de
Übersicht • Wissen – Verstehen – Anwenden • Eigenschaften von Shibboleth • Wie funktioniert Shibboleth? • Shibboleth in der Praxis • Shibboleth in der Zukunft Franck Borel, UB Freiburg 2
Eigenschaften von Shibboleth • Gesicherter Zugang zu webbasierten Diensten • Gewährleistet anonymen Zugang zu Informationen und Ressourcen, wobei der Zutritt beliebigen Gruppen/Personen zugewiesen werden kann (z.B. Universität, Fakultät, Prof. Ziegenbart) • Single Sign-On • Freie Wahl des Authentifizierungssystems (erwartet Umgebungsvariable REMOTE_USER) • Autorisierung erfolgt über Attribute • Nachrichten werden mit Hilfe von SOAP und SAML-Anfragen/Antworten ausgetauscht • Open-Source (Apache 2.0 Lizenz) • Setzt auf bewährte Software und Standards auf und unterstützt die wichtigsten Betriebssysteme Franck Borel, UB Freiburg 3
Wie funktioniert Shibboleth? Heimat-einrichtung mit Identity-Provider Anbieter mit Service-Provider Föderation Ordnet einen Benutzer seiner Heimateinrichtung zu WAYF Ressourcen-verwaltung, Zugangs-berechtigung Authentifizierung Autorisierung Vertragspartner, Operator, rechtliche Belange Franck Borel, UB Freiburg 4
Wie funktioniert Shibboleth? • Wodurch wird die Kommunikation zwischen Service-Provider und Identity-Provider ermöglicht? • HTTP / HTTPS (Port 80, 443, 8443) • Browser/Post (sichtbar für den Benutzer) • Browser/Artifact (nicht sichtbar für den Benutzer) • Umgebungsvariablen • SAML-Nachrichten • Metadaten Franck Borel, UB Freiburg 5
Wie funktioniert Shibboleth? HTTP/HTTPS SOAP Nachricht SOAP Kopf SOAP Inhalt SAML Anfrage/Antwort • SAML-Nachricht: Dient der Übertragung von Anfragen und Antworten Franck Borel, UB Freiburg 6
Wie funktioniert Shibboleth? • SAML-Nachrichten • Eigenschaften: • Können digital signiert werden • Werden in fünf verschiedenen Varianten verwendet: • Bestätigung einer erfolgreichen Authentifizierung • Attribute • Fehlerrückmeldung • Autorisierungsnachricht anhand derer der Service Provider entscheiden kann, ob ein Benutzer auf eine Ressource zugreifen darf oder nicht • Zusammengesetzter Typ aus a und b (Browser/Artifact) Franck Borel, UB Freiburg 7
Wie funktioniert Shibboleth? • Metadaten • Ermöglichen die Kommunikation zwischen Identity-Provider und Service-Provider • In den Metadaten sind Identity-Provider und Service-Provider aufgeführt, die an den Austausch von Nachrichten beteiligt sind • Nur in dem Metadaten aufgeführte Zertifikate werden akzeptiert Franck Borel, UB Freiburg 8
Wie funktioniert Shibboleth? • Metadaten: Aufbau Rahmen <EntitiesDescriptor> <Extensions> <ds:KeyInfo /> </Extensions> <EntityDescriptor> <IDPSSODescriptor /> </EntityDescriptor> <EntityDescriptor> <SPSSODescriptor /> </EntityDescriptor> </EntitiesDescriptor> Stamm-Zertifkate Identity Provider und Service Provider Franck Borel, UB Freiburg 9
Wie funktioniert Shibboleth? (1) Benutzerin bekannt? (3) (2) nein ja (6) Benutzerin (5) Benutzerin berechtigt? (4) (9) Identity-Provider (7) Zugriff gestattet ja (8) nein verweigert Service-Provider WAYF Franck Borel, UB Freiburg 10
Wie funktioniert Shibboleth? (4) 302 (3) GET (8) 302 (7) 200 (5) GET (6) POST (10) 200 (9) GET (2) 302 (1) GET Szenario: Erstkontakt ohne WAYF mit Browser/Artifact Identity Provider Authentifizierung Benutzer Attribute Authority (AA) Artifact Resolution Service SSO Dienst Assertion Consumer Service Access Control Target Resource Service Provider Franck Borel, UB Freiburg 11
Wie funktioniert Shibboleth? • Sicherheitsmechanismen • SSL/TSL: Man-in-the-Middle, Message Modification, Eavesdropping • XMLsig: Message Modification • Gültigkeitsdauer von Sitzungen, Bestätigungen, Attributen (engl. Lifetime, TTL):Replay, DOS • Metadaten: DOS, Message Modification • Es werden keine personenbezogenen Daten übermittelt sondern Stellvertreter (engl. Handler): Eavesdropping Franck Borel, UB Freiburg 12
Shibboleth in der Praxis • Unterstützte Betriebssysteme: • Linux • Solaris • Windows • Mac OS-X Franck Borel, UB Freiburg 13
Shibboleth in der Praxis • Notwendige Software (Bsp. Linux): • Identity Provider: • Tomcat • Apache mit mod_ssl (für HTTPS) und mod_jk (Verbindung zum Tomcat) • JDK (für Tomcat und Identity-Provider) • Ant (Software entpacken) • OpenSAML (transportieren, erstellen und parsen der SAML-Nachrichten) • OpenSSL (für Server-Zertifikate) • NTP (Zeitstempel: Wie lange ist die SAML-Nachricht gültig) Franck Borel, UB Freiburg 14
Shibboleth in der Praxis • Notwendige Software (Bsp. Linux): • Service Provider: • Apache + mod_ssl (für HTTPS) • OpenSSL (für Server-Zertifikate) • NTP (Zeitstempel: Wie lange ist die SAML-Nachricht gültig?) • Libcurl • OpenSAML (transportieren, erstellen und parsen der SAML-Nachrichten) Franck Borel, UB Freiburg 15
Shibboleth in der Praxis • Optionale Software (Auszug): • WAYF (Internet2): Lokalisierungsdienst • Rechteserver (Uni-Regensburg): Attributübersetzung für Service-Provider • Arpedit (Internet2): ARP-Editor für Identity Provider • Mod_auth_location (Internet2): Anonymer Zugang von ausgewählten Browsern und Service Providern • ShARPE (MAMS): Administrationswerkzeug zum Konfigurieren von ARP-Dateien • Autograph (MAMS): Benutzerwerkzeug zum Konfigurieren von ARP-Dateien • Resource-Registry (SWITCH): Zentraler Datenspeicher, in denen alle Informationen zu den Service Providern und Identity Providern zusammengetragen sind Franck Borel, UB Freiburg 16
Shibboleth in der Praxis • Erst-Installation: Wie geht man vor? • Dokumentationen zu Shibboleth • Installationsanleitung besorgen • Installation der Server und der Shibboleth-Software • Test-Konfiguration mit Hilfe der AAR Demo-Umgebung • Feinabstimmung der Konfiguration (z.B. Session Timeout, AAP, Logging) • Optionale Software einspielen und testen Franck Borel, UB Freiburg 17
Shibboleth in der Praxis • Potentielle Hürden: • Identity Provider: • Standard Authentifizierung (Tomcat Valve) reicht nicht immer aus und muss daher angepasst werden, was wiederum tief greifende Kenntnisse über Tomcat verlangt • Zertifikate • Shibboleth-Dokumentation • kein Single Log-Out (der Benutzer muss den Browser schliessen, um alle Sitzungen zu beenden; für die Version 2.1 ist ein Single Log-Out geplant) • Service Provider: • Zertifikate • Shibboleth-Dokumentation • WAYF: • Keine Dokumentation vorhanden! Franck Borel, UB Freiburg 18
Shibboleth in der Praxis • Ein paar Beispiele zu Diensten, die shibboleth-fähig gemacht worden sind: • ReDI (UB Freiburg): Testphase • Wiki (Ohio University): Produktionsphase • Virtuelle Lernumgebung (Bodington.org): Produktionsphase • Quicktime Streaming Server (Darwin Streaming Server): Produktionsphase • Datenbank (EBSCO Publishing): Produktionsphase • Napster: Produktionsphase • E-Learning (OLAT Schweiz): Produktionsphase Franck Borel, UB Freiburg 19
Shibboleth in der Zukunft • Für Shibboleth 2.x sind unter anderen folgende Erweiterungen geplant: • Anpassen an den SAML 2.0 Standard (z.B. Single Log-Out, Authentifizierung wird stärker in den Identity-Provider eingebunden als bisher, Service-Provider bekommt weitere Konfigurationseinstellungen) • ShARPE und Autograph als fester Bestandteil • Service Provider auch als Java-Servlet (2.3+) • der zentrale WAYF-Dienst fällt weg • es wird einen Discovery Service geben, der beim Service-Provider installiert ist und auch mit mehreren Föderationszugehörigkeiten zurecht kommt • Bessere Dokumentation Franck Borel, UB Freiburg 20
Ich danke Ihnen für Ihre Aufmerksamkeit! Fragen? Franck Borel, UB Freiburg 21