SAML basics A technical introduction to the Security Assertion Markup Language Eve Maler XML Standards Architect XML Technology Center Sun Microsystems,

Slides:



Advertisements
Similar presentations
XML Standards Architect
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.
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
Lecture 23 Internet Authentication Applications
1 Security Assertion Markup Language (SAML). 2 SAML Goals Create trusted security statements –Example: Bill’s address is and he was authenticated.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
Authz work in GGF David Chadwick
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 (
SAML basics A technical introduction to the Security Assertion Markup Language Eve Maler XML Standards Architect XML Technology Center Sun Microsystems,
Web Services Security Multimedia Information Engineering Lab. Yoon-Sik Yoo.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
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.
A Heterogeneous Network Access Service based on PERMIS and SAML Gabriel López Millán University of Murcia EuroPKI Workshop 2005.
Web services security I
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.
SAML Conformance Sub-Group Report Face-to-face meeting August 29, 2001 Bob Griffin.
Web Service Standards, Security & Management Chris Peiris
Catalyst 2002 SAML InterOp July 15, 2002 Prateek Mishra San Francisco Netegrity.
SWITCHaai Team Introduction to Shibboleth.
Identity Management Report By Jean Carreon and Marlon Gonzales.
Saml-intro-dec051 Security Assertion Markup Language A Brief Introduction to SAML Tom Scavo NCSA.
Lecture 23 Internet Authentication Applications modified from slides of Lawrie Brown.
DICOM Security Lawrence Tarbox, Ph.D. Chair, WG 14 Mallinckrodt Institute of Radiology Washington University in St. Louis School of Medicine.
WS-Security: SOAP Message Security Web-enhanced Information Management (WHIM) Justin R. Wang Professor Kaiser.
October 2, 2001 SAML RL "Bob" Morgan, University of Washington.
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.
Computer Security: Principles and Practice First Edition by William Stallings and Lawrie Brown Lecture slides by Lawrie Brown Chapter 22 – Internet Authentication.
SAML CCOW Work Item HL7 Working Group Meeting San Antonio - January 2008 Presented by: David Staggs, JD CISSP VHA Office of Information Standards.
Catalyst 2002 SAML InterOp July 15, 2002 San Francisco.
SAML 2.0: Federation Models, Use-Cases and Standards Roadmap
Saml-v1_x-tech-overview-dec051 Security Assertion Markup Language SAML 1.x Technical Overview Tom Scavo NCSA.
An XML based Security Assertion Markup Language
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
W3C Web Services Architecture Security Discussion Kick-Off Abbie Barbir, Ph.D. Nortel Networks.
Shibboleth: An Introduction
Semantic Web Technologies Research Topics and Projects discussion Brief Readings Discussion Research Presentations.
Windows CardSpace Martin Parry Developer Evangelist Microsoft
Claims-Based Identity Solution Architect Briefing zoli.herczeg.ro Taken from David Chappel’s work at TechEd Berlin 2009.
January 9, 2002 Security Assertion Markup Language (SAML) RL "Bob" Morgan, University of Washington.
TAXII SC Call Agenda Administrivia Month Behind Discussion Month Ahead.
Connect. Communicate. Collaborate Deploying Authorization Mechanisms for Federated Services in the eduroam architecture (DAMe)* Antonio F. Gómez-Skarmeta.
Security Assertion Markup Language (SAML) Interoperability Demonstration.
Task Force CoRD Meeting / XML Security for Statistical Data Exchange Gregory Farmakis Agilis SA.
BEA position on W3C ‘Web Services’ Standards Jags Ramnarayan 11th April 2001.
Security and Privacy for the Smart Grid James Bryce Clark, OASIS Robert Griffin, RSA Hal Lockhart, Oracle.
Web Services Security Standards Dr. Phillip M. Hallam-Baker C.Eng. FBCS VeriSign Inc.
Workshop on Security for Web Services. Amsterdam, April 2010 Applying SAML to Identity Data Exchange.
Access Policy - Federation March 23, 2016
Eve Maler, XML Standards Architect
Prime Service Catalog 12.0 SAML 2.0 Single Sign-On Support
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)
Implementing B2B and B2C Using Novell Affiliate Connector
XML Standards Architect
XML Standards Architect
Tim Bornholtz Director of Technology Services
InfiNET Solutions 5/21/
Presentation transcript:

SAML basics A technical introduction to the Security Assertion Markup Language Eve Maler XML Standards Architect XML Technology Center Sun Microsystems, Inc.

2 Agenda The problem space SAML concepts Walking through scenarios Status of SAML and related standards efforts Your questions Thanks to Prateek Mishra (Netegrity), RLBob Morgan (UWash/Internet2), and Darren Platt (RSA) for some material in this presentation

3 Agenda The problem space –Why invent SAML at all? –What are the use cases that drive SAML’s design? SAML concepts Walking through scenarios Status of SAML and related standards efforts

4 What problems does SAML try to solve? Standards are emerging for many facets of collaborative e-commerce, such as: –Business transactions (e.g., ebXML) –Software interactions (e.g., SOAP) But communicating security properties of these interactions isn’t well standardized –Low interoperability between PMI solutions –Tight coupling within components Web-based commerce shows the need for federation, standardization, and a more cohesive user experience

5 Use cases for sharing security information SAML developed three “use cases” to drive its requirements and design: 1.Single sign-on (SSO) 2.Distributed transaction 3.Authorization service Each use case has one or more “scenarios” that provide a more detailed roadmap of interaction

6 #1: Single sign-on (SSO) Logged-in users of analyst research site SmithCo are allowed access to research produced by sister site JonesCo

7 #2: Distributed transaction Employees at SmithCo are allowed to order office supplies from OfficeBarn if they are authorized to spend enough

8 #3: Authorization service Employees at SmithCo order office supplies directly from OfficeBarn, which performs its own authorization

9 What’s needed to accomplish all this A standard XML message format –It’s just data traveling on any wire –No particular API mandated –Lots of XML tools available A standard message exchange protocol –Clarity in orchestrating how you ask for and get the information you need Rules for how the messages ride “on” and “in” transport protocols –For better interoperability

10 Agenda The problem space SAML concepts –SAML in a nutshell –SAML assertions –Producers and consumers of assertions –Message exchange protocol –Bindings and profiles Walking through scenarios Status of SAML and related standards efforts

11 SAML in a nutshell It’s an XML-based framework for exchanging security information –XML-encoded security “assertions” –XML-encoded request/response protocol –Rules on using assertions with standard transport and messaging frameworks It’s an emerging OASIS standard –Vendors and users are involved –Codifies current system outputs rather than inventing new technology –Today I’m presenting SAML as of 10 January 2002

12 Agenda The problem space SAML concepts –SAML in a nutshell –SAML assertions (syntax from core-25 draft) –Producers and consumers of assertions –Message exchange protocol –Bindings and profiles Walking through scenarios Status of SAML and related standards efforts

13 SAML assertions Assertions are declarations of fact, according to someone SAML assertions are compounds of one or more of three kinds of “statement” about “subject” (human or program): –Authentication –Attribute –Authorization decision You can extend SAML to make your own kinds of assertions and statements Assertions can be digitally signed

14 All statements in an assertion share common information Issuer ID and issuance timestamp Assertion ID Subject –Name plus the security domain –Optional subject confirmation, e.g. public key “Conditions” under which assertion is valid –SAML clients must reject assertions containing unsupported conditions –Special kind of condition: assertion validity period Additional “advice” –E.g., to explain how the assertion was made

15 Assertion structure

16 Example common information for an assertion …URI… …a variety of elements can go here… …statements go here…

17 Authentication statement An issuing authority asserts that subject S was authenticated by means M at time T Targeted towards SSO uses Caution: Actually checking or revoking of credentials is not in scope for SAML! It merely lets you link back to acts of authentication that took place previously

18 Authentication statement structure

19 Example assertion with authentication statement

20 Attribute statement An issuing authority asserts that subject S is associated with attributes A, B, … with values “a”, “b”, “c”… Useful for distributed transactions and authorization services Typically this would be gotten from an LDAP repository –“john.doe” in “example.com” –is associated with attribute “Department” –with value “Human Resources”

21 Attribute statement structure

22 Example assertion with attribute statement … PaidUp

23 Authorization decision statement An issuing authority decides whether to grant the request by subject S for access type A to resource R given evidence E Useful for distributed transactions and authorization services The subject could be a human or a program The resource could be a web page or a web service, for example

24 Authorization decision statement structure

25 Example assertion with authorization decision statement … Read

26 Agenda The problem space SAML concepts –SAML in a nutshell –SAML assertions –Producers and consumers of assertions –Message exchange protocol –Bindings and profiles Walking through scenarios Status of SAML and related standards efforts

27 SAML producer-consumer model

28 This model is conceptual only In practice, multiple kinds of authorities may reside in a single software system –SAML allows, but doesn’t require, total federation of these jobs Also, the arrows may not reflect information flow in real life –The order of assertion types is insignificant –Information can be pulled or pushed –Not all assertions are always produced –Not all potential consumers (clients) are shown

29 Agenda The problem space SAML concepts –SAML in a nutshell –SAML assertions –Producers and consumers of assertions –Message exchange protocol ( syntax from core-25 draft) –Bindings and profiles Walking through scenarios Status of SAML and related standards efforts

30 SAML protocol for getting assertions

31 Assertions are normally provided in a SAML response Existing tightly coupled environments may need to use their own protocol –They can use assertions without the rest of the structure The full benefit of SAML will be realized where parties with no direct knowledge of each other can interact –Via a third-party introduction

32 Requests can take several forms You can query for specific kinds of assertion/statement –Authentication query –Attribute query –Authorization decision query You can ask for an assertion with a particular ID –By providing an ID reference –By providing a SAML “artifact”

33 Authentication query “Please provide the authentication information for this subject, if you have any” It is assumed that the requester and responder have a trust relationship –They are talking about the same subject –The response with the assertion is a “letter of introduction” for the subject

34 Authentication query structure

35 Example request with authentication query

36 Attribute query “Please provide information on the listed attributes for this subject” If you don’t list any attributes, you’re asking for all available ones If the requester is denied access to some of the attributes, only the allowed attributes would be returned –(This situation is indicated in the status code of the response)

37 Attribute query structure

38 Example request with attribute query

39 Authorization decision query “Is this subject allowed to access the specified resource in the specified manner, given this evidence?” This is is a yes-or-no question –The answer is not allowed to be “no, but they’re allowed to access these other resources” –Or “yes, and they’re also allowed to perform these other actions”

40 Authorization decision query structure

41 Example authorization decision query Read …

42 Responses just contain a set of assertions Or one or more assertions can be returned with status information If something went wrong, no assertions are returned, just status –Status information can have a complex structure Currently the status codes are: –Success –VersionMismatch –Receiver –Sender Responses are expected to be signed

43 Response structure

44 Example response …

45 Agenda The problem space SAML concepts –SAML in a nutshell –SAML assertions –Producers and consumers of assertions –Message exchange protocol –Bindings and profiles Walking through scenarios Status of SAML and related standards efforts

46 Bindings and profiles connect SAML with the wire This is where SAML itself gets made secure A “binding” is a way to transport SAML requests and responses –SOAP-over-HTTP binding is a baseline –Other bindings will follow, e.g., raw HTTP A “profile” is a pattern for how to make assertions about other information –Two browser profiles for SSO: artifact and POST –SOAP profile for securing SOAP payloads

47 The SOAP-over-HTTP binding

48 By contrast, the SOAP profile

49 Web browser profiles These profiles assume: –A standard commercial browser and HTTP(S) –User has authenticated to a local source site –Assertion’s subject refers implicitly to the user When a user tries to access a target site: –A tiny authentication assertion reference travels with the request so the real assertion can be dereferenced –Or the real assertion gets POSTed

50 Future bindings and profiles The SAML committee will accept and register proposed new bindings and profiles Eventually we may standardize these Open publishing of these will at least help interoperability in the meantime

51 Agenda The problem space SAML concepts Walking through scenarios –SSO pull using browser/artifact profile –Back office transaction using SOAP binding and SOAP profile Status of SAML and related standards efforts

52 SSO pull scenario

53 More on the SSO pull scenario “Access inter-site transfer URL” step: –User is at: –Clicks on a link that looks like it will take her to –It really takes her to inter-site transfer URL: “Redirect with artifact” step: –Reference to user’s authentication assertion is generated as a SAML “artifact” (8-byte base64 string) –User is redirected to assertion consumer URL, with artifact and target attached:

54 Agenda The problem space SAML concepts Walking through scenarios –SSO pull using web browser profile –Distributed transaction using SOAP binding and SOAP profile Status of SAML and related standards efforts

55 Distributed transaction scenario

56 More on the distributed transaction scenario An example of attaching SAML assertions to other traffic Asymmetrical relationship is assumed –Seller is already known to buyer, but buyer is not known to seller, a common situation –E.g., server-side certificates might be used to authenticate seller If it were symmetrical, additional SAML steps would happen on the right side too –This would likely be a different scenario

57 Agenda The problem space SAML concepts Walking through scenarios Status of SAML and related standards efforts

58 SAML status Work started on 9 January 2001 –From a base of S2ML and AuthXML Five near-final Committee Working Drafts were published 10 January 2002 – Implementations are starting to appear –JSAML Toolkit from Netegrity – We plan to request OASIS Standard status on 1 March 2002 –Please send your comments in!

59 Important efforts related to SAML IETF/W3C XML Signature –Built into SAML for digitally signing assertions – W3C XML Encryption and Canonicalization –Not quite ready yet, but encryption will be important for managing security and privacy risks – XKMS and its relatives (now at W3C) –An XML-based mechanism for doing PKI –SAML traffic might be secured by XKMS-based PKI, by other PKI, or by other means entirely –

60 More efforts related to security and identity OASIS XACML –XML-based (and SAML-based) access control/policy language – OASIS Provisioning –XML-based framework for user, resource, and service provisioning – Liberty Alliance –Identity solution for SSO of consumers and businesses – Internet2 –Higher-education effort to develop advanced network applications and technologies; parts will be SAML-compliant –

61 Agenda The problem space SAML concepts Walking through scenarios Status of SAML and related standards efforts Questions?

Thank you Eve Maler