OpenID

OpenID

OpenID 是一個以用戶為中心的數字身份識別框架,它具有開放、分散性。OpenID 的創建基於這樣一個概念:我們可以通過 URI (又叫 URL 或網站地址)來認證一個網站的唯一身份,同理,我們也可以通過這種方式來作為用戶的身份認證。

定義


OpenID是一個去中心化的網上身份認證系統。對於支持OpenID的網站,用戶不需要記住像用戶名和密碼這樣的傳統驗證標記。取而代之的是,他們只需要預先在一個作為OpenID身份提供者(identity provider, IdP)的網站上註冊。OpenID是去中心化的,任何網站都可以使用OpenID來作為用戶登錄的一種方式,任何網站也都可以作為OpenID身份提供者。OpenID既解決了問題而又不需要依賴於中心性的網站來確認數字身份。
OpenID正在被越來越多的大網站採用,比如作為身份提供者的AOL和Orange。OpenID可以和.NET Framework的Windows CardSpace一起使用。
由於URI 是整個網路世界的核心,它為基於URI的用戶身份認證提供了廣泛的、堅實的基礎。
OpenID 系統的第一部分是身份驗證,即如何通過 URI 來認證用戶身份。目前的網站都是依靠用戶名和密碼來登錄認證,這就意味著大家在每個網站都需要註冊用戶名和密碼,即便你使用的是同樣的密碼。如果使用 OpenID ,你的網站地址(URI)就是你的用戶名,而你的密碼安全的存儲在一個 OpenID 服務網站上(你可以自己建立一個 OpenID 服務網站,也可以選擇一個可信任的 OpenID 服務網站來完成註冊)。
與OpenID同屬性的身份識別服務商還有ⅥeID,ClaimID,CardSpace,Rapleaf,Trufina ID Card等,其中ⅥeID通用賬戶的應用最為廣泛。

歷史


OpenID最初由LiveJournal的Brad Fitzpatrick開發,後來加入了Light-Weight Identity,Yadis,Sxip DIX protocol和XRI/i-names。未來的OpenID規範正在由OpenID.net開發,很多技術公司、服務公司和開源開發者都參與其中。
為了推動OpenID的應用,2006年8月,一些公司贊助設立了OpenID獎勵計劃,對前10位滿足要求的軟體項目各獎勵5000美元。
2007年12月5日,OpenID驗證規範2.0和屬性交換規範1.0發布。

優勢


登錄一個支持 OpenID 的網站非常簡單(即便你是第一次訪問這個網站也是一樣)。只需要輸入你註冊號的 OpenID 用戶名,然後你登錄的網站會跳轉到你的 OpenID 服務網站,在你的 OpenID 服務網站輸入密碼(或者其它需要填寫的信息)驗證通過後,你會回到登錄的網站並且已經成功登錄。OpenID 系統可以應用於所有需要身份驗證的地方,既可以應用於單點登錄系統,也可以用於共享敏感數據時的身份認證。
除了一處註冊,到處通行以外,OpenID 給所有支持 OpenID 的網站帶來了價值—共享用戶資源。用戶可以清楚的控制哪些信息可以被共享,例如姓名、地址、電話號碼等。
今天,OpenID 作為以用戶為中心的身份驗證系統已經為數百萬的用戶提供了服務。在“I Want My OpenID Bounty”項目的推動下,許多開源項目都迅速的加入了對 OpenID 的支持。

擁有者


沒有人擁有它。從字面上就可以看出因為其是“開放的地址”,所以任何人都不能將它用於商業用途。OpenID 按照最大自由方式授權,使用它不需要任何費用任何註冊或者許可證。

參與方式


通過訂閱郵件列表,你能最快最方便的了解 OpenID 的最新進展。

協議擴展


OpenID協議提供了一個基本的認證機制。目前還有基於OpenID的其它可用協議:
Attribute Exchange:OpenID屬性交換是一種用於在端點之間交換標識信息OpenID服務擴展。其提供了對標識信息的接收和存儲。
Simple Registration:這是OpenID認證協議的擴展,它允許非常輕量級的配置交換。主要用於在終端用戶使用web服務註冊新帳號時傳送八種常用的請求信息。
使用OpenID4Java實現OpenID協議:OpenID4Java是對OpenID1.1和2.0規範的實現,目前它通過code.google.com系統進行維護。此項目初始代碼是由Sxip捐獻出來的,而後Atlassian等公司參與進來,並為實現支持2.0規範(屬性交換規範)的API貢獻了大量的工作。

安全


2014年5月,新加坡南洋理工大學一位名叫王晶(Wang Jing)的物理和數學科學學院博士生,發現了OAuth和OpenID開源登錄工具的"隱蔽重定向漏洞"(Covert Redirect)。
其實漏洞不是出現在OpenID這個協議本身,這個協議本身是沒有問題的,之所以存在問題是因為各個廠商沒有嚴格引用官方文檔,只是實現了簡版。問題的原因在於OpenID的提供方提供OpenID授權過程中沒有對回調的URL進行校驗,從而導致可以被賦值為非原定的回調URL。

推廣


Google與Yahoo已經支持OpenID。所有有Google或Yahoo賬戶的用戶可以通過OpenID directed identity方式登錄支持OpenID信賴方網站。
不過,自 2015 年 4 月 20 日起,Google 賬戶將不再使用 OpenID 2.0。
AOL與Yahoo!都已經支持OpenID。AOL提供每個AOL或AIM的用戶一組OpenID Identity,目前還在測試階段,為openid.aol.com/username。
目前使用OpenID代替一般賬號密碼的網站包括了 著名的開源社區SourceForge、LiveJournal、Zooomr、Wikitravel、ma.gnolia.com、claimid.com以及Jyte。