13.07.2015 Views

Liberty ID-FF Bindings and Profiles Specification - Liberty Alliance

Liberty ID-FF Bindings and Profiles Specification - Liberty Alliance

Liberty ID-FF Bindings and Profiles Specification - Liberty Alliance

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Liberty</strong> <strong>Alliance</strong> Project:<strong>Liberty</strong> <strong>ID</strong>-<strong>FF</strong> <strong>Bindings</strong> <strong>and</strong> <strong>Profiles</strong> <strong>Specification</strong>Version: 1.2-errata-v2.098498598698798898999099199299399499599699799899910001001100210031004which is REQUIRED (m<strong>and</strong>atory to implement) for any implementation of the <strong>Liberty</strong> browser artifact profile. Thisartifact type is defined as follows:TypeCode := 0x0003RemainingArtifact := IdentityProviderSuccinct<strong>ID</strong> AssertionH<strong>and</strong>leIdentityProviderSuccinct<strong>ID</strong>:= 20-byte_sequenceAssertionH<strong>and</strong>le := 20-byte_sequenceIdentityProviderSuccinct<strong>ID</strong> is a 20-byte sequence used by the service provider to determine identity provideridentity <strong>and</strong> location. It is assumed that the service provider will maintain a table of IdentityProviderSuccinct<strong>ID</strong>values as well as the URL (or address) for the corresponding SAML responder at the identity provider. Thisinformation is communicated between the identity provider <strong>and</strong> service provider out of b<strong>and</strong>. On receiving the SAMLartifact, the service provider determines whether the IdentityProviderSuccinct<strong>ID</strong> belongs to a known identityprovider <strong>and</strong>, if so, obtains the location before sending a SAML request.Any two identity providers with a common service provider MUST use distinct IdentityProviderSuccinct<strong>ID</strong>values. Construction of AssertionH<strong>and</strong>le values is governed by the principles that the values SHOULD have nopredictable relationship to the contents of the referenced assertion at the identity provider, <strong>and</strong> that constructing orguessing the value of a valid, outst<strong>and</strong>ing assertion h<strong>and</strong>le MUST be infeasible.The following rules MUST be followed for the creation of SAML artifacts at identity providers:10051006100710081009101010111012• Each identity provider selects a single identification URL, corresponding to the provider metadata elementProvider<strong>ID</strong> specified in [<strong>Liberty</strong>Metadata].• The identity provider constructs the IdentityProviderSuccinct<strong>ID</strong> component of the artifact by taking theSHA-1 hash of the identification URL as a 20-byte binary value. Note that the IdentityProviderSuccinct<strong>ID</strong>value, used to construct the artifact, is not encoded in hexadecimal. The AssertionH<strong>and</strong>le value is constructedfrom a cryptographically strong r<strong>and</strong>om or pseudo-r<strong>and</strong>om number sequence (see [RFC1750]) generated by theidentity provider. The sequence consists of a value of at least eight bytes. The value should be padded to a totallength of 20 bytes.1013101410151016101710181019102010213.2.3. <strong>Liberty</strong> Browser POST ProfileThe <strong>Liberty</strong> browser POST profile allows authentication information to be supplied to an identity provider without theuse of an artifact. Figure 3 diagrams the interactions between parties in the <strong>Liberty</strong> POST profile. This profile is anadaptation of the "Browser/post profile" for SAML as documented in [SAMLBind11].The following URI-based identifier MUST be used when referencing this specific profile (for example, element of the message):URI: http://projectliberty.org/profiles/brws-postThe <strong>Liberty</strong> POST profile consists of a series of two interactions, the first between a user agent <strong>and</strong> an identity provider,<strong>and</strong> the second directly between the user agent <strong>and</strong> the service provider.<strong>Liberty</strong> <strong>Alliance</strong> Project27

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!