DRAFT - The Multi-Context Broker - DRAFT

The Multi-Context Broker (MCB) is an extension to Shibboleth that improves Shibboleth's handling of multiple authentication methods, including multi-factor authentication, as well as multiple authentication contexts and assurance profiles.  This document contains information about the MCB, what it can be used for, and how it is installed and configured.

For a quick overview of the MCB and what it does, please see [The Multi-Context Broker|^The Multi-Context Broker.pdf], presented by David Walker and David Langenberg at Identity Week 2013, as well as [this demonstration] \[TBD\].  Read on for more detailed information.

History

During 2012, the InCommon Assurance Program explored implementation issues of assurance, most notably with CI Logon, National Institutions of Health and the Department of Education. The latter two organizations are required to follow the Federal Identity Credential and Access Management committee’s SAML2 Web SSO Profile for requesting Authentication Contexts (e.g., assurance profiles). CI Logon, run by NCSA, has more flexibility in its requirements.

While testing, campus implementers identified the following issues, as of version 2.4 of the Shibboleth IdP:

In January of 2013, InCommon convened the group described in the Acknowledgements section to share their testing experiences to date and assist in the development of a requirements document for an initial set of enhancements to the Shibboleth IdP to address these issues that could be 1) delivered to the Shibboleth Consortium for consideration in future IdP release and 2) used as a basis for an RFP to develop a short term solution for campuses interested in implementing assurance over-the-wire.

In summary, the testing group saw two primary SP use cases:

In addition, the diversity in HIgher Education IdP implementations and the supporting identity management and authentication systems, suggests a certain level of configurability and flexibility in how the Shibboleth IdP supports the bullets above. To support the Silver Identity Assurance profile, an organization may determine that bringing its password infrastructure into compliance is a viable option, where another may layer on a multi-factor solution and bypass the complexity and scope of the current password infrastructure. The solution must be able to manage the use of multiple authentication systems, contexts in which they are required, and the user’s ability to control their authentication method when multiple options exist.

Defining Some Terms

What Does the Multi-Context Broker Do?

The Multi-Context Broker enhances the Shibboleth IdP’s ability to orchestrate among multiple Authentication Contexts, including those requiring multi-factor authentication.  To do this, it considers information from multiple sources:

When the MCB receives a request from an SP:

  1. It compares the SPs requested Authentication Contexts against the the Contexts the user is certified to use plus any Contexts that are satisfied by the user's certified Contexts to determine the Contexts that can be used for this transaction.
  2. It presents the Authentication Methods associated with the Authentication Contexts that can be used for this transaction to the user. If the SP requested multiple Contexts, the Methods are presented in the priority order of their requested Contexts. If an Authentication Method can be used for multiple Contexts, it is presented only once for the highest-priority Context.
  3. The user selects one of the presented Authentication Methods (assuming there is more than one) and authenticates.  Upon successful authentication, the MCB returns the SP-requested Authentication Context that has been satisfied.  (Note, the MCB and Shibboleth maintain session state to enable single sign-on.  Once the user has authenticated with a particular Authentication Method, that Method will not require further user interaction for the rest of the session, unless the SAML "force authentication" option is specified.)

Note that the process described above assume knowledge of the identity of the current user. When the current user is not already known to the MCB (i.e., this is the start of a new session), there are three options:

Example Uses for the Multi-Context Broker

Authentication Method Selected by SP Request

Authentication Method Selected by User Certification

InCommon Bronze and Silver with One Authentication Method

InCommon Bronze and Silver with Two Authentication Methods

Sample Configurations

Where Do I Get the Multi-Context Broker?  How Do I Report Bugs?  Where is the Source?

Current State of the Implementation

The MCB supports all of the functionality described in this document, and the following authentication methods are supported:

The following are potential areas for future development: