Information card

An information card (or i-card) is a personal digital identity that people can use online, and the key component of an identity metasystem. Visually, each i-card has a card-shaped picture and a card name associated with it that enable people to organize their digital identities and to easily select one they want to use for any given interaction. The information card metaphor has been implemented by identity selectors like Windows CardSpace, DigitalMe or Higgins Identity Selector.

An identity metasystem is an interoperable architecture for digital identity that enables people to have and employ a collection of digital identities based on multiple underlying technologies, implementations, and providers. Using this approach, customers can continue to use their existing identity infrastructure investments, choose the identity technology that works best for them, and more easily migrate from old technologies to new technologies without sacrificing interoperability with others. The identity metasystem is based upon the principles in "The Laws of Identity".

Overview
There are three participants in digital identity interactions using information cards:
 * Identity providers issue digital identities for you. For example, businesses might issue identities to their customers, governments might vouch for the identities of their citizens, credit card issuers might provide identities enabling payment, online services could provide verified data such as age, and individuals might use self-issued identities to log onto websites.
 * Relying parties (RPs) accept identities for you. Online services that you use can accept digital identities that you choose and use the information provided by them on your behalf, with your consent.
 * Subject is yourself, the party in control of all these interactions. The subject can choose which of its applicable digital identities to use with the relying party.

Selectors


An identity selector is used to store, manage, and use their digital identities. Examples of identity selectors are Microsoft's Windows CardSpace, the Bandit Project's DigitalMe, and several kinds of Identity Selectors from the Eclipse Foundation's Higgins project.

An identity selector performs the following user-centric identity management tasks:
 * Provides a consistent user experience for authentication (and in some cases other kinds of interactions) with an RP (also known as a Service Provider).
 * Provides a user interface that displays a set of information card icons from which the user selects their preferred i-card when authentication is required by a local application or relying party (e.g. a website's login page).
 * Provides a user interface to create and manage personal (also known as self-issued) information cards.
 * Provides a local security token service that is used to issue the security tokens for personal i-cards.
 * Provides a user interface to import and export information cards in standard file formats.
 * Is invoked by a browser extension or by a local rich client application.

An identity selector may also allow the user to manage (e.g. create, review, update, and delete cards within) their portfolio of i-cards.

Identity metasystems
There are five key components to an identity metasystem:
 * A way to represent identities using claims. Claims are carried in security tokens, as per WS-Security.
 * A means for identity providers, relying parties, and subjects to negotiate. Dynamically negotiating the claims to be delivered and the security token format used enables the identity metasystem to carry any format of token and any kinds of claims needed for a digital identity interaction. Negotiation occurs using WS-SecurityPolicy statements exchanged using WS-MetadataExchange.
 * An encapsulating protocol to obtain claims and requirements. The WS-Trust and WS-Federation protocols are used to carry requests for security tokens and responses containing those tokens.
 * A means to bridge technology and organizational boundaries using claims transformation. Security token services (STS) as defined in WS-Trust are used to transform claim contents and formats.
 * A consistent user experience across multiple contexts, technologies, and operators. This is achieved via identity selector client software such as Windows CardSpace representing digital identities owned by users as visual i-cards.

Generic qualities

 * I-cards are created by an entity known as a issuer.
 * I-cards display the name of the issuer (issuerName) in a text string.
 * I-cards have a text string to identify the card (cardName) that is initially set by the card issuer. Typically this card name is user-editable.
 * I-cards may have a (GIF or JPEG) background image (cardImage) set by the card issuer (user-editable).
 * In most i-cards the user is able to see the value of the claims.

Sign-in capabilities
Using i-cards, users can authenticate without needing a username and password for every website; instead, at sites accepting them, they can log in with an i-card, which may be used at multiple sites.

Each information card utilizes a distinct pair-wise digital key for every realm where a key is requested. A realm may be a single site or a set of related sites all sharing the same target scope information when requesting an information card. The use of distinct pair-wise keys per realm means that even if a person is tricked into logging into an imposter site with an i-card, a different key would be used at that site than the site that the imposter was trying to impersonate; no shared secret is released.

Furthermore, many identity selectors provide a means of phishing detection, where the HTTPS certificate of the relying party site is checked and compared against a list of the sites at which the user has previously used an information card. When a new site is visited, the user is informed that they have not previously used a card there.

Types of i-cards
The Identity Selector Interoperability Profile v 1.5 (or OASIS IMI v1.0 Committee Draft) specifies two types of information cards that an identity selector must support.


 * Personal Information Cards: (Also called self-issued) these cards allow you to issue claims about yourself to sites willing to accept them. These claims can include your name, address, phone numbers, e-mail address, web address, birth date, gender, and a site-specific key uniquely generated for each site where the card is used.
 * Managed Information Cards: These cards allow identity providers other than yourself to make claims about you to sites willing to accept them. These claims can include any information that an RP requests, an identity provider is able to provide, and you are willing to send between them.

The Higgins project is defining two new kinds of i-cards as well:


 * Relationship cards (or R-cards) are used to establish an ongoing relationship between multiple parties.
 * Zero-knowledge cards (or Z-cards)

However the Information Card format allows for custom types; The Bandit project demonstrated prototype managed cards backed by OpenIDs at the Novell BrainShare conference in March 2007.

Personal cards
The first kind of personal Information cards were also introduced as part of Microsoft’s Windows CardSpace software in November 2006. Their behavior is also defined by the same documents covering the Microsoft-defined managed cards (see above).

Summary of characteristics:
 * Data format an XML file containing: set of claim type URIs as well as the (user-defined) values of these claims, cardImage, a unique cardID, etc. This data format is defined in the ISIP documents.
 * Issuer: The user's own Identity Selector. Personal cards can be described as self-issued
 * Genesis: Created by the user's Identity Selector.
 * Claims: 15 pre-defined claim types (e.g. firstname, surname, email address, etc.) are defined in the Identity Selector Interoperability Profile v 1.5 (or OASIS IMI v1.0 Committee Draft).
 * Authority: The user's Identity Selector is the authority for the issued token's set of claim values.
 * Data flow: On demand (e.g. as needed by a relying site), an STS local to the Identity Selector creates a security token with the current values.
 * Editability: The claim values are directly editable by the user.
 * Attribute data source: The personal card XML file contains claim values. When imported into an Identity Selector these data values are then managed internally by the selector.

Managed information cards
The first kind of managed card was introduced as part of Microsoft’s Windows CardSpace software in November 2006. The behavior, file format and interoperability characteristics of these kinds of managed cards are defined by Microsoft documents such as the Identity Selector Interoperability Profile v 1.5 (or OASIS IMI v1.0 Committee Draft; see self-issued.info for a more complete list), in combination with open standards including WS-Trust and others.

Summary of characteristics:
 * Data format: an XML file containing: network endpoint of the STS, set of claim type URIs, name of the card, cardImage, issuerName, a unique cardID, etc. The XML file format is defined in the ISIP documents.
 * Issuer: An external, third party token service (representing an external person or organization).
 * Genesis: A managed card is generated by a Security Token Service running at an Identity Provider site and imported into the user's Identity Selector.
 * Claims: The list of supported claim types (claim type URIs) is defined by the issuer.
 * Authority: The issuer is the sole authority for the claim values contained within the token it issues.
 * Data flow: Managed cards contain a network endpoint reference to an STS that, when requested by the Identity Selector (using WS-Trust, etc.) generates/provides a security token containing the required claims.
 * Editability: Underlying attribute data is not directly editable by the user.
 * Attribute data source: Determined by the issuer, and generally managed by the issuer.

I-cards issued by third parties can employ any of four methods for the user to authenticate himself as the card owner: Additional methods could also be implemented by future identity selectors and identity providers.
 * a Personal Information Card (self-issued),
 * an X.509 certificate (which can either be from a hardware device such as a SmartCard or it can be a software certificate),
 * a Kerberos ticket, such as those issued by many enterprise login solutions, or
 * a username and password for the card.

Managed i-cards can be auditing, non-auditing, or auditing-optional:
 * Auditing cards require the identity of the RP site to be disclosed to the Identity Provider. This can be used to restrict which sites the identity provider is willing to release information to.
 * Non-auditing cards will not disclose the identity of the RP site to the Identity Provider.
 * Auditing-optional cards will disclose the identity of the Relying Party site if provided by the RP, but do not require this disclosure.

Relationship cards
Relationship cards are under development by the Higgins project (see the report by Paul Trevithick).

Summary of characteristics:
 * Data format: A managed card that supports a resource-udi claim.
 * Supported Claims: Like all managed (or personal) cards, r-cards include a list of supported claim types (expressed as URIs) as defined by the issuer. This set defines the maximal set of claims that issuer will include in its generated security token. These claims are inherited from underlying ISIP-m-card upon which it is based and are used for the same purposes. Beyond managed cards the resource-udi "meta" claim provides a reference to a set of attributes.
 * Authority: The issuer is the authority for the issued token's set of claim values (as per a normal managed or personal card).
 * Editability: The values of underlying attributes (referenced by the resource-udi claim) may be editable by parties other than the issuer.
 * Supported Attributes: The value of an r-card's resource-udi claim is an Entity UDI (URI) that "points to" a data entity (representing a person, organization, or other object). The set of attributes of this data entity is distinct from (though usually a superset of) the "supported claims" mentioned above.

Reliance on the Higgins Data Model
Conceptually a managed card is essentially a human-friendly "pointer" to a Token Service—a web service (e.g. a STS) from which security tokens can be requested. A security token is a set of attribute assertions (aka claims) about some party that is cryptographically signed by the issuer (the token service acting as the authority). An r-card, contains a second "pointer" that points to a data entity whose attribute's values (i) shared by all parties to the r-card and (ii) form the underlying attributes that are consumed by the r-card issuer's STS and provide the values of the claims that this STS makes. By including this second "pointer" on the r-card, r-card holders have the potential to access and update some subset of these underlying attributes. The card issuer maintains an access control policy to control who has what level of access.

This second pointer is an Entity UDI —a reference to an Entity object in the Higgins Context Data Model. Entity UDIs may be dereferenced and the underlying Entity's attributes accessed by using the Higgins project's Identity Attribute Service. Once resolved, consumers of this service can inspect, and potentially modify the attributes of the entity as well as get its schema as described in Web Ontology Language (OWL).

In addition to basic identity attribute values like strings and numbers, the data entity referred to by an r-card can have complex attribute values consisting of aggregates of basic attribute types as well as UDI links to other entities.

Claims
Beyond being used to log into sites, Information Cards can also facilitate other kinds of interactions. The Information Card model provides great flexibility because cards can be used to convey any information from an Identity Provider to a Relying Party that makes sense to both of them and that the person is willing to release. The data elements carried in i-cards are called Claims.

One possible use of claims is online age verification, with Identity Providers providing proof-of-age cards, and RPs accepting them for purposes such as online wine sales; other attributes could be verified as well. Another is online payment, where merchants could accept online payment cards from payment issuers, containing only the minimal information needed to facilitate payment. Role statements carried by claims can be used for access control decisions by Relying Parties.

Interoperability and licensing
The protocols needed to build Identity Metasystem components can be used by anyone for any purpose with no licensing cost and interoperable implementations can be built using only publicly available documentation. Patent promises have been issued by Microsoft, IBM, and others ensuring that the protocols underlying the Identity Metasystem can be freely used by all.

The Information Cards defined by the Identity Selector Interoperability Profile v 1.5 (or OASIS IMI v1.0 Committee Draft) are based on open, interoperable communication standards. Interoperable i-card components have been built by dozens of companies and projects for platforms including Windows, Mac OS, and Linux, plus a prototype implementation for phones. Together, these components implement an interoperable Identity Metasystem. Information Cards can be used to provide identities both for Web sites and Web Services applications.

Several interoperability testing events for i-cards have been sponsored by OSIS and the Burton Group, one was at the Interop at the October 2007 European Catalyst Conference in Barcelona and the most recent was at RSA 2008. These events are helping to ensure that the different Information Card software components being built by the numerous participants in the Identity Metasystem work well together.

The protocols needed to build Information Card implementations based on the Identity Selector Interoperability Profile v 1.5 (or OASIS IMI v1.0 Committee Draft) can be used by anyone for any purpose at no cost and interoperable implementations can be built using only publicly available documentation. Patent promises have been issued by Microsoft, IBM, and others, ensuring that this Information Card technology is freely available to all.

In June 2008, industry leaders including Equifax, Google, Microsoft, Novell, Oracle, PayPal and others created the Information Card Foundation in order to advance the use of the Information Card metaphor as a key component of an open, interoperable, royalty-free, user-centric identity layer spanning both the enterprise and the Internet.

In his report on the Interop at the June 2007 Catalyst Conference in San Francisco, analyst Bob Blakley wrote: The interop event was a milestone in the maturation of user-centric identity technology. Prior to the event, there were some specifications, one commercial product, and a number of open-source projects. After the event, it can accurately be said that there is a running Identity Metasystem.

History of the terminology
The term "information card" was introduced by Microsoft in May 2005 as a name for the visual information card metaphor to be introduced in its forthcoming Windows CardSpace software. Until early 2006, information cards were also sometimes referred to by the code-name “InfoCard”, which was not a name that was freely available for all to use. The name information card was specifically chosen as one that would be freely available for all to use, independent of any product or implementation. The name “information card” is not trademarked and is so generic as to not be trademarkable.

The term i-card was introduced at the June 21, 2006, Berkman/MIT Identity Mashup conference. The intent was to define a term that was not associated with any industry TM or other IP or artifact. At the time, Microsoft had not yet finished applying the Open Specification Promise to the protocols underlying Windows CardSpace and there was also a misunderstanding that the term information card was not freely available for use by all, so to be conservative, the term i-card was introduced.

Mike Jones, of Microsoft, explained to participants of a session at IIW 2007b that Microsoft always intended the term information card to be used generically to describe all kinds of information cards and to be freely usable by all, and tried to correct the earlier misunderstanding that the term might apply only to the kinds of information cards originally defined by Microsoft. He made the case that the industry would be better served by having everyone use the common term information card, than having two terms in use with the same meaning, since there remains no legal or technical reason for different terms. In this case the term i-card would become just the short form of information card, just like e-mail has become the short form of electronic mail.

Software implementations

 * DACS – open source RP & Information Card STS written in C
 * Higgins project – Identity Selector deployment configuration
 * Windows CardSpace – ran on Windows Vista, Windows XP, and Windows Server 2003

Additional resources

 * Technology Leaders Favor Online ID Card Over Passwords – New York Times article 24-Jun-08 announcing the Information Card Foundation
 * Identity Selector Interoperability Profile, Arun Nanda, April 2007.
 * Identity Selector Interoperability Profile v 1.5
 * OASIS IMI v1.0 Committee Draft
 * An Implementer's Guide to the Identity Selector Interoperability Profile V1.0, Microsoft Corporation and Ping Identity Corporation, April 2007.
 * A Guide to Using the Identity Selector Interoperability Profile V1.0 within Web Applications and Browsers, Michael B. Jones, April 2007.
 * Design Rationale behind the Identity Metasystem Architecture, Kim Cameron and Michael B. Jones, January 2006.
 * Patterns for Supporting Information Cards at Web Sites: Personal Cards for Sign up and Signing In, Bill Barnes, Garrett Serack, and James Causey, August 2007.
 * Microsoft Open Specification Promise, May 2007.
 * IBM Interoperability Specifications Pledge, July 2007.