1 Security Assertion Markup Language (SAML). 2 SAML Goals Create trusted security statements –Example: Bill’s address is and he was authenticated.

Slides:



Advertisements
Similar presentations
SAML CCOW Work Item: Task 2
Advertisements

SECURITY IN E-COMMERCE VARNA FREE UNIVERSITY Prof. Teodora Bakardjieva.
Integration Considerations Greg Thompson April 20 th, 2006 Copyright © 2006, Credentica Inc. All Rights Reserved.
Lecture 23 Internet Authentication Applications
Will Darby April  What is Federated Security  Security Assertion Markup Language (SAML) Overview  Example Implementations  Alternative.
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 Services and the Semantic Web: Open Discussion Session Diana Geangalau Ryan Layfield.
Dorian Grid Identity Management and Federation Dialogue Workshop II Edinburgh, Scotland February 9-10, 2006 Stephen Langella Department.
T Network Application Frameworks and XML Service Federation Sasu Tarkoma.
Beispielbild Shibboleth, a potential security framework for EDIT Lutz Suhrbier AG Netzbasierte Informationssysteme (
The EC PERMIS Project David Chadwick
 Key exchange o Kerberos o Digital certificates  Certificate authority structure o PGP, hierarchical model  Recovery from exposed keys o Revocation.
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.
OpenID And the Future of Digital Identity Alicia Bozyk April 1, 2008.
Introduction To Windows NT ® Server And Internet Information Server.
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
Troubleshooting Federation, AD FS 2.0, and More…
14 May 2002© TrueTrust Ltd1 Privilege Management in X.509(2000) David W Chadwick BSc PhD.
Digital Certificates Public Key Deception Digital Certificates Certificate Authorities Public Key Infrastructures (PKIs)
IDENTITY MANAGEMENT Hoang Huu Hanh (PhD), OST – Hue University hanh-at-hueuni.edu.vn.
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.
Cardea Requirements, Authorization Model, Standards and Approach Globus World Security Workshop January 23, 2004 Rebekah Lepro Metz
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.
Cross-Enterprise User Assertion IHE Educational Workshop 2007 Cross-Enterprise User Assertion IHE Educational Workshop 2007 John F. Moehrke GE Healthcare.
Shib-Grid Integrated Authorization (Shintau) George Inman (University of Kent) TF-EMC2 Meeting Prague, 5 th September 2007.
Network Security Lecture 26 Presented by: Dr. Munam Ali Shah.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
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.
WS-Trust Joseph Calandrino Vincent Noël Department of Computer Science University of Virginia February 9, 2004.
Catalyst 2002 SAML InterOp July 15, 2002 San Francisco.
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 in Authorization Policies draft-guenther-geopriv-saml-policy-01.
SAML: An XML Framework for Exchanging Authentication and Authorization Information + SPML, XCBF Prateek Mishra August 2002.
Communicating Security Assertions over the GridFTP Control Channel Rajkumar Kettimuthu 1,2, Liu Wantao 3,4, Frank Siebenlist 1,2 and Ian Foster 1,2,3 1.
WS-Trust “From each,according to his ability;to each, according to his need. “ Karl marx Ahmet Emre Naza Selçuk Durna
SOA-39: Securing Your SOA Francois Martel Principal Solution Engineer Mitigating Security Risks of a De-coupled Infrastructure.
W3C Web Services Architecture Security Discussion Kick-Off Abbie Barbir, Ph.D. Nortel Networks.
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
MagicNET: Security System for Protection of Mobile Agents.
1. 2 Overview In Exchange security is managed by assigning permissions in Active Directory Exchange objects are secured with DACL and ACEs Permissions.
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
SAML FTF #4 Workitems Bob Blakley. SAML “SenderVouches” SubjectConfirmation Method: A Proposed Alternative to Bindings 0.5 Proposals.
Claims-Based Identity Solution Architect Briefing zoli.herczeg.ro Taken from David Chappel’s work at TechEd Berlin 2009.
Copyright © 2003 Jorgen Thelin / Cape Clear Software 1 A Web Services Security Framework Jorgen Thelin Chief Scientist Cape Clear Software Inc.
Security Assertion Markup Language (SAML) Interoperability Demonstration.
Rights Management for Shared Collections Storage Resource Broker Reagan W. Moore
4.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 12: Implementing Security.
Core Assertions Phill Hallam-Baker. Status Waiting for use cases to specify problem Can give a price of specific use case features –Auth-XML / S2ML /
Electronic Banking & Security Electronic Banking & Security.
Access Policy - Federation March 23, 2016
Federation made simple
World Wide Web policy.
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)
NAAS 2.0 Features and Enhancements
Tim Bornholtz Director of Technology Services
Electronic Payment Security Technologies
Presentation transcript:

1 Security Assertion Markup Language (SAML)

2 SAML Goals Create trusted security statements –Example: Bill’s address is and he was authenticated using a password –Example: Bill has permission to access resource X Exchange security statements –Example: implement single-sign-on (SSO) Bill is authenticated at his company, then wants to purchase tickets at Travel.com. He shouldn’t have to re-authenticate SAML non-goal: –Performing authentication –Granting Bill access to X

3 Why SAML? Permissions management data is currently handled in mostly proprietary ways, among tightly coupled modules in a single security domain. Web is loosely coupled, consisting of many security domains. A standard is needed to govern the transfer of assertions between domains.

4 SAML Use Case: SSO user site2 (security domain 2) site1 (security domain 1) 1. authenticate 2. access resource user is authenticated at site1; then accesses a resource at site2 asserting party relying party

5 SAML Use Case: authorization user policy decision point policy enforcement point same security domain authorization decision not made at site of resource 1. access resource 2. check permission relying party asserting party

6 SAML Use Case: Back Office Transaction user site2 (security domain 2) site1 (security domain 1) authentication not made at site of resource 1. authenticate and place order 2. invoke back office transaction asserting party relying party

7 Why SAML? Cookies don’t do it – –Cookie (signed with server’s private key) can be used for re-authentication at a particular server, but is of no use at a different server Cross domain authentication currently requires proprietary SSO software SAML intended as a Web standard that will supercede proprietary software

8 Security Context SAML must be used in the context of a trust relationship between asserting and relying parties –Example: statement “Bill has access to resource X” may be of no use unless we know that Bill is at the other end of the line –Trust relationship is established using mechanisms such as SSL, signatures, encryption, etc. –this security framework is not part of SAML

9 Assertion A set of statements (claims) made by a SAML authority (asserting party) –Authentication statement: subject was authenticated using a particular technique at a particular time –Attribute statement: particular attribute values are associated with the subject –Authorization decision statement: subject is authorized to perform certain actions

10 Assertion <saml:Assertion xmlns:saml=“….” …version information goes here… AssertionID=“….” IssueInstant=“….”> … XML Signature goes here … uid=joe … SAML statements go here … SAML authority making the claim entity about which the claim is being made

11 Signature A signed assertion supports –Assertion integrity –Authentication of creator of assertion (the SAML authority) A signed protocol request/response message supports –Message integrity –Authentication of message origin (asserting party) (might be different from creator) A signature is not always needed –Assertion might inherit signature of containing message –Assertion might be received over a secure channel whose other end was authenticated by other means Signature is a restricted version of XML Signature

12 Subject Identifies the entity to which the assertion pertains Identifies confirmation method and (optionally) confirmation data –If the relying party performs the specified authentication method (perhaps using the data) then it can treat the entity presenting the assertion as the entity that the SAML authority associates with the name identifier –Example: method = public key, data = key information

13 Conditions Restrictions under which the assertion is to be used –NotBefore – earliest time at which assertion is valid –NotOnOrAfter – latest time at which assertion is valid –AudienceRestrictionCondition – assertion is addressed to a particular audience –DoNotCacheCondition – assertion must be used immediately –ProxyRestrictionCondition – limitation that the asserting party places on a relying party that wishes to create its own assertion based on this assertion

14 Authentication Statement Asserts that the enclosing assertions’ subject was authenticated by a particular means at a particular time –Authentication itself is not part of SAML –Statement refers to an authentication act that took place at a prior time <saml:AuthenticationStatement AuthenticationMethod=“password” AuthenticationInstant=“….” />

15 Attribute Statement Asserts that the enclosing assertion’s subject is associated with attribute attrib with value val. –Example: the value of the attribute Department associated with the assertion’s subject is Accounting val

16 Authorization Decision Statement Asserts that the enclosing assertion’s subject’s request for a particular action at the specified resource has resulted in the specified decision <saml:AuthorizationDecisionStatement Decision=“permit” Resource=“… some URI … > Execute

17 SAML Protocols Using a request/response pattern, SAML defines protocols/messages that –Request an assertion identified by unique Id –Request assertions containing authentication statements about the subject –Request assertions containing attribute statements concerning a particular attribute relating to the subject –Request assertions containing authorization decision statements concerning a particular resource and subject –Request that an authentication assertion of a particular type be created (this might involve execution of an authentication protocol) –Transmit protocol message by reference (artifact protocol)

18 Profiles SAML defines message exchange patterns that illustrate how SAML assertions can be exchanged to achieve particular goals in a particular context –Involve the use of SAML protocols

19 Browser/Artifact Profile Browser, authenticated at site1 (asserting party) requests access to a resource at site2 (relying party). –site1 creates a protocol message containing an authentication statement and a reference to that message called an artifact –site2 pulls the protocol message from site1 using the artifact

20 Artifact A string consisting of –Identity of source site (asserting party) –Reference to a protocol message at source site Use: relying party wants to retrieve assertions in a protocol message at the asserting party; supplies an artifact that identifies the message

21 Artifact – Pull Model relying party, R browser, U asserting party, P resource, Xmessage, M (1) (3) SAMLreq(artif) SAMLresp(M) artif is an artifact referencing M 1.U creates authenticated session with P 2. U requests access to X (through P). 3.P creates protocol msg, M, containing assertion about U, and an artifact referring to M 4. Access, containing artifact, is redirected from P to R through browser 5. R pulls M (identified by artifact) from P (5) (2) (4) SAML protocol site1 site2

22 Request Message Request message (part of request/response protocol) from relying party for an assertion held by asserting party identified by artifact <samlp:request xmlns:samlp=“…” RequestID=“…..” IssueInstant=“….” > ASDFGHasdfgh….

23 Response Message Protocol message is returned in response message <samlp:Response xmlns:samlp=“….” ResponseID=“….” InResponseTo=“….” IssueInstant=“….” > … a protocol message goes here …

24 Browser/Post Model relying party browser, U asserting party resource, Xassertion, A (1) (3) 1. U creates authenticated session 2. U accesses remote resource X through asserting party. 3. A asserts fact about U 4.Access, containing signed assertion, is redirected (pushed) through browser to relying party (signature required since assertion is routed through browser) (2) (4) site1site2

25 Security Message integrity and confidentiality can be achieved using SSL Relying party can have confidence in the assertion: –Pull model: bi-lateral authentication should be used when connection is set up between relying and asserting parties –Push model: digital signature of asserting party used on message containing assertion –Either way, relying party knows who asserting party is and can trust the assertion accordingly