saml 2.0 and related work in xacml and ws-security

39
SAML 2.0 and Related Work in XACML and WS-Security Hal Lockhart BEA Systems

Upload: others

Post on 03-Feb-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SAML 2.0 and Related Work in XACML and WS-Security

SAML 2.0 and Related Work in XACML and WS-Security

Hal LockhartBEA Systems

Page 2: SAML 2.0 and Related Work in XACML and WS-Security

Acknowledgements

Many of the slides provided byEve Maler, Sun MicrosystemsPrateek Mishra, Principal IdentityRob Philpott, RSA Security

Page 3: SAML 2.0 and Related Work in XACML and WS-Security

Agenda

SAML History and OverviewSAML 2.0 New FeaturesSAML-related features in XACMLSAML in Web Services Security

Page 4: SAML 2.0 and Related Work in XACML and WS-Security

SAML and the OASIS SSTCSAML: Security Assertion Markup Language

A framework for the exchange of security-related information between trusting partiesThe key standard for federated identity systemsSupports many real-world business scenariosWidely used today for cross-domain single sign-on

OASIS Security Services Technical Committee (SSTC)

SSTC manages SAML development36 current voting members representing 24 organizations

Page 5: SAML 2.0 and Related Work in XACML and WS-Security

SAML TimelineSAML 1.0Completed: May 2002OASIS Standard: November 2002

SAML 1.1Completed: May 2003OASIS Standard: September 2003

Liberty 1.1Completed: Jan 2003

Shibboleth OpenSAML 1.0Completed: June 2003

SAML 2.0Completed: January 2005OASIS Standard: March 2005

Nov-2002: SAML wins PC Magazine

Technology Excellence Award

Oct-2003: SSTC receives Digital ID World

“Balancing Innovation & Reality" award

Shibboleth OpenSAML 1.1Completed: August 2003

Liberty ID-FF 1.2Completed: Oct 2003

Page 6: SAML 2.0 and Related Work in XACML and WS-Security

Specification SuiteConformance Requirements

Required “Operational Modes”for SAML implementations

Assertions and ProtocolsThe “Core” specification

BindingsMaps SAML messages onto common communications protocols

Profiles“How-to’s” for using SAML to solve specific business problems

MetadataConfiguration data for establishing agreements between SAML entities

Authentication ContextDetailed descriptions of user authentication mechanisms

Security and Privacy Considerations

Security and privacy analysis of SAML 2.0

GlossaryTerms used in SAML 2.0

Page 7: SAML 2.0 and Related Work in XACML and WS-Security

SAML producer-consumer model

SAML

AuthenticationAssertion

AttributeAssertion

AuthorizationDecisionAssertion

AuthenticationAuthority

AttributeAuthority

Policy DecisionPoint

Policy EnforcementPoint

Policy Policy Policy

CredentialsCollector

SystemEntity

ApplicationRequest

Page 8: SAML 2.0 and Related Work in XACML and WS-Security

SAML assertions

Assertions are declarations of fact, according to someoneSAML assertions are compounds of one or more of three kinds of “statement” about “subject” (human or program):

AuthenticationAttributeAuthorization decision

You can extend SAML to make your own kinds of assertions and statementsAssertions can be digitally signed

Page 9: SAML 2.0 and Related Work in XACML and WS-Security

All statements in an assertion share common information

Issuer ID and issuance timestampAssertion IDSubject

Name plus the security domainOptional subject confirmation, e.g. public key

“Conditions” under which assertion is validSAML clients must reject assertions containing unsupported conditionsSpecial kind of condition: assertion validity period

Additional “advice”E.g., to explain how the assertion was made

Page 10: SAML 2.0 and Related Work in XACML and WS-Security

Authentication statement

An issuing authority asserts that subject S was authenticated by means M attime TTargeted towards SSO uses

Page 11: SAML 2.0 and Related Work in XACML and WS-Security

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 servicesTypically this would be gotten from an LDAP repository

“john.doe” in “example.com”is associated with attribute “Department”with value “Human Resources”

Page 12: SAML 2.0 and Related Work in XACML and WS-Security

Authorization decision statement

An issuing authority decides whether to grant the request by subject S for access type A to resource R given evidence EUseful for distributed transactions and authorization servicesThe subject could be a human or a programThe resource could be a web page or a web service, for example

Page 13: SAML 2.0 and Related Work in XACML and WS-Security

SAML protocol for getting assertions

SAML

Assertion

SAML

Response

Assertion

SAML

Request forAssertion ofCertain Type

Response

Assertion

Relying Party

Asserting Party

Page 14: SAML 2.0 and Related Work in XACML and WS-Security

The SOAP-over-HTTP bindingSAML

SOAP Message

SOAP Header

SOAP Body

SAML Request orResponse

Page 15: SAML 2.0 and Related Work in XACML and WS-Security

Agenda

SAML History and OverviewSAML 2.0 New FeaturesSAML-related features in XACMLSAML in Web Services Security

Page 16: SAML 2.0 and Related Work in XACML and WS-Security

SSTC SAML 2.0 Goals

Continue SSTC tradition of focusing on real-world business problemsSAML 2.0 Charter

Address issues and enhancement requests that have arisen from experience with real-world SAML implementations and with other security architectures that use SAML.Add support for features that were deferred from previous versions of SAML. Develop an approach for unifying various identity federation models found in real-world SAML implementations and SAML-based security architectures.

Page 17: SAML 2.0 and Related Work in XACML and WS-Security

Business BenefitsPlatform and vendor neutralitySupport for new devicesConsistent online user experienceUnified approach to identity federationImproved control over identity data helps meet regulatory compliance requirementsPrivacy protection and user consent mechanismsReduced deployment and administrative costs

Page 18: SAML 2.0 and Related Work in XACML and WS-Security

SAML 2.0 New FeaturesRobust identity federation and managementEnhanced web single sign-on profileIdentity provider discoveryBasic session management and global logoutEncrypted attributes, name identifiers, and assertionsProfiles for well-defined attribute sharingFine-grained description of authentication mechanismsMetadata for simplified configurationEnhanced Client or Proxy (ECP) profile

Page 19: SAML 2.0 and Related Work in XACML and WS-Security
Page 20: SAML 2.0 and Related Work in XACML and WS-Security

Identity Federation

What is Identity Federation?Agreement between providers concerning data used to identify users

User-specific attributes:• E-mail address?• Office number and Employee Id?• Role or membership in certain groups?

Unique, privacy-preserving identifiers known only to the providers?

Federated identifiers can be created in different waysDynamic assignment based on business agreementsDynamic creation based on user consentOut-of-band bulk synchronization or update at both parties

Page 21: SAML 2.0 and Related Work in XACML and WS-Security

Identity Federation and MgmtMultiple types of Name Identifiers

Well-known namesEmail AddressX.509 Subject NameWindows Domain Qualified NameKerberos Principal Name

Privacy-preserving pseudonym identifiersTransientPersistent

Name Identifier Management Protocol and ProfileAssign new pseudonym identifiersTerminate identity federation

Page 22: SAML 2.0 and Related Work in XACML and WS-Security
Page 23: SAML 2.0 and Related Work in XACML and WS-Security
Page 24: SAML 2.0 and Related Work in XACML and WS-Security

Session Mgmt and Logout

Session ParticipantsIdentity Providers act as session authoritiesService Providers act as session participantsIdP defines session identifier(s) for SP’sUser may initiate logout at IdP or SP to terminate session User may terminate individual or all active sessions

Follows ID-FF 1.2 closely (logout but no timeout) but also provides extension points for richer session models

Instructions for privacy preservation are provided

Page 25: SAML 2.0 and Related Work in XACML and WS-Security

Standard Attribute ProfilesSupports attribute naming and values drawn from a variety of syntaxes

Basic Attribute Profile: string names and attribute values drawn from XML schema primitive typesX.500/LDAP Attribute Profile: use of canonical X.500/LDAP attribute names and valuesUUID Attribute Profile: Use of UUIDs as attribute namesXACML Attribute Profile: formats suitable for processing by XACML

Attribute statements may be transferred during SSO or by the use of the AttributeQuery protocolAttributes may be encrypted to ensure end-to-end confidentiality

Page 26: SAML 2.0 and Related Work in XACML and WS-Security

Name Identifier ManagementProtocol for communicating information about name identifiers

When identifiers should be updatedReplace [email protected] by [email protected] privacy preserving identifier at SP every 6 monthsUpdate identifier at IdP with identifier meaningful to SP

When an identifier will no longer be acceptable for federation

IdP will not issue any more assertions for [email protected] will not accept assertions for [email protected]

Page 27: SAML 2.0 and Related Work in XACML and WS-Security

MetadataImproves deployment configuration of SAML componentsIdentifies distinct roles supported by an entity

SSO Identity ProviderSSO Service ProviderAttribute AuthorityAuthentication AuthorityPolicy Decision Point

Defines configuration and trust data such as:Supported identifiers and profilesSAML service endpoint URLsSigning and encryption certificates

Metadata Publication and Resolution

Page 28: SAML 2.0 and Related Work in XACML and WS-Security

Agenda

SAML History and OverviewSAML 2.0 New FeaturesSAML-related features in XACMLSAML in Web Services Security

Page 29: SAML 2.0 and Related Work in XACML and WS-Security

eXtensible Access Control Markup Language (XACML)

Define a core XML schema for representing authorization and entitlement policiesTarget - any object - referenced using XMLFine grained control, characteristics - access requestor, protocol, classes of activities, and content introspectionConsistent with and building upon SAML

Page 30: SAML 2.0 and Related Work in XACML and WS-Security

XACML ObjectivesAbility to locate policies in distributed environmentAbility to federate administration of policies about the same resourceBase decisions on wide range of inputs

Multiple subjects, resource propertiesDecision expressions of unlimited complexityAbility to do policy-based delegationUsable in many different environments

Types of Resources, Subjects, ActionsPolicy location and combination

Page 31: SAML 2.0 and Related Work in XACML and WS-Security

XACML HistoryFirst Meeting – 21 May 2001Requirements from: Healthcare, DRM, Registry, Financial, Online Web, XML Docs, Fed Gov, Workflow, Java, Policy Analysis, WebDAVXACML 1.0 - OASIS Standard – 6 February 2003XACML 1.1 – Committee Specification – 7 August 2003XACML 2.0 – OASIS Standard – 1 February 2005

Page 32: SAML 2.0 and Related Work in XACML and WS-Security

XACML 2.0 – SAML Features

SAML Attribute mappingAuthorization Decisions

QueryResponse (Statement)

Policy ManagementPolicy StatementPolicy request/response

Page 33: SAML 2.0 and Related Work in XACML and WS-Security

XACML 2.0 Uses SAML Features

SAML

AuthenticationAssertion

AttributeAssertion

AuthorizationDecisionAssertion

AuthenticationAuthority

AttributeAuthority

Policy DecisionPoint

Policy EnforcementPoint

Policy Policy Policy

CredentialsCollector

SystemEntity

ApplicationRequest

Page 34: SAML 2.0 and Related Work in XACML and WS-Security

Agenda

SAML History and OverviewSAML 2.0 New FeaturesSAML-related features in XACMLSAML in Web Services Security

Page 35: SAML 2.0 and Related Work in XACML and WS-Security

Web Services Security (WSS)Provides protection of SOAP messagesSOAP header element <Security>Digital signatures and encryptionGreater flexibility than SSL/TLSSupports multiple Security Token types

Username/password Binary: X.509 and KerberosXML: SAML and REL

Page 36: SAML 2.0 and Related Work in XACML and WS-Security

Web Services Security HistoryOASIS TC formed September 2002OASIS Standard in April 2004

Core Specification + Username and X.509 ProfilesOASIS Standard December 2004

SAML and REL Token ProfilesAttachments Profile completed public reviewKerberos Token Profile in processWSS Version 1.1 in Progress

Complete document updateBackward compatible

Page 37: SAML 2.0 and Related Work in XACML and WS-Security

SAML Token Profile

SAML Assertions in Security HeaderPrimary usage Attribute StatementsSubject Confirmation – Holder of Key

Digital signature or encryptionSubject Confirmation – Sender Vouches

Also supported

Page 38: SAML 2.0 and Related Work in XACML and WS-Security

WSS SAML Token ProfileSAML

SOAP Message

SOAP Header

SOAP Body

...

SAML Assertionabout SOAP Body

Page 39: SAML 2.0 and Related Work in XACML and WS-Security

SAML 2.0 SummaryConvergence point for SAML 1.x, Liberty ID-FF, and Shibboleth as an OASIS StandardNew customer-driven features to:

Reduce deployment and administrative costsImprove control over identity data to help meet regulatory compliance requirementsEnhance the web user online experienceEnhance privacy and user control over identity data

Complete identity federation solution with no missing “last mile” piecesComplementary features in WS-Security and XACML