UserPreferences

IssoSpecs


I-Name Single Sign-On (ISSO) Specifications

  1. Introduction
  2. ISSO 1.x Specifications
    1. Working Drafts
    2. Referenced Specifications
    3. Service Type XRI
  3. Use Cases
    1. Actors
    2. Preconditions
    3. Basic Use Case
    4. Variants
      1. Login Button
      2. Auto-Login
      3. No Confirmation
      4. Anti-Pharming
  4. Basic Design
    1. I-Name Resolution and Service Endpoint URI Selection
    2. SAML Assertion Exchange
  5. New Requirements
    1. I-Broker-to-Website Authentication
    2. I-Broker-to-User Authentication
    3. User-to-I-Broker Authentication
    4. ISSO User Configuration Options
    5. Logging/Reporting Requirements
    6. Certification Requirements
    7. Browser Support Documentation

1. Introduction

This is the home page for community development of the specifications for how XRI resolution is combined with [WWW]SAML assertion exchange to achieve a very simple, standardized SSO user experience.

The goal of the ISSO specifications is to make ISSO as easy as possible not just for users but for the websites and i-brokers who support it. [WWW]XDI.ORG, [WWW]Identity Commons, [WWW]2idi, [WWW]Blue Oxen, [WWW]ooTao, [WWW]AmSoft, and other [WWW]members of the XDI Community are cooperating to develop these specifications so that all sites that install an ISSO plug-in and all i-brokers who offer ISSO service can interoperate seamlessly.

2. ISSO 1.x Specifications

2.1. Working Drafts

The ISSO 1.x specifications consist of a profile of XRI 2.0 and SAML 2.0 that specifies how the two are used together to accomplish the use case above. Drafts will be posted here. Please post feedback to this page.

Note: Working Draft 01 will be superceded with a new working draft incorporating the new features described below. Subscribe to this wiki page for updates as these specifications are completed.

2.2. Referenced Specifications

The ISSO 1.x specs reference:

2.3. Service Type XRI

Each XDI.ORG i-service specification defines an absolute XRI that is used as value of a Service/Type element in the XRID (XRI descriptor) for any XRI authority (person or organization) offering this service. See the XRI Descriptor section of the [WWW]XRI 2.0 Resolution Specification for more details.

For ISSO service V1.0 the proposed service type and version is:

xri://$res*local.access/(+isso)*($v/1.0)

3. Use Cases

Following is the basic ISSO use case.

3.1. Actors

3.2. Preconditions

  1. User has registered at least one i-name with an i-broker. This i-name must resolvable in the XDI.ORG Community (meaning a global i-name, e.g., "=example.name", or a community i-name, e.g., "@example.org*example.name").

  2. I-Broker offers ISSO service and User is authorized to use it.

  3. Website has installed an ISSO plug-in.

  4. Website accepts ISSO assertions from i-brokers that are authenticated accredited members of the XDI.ORG Community (see New Requirements, below).

  5. User has not authenticated with Website or with I-Broker in the current session.

3.3. Basic Use Case

  1. User navigates to ISSO login at Website or tries to access a resource at the Website that requires authentication and Website responds with i-name login box.

  2. User enters i-name into ISSO login box (see "Login Button" and "Auto-Login" variants below.)

  3. Website resolves i-name and redirects User's browser (with SAML Authentication Request) to I-Broker who produces:

    1. Personalized Authentication Challenge if User is not logged in to I-Broker or if User's I-Broker session has timed out; or

    2. Authentication Confirmation if User is currently logged in to I-Broker. (See "No Confirmation" and "Anti-Pharming" variants below.)

  4. I-Broker redirects User to Website (with SAML Authentication Response).

    1. If success User is logged in at Website and is granted access to the requested resource.

    2. If failure Website can try alternative means of authentication.

3.4. Variants

3.4.1. Login Button
If User grants the Website permission to "remember" User via a cookie or other session-state-management tool, the Website can simply display a "I-Name One-Click Login" Button (which may be personalized) that User can click to initiate SSO instead of needing to type in an i-name.

Technical Notes:

  1. While this affects the user experience at the Website, it has no technical effect on ISSO implementation.

  2. To ensure continuity of user experience, Website should remember User's by i-number and not i-name. Ideally Website should remember User by all i-numbers provided as internal and external synonyms in user's XRID.

  3. If the authentication fails, Website should prompt the user to enter a new i-name identity.

3.4.2. Auto-Login
Auto-Login is when User desires to be automatically logged into a Website on any visit to a controlled page, without needing to either enter the User's i-name or click a Login Button. In this case the Website-to-I-Broker redirect happens automatically. However the I-Broker MUST allow the User to control this behaviour by explicitly storing the User's preference for which Websites are enabled for Auto-Login.

It is proposed that to reduce complexity and user education, this feature not be supported in ISSO V1.

3.4.3. No Confirmation
In this variant, the User has set a preference with their I-Broker not to display an Authentication Confirmation window if the User is already authenticated in such a way that meets both Website and I-Broker policy requirements.
3.4.4. Anti-Pharming
In this variant, User's machine is not recognized by I-Broker when Authentication Request is received from Website (i.e., User has cleared cookies or is using a new machine), so I-Broker cannot authenticate itself to User by producing the Personalized Authentication Challenge. To prevent [WWW]pharming attacks, I-Broker must follow a different login procedure:
  1. I-Broker produces a "Home Page Login Required" window that informs User that I-Broker does not recognize the current machine, and for User's safety User must type in User's I-Broker home page address directly (and provides the address in large letters, but not as a link, so User is not fooled into going to a spoofed site.)

  2. User types in I-Broker's home page address (or navigates from another trusted site) and logs in directly at I-Broker.

  3. I-Broker sets session cookie to recognize User.

  4. ISSO use case completes (unless original request has timed out - see discussion below).

4. Basic Design

4.1. I-Name Resolution and Service Endpoint URI Selection

  1. Website resolves i-name and in the response XRID selects the highest priority URI of the highest priority Service element matching the Service Type XRI for ISSO service (defined above). This is the Service Endpoint (SEP) URI for that User at that User's i-broker.

  2. If the SAML request at that SEP URI fails, and there are other equal or lower priority SEP URIs in the same Service element, the Website SHOULD try those in order of priority.

  3. If alls SEP URIs in the highest priority ISSO Service element fail, and there are other equal or lower priority ISSO Service elements in the XRID, the Website SHOULD try those in order of priority repeating the previous step for each ISSO Service element.

4.2. SAML Assertion Exchange

  1. Website uses the SAML Post/Post profile to send a SAML authentication request to the SEP. It expects an SAML authentication response in return. All interactions in this exchange are governed by the SAML 2.0 protocol.

Aman, please note any exceptions here.

5. New Requirements

This section describes the new features or feature enhancements that are incremental to Working Draft 01 (see the ISSO 1.x Specifications above). A new Working Draft will be issued once these features have been scoped and designed.

5.1. I-Broker-to-Website Authentication

Proposed design that meets only the verified public key requirement:

Proposed design that meets both the verified public key and verified XDI.ORG community standing requirement:

xri://$res*local.access/(+public.key)*(+isso)

Note: additional detail needed here about public key expiration policy.

5.2. I-Broker-to-User Authentication

The requirement is to help prevent “pharming” of i-broker passwords, i.e., attackers trying spoof the i-broker login page, by requiring a reasonably strong form of I-Broker-to-User authentication in the Authentication Challenge.

Proposed design (based on that used by the Verified by Visa and MasterCard SecureCard programs):

5.3. User-to-I-Broker Authentication

Aman, please suggest what you believe are the easiest and most secure options.

5.4. ISSO User Configuration Options

5.5. Logging/Reporting Requirements

5.6. Certification Requirements

5.7. Browser Support Documentation