Home

Specifications

Schema

Commentary

Mark Wahl


Web Design by
Kristen Lanum

Commentary by Mark Wahl, CISA

Organizing principles for systems:
A good alignment, though not yet a grand unification (2007/2/6)

Numerous recent announcements of the partnership between Microsoft and some of the OpenID developers for a closer relationship between InfoCard/CardSpace and OpenID have indicated a promise of improved interoperability, and an enlargement in the ranges of potential deployment scenarios for implementations of each protocol suite.

One of the interesting aspects in this relationship is desire, as part of InfoCard's anti-phishing strategy, to provide some manner of quality-of-authentication metric from an identity provider (IdP in CardSpace or OP in OpenID) to a relying party (RP), in order that relying parties may better be able to recognize when phishing resistant credentials have been provided by the user.

Looking forward, I see this as one attribute of a transaction between an IdP and an RP, and an indication of "the kinds of authentication which an IdP can perform" as an attribute of a relationship between an IdP and an RP.

Now typically in identity discussions, the concepts of relationships is typically taken in the context of

the association between one individual to another,

as in social networking systems, or

the association between an individual and an organization,

as in customer and vendor relationship management.

However, many other categories of relationships exist in identity systems and could impact the long-term deployability of both InfoCard and OpenID-based federations.

In particular, one open question for systems based on InfoCard protocols, OpenID protocols, or a hybrid of both, is

How is the relationship between an Identity Provider (IDP) an a Relying Party (RP) established and maintained?

At present, the answers seem to be 'out of band business processes' and 'manual updates'. As I mentioned last year, the protocols for communication between an InfoCard IdP and RP are currently underspecified.

Currently, in the published InfoCard specifications, relying parties security token services (STS) and applications can advertise their policy constraints on acceptable tokens and issuers via the WS-Policy protocol. At present, I have not yet seen a standard way for OpenID or InfoCard Identity Providers to advertise their capabilities. In particular, how should a relying party determine what identity provider are trustable is still determined on a case-by-case basis.

In a closed community in which a relying party only trusts the validation of credentials to be performed by a single identity provider, typically run by that same organization, then this is a non-issue. Other environments, such as in a federal government medium security infrastructure, a relying party may have an enumerated set of identity providers that it recognizes. In other environments, it is not clear how a relying party should choose the identity providers that it trusts. If RP 2 trusts IdP 2 and IdP 3, should RP 2 also trust IdP N?

Once this IdP-RP relationship is established, in the existing InfoCard protocols, some of the transactions between these parties are overloaded on the SSL certificates and the enveloped public keys that these parties' web applications and web services provide for HTTPS. The loss or potential exposure of one of the parties private keys can be made aware to other parties through certificate revocation lists and protocols such as OCSP, but non-emergency behavior may not be as well handled. When these parties perform their regular key change or certificate renewal, or change from one certificate issuer to another, the RPs which have hardcoded existing keys and certificates may suddenly fail. An operational protocol which allows a IdP to provide notification and negotiate these handovers with the RPs it services would be desirable, however at present, IdPs may not even be aware of the RPs that are relying on it, and have no means of determining whether a particular RP should be relying on it.

It will be interesting to see what can be leveraged from the experience of traditional federated identity systems, based on Project Liberty, or from the emerging recent Liberty and WS-Federation specifications.