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

Documents pareils