160 likes | 321 Views
SAML CCOW Work Item. Presented by: David Staggs, JD CISSP VHA Office of Information Standards. HL7 Working Group Meeting San Antonio - January 2008. Introduction: What is SAML. SAML was discussed in the last session
E N D
SAML CCOW Work Item Presented by: David Staggs, JD CISSP VHA Office of Information Standards HL7 Working Group Meeting San Antonio - January 2008
Introduction: What is SAML • SAML was discussed in the last session • Briefly, Security Assertion Markup Language (SAML) is an XML-based framework for exchanging security information. This security information is expressed in the form of assertions about subjects, where a subject is an entity (either human or computer) that has an identity in some security domain.
Types of SAML Assertions • Authentication: The specified subject was authenticated by a particular means at a particular time • Attribute: The specified subject is associated with the supplied attributes • Authorization Decision: A request to allow the specified subject to access the specified resource has been granted or denied
Simple Type DecisionType • Permit • The specified action is permitted • Deny • The specified action is denied • Indeterminate • The SAML authority cannot determine whether the specified action is permitted or denied
??? ??? USER APPLICATION CONTEXT MANAGER Use of SAML with CCOW
??? APPLICATION CONTEXT MANAGER Use of SAML with CCOW Shared Secret Digital Signature SAML Assertion
SAML Authority APPLICATION CONTEXT MANAGER SAML Assertion (possibly cached) Proposed Application-CM use of SAML
Reasons for SAML Adoption • Increasingly, applications will not authenticate against a private access control list,‡ instead users will authenticate against a SAML authority • Alternatively, authentication could be done by SAML service if parties “speak SAML” • Benefit: SAML provides centralized and dynamic control of access to enterprise assets
Uses for SAML in CCOW • SAML will provide: • Applications and components participating in the chain of trust are able to authenticate each other’s identity based on assertions • Context manager is able to ensure that the application or agent is among those allowed to set and/or get the subject’s data based on assertions (by assertion or reference) • Simplify creating a system that employs digital signatures for applications and components
Questions Regarding use of SAML • Will Authenticating applications still require encryption (for passing AuthN credentials to SAML authority) and integrity (for messages to CCOW CM)? • Method-based digital signatures as the basis for the chain of trust provides additional value of ensuring the integrity of any data communicated, will applications also need to support signing?
Uses for SAML AuthN User • In the chain of trust digital signatures (and corresponding keys) or shared secrets are not associated with a user, but rather with an application or component • However, one major design goal for SAML is Single Sign-On (SSO), the ability of a user to authenticate in one domain and use resources in other domains without re-authenticating. CCOW applications may increasingly be SAML clients.
SSO SAML Authority ??? USER CONTEXT MANAGER APPLICATION (NEEDS TO BE SAML-AWARE ANYWAY) Future User-Application use of SAML
Some SAML Requirements • Applications (Apps) must identify themselves using an application-specific SAML assertion • Apps designated for User Authentication may require additional assertions‡ • Context manager must identify itself to Apps using a SAML assertion • Annotation Agents may need to interact with services using a SAML assertion • Should information from services to AA be expressed as SAML assertions?
??? ??? ??? ??? CONTEXT MANAGER APPLICATION (CONTEXT PARTICIPANT) APPLICATION (CONTEXT PARTICIPANT) APPLICATION (CONTEXT PARTICIPANT) APPLICATION (CONTEXT PARTICIPANT) Future Application-CM use of SAML APPLICATION (CHANGING CONTEXT)
Schema Fragment Defining DecisionType Does not include SAML header or transport protocol (e.g. SOAP)