SAML Overview Woosik Lee 2011. 1. 3 Ubiquitous Network System Laboratory Kyonggi University 신묘년 새해 복 많이 받으세요 ^^

Slides:



Advertisements
Similar presentations
A brief look at the WS-* framework Josh Howlett, JANET(UK) TF-EMC2 Prague, September 2007.
Advertisements

Step Up Authentication in SAML (and XACML) Hal Lockhart February 6, 2014.
OOI-CI–Ragouzis– Ocean Observatories Initiative Cyberinfrastructure Component CI Design Workshop October 2007.
Integration Considerations Greg Thompson April 20 th, 2006 Copyright © 2006, Credentica Inc. All Rights Reserved.
Saml-v2_0-intro-dec051 Security Assertion Markup Language An Introduction to SAML 2.0 Tom Scavo NCSA.
Authentication & Kerberos
1 Security Assertion Markup Language (SAML). 2 SAML Goals Create trusted security statements –Example: Bill’s address is and he was authenticated.
Web Services and the Semantic Web: Open Discussion Session Diana Geangalau Ryan Layfield.
T Network Application Frameworks and XML Service Federation Sasu Tarkoma.
Beispielbild Shibboleth, a potential security framework for EDIT Lutz Suhrbier AG Netzbasierte Informationssysteme (
December 19, 2006 Solving Web Single Sign-on with Standards and Open Source Solutions Trey Drake AssetWorld 2007 Albuquerque, New Mexico November 2007.
 Key exchange o Kerberos o Digital certificates  Certificate authority structure o PGP, hierarchical model  Recovery from exposed keys o Revocation.
Web Services Security Multimedia Information Engineering Lab. Yoon-Sik Yoo.
Carl A. Foster.  What is SAML?  Security Assertion and Markup Language is an XML-based standard for exchanging authentication and authorization between.
Applied Cryptography Week 13 SAML Applied Cryptography SAML and XACML Mike McCarthy Week 13.
Copyright B. Wilkinson, This material is the property of Professor Barry Wilkinson (UNC-Charlotte) and is for the sole and exclusive use of the students.
Web services security I
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.
IDENTITY MANAGEMENT Hoang Huu Hanh (PhD), OST – Hue University hanh-at-hueuni.edu.vn.
Shibboleth-intro-dec051 Shibboleth A Technical Overview Tom Scavo NCSA.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Web Service Standards, Security & Management Chris Peiris
Cardea Requirements, Authorization Model, Standards and Approach Globus World Security Workshop January 23, 2004 Rebekah Lepro Metz
Copyright 2006 Archistry Limited. All Rights Reserved. SOA Federated Identity Management How much do you really need? Andrew S. Townley Founder and Managing.
Identity Management Report By Jean Carreon and Marlon Gonzales.
Saml-intro-dec051 Security Assertion Markup Language A Brief Introduction to SAML Tom Scavo NCSA.
WS-Security: SOAP Message Security Web-enhanced Information Management (WHIM) Justin R. Wang Professor Kaiser.
Web Services Security Standards Overview for the Non-Specialist Hal Lockhart Office of the CTO BEA Systems.
Dr. Bhavani Thuraisingham October 2006 Trustworthy Semantic Webs Lecture #16: Web Services and Security.
Helsinki Institute of Physics (HIP) Liberty Alliance Overview of the Liberty Alliance Architecture Helsinki Institute of Physics (HIP), May 9 th.
SAML CCOW Work Item HL7 Working Group Meeting San Antonio - January 2008 Presented by: David Staggs, JD CISSP VHA Office of Information Standards.
WS-Trust Joseph Calandrino Vincent Noël Department of Computer Science University of Virginia February 9, 2004.
Serving society Stimulating innovation Supporting legislation Danny Vandenbroucke & Ann Crabbé KU Leuven (SADL) AAA-architecture for.
Catalyst 2002 SAML InterOp July 15, 2002 San Francisco.
SAML 2.0: Federation Models, Use-Cases and Standards Roadmap
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
17 March 2008 © 2008 The University of Edinburgh, European Microsoft Innovation Center and University of Southampton IT Innovation Centre 1 NextGRID Security.
Saml-v1_x-tech-overview-dec051 Security Assertion Markup Language SAML 1.x Technical Overview Tom Scavo NCSA.
Identity Management: A Technical Perspective Richard Cissée DAI-Labor; Technische Universität Berlin
An XML based Security Assertion Markup Language
Single Sign-On
Shibboleth Akylbek Zhumabayev September Agenda Introduction Related Standards: SAML, WS-Trust, WS-Federation Overview: Shibboleth, GSI, GridShib.
SAML: An XML Framework for Exchanging Authentication and Authorization Information + SPML, XCBF Prateek Mishra August 2002.
WS-Trust “From each,according to his ability;to each, according to his need. “ Karl marx Ahmet Emre Naza Selçuk Durna
Secure Systems Research Group - FAU Patterns for Web Services Security Standards Presented by Keiko Hashizume.
W3C Web Services Architecture Security Discussion Kick-Off Abbie Barbir, Ph.D. Nortel Networks.
Shibboleth: An Introduction
Access Control and Markup Languages Pages 183 – 187 in the CISSP 1.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Security Token Service Valéry Tschopp - SWITCH.
Claims-Based Identity Solution Architect Briefing zoli.herczeg.ro Taken from David Chappel’s work at TechEd Berlin 2009.
Security Assertion Markup Language (SAML) Interoperability Demonstration.
User Authentication  fundamental security building block basis of access control & user accountability  is the process of verifying an identity claimed.
Security and Privacy for the Smart Grid James Bryce Clark, OASIS Robert Griffin, RSA Hal Lockhart, Oracle.
1© Nokia Siemens Networks SAML Attribute Management Request-Response Protocol Contribution to OASIS Security Services TC Thinh Nguyenphu, Christian Günther.
F5 APM & Security Assertion Markup Language ‘sam-el’
SAML 2.0 and Related Work in XACML and WS-Security Hal Lockhart BEA Systems.
Security Assertion Markup Language, v2.0 Chad La Joie Georgetown University / Internet2.
WSO2 Identity Server. Small company (called company A) had few services deployed on one app server.
Access Policy - Federation March 23, 2016
Federation made simple
Data and Applications Security Developments and Directions
Introduction How to combine and use services in different security domains? How to take into account privacy aspects? How to enable single sign on (SSO)
Tim Bornholtz Director of Technology Services
InfiNET Solutions 5/21/
Presentation transcript:

SAML Overview Woosik Lee Ubiquitous Network System Laboratory Kyonggi University 신묘년 새해 복 많이 받으세요 ^^

Contents 1. Introduction 2. Overview 3. High-Level SAML Use Cases 4. SAML Architecture 5. Major Profiles and Federation Use Cases 6. Extending and Profiling SAML for Use in Other Frameworks

1. Introduction SAML Definition  Security assertion markup language  An XML-based framework for exchanging security information between online business partners Development  The security services technical committee (SSTC) of the standards organization OASIS

4

2. Overview Drivers of SAML Adoption (1/2)  Single Sign-On Problem  since browser cookies are never transmitted between DNS domains, the authentication state information in the cookies from one domain is never available to another domain.  Supported multi-domain SSO (MDSSO) Solve  by providing a standard vendor-independent grammar and protocol for transferring information about a user from one web server to another independent of the server DNS domains

Drivers of SAML adoption (2/2)  Federated identity provides a means for these partner services to agree on and establish a common, shared name identifier to refer to the user in order to share information about the user across the organizational boundaries.  Web services and other industry standards SAML allows for its security assertion format to be used outside of a “native” SAML-based protocol context.  IETF, OASIS, Liberty Alliance

Documentation Roadmap 선필 (1/10) 미정 원보 (1/13) 승제 (1/7) WS-trust WS-federation SSL/TLS HTTPS

3. High-Level SAML Use Cases SAML Participants  SAML asserting (= SAML authority) Makes SAML assertions  SAML relying Uses assertions it has received  SAML requester Makes a direct request to another SAML entity  SAML responder Uses request it has received  Identity provider (IdP) and service provider (SP)

 Identity provider convey information such as “This user is John Doe, he has an address of and he was authenticated into this system using a password mechanism.”  Service provider choose to use this information, depending on its access policies, to grant John Doe web SSO access to local resources. John Doe, Access to local resources Identity providerService provider

Web Single Sign-On Use Case  1) login on a web site (airline.example.com) and is accessing resources on that site  2) transparently directed over to a partner's web site (cars.example.co.uk) Assume : A federated identity for the User has been previously established Between airline.example.com and Cars.example.co.uk based on a business Agreement between them.

Identity Federation Use Case IDFed-usecase 1) Books a flight “Johndoe” user account 2) Visit “cars.example.co.uk” 3) Consents to the federation “azqu3H7” pseudonym 4) Log in at “cars.example.co.uk” 5) Link “airline..” and “cars..” 6) Visit “hotels.example.ca” 7) Consents to the federation “f78q9C0” pseudonym 8) Log in at “hotels.example.ca” 9) Link “airline..” and “hotels..” In the future, only needs pseudonyms

4. SAML Architecture Basic Concepts  Assertions  Protocols  Bindings  Profiles  Authentication Context  Metadata

Advanced Concepts  Subject Confirmation These are the conditions under which an attesting entity (somebody trying to use the assertion) is permitted to do so. urn:oasis:names:tc:SAML:2.0:cm:holder-of-key urn:oasis:names:tc:SAML:2.0:cm:sender-vouches urn:oasis:names:tc:SAML:2.0:cm:bearer SAML 2.0 accounts

SAML Components  Assertions SAML allows for one party to assert security information in the form of statements about a subject.  Authentication statements  These are created by the party that successfully authenticated a user  Attribute statements  These contain specific identifying attributes about the subject  (ex. “John” has “Gold” card)  Authorization decision statements  These define something that the subject is entitled to do  (ex. “John” is permitted to buy a item)

 Protocols SAML defines a number of generalized request/response protocols  Authentication Request Protocol  Single Logout Protocol  Assertion Query and Request Protocol  Artifact Resolution Protocol  Name Identifier Management Protocol  Name Identifier Mapping Protocol

 Bindings SAML bindings detail exactly how the various SAML protocol messages can be carried over underlying transport protocols.  HTTP Redirect Binding  HTTP POST Binding  HTTP Artifact Binding  SAML SOAP Binding  Reverse SOAP (PAOS) Binding  SAML URI Binding

 Profiles SAML profiles define how the SAML assertions, protocols, and bindings are combined and constrained to provide greater interoperability in particular usage scenarios.  Web Browser SSO Profile  Enhanced Client and Proxy (ECP) Profile  Single Logout Profile  Assertion Query/Request Profile  Artifact Resolution Profile  Name Identifier Management Profile  Name Identifier Mapping Profile

SAML XML Constructs and Examples  Relationship of SAML components Transport protocol  Transport protocol header  Transport protocol payload  SAML response  Assertion  Authentication statement  Other statements

 Assertion, Subject, and Statement Structure <saml:Assertion xmlns:saml=”urn:oasis:names:tc:SAML:2.0:assertion” Version="2.0" IssueInstant=" T12:00:00Z"> <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format: Address"> <saml:Conditions NotBefore=" T12:00:00Z" NotOnOrAfter=" T12:10:00Z"> <saml:AuthnStatement AuthnInstant=" T12:00:00Z" SessionIndex=" "> urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport SAML assertion namespace The nature of the assertion Subject of the assertion A validity period The authentication statement address X.509 subject name Windows domain qualified name Kerberos principal name Entity identifier Persistent identifier Transient identifier

 Attribute Statement Structure <saml:Attribute xmlns:x500="urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" Name="urn:oid: " FriendlyName="givenName"> <saml:AttributeValue xsi:type="xs:string" x500:Encoding="LDAP">John <saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic" Name="LastName"> <saml:AttributeValue xsi:type="xs:string">Doe <saml:Attribute NameFormat=“ Name=“CreditLimit”> xmlns:smithco=”

 Message Structure and the SOAP Binding (request) <samlp:AttributeQuery xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="aaf a-fe114412ab72" Version="2.0" IssueInstant=" T20:31:40Z"> <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:X509SubjectName"> C=US, O=NCSA-TEST, OU=User, <saml:Attribute NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri" Name="urn:oid: " FriendlyName="givenName"> envelope body

 Message Structure and the SOAP Binding (response) <samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Version="2.0" ID="i92f8b5230dc04d73e d191915fdc67d5e" IssueInstant=" T20:31:41Z" InResponseTo="aaf a-fe114412ab72 "> assertion... Response in SOAP envelope Body Envelope

 Privacy in SAML SAML supports the establishment of pseudonyms established between an identity provider and a service provider. SAML supports one-time or transient identifiers – such identifiers ensure that every time a certain user accesses a given service provider through a single sign-on operation from an identity provider. SAML's Authentication Context mechanisms allow a user to be authenticated at a sufficient (but not more than necessary) assurance level. SAML allows the claimed fact of a user consenting to certain operations (e.g. the act of federation) to be expressed between providers.

 Security in SAML Message integrity and message confidentiality  HTTP over SSL 3.0 or TLS 1.0 When a relying party requests an assertion from an asserting party  SSL 3.0 or TLS 1.0 using mutual authentication or authentication via digital signatures When a response message containing an assertion is delivered to a relying party via a user's web browser  digitally signed using XML Signature

5. Major Profiles and Federation Use Cases Web Browser SSO Profile  IdP-initiated  SP-initiated

SP-Initiated SSO with Redirect and POST Bindings

1. The user attempts to access a resource on sp.example.com. 2. The SP sends an HTTP redirect response to the browser <samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="identifier_1" Version="2.0" IssueInstant=" T09:21:59Z" AssertionConsumerServiceIndex="1"> <samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient"/>

3. The Single Sign-On Service determines whether the user has an existing logon security context at the identity provider that meets the default or requested (in the ) authentication policy requirements. 4. The user provides valid credentials and a local logon security context is created for the user at the IdP.

5. The IdP Single Sign-On Service builds a SAML assertion representing the user's logon security context.

6. The browser, due either to a user action or execution of an “auto-submit” script, issues an HTTP POST request to send the form to the SP's Assertion Consumer Service. POST /SAML2/SSO/POST HTTP/1.1 Host: sp.example.com Content-Type: application/x-www-form-urlencoded Content-Length: nnn SAMLResponse=response&RelayState=token

7. An access check is made to establish whether the user has the correct authorization to access the resource.

SP-Initiated SSO: POST/Artifact Bindings

IdP-Initiated SSO : POST Binding

5.2 ECP Profile Enhanced Client/Proxy Use Cases

ECP Profile Using PAOS Binding

5.3 Single Logout Profile SP-Initiated Single Logout with Multiple SPs

5.4 Establishing and Managing Federated Identities Mechanisms supported by SAML for establishing and managing federated identities  Federation via out-of-Band Account Linking  Federation via Persistent Pseudonym Identifiers  Federation via Transient Pseudonym Identifiers  Federation via Identity Attributes  Federation Termination

Federation Using Out-of-Band Account Linking

Federation using persistent pseudonym identifiers

Federation using transient pseudonym identifiers

Federation termination

5.5 Use of Attributes Transfer of profile information  Convey user profile information from the identity provider to the service provider Authorization based on attributes  The attributes provided in the SAML assertion by the identity provider are used to authorize specific services at the service provider

6. Extending and Profiling SAML for Use in Other Frameworks Web Services Security (WS-Security)  element In a SOAP message header  Security tokens Binary, structured XML The characteristics of the SAML Request/Response  Obtain SAML assertions for use external to the SOAP message exchange Contained Within a SAML response Provided by a trusted authority

The characteristics of the use of SAML assertions as defined by WS-Security  Carried in a element within the header of the SOAP envelope  Play a role in the protection of the message  Obtained previously and typically pertain to the identity of the sender of the SOAP message

To protect the SOAP message  The sender constructs the SOAP message, including a SOAP header with a WS-Security header.  The message receiver verifies the digital signature.  The information in the SAML assertion is used for purposes such as Access Control and Audit logging.

Typical Use of WS-Security with SAML Token

eXtensible Access Control Markup Language (XACML)