身份验证方案-OpenID
2011-03-18 16:17:08 阿炯

OpenID 是由LiveJournal和SixApart开发的一套身份验证系统。与目前流行的网站帐号系统(Passport)相比,OpenID具有开放性以及分散式的特点。它不基于某一应用网站的注册程序,而且不限制于单一网站的登录使用。OpenID帐号可以在任何OpenID应用网站使用,从而避免了多次注册、填写身份资料的繁琐过程。简单言之,OpenID就是一套以用户为中心的分散式身份验证系统,用户只需要注册获取OpenID之后,就可以凭借此 OpenID帐号在多个网站之间自由登录使用,而不需要每上一个网站都需要注册帐号。



目前互联网上的帐号管理方式有两种:
1、单一帐号系统。一些只提供单一服务的网站采用的用户帐号管理模式。用户注册后使用此帐号可以在其网上上实现所有功能操作。
2、通行证。例如google、163、微软等提供多套服务的网站采用的帐号管理程序。用户在注册一次之后,使用该帐号可以在这些网站所属群里面自由使用。

这两种模式形象的说就是故宫场景门票和通票的样子:门票只能进一个场景;通票可以进包含的故宫的所有场景。

而OpenID不是这样的。它比普通的通票更扩大化。使用OpenID你不仅可以在故宫所有场景自由玩,还可以在颐和园游玩。也就是说OpenID不局限于某一个网站或者网站群,它可以在任意OpenID应用网站中自由穿梭。

OpenID 是一个以用户为中心的数字身份识别框架,它具有开放、分散、自由等特性。

OpenID 的创建基于这样一个概念:我们可以通过 URI (又叫 URL 或网站地址)来认证一个网站的唯一身份,同理,我们也可以通过这种方式来作为用户的身份认证。由于URI 是整个网络世界的核心,它为基于URI的用户身份认证提供了广泛的、坚实的基础。

OpenID 系统的第一部分是身份验证,即如何通过 URI 来认证用户身份。目前的网站都是依靠用户名和密码来登录认证,这就意味着大家在每个网站都需要注册用户名和密码,即便你使用的是同样的密码。如果使用 OpenID (参见规范),你的网站地址(URI)就是你的用户名,而你的密码安全的存储在一个 OpenID 服务网站上(你可以自己建立一个 OpenID 服务网站,也可以选择一个可信任的 OpenID 服务网站来完成注册)。 

OpenID技术原理简述

假设你已经拥有一个在A网站注册获得的OpenID帐号,B网站支持 OpenID帐号登录使用,而且你从未登录过。此时你在B网站的相应登录界面输入你的OpenID帐号进行登录的时候,浏览器会自动转向A网站的某个页面进行身份验证。这时你只要输入你在A网站注册时候提供的密码登录A网站,对B网站进行验证管理(永久允许、只允许一次或者不允许)后,页面又会自动转到B网站。如果你选择了允许,那就会登录进入B网站。这个时候你就可以以你的OpenID帐户身份实现B网站的所有功能。

这里描述的是简单的B-A-B的过程,实际操作会更简单明了。下图显示的是多个OpenID应用网站与你的OpenID帐号的关系。

openid工作原理
其中A过程中实现了你的身份验证以及相应个人资料的选择。也就是说你使用A网站提供的一个OpenID帐号实现了B、C、D、E、F网站的登录操作。



官方主页:http://openid.net/