Top Banner
A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT
28

A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Dec 24, 2015

Download

Documents

Helen Freeman
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

A Use Case for SAML Extensibility

Ashish Patel, France TelecomPaul Madsen, NTT

Page 2: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Overview● Interoperability is best enabled by tightly defined

specifications.● But, new requirements, unforeseen when specs are

first defined, will inevitably emerge.● An extensible standard provides near-term

interoperability while accounting for such future requirements.

● Designers of SAML attempted to anticipate future requirements by building in extensibility points throughout specifications.

● We'll discuss the application of SAML's extensibility mechanisms in meeting the requirements of a common ISP identity use case.

Page 3: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Agenda

1) SAML Introduction2) SAML Extensibility Mechanisms3) Extensibility Use Case – 'Shared

Credentials'4) Summary

Page 4: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

SAML Introduction (Brief)

Page 5: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

SAML Introduction● Security Assertions Markup Language (SAML)

defines XML-based protocols & syntax for passing security & identity attributes between providers

● SAML 2.0 standardized by OASIS Security Services TC in Mar 2005

● Defines assertion & protocol syntax, bindings to transport channels, and profiles for typical applications

● Strong support across wide range of applications & industry, including telecommunications

Page 6: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

SAML Extensibility Mechanisms

Page 7: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

SAML Extensibility Mechanisms● Extensibility of structure

– includes ways to modify (add to or subtract from) SAML's native XML content models.

● Extensibility of protocol– includes ways to define new flows, called profiles,

of SAML assertion creation, usage, and exchange. Sometimes these profiles also involve extended XML structures and content, as described above.

• Extensibility of content

- includes ways to customize the format and interpretation of the content of SAML's XML elements and attributes.

Page 8: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Derived Types● XML Schema allows a type to serve as a

base type of an extended (or restricted) type● All of SAML's defined types are non-final

and are explicitly documented as being derivable.

● SAML defines “deep” complex type hierarchies (and matching elements) especially for derivation purposes.

● Such “Abstract” types MUST be derived and cannot appear directly in a SAML instance

● Allows for definition of completely novel assertion types

Page 9: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Example type extension point<complexType name="StatementAbstractType" abstract="true"/>

.<complexType name="AuthnStatementType"> <complexContent> <extension base="saml:StatementAbstractType"> <sequence> <element ref="saml:SubjectLocality" minOccurs="0"/> <element ref="saml:AuthnContext"/> </sequence> </extension> </complexContent></complexType>

Page 10: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Wildcards● Some content models contain the XSD

<xs:any>,<xs:anyAttribute> and <saml:Extensions> structures.

● They create partially or fully “open” portions of a content model, where a variety of specific elements not foreseen by the original schema may appear.

● Allows elements from different namespaces to appear in assertions and protocols

● Such extensions can go unremarked – no need for new types to be defined

Page 11: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Example wildcard extension point<complexType name="StatusResponseType"> <sequence> <element ref="saml:Issuer" minOccurs="0"/> <element ref="samlp:Extensions" minOccurs="0"/> <element ref="samlp:Status"/> </sequence> <attribute name="ID" type="ID" use="required"/> <attribute name="InResponseTo" type="NCName"/> <attribute name="Consent" type="anyURI"/></complexType><complexType name="ExtensionsType"> <sequence> <any namespace="##other" processContents="lax"/> </sequence></complexType>

Page 12: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Example Wildcard instance

<saml:Response ID=”” InResponseTo=”” Consent=””> <saml:Issuer>provider.example.com</saml:Issuer> <saml:Extensions> <other:OtherElement> </other:OtherElement> </saml:Extensions> <saml:Status> <saml:StatusCode Value=”Success”/> </saml:Status></saml:Response>

Page 13: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

URI Identifiers● SAML uses URI-based identifiers for

interpreting selected SAML element and attribute content correctly.

● Different meanings indicated through an attribute that contains a URI reference

● Extensible through the definition of new URI values.

● Technique specific to the SAML vocabulary and not global to XSD.

Page 14: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Example URI extension point<complexType name="NameIDType"> <simpleContent> <extension base="string"> <attributeGroup ref="saml:IDNameQualifiers"/> <attribute name="Format" type="anyURI" use="optional"/> <attribute name="SPProvidedID" type="string" use="optional"/> </extension> </simpleContent></complexType>

Page 15: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Successful Extensions of SAML● Liberty ID-FF is best known example of a

customization/extension of SAML 1.0/1.1– ID-FF used derived types to extend SAML

AuthnRequest & AuthnResponse● Shibboleth defined new URIs for Format and

AttributeNamespace.● XACML uses derived types to extend the SAML

base request type for its own authz & policy queries

● SIP uses the <Conditions> extension point for binding a SAML 1.1 assertion to a SIP message

Page 16: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Extensibility Use Case - “Shared Credentials”

Page 17: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Shared Credentials Use case ISPs and Telcos often identify "family" of Principals

via IP address or phone line circuit. This passive authentication is sufficient to grant access to certain services: placing a phone call, accessing internet.

Also need to be able to deliver personalized service to such shared terminals.

A 3rd party service provider may provide both group level and personalized service e.g. address book in the above mentioned setup.

The SP relies on the IDP for both passive group authentication as well as active individual level authentication.

Page 18: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Shared Credentials - Use case Cont'd

Page 19: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Shared Credentials - Requirements1) The SP can rely on IDP to authenticate Principal at

both group and individual level.

2) The IDP can specify type of assertion it is issuing i.e. whether Principal was authenticated at group or individual level.

3) The SP can request of the IDP a particular type of assertion (group/individual).

4) The SP may not have knowledge about Principal belonging to group.

Page 20: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Shared Credentials - Proposal Group or individual level will be distinguished

by the type of credential by which the user authenticates to the IDP.

Group Identity == Shared Credential Nature of the credential (i.e. shared or

unique) will be expressed through the SAML Authentication Context (AC) framework

SAML AC provides a syntax by which the context of an authentication event can be expressed.

Shared credential interpreted as just another aspect of the authentication context.

Page 21: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Shared Credentials - Details Current request structure give SP little flexibility

in expressing combinations of AC requirements 1) We are proposing a new protocol

extension to provide the required flexibility 2) We are proposing a new metadata

extension by which providers can advertise support above extensions.

Current AC language does not cover concept of shared credentials 3) We are proposing a new AC schema

extension to distinguish between shared /unique credentials

Page 22: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Protocol Extension Example<samlp:AuthnRequest>. <samlp:Extensions>

<rac:RequestedAuthnContexts> <rac:AuthnContextClassRef> ac:classes:Password </rac:AuthnContextClassRef> <rac:AuthnContextClassRef> ac:classes:NonShared </rac:AuthnContextClassRef> </rac:RequestedAuthnContexts>

</samlp:Extensions>

</samlp:AuthnRequest>

Page 23: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Metadata Extension Example

<md:EntityDescriptor xmlns:md="SAML:2.0:metadata">

<md:SingleSignOnService

sc:supportsRequestedAC="true" .... />

</md:EntityDescriptor>

Page 24: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

AC Declaration Extension Example <saml:AuthnContext>

<ac:AuthnContextDeclaration>

<ac:AuthnMethod>

<ac:PrincipalAuthenticationMechanism>

<ac:Extension>

<sc:SharedCredential>

true

</sc:SharedCredential>

</ac:Extension>

</ac:PrincipalAuthenticationMechanism>

</ac:AuthnMethod>

</ac:AuthnContextDeclaration>

</saml:AuthnContext>

Page 25: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Summary

Page 26: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Summary SAML 2.0 provides a number of extensibility

points by which new requirements, unforeseen at original drafting, can be accomodated in an interoperable manner.

We are proposing to leverage a number of SAML's extensibility points in order to address our Shared Credential Use Case requirements.

Balancing support for new Shared Credential requirements with interoperability based on unextended SAML 2.0 specs

Page 27: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

'We demand rigidly defined areas of doubt

and uncertainty'Vroomfondle

in Hitchhiker's Guide to the Galaxy

Page 28: A Use Case for SAML Extensibility Ashish Patel, France Telecom Paul Madsen, NTT.

Thank You