OpenID
OpenID is an open, decentralized standard for user authentication and access control, allowing users to log onto many services with the same digital identity. As such, it replaces the common login process that uses a login-name and a password, by allowing a user to log in once and gain access to the resources of multiple software systems.
An OpenID is in the form of a unique URL, and is authenticated by the user's 'OpenID provider' (that is, the entity hosting their OpenID URL). The OpenID protocol does not rely on a central authority to authenticate a user's identity. Since neither the OpenID protocol nor Web sites requiring identification may mandate a specific type of authentication, non-standard forms of authentication can be used, such as smart cards, biometrics, or ordinary passwords.
OpenID authentication is used and provided by several large websites. Organizations like AOL, BBC,[1] Google,[2] IBM, Microsoft,[3] MySpace, Orange, PayPal, VeriSign, Yandex, Ustream and Yahoo! act as providers.[4][5][6]
History
2005
The original OpenID authentication protocol was developed in May 2005[7][8] by Brad Fitzpatrick, creator of popular community website LiveJournal, while working at Six Apart.[9] OpenID support was soon implemented on LiveJournal and fellow LiveJournal engine community DeadJournal for blog post comments, and quickly gained attention in the digital identity community. [10][11] Web developer JanRain was an early supporter of OpenID, providing OpenID software libraries and expanding its business around OpenID-based services.
In late June, discussions started between OpenID users and developers from enterprise software company NetMesh, leading to collaboration on interoperability between OpenID and NetMesh's similar Light-Weight Identity (LID) protocol. The direct result of the collaboration was the Yadis discovery protocol, which was announced on October 24, 2005.[12] After a discussion at the 2005 Internet Identity Workshop a few days later, XRI/i-names developers joined the Yadis project,[13] contributing their Extensible Resource Descriptor Sequence (XRDS) format for utilization in the protocol.[14]
In December, developers at Sxip Identity began discussions with the OpenID/Yadis community[15] after announcing a shift in the development of version 2.0 of its Simple Extensible Identity Protocol (SXIP) to URL-based identities like in LID and OpenID.[16]
2006
In March 2006, JanRain developed a Simple Registration Extension for OpenID for primitive profile-exchange,[17] and in April submitted a proposal to formalize extensions to OpenID. The same month, work had also begun on incorporating full XRI support into OpenID.[18]
Around early May, key OpenID developer David Recordon left Six Apart, joining VeriSign to focus more on digital identity and guidance for the OpenID spec.[11][19] By early June, the major differences between the SXIP 2.0 and OpenID projects were resolved with the agreement to support multiple personas in OpenID by submission of an identity provider URL rather a full identity URL. With this, as well as the addition of extensions and XRI support underway, OpenID was evolving into a full-fledged digital identity framework, with Recordon proclaiming,
We see OpenID as being an umbrella for the framework that encompasses
the layers for identifiers, discovery, authentication, and a messaging services layer that sits atop and this entire thing has sort of been
dubbed "OpenID 2.0".[20]
In late July, Sxip began to merge its Digital Identity Exchange (DIX) protocol into OpenID, submitting initial drafts of the OpenID Attribute Exchange extension in August.
2007
On January 31, 2007, Symantec announced support for OpenID in its Identity Initiative products and services.[21] A week later, on February 6 Microsoft made a joint announcement with JanRain, Sxip, and VeriSign to collaborate on interoperability between OpenID and Microsoft's Windows CardSpace digital identity platform, with particular focus on developing a phishing-resistant authentication solution for OpenID. As part of the collaboration, Microsoft pledged to support OpenID in its future identity server products, and JanRain, Sxip, and VeriSign pledged to add support for Microsoft's Information Card profile to their future identity solutions.[22] In mid-February, AOL announced that an experimental OpenID provider service was functional for all AOL and AOL Instant Messenger (AIM) accounts.[23]
In May, Sun Microsystems began working with the OpenID community, announcing an OpenID program,[24] as well as entering a non-assertion covenant with the OpenID community, pledging not to assert any of its patents against implementations of OpenID.[25] In June, OpenID leadership formed the OpenID Foundation, an Oregon-based public benefit corporation for managing the OpenID brand and property.[26] The same month, an independent OpenID Europe Foundation was officially incorporated in Belgium by Snorri Giorgetti.[27] By early December, non-assertion agreements were collected by the major contributors to the protocol, and the final OpenID Authentication 2.0 and OpenID Attribute Exchange 1.0 specifications were ratified on December 5.[28]
2008
In mid-January 2008, Yahoo! announced initial OpenID 2.0 support, both as a provider and as a relying party, releasing the provider service by the end of the month.[29] In early February, Google, IBM, Microsoft, VeriSign, and Yahoo! joined the OpenID Foundation as corporate board members.[30] Around early May, SourceForge, Inc. introduced OpenID provider and relying party support to leading open source software development website SourceForge.net.[31] In late July, popular social network service MySpace announced support for OpenID as a provider.[32] In late October, Google launched support as an OpenID provider, and Microsoft announced that Windows Live ID would support OpenID.[33] In November, JanRain announced a free hosted service, RPX Basic, that allows websites to begin accepting OpenIDs for registration and login without having to install, integrate, and configure the OpenID open source libraries.[34]
Using OpenID
A basic glossary of the terms used with OpenID:
- End-user
- The person who wants to assert his or her identity to a site.
- Identifier
- The URL or XRI chosen by the end-user as their OpenID identifier.
- Identity provider or OpenID provider
- A service provider offering the service of registering OpenID URLs or XRIs and providing OpenID authentication (and possibly other identity services). Note that the OpenID specifications use the term "OpenID provider" or "OP".
- Relying party
- The site that wants to verify the end-user's identifier. Sometimes also called a "service provider".
- Server or server-agent
- The server that verifies the end-user's identifier. This may be the end-user's own server (such as their blog), or a server operated by an identity provider.
- User-agent
- The program (such as a browser) that the end-user is using to access an identity provider or a relying party.
- Consumer
- An obsolete term for the relying party.
Logging in
This article may be too technical for most readers to understand. |
The user visits a relying party web site (e.g. website.relying.com
) which displays an OpenID login form somewhere on their page. Unlike a typical login form with fields for the user name and password, the OpenID login form has only one field - for the OpenID identifier, typically along with a small OpenID logo: File:Openid small logo.png. This form is connected to an implementation of an OpenID client library.
A user typically will have previously registered an OpenID identifier (e.g. alice.openid.provider.org
) with an OpenID identity provider (e.g. openid.provider.org
). The user types his OpenID identifier into the aforementioned OpenID login form.
The relying party web site typically transforms the OpenID identifier into a canonical URL form (e.g. http://alice.openid.provider.org/
). With OpenID 1.0, the relying party then requests the web page located at that URL and reads an HTML link tag to discover the identity provider service URL (e.g. http://openid.provider.org/openid-auth.php
). The relying party also discovers whether to use a delegated identity (see below). With OpenID 2.0, the client discovers the identity provider service URL by requesting the XRDS document (also called the Yadis document) with the content type application/xrds+xml
that may be available at the target URL and is always available for a target XRI.
There are two modes in which the relying party can communicate with the identity provider:
checkid_immediate
, in which the relying party requests that the provider not interact with the user. All communication is relayed through the user's browser without explicitly notifying the user;checkid_setup
, in which the user communicates with the provider server directly using the same web browser used to access the relying party site.
The second option is more popular on the Web; also, checkid_immediate
can fallback to checkid_setup
if the operation cannot be automated.
First, the relying party and the identity provider (optionally) establish a shared secret - referenced by an associate handle, which the relying party then stores. If using checkid_setup
, the relying party redirects the user's web browser to the identity provider so the user can authenticate with the provider.
The method of authentication may vary, but typically, an OpenID identity provider prompts the user for a password or an InfoCard, then asks whether the user trusts the relying party web site to receive his credentials and identity details.
If the user declines the identity provider's request to trust the relying party web site, the browser is redirected to the relying party with a message indicating that authentication was rejected. The relying site in turn refuses to authenticate the user.
If the user accepts the identity provider's request to trust the relying party web site, the browser is redirected to the designated return page on the relying party web site along with the user's credentials. That relying party must then confirm that the credentials really came from the identity provider. If they had previously established a shared secret (see above), the relying party can validate the shared secret received with the credentials against the one previously stored. Such a relying party is called stateful because it stores the shared secret between sessions. In comparison, a stateless or dumb relying party must make one more background request (check_authentication
) to ensure that the data indeed came from the identity provider.
After the OpenID identifier has been verified, OpenID authentication is considered successful and the user is considered logged in to the relying party web site with the given identifier (e.g. alice.openid.provider.org
). The web site typically then stores the OpenID identifier in the user's session.
OpenID does not provide its own form of authentication, but if an identity provider uses strong authentication, OpenID can be used for secure transactions such as banking and e-commerce.
Identifiers
This article may be too technical for most readers to understand. |
Starting with OpenID Authentication 2.0 (and some 1.1 implementations), there are two types of identifiers that can be used with OpenID: URLs and XRIs.
There are two ways to obtain an OpenID-enabled URL that can be used to login on all OpenID-enabled websites.
- To use an existing URL under one's own control (such as one's blog or home page), and if one knows how to edit HTML, one can insert the appropriate OpenID tags in the HTML code following instructions at the OpenID specification.
- The second option is to register an OpenID identifier with an identity provider. They offer the ability to register a URL (typically a third-level domain) that will automatically be configured with OpenID authentication service.
XRIs are a new form of Internet identifier designed specifically for cross-domain digital identity. For example, XRIs come in two forms—i-names and i-numbers—that are usually registered simultaneously as synonyms. I-names are reassignable (like domain names), while i-numbers are never reassigned. When an XRI i-name is used as an OpenID identifier, it is immediately resolved to the synonymous i-number (the CanonicalID element of the XRDS document). This i-number is the OpenID identifier stored by the relying party. In this way both the user and the relying party are protected from the user's OpenID identity ever being taken over by another party as can happen with a URL based on a reassignable DNS name.
Adoption
As of November 2008[update], there are over 500 million OpenIDs on the Internet (see below) and approximately 27,000 sites have integrated OpenID consumer support.[35]
- America Online provides OpenIDs in the form "openid.aol.com/screenname".
- Orange offers OpenIDs to their 40 million broadband subscribers.
- VeriSign is offering a secure OpenID service, with two factor authentification, which they call "Personal Identity Provider".
- Six Apart blogging hosts LiveJournal, TypePad and Vox. Each support OpenID; Vox as a provider and LiveJournal as both a provider and a relying party.
- Springnote uses OpenID as the only sign in method, requiring the user to have an OpenID when signing up.
- WordPress.com also provides OpenID
- Other services accepting OpenID as an alternative to registration include Wikitravel[36], photo sharing host Zooomr, linkmarking host Ma.gnolia, identity aggregator ClaimID, calendar booking Bookwhen, icon provider IconBuffet, user stylesheet repository UserStyles.org, and Basecamp and Highrise by 37signals.
- Yahoo! allows users to use their Yahoo! IDs as OpenIDs starting January 31, 2008.[37]
- Userstyles.org, the CSS repository for Stylish
- SourceForge
- Google[38]
- Luxsci is both an OpenID consumer and provider.
Some of the companies (especially the biggest ones) which did enable OpenID have been criticized for being a provider of OpenID identities to third-party websites, without allowing credentials of another website to work with their own websites.[39]
OpenID Foundation
The OpenID Foundation is a 501(c)(3) non-profit organization incorporated in the United States. The OpenID Foundation was formed to help manage copyright, trademarks, marketing efforts and other activities related to the success of the OpenID community. The single goal of the OpenID Foundation is to protect OpenID.[citation needed]
People
The OpenID Foundation's board of directors has eight community members and seven corporate members:[26]
Community Members:
- Brian Kissel (JanRain)
- Chris Messina (Vidoop)
- David Recordon (Six Apart)
- Eric Sachs (Google)
- Joseph Smarr (Plaxo)
- Nat Sakimura (Nomura Research Institute)
- Scott Kveton (Vidoop)
- Snorri Giorgetti (OpenID Europe)
Corporate Members:
- Facebook - Luke Shepard
- Google - DeWitt Clinton
- IBM - Tony Nadalin
- Microsoft - Michael B. Jones
- PayPal - Andrew Nash
- VeriSign - Gary Krall
- Yahoo! - Raj Mata
A European counterpart, the OpenID Europe Foundation headquartered in Paris, was founded in June 2007. It is a non-profit organization to help promote and deploy the OpenID software framework in Europe. OpenID Europe is independent of the OpenID Foundation.[40] Snorri Giorgetti of OpenID Europe also serves as the OpenID Foundation's representative in Europe.
Legal issues
The OpenID trademark in the United States was assigned to the OpenID Foundation in March 2008.[41] It had been registered by NetMesh Inc. before the OpenID Foundation was operational.[42][43] In Europe, as of August 31, 2007, the OpenID trademark is registered to the OpenID Europe Foundation.[44]
The OpenID logo was designed by Randy "ydnar" Reddig, who in 2005 had expressed plans to transfer the rights to an OpenID organization.[45] The official openid.net domain is registered to Six Apart, which was granted by the previous owner David I. Lehn,[46] and the rights of which were officially transferred on June 16, 2005.[citation needed]
The official site currently states:
Nobody should own this. Nobody's planning on making any money from this. The goal is to release every part of this under the most liberal licenses possible, so there's no money or licensing or registering required to play. It benefits the community as a whole if something like this exists, and we're all a part of the community.
Sun Microsystems, VeriSign and a number of smaller companies involved in OpenID have issued patent non-assertion covenants covering OpenID 1.1 specifications. The covenants state that neither company will assert any of their patents against OpenID implementations and will revoke their promises from anyone who threatens, or asserts, patents against OpenID implementors.[25][47]
Security and phishing
Some observers have suggested that OpenID has security weaknesses and may prove vulnerable to phishing attacks.[48][49][50] For example, a malicious relying party may forward the end-user to a bogus identity provider authentication page asking that end-user to input their credentials. On completion of this, the malicious party (who in this case also control the bogus authentication page) could then have access to the end-user's account with the identity provider, and as such then use that end-user’s OpenID to log into other services.
In an attempt to combat possible phishing attacks some OpenID providers mandate that the end-user needs to be authenticated with them prior to an attempt to authenticate with the relying party.[51] This relies on the end-user knowing the policy of the identity provider. In December 2008, the OpenID Foundation approved version 1.0 of the Provider Authentication Policy Extension (PAPE), which "enables Relying Parties to request that OpenID Providers employ specified authentication policies when authenticating users and for OpenID Providers to inform the Relying Parties which policies were actually used."[52] Regardless, this issue remains a significant additional vector for man-in-the-middle phishing attacks.
See also
{{Top}} may refer to:
- {{Collapse top}}
- {{Archive top}}
- {{Hidden archive top}}
- {{Afd top}}
- {{Discussion top}}
- {{Tfd top}}
- {{Top icon}}
- {{Top text}}
- {{Cfd top}}
- {{Rfd top}}
- {{Skip to top}}
{{Template disambiguation}} should never be transcluded in the main namespace.
- Athens access and identity management
- DataPortability
- Extensible Name Service
- Identity 2.0
- Information Card
- Liberty Alliance
- Light-Weight Identity
- List of OpenID providers
- OAuth
- SAML
- Shibboleth (Internet2)
- Single sign-on
- Windows CardSpace
- WS-Federation
Notes
- ^ bashburn, bill (2008-04-22). "BBC Joins OpenID Foundation".
- ^ Riley, Duncan (2008-01-18). "Google Offers OpenID Logins Via Blogger". TechCrunch. Retrieved 2008-03-20.
- ^ Brian Krebs (2007-02-06). "Microsoft to Support OpenID". Retrieved 2008-03-01.
- ^ "How do I get an OpenID?". OpenID Foundation. Retrieved 2008-03-20.
- ^ "Technology Leaders Join OpenID Foundation to Promote Open Identity Management on the Web". 008-02-07.
{{cite web}}
: Check date values in:|date=
(help) - ^ Bergman, Artur (2008-02-07). "OpenID Foundation - Google, IBM, Microsoft, VeriSign and Yahoo". O'Reilly Media. Retrieved 2008-03-19.
- ^ Fitzpatrick, Brad (2005-05-16). "Distributed Identity: Yadis". LiveJournal. Retrieved 2008-03-20.
- ^ Fitzpatrick, Brad (2005-05-17). "OpenID". LiveJournal. Retrieved 2008-03-19.
- ^ Waters, John K (2007-12-01). "OpenID Updates Identity Spec". Redmond Developer News. Retrieved 2008-03-20.
- ^ "OpenID: an actually distributed identity system". Internet Archive. 2005-09-24. Retrieved 2008-03-20.
- ^ a b Fitzpatrick, Brad (2006-05-30). "brad's life - OpenID and SixApart". LiveJournal. Retrieved 2008-03-20.
- ^ Recordon, David (2005-12-24). "Announcing YADIS...again". Danga Interactive. Retrieved 2008-03-20.
- ^ Reed, Dummond (2005-12-31). "Implementing YADIS with no new software". Danga Interactive. Retrieved 2008-03-20.
- ^ Reed, Drummond (2008-11-30). "XRD Begins". Equals Drummond. Retrieved 5 January 2009.
- ^ Hardt, Dick (2005-12-18). "Sxip concerns with YADIS". Danga Interactive. Retrieved 2008-03-20.
- ^ Hardt, Dick (2005-12-10). "SXIP 2.0 Teaser". Identity 2.0. Retrieved 2008-03-20.
- ^ Hoyt, Josh (2006-03-15). "OpenID + Simple Registration Information Exchange". Danga Interactive. Retrieved 2008-03-20.
- ^ Grey, Victor (2006-04-02). "Proposal for an XRI (i-name) profile for OpenID". Danga Interactive. Retrieved 2008-03-20.
- ^ Recordon, David (2006-04-29). "Movin' On..." LiveJournal. Retrieved 2008-03-20.
- ^ Recordon, David (2006-06-16). "Moving OpenID Forward". Danga Interactive. Retrieved 2008-05-19.
- ^ "Symantec Unveils Security 2.0 Identity Initiative at DEMO 07 Conference". Symantec. 2007-01-31. Retrieved 2008-03-20.
- ^ Graves, Michael (2007-02-06). "VeriSign, Microsoft & Partners to Work together on OpenID + Cardspace". VeriSign. Retrieved 2008-03-20.
- ^ Panzer, John (2007-02-16). "AOL and 63 Million OpenIDs". AOL Developer Network. Retrieved 2008-03-20.
- ^ "Sun Microsystems Announces OpenID Program". PR Newswire. 2007-05-07. Retrieved 2008-03-20.
- ^ a b "Sun OpenID: Non-Assertion Covenant". Sun Microsystems. Retrieved 2008-03-20.
- ^ a b OpenID Board of Directors (2007-06-01). "OpenID Foundation". OpenID Foundation. Retrieved 2008-03-20.
- ^ http://www.openideurope.eu/foundation/bylaws/ Bylaws of OpenID Europe
- ^ "OpenID 2.0…Final(ly)!". OpenID Foundation. 2007-12-05. Retrieved 2008-03-20.
- ^ "Yahoo! Announces Support for OpenID; Users Able to Access Multiple Internet Sites with Their Yahoo! ID". Yahoo!. 2008-01-17. Retrieved 2008-03-20.
- ^ "Technology Leaders Join OpenID Foundation to Promote Open Identity Management on the Web". OpenID Foundation. Marketwire. 2008-02-07. Retrieved 2008-03-20.
- ^ "SourceForge Implements OpenID Technology" (Press release). SourceForge, Inc. May 7, 2008. Retrieved 2008-05-21.
{{cite press release}}
: Check date values in:|date=
(help) - ^ "MySpace Announces Support for 'OpenID' and Introduces New Data Availability Implementations". Business Wire. MySpace. 2008-07-22. p. 2. Retrieved 2008-07-23.
- ^ "Microsoft and Google announce OpenID support". OpenID Foundation. 2008-10-30.
- ^ "JanRain Releases Free Version of Industry Leading OpenID Solution" (Press release). JanRain, Inc. November 14, 2008. Retrieved 2008-11-14.
{{cite press release}}
: Check date values in:|date=
(help) - ^ Drebes, Larry (2008-11-01). "Relying Party Stats as of Nov. 1st, 2008".
- ^ http://wikitravel.org/en/Special:OpenIDLogin
- ^ Bylund, Anders (17 January 2008). "Yahoo! No More Password Profusion!". Retrieved 2008-02-14.
{{cite web}}
: Check date values in:|date=
(help); Unknown parameter|publicher=
ignored (help) - ^ http://code.google.com/apis/accounts/docs/OpenID.html
- ^ John Timmer, OpenID being Balkanized even as Google, Microsoft sign on.
- ^ "OpenID Europe Foundation".
- ^ "Trademark Assignment, Serial #: 78899244". United States Patent and Trademark Office. 2008-05-06. Retrieved 2008-05-19.
Exec Dt: 03/27/2008
- ^ "Latest Status Info". United States Patent and Trademark Office. 2006-03-27. Retrieved 2008-03-20.
- ^ "NetMesh: Company / Management". NetMesh. Retrieved 2008-03-20.
- ^ "OpenID Europe Trademark & Logo Policy". OpenID Europe Foundation. Retrieved 2008-03-20.
- ^ Reddig, Randy (2005-06-29). "OpenID Logo". Danga Interactive. Retrieved 2008-03-20.
- ^ Fitzpatrick, Brad (2005-05-17). "Yadis.... now OpenID". Danga Interactive. Retrieved 2008-03-20.
- ^ "VeriSign's OpenID Non-Assertion Patent Covenant". VeriSign. Retrieved 2008-03-20.
- ^ Crowley, Paul (2005-06-01). "Phishing attacks on OpenID". Danga Interactive. Retrieved 2008-03-20.
- ^ Anderson, Tim (2007-03-05). "OpenID still open to abuse". IT Week. Retrieved 2007-03-13.
- ^ Slot, Marco. "Beginner's guide to OpenID phishing". Retrieved 2007-07-31.
- ^ "Verisign PIP FAQ". Retrieved 2008-11-13.
- ^ Jones, Mike. "PAPE Approved as an OpenID Specification". OpenID Foundation.
References
- The Case for OpenID — ZDNet article contrasting OpenID with other identity systems by Johannes Ernst (NetMesh) and David Recordon (then at VeriSign)
- OpenID for non-SuperUsers - by Sam Ruby
External links
- OpenID official site
- OpenID Europe — Non-profit organization to help promote and deploy the OpenID framework in Europe
- OpenID Asia — organization to promote OpenID in Asia
- Template:Dmoz