The authentication context indicates how a user authenticated at an Identity Provider. The Identity Provider includes the authentication context in a single sign-on assertion at the request of a Service Provider or based on configuration at the Identity Provider. A Service Provider can require information about the authentication process to establish a level of confidence in the assertion before granting access to resources.
To request the authentication context, the CA SiteMinder® Service Provider must include the <RequestedAuthnContext> element in the authentication request to the Identity Provider. The Service Provider, puts this element is in the request based on a configuration setting in the SP->IdP partnership.
A CA SiteMinder® Identity Provider obtains the authentication context in one of two ways:
If the federated partner is a CA SiteMinder® Service Provider that does not support AuthnContext requests, manually enter a URI in the Administrative UI.
The Policy Server maps the authentication context URIs to Policy Server-defined authentication levels. The authentication levels indicate the strength of an authentication context for an established user session. The levels enable the authentication context to be derived from the user session at the Identity Provider.
When the Identity Provider receives a request, it compares the value of the <RequestedAuthnContext> element to the authentication context. The comparison is based on a comparison value in the request from the Service Provider. If the comparison is successful, the Identity Provider includes the authentication contexts in the assertion that it returns to the Service Provider. If validation is configured at the Service Provider, the Service Provider validates the incoming authentication context with the value it requested.
When single sign-on is initiated at the IdP, authentication context processing follows these steps:
Based on a configured authentication context template, the AuthnContext class is mapped to the protection level for the session.
The hard-coded URI you specify is added to the assertion.
When single sign-on is initiated at the SP, authentication context processing follows these steps:
Based on a configured authentication context template, the AuthnContext class is mapped to the protection level for the session.
The hard-coded URI you specify is added to the assertion.
If the SP includes multiple authentication context URIs in the request, the classes are compared one-by-one in sequential order against the context for the session. At the first successful comparison, the IdP adds the session authentication context to the assertion.
If the comparison is not successful, the transaction is terminated with a "noauthncontext" status response.
The following table shows examples of how an authentication context is processed depending on the comparison attribute sent in the authentication context request.
SP-requested Authentication Context |
Comparison Attribute Value |
IdP-configured Authentication Context |
Status Response |
---|---|---|---|
Password |
exact |
InternetProtocol |
NoAuthnContext |
Password |
minimum |
InternetProtocol |
NoAuthnContext |
Password |
better |
InternetProtocol |
NoAuthnContext |
InternetProtocol |
exact |
InternetProtocol |
Success |
InternetProtocol |
minimum |
InternetProtocol |
Success |
InternetProtocol |
maximum |
InternetProtocol |
Success |
InternetProtocol |
maximum |
Password |
NoAuthnContext |
InternetProtocol |
better |
Password |
Success |
Configuring how authentication context information is processed involves the following tasks:
An authentication context template defines the specific SAML 2.0 AuthnContext URIs that a partnership supports. Each URI identifies the context class that provides additional information in an assertion.
The template maps the URIs to the protection levels associated with a user session. The protection levels indicate the strength of the authentication, from 1 through 1000, with 1000 being the strongest. An administrator assigns protection levels as part of the authentication scheme that authenticates a user and establishes a user session.
You can select a template on a per-partnership basis; multiple partnerships can use a single template.
Set up an authentication context template to associate URIs and protection levels. This procedure is the same regardless of whether CA SiteMinder® is acting as an Identity Provider or Service Provider.
Follow these steps:
The template wizard opens at the first step.
Note the following information:
Read more about protection level assignments.
Group URIs by indenting one URI under the previous URI. Individual URIs can have unique protection levels; however, grouping URIs means that they share the level of strength.
The template is complete.
In the authentication context template, assign a maximum protection level to each URI. The minimum protection level is automatically calculated based on the maximum level for the subsequent URI in the list.
Protection Level Example
Each protection level is mapped to a URI strength level. The original list of URIs can be organized like the following example:
URI |
Protection Level Max |
URI Strength |
---|---|---|
urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession |
1000 |
5 |
urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocoPassword |
800 |
4 |
urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol |
700 |
3 |
urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos |
500 |
2 |
urn:oasis:names:tc:SAML:2.0:ac:classes:Password |
200 |
1 |
If you group several of the URIs from the previous table, the grouping enables URIs with different protection levels to have the same URI strength. The modified table that follows shows the groupings.
URI |
Protection Level Max |
URI Strength |
---|---|---|
urn:oasis:names:tc:SAML:2.0:ac:classes:PreviousSession |
1000 |
3 |
urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocoPassword |
800 |
3 |
urn:oasis:names:tc:SAML:2.0:ac:classes:InternetProtocol |
700 |
2 |
urn:oasis:names:tc:SAML:2.0:ac:classes:Kerberos |
500 |
2 |
urn:oasis:names:tc:SAML:2.0:ac:classes:Password |
200 |
1 |
The range of strength levels reflects the total number of groups in the list. For example, if there are three groups, the strength level ranges from 1 to the total number groups, which is 3.
The Policy Server acting as the IdP can obtain the authentication context for an assertion in these two ways:
Specify a URI for the authentication class and ignore the context request from the SP. A hard-coded entry can act as the default authentication context for IdP-initiated single sign-on.
The Policy Server automatically detects the user session authentication context using the authentication context template.
The IdP uses the template even if the authentication request from the SP does not include the <RequestedAuthnContext> element. The presence of the element triggers extra evaluation by the IdP and constrains the choices of what it can put in the assertion.
You can find more information about the flow of authentication context processing.
Follow these steps:
The following table shows how the Configure AuthnContext and the Ignore RequestedAuthnContext settings work together:
Configure AuthnContext |
Ignore RequestedAuthnContext |
SP requests AuthnContext |
Result |
---|---|---|---|
Predefined Class |
Selected |
Yes |
IdP ignores the <RequestedAuthnContext> and uses the defined value in the assertion. |
Predefined Class |
Selected |
No |
IdP returns the defined value in the assertion by default. |
Predefined Class |
Not selected |
Yes |
Transaction fails because the IdP is not configured to handle the authentication context request. The IdP returns an error message to the SP. |
Predefined Class |
Not selected |
No |
IdP returns the defined class value in the assertion by default. |
Automatically Detect Class |
Selected |
Yes |
IdP compares the protection level for the authentication scheme against the authentication context template and returns the matching authentication URI in the assertion. The IdP ignores the values in the SP request. |
Automatically Detect Class |
Selected |
No |
IdP compares the protection level for the authentication scheme against the authentication context template and returns the matching authentication URI in the assertion. The IdP ignores the values in the SP request. |
Automatically Detect Class |
Not selected |
Yes |
IdP compares the protection level against the authentication context class that the SP sends. The IdP uses the authentication context template to determine the authentication URI it places in the assertion. |
Automatically Detect Class |
Not selected |
No |
IdP compares the protection level for the authentication scheme against the authentication context template and returns the matching authentication URI in the assertion. |
Create an authentication context template to obtain the authentication class automatically.
Follow these steps:
The following table shows how the Configure AuthnContext and the Ignore RequestedAuthnContext settings work together:
Configure AuthnContext |
Ignore RequestedAuthnContext |
SP requests AuthnContext |
Result |
---|---|---|---|
Predefined Class |
Selected |
Yes |
IdP ignores the <RequestedAuthnContext> and uses the defined value in the assertion. |
Predefined Class |
Selected |
No |
IdP returns the defined value in the assertion by default. |
Predefined Class |
Not selected |
Yes |
Transaction fails because the IdP is not configured to handle the authentication context request. The IdP returns an error message to the SP. |
Predefined Class |
Not selected |
No |
IdP returns the defined class value in the assertion by default. |
Automatically Detect Class |
Selected |
Yes |
IdP compares the protection level for the authentication scheme against the authentication context template and returns the matching authentication URI in the assertion. The IdP ignores the values in the SP request. |
Automatically Detect Class |
Selected |
No |
IdP compares the protection level for the authentication scheme against the authentication context template and returns the matching authentication URI in the assertion. The IdP ignores the values in the SP request. |
Automatically Detect Class |
Not selected |
Yes |
IdP compares the protection level against the authentication context class that the SP sends. The IdP uses the authentication context template to determine the authentication URI it places in the assertion. |
Automatically Detect Class |
Not selected |
No |
IdP compares the protection level for the authentication scheme against the authentication context template and returns the matching authentication URI in the assertion. |
The authentication context is part of an assertion authentication statement and it indicates how a user authenticated at an IdP. An SP can require information about the authentication process to establish a level of confidence in the assertion before granting access to resources.
Authentication Context URIs are the value of the <AuthnContextClassRef> element inside of a <AuthnContext> element. Each URI identifies the context class that the SP wants the IdP to return in the assertion.
The authentication context template at the SP defines the following information:
You can select a template on a per-partnership basis and multiple partnerships can use a single template.
Create an authentication context template before you enable authentication context requests or while you are configuring the SP partnership.
An SP can request that an IdP return the authentication context in an assertion. Enable that request at the SP->IdP partnership.
Before you begin, we recommend that you create an authentication context template.
Follow these steps:
The configuration dialog opens.
Note: Click Help for a description of fields, controls, and their respective requirements.
Note the following information:
The Help details each comparison operator.
The authentication context request is included in the authentication requests sent to the Identity Provider.
Copyright © 2015 CA Technologies.
All rights reserved.
|
|