Windows CardSpace (codenamed InfoCard), is Microsoft's client software for the Identity Metasystem. CardSpace is an instance of a class of identity client software called an Identity Selector. CardSpace stores references to users' digital identities for them, presenting them to users as visual Information Cards. CardSpace provides a consistent UI that enables people to easily use these identities in applications and web sites where they are accepted.
When an Information Card-enabled application or website wishes to obtain information about the user, the application or website requests a particular set of claims from the user. The CardSpace UI then appears, switching the display to the CardSpace service, which displays the user's stored identities as visual Information Cards. The user selects the InfoCard to use and the CardSpace software contacts the issuer of the identity to obtain a digitally signed XML token that contains the requested information. CardSpace also allows users to create personal (also known as self-issued) Information Cards, which can contain one or more of 14 fields of telephone book-quality identity information (that is to say, labeled and categorized information, such as full name, address, etc., though most fields are optional). Other transactions may require a managed InfoCard; these are issued by a third party identity provider that makes the claims on the person's behalf, such as a bank, employer, or a government agency.
Windows CardSpace is built on top of the Web Services Protocol Stack, an open set of XML-based protocols, including WS-Security, WS-Trust, WS-MetadataExchange and WS-SecurityPolicy. This means that any technology or platform that supports WS-* protocols can integrate with CardSpace. In order to accept Information Cards, a website developer simply needs to declare an HTML <OBJECT> tag that specifies the claims the website is demanding from the user and then implement code to decrypt the returned token and extract the claim values. If an Identity Provider wants to issue tokens, they must provide a means by which a user can obtain a managed card and provide a Security Token Service (STS) which handles WS-Trust requests and returns an appropriate encrypted & signed token. If an Identity Provider does not wish to build an STS, they will be able to obtain one from a variety of vendors including PingIdentity, BMC, Sun Microsystems, Microsoft, or Siemens, as well as other companies or organizations.
Because CardSpace and the Identity Metasystem upon which it is based are token-format-agnostic, CardSpace does not compete directly with other Internet identity architectures like OpenID and SAML. In some ways, these three approaches to identity can be seen as complementary. Indeed, Information Cards can be used today for signing into OpenID providers, Windows Live ID accounts, SAML identity providers, and other kinds of services.
IBM and Novell will support the Higgins trust framework to provide a development framework that includes support for Information Cards and the Web Services Protocol Stack underlying CardSpace within a broader, extensible framework also supporting other identity-related technologies, such as SAML and OpenID.
Microsoft initially shipped Windows CardSpace with the .NET Framework 3.0, which runs on Windows XP, Windows Server 2003, and Windows Vista. It is installed by default on Windows Vista as well as Windows 7 and is available as a free download for XP and Server 2003 via Windows Update. An updated version of CardSpace shipped with the .NET Framework 3.5.
- Identity Selector Interoperability Profile, Arun Nanda, April 2007.
- 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.
- Microsoft Open Specification Promise, May 2007.
- Vittorio Bertocci, Garrett Serack, Caleb Baker: Understanding Windows CardSpace: An Introduction to the Concepts and Challenges of Digital Identities, December 27 2007, Addison-Wesley, ISBN 0-321-49684-1
- A consumer introduction to Windows CardSpace
- Microsoft Developer Network (MSDN) CardSpace page – Developer articles and technical documentation on Windows CardSpace.
- Microsoft .NET Framework 3.0 Community (NetFx3) – CardSpace community site.
- The Laws of Identity, Kim Cameron, May 2005.
- Software development
- Microsoft Information Card Kit for ASP.NET 2.0 – ASP.NET Relying Party code to support CardSpace.
- Open Source Ruby Relying Party code for accepting Information Cards.
- Open Source Java Relying Party code for accepting Information Cards.
- Open Source C and PHP Relying Party code for accepting Information Cards.
- Open Source C Relying Party code for accepting Information Cards and Secure Token Service code for managed Information Cards.
- Open Source PHP Secure Token Service code for managed Information Cards.
- Open Source C# Secure Token Service code for managed Information Cards.
- Identity selectors
- Digital Me – an open source Identity Selector for Linux and Mac OS X
- A plug-in for Apple's Safari implementing an Information Card identity selector.
- A plug-in for Firefox to activate CardSpace and other identity selectors.
- Kim Cameron's Identity Weblog – Information from Microsoft's architect for identity.
- Mike Jones' blog – Information on CardSpace, Information Cards, and the Digital Identity from Microsoft's Director of Identity Partnerships.
- Vittorio Bertocci's Weblog – Information on designing and developing with CardSpace from Microsoft's architect evangelist for Windows Server 2008.
- CardSpace team blog – Information on CardSpace from the CardSpace team itself.
- REDIRECT Template:.NET