Web Browser Single Sign-On mit der Security Assertion Markup
Transcription
Web Browser Single Sign-On mit der Security Assertion Markup
Proseminar „XML-Grundlagen, Verarbeitung und Anwendungen“ Web Browser Single Sign-On mit der Security Assertion Markup Language (SAML) André Becker IPD Böhm, Lehrstuhl für Systeme der Informationsverwaltung I am Joe! KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft No, you aren't! www.kit.edu Das Single Sign-On (SSO) Problem Joe 2 André Becker - Web Browser SSO mit SAML IPD Böhm, Lehrstuhl für Systeme der Informationsverwaltung Das Single Sign-On (SSO) Problem (2) ? 3 André Becker - Web Browser SSO mit SAML Joe IPD Böhm, Lehrstuhl für Systeme der Informationsverwaltung Sequenzdiagramm: Web Browser Single Sign-On Service Provider Identity Provider User Agent Ressource anfordern XHTML-Formular (SAML-Request) SSO-Service anfordern (Identifikation) XHTML-Formular (SAML-Response) Verarbeitung anfordern zur Ressource umleiten Ressource anfordern Ressource gewähren 4 André Becker - Web Browser SSO mit SAML IPD Böhm, Lehrstuhl für Systeme der Informationsverwaltung Der Kern von SAML: Assertions <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Version="2.0" ID="192.168.0.1.12345" IssueInstant="2010-07-12T09:45:00Z"> <saml:Issuer>https://MyPortalWebsite.com</saml:Issuer> <saml:Subject> <saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"> 3f7b3dcf-1674-4ecd-92c8-1544f346baf8 </saml:NameID> <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml:SubjectConfirmationData InResponseTo="_123456789" Recipient="https://MyAirlineWebsite.com" NotOnOrAfter="2010-07-12T11:15:00Z"/> </saml:SubjectConfirmation> </saml:Subject> <saml:Conditions NotBefore="2010-07-12T09:45:00Z" NotOnOrAfter="2010-07-12T11:15:00Z" /> <saml:Statement> ... </saml:Statement> </saml:Assertion> 5 André Becker - Web Browser SSO mit SAML IPD Böhm, Lehrstuhl für Systeme der Informationsverwaltung SAML-Statemens <saml:AuthnStatement/> Beschreibt wann das Subjekt wie authentifiziert wurde <saml:AttributeStatement/> Beschreibt Eigenschaften des Subjekts mit dazugehörigen Werten <saml:AuthzDecisionStatement/> Beschreibt welche Autorisierungsentscheidung für welche Ressource aus welchem Grund getroffen wurde (wird nicht mehr weiterentwickelt → XACML) 6 André Becker - Web Browser SSO mit SAML IPD Böhm, Lehrstuhl für Systeme der Informationsverwaltung Was nicht vergessen werden darf ... SAML allein sorgt nicht für Sicherheit! SSL/TSL XML Signature XML Encryption Back-Channel-Kommunikation via SOAP Web Browser SSO ist nur ein einzelner Anwendungsfall von SAML! SSO-Profiles Web Browser SSO Profile Enhanced Client or Proxy (ECP) Profile Identity Provider Discovery Profile Single Logout Profile Name Identifier Management Profile 7 André Becker - Web Browser SSO mit SAML Artifact Resolution Profile Assertion Query/Request Profile Name Identifier Mapping Profile SAML Attribute Profiles IPD Böhm, Lehrstuhl für Systeme der Informationsverwaltung Danke für die Aufmerksamkeit ... I am Joe! Erm ... Fragen? 8 André Becker - Web Browser SSO mit SAML IPD Böhm, Lehrstuhl für Systeme der Informationsverwaltung Quellen Jothy Rosenberg/David Remy - „Securing Web Services with WS-Security“ http://en.wikipedia.org/wiki/SAML http://en.wikipedia.org/wiki/SAML_2.0 http://docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf Icons: http://dryicons.com, http://iconka.com, http://www.fasticon.com/ 9 André Becker - Web Browser SSO mit SAML IPD Böhm, Lehrstuhl für Systeme der Informationsverwaltung