更少的密码还是——没有密码?

在Linus著名的三段论中,技术产生于基本的生存需求,即技术降低了为达到同样的生存状态而付出的成本;换种说法,我们因为懒惰而创造技术。当用户懒得去记住越来越多的密码的时候,类似豌豆或者1Password的服务诞生;当网站也懒得去管理用户越来越多的密码的时候,OpenID诞生;那些指责OpenID将鸡蛋放在一个篮子里的人,恐怕多数还是会在各种账户中使用同一个密码,因为懒惰从来不是错误;如果当我们连密码都懒得记了呢?

为了摈弃密码,我们使用一种可以传送认证信息的加密文件,即客户端证书。熟悉银行业务的人对于客户端证书一定有所了解,这种在上世纪90年代就已经存在的技术,被广泛应用于网络银行以及税务申报系统,但在别的地方却很少见,以至一般人极少注意到它的存在。

那它到底存在么(记住,我们始终将话题围绕在OpenID周围)?如果你是一位MyOpenID的用户,恭喜你,它是存在的,并且它就在那儿。MyOpenID提供了这种称为SSL证书认证的登陆模式,在Authentication Settings下,你可以创建一个证书,这张证书被保存在本地,你可以备份并转移这张证书,你也可以在任何你认为安全的终端上创建任意多张证书。一旦证书被创建,它就和你的MyOpenID账户挂钩,当你在MyOpenID登陆的时候,MyOpenID向你的浏览器索取证书并完成验证,然后将你弹回Consumer。如果你想在你的网站上实现SSL认证支持,这篇HOWTO应该有所帮助。

无须密码的登陆过程给人的体验是很神奇的,由多至少的量变效应远远不及从有到无的质变。Microsoft在探索认证框架的时候,也创造了一种沟通用户和联机服务的系统:CardSpace。CardSpace用个人信息卡代替证书,在用户和服务之间充当信使。除了完成认证外,CardSpace还能同时向联机服务发送卡上存储的信息,因此它更符合一个账户系统的需求。

在被原生支持的Vista中,CardSpace拥有和SSL证书一样友好的用户体验。因此在去年上海那次OpenID交流会上,我曾夸张性的提出CardSpace将击败OpenID(估计没有人记得了),但那里的人是为了OpenID而去的——就像你在Joomla论坛提问是Joomla好还是Drupal好无法得到客观的答案一样——没有人理会我。

事实上,CardSpace没有击败OpenID,而OpenID也没有令CardSpace消失,微软在认证领域的努力使他们紧紧跟随OpenID而没有被抛下。如今,MyOpenID(是的,又是MyOpenID,我一直都坚信自己一年前在wiki中所作的判断)将CardSpace也纳入其中。还是在Authencation Settings页面上,你可以发现添加Information Card的小节,通过绑定信息卡,来体验一下不用密码的感觉吧。更早提供CardSpace登陆的OpenID Provider是SignOn,不过JanRain却率先公开了实施CardSpace支持的Python代码,而LinkSafe则神奇的成为一家能用Information Card登陆的i-name注册商(他们同时还是历史上第一个尝试提供免费i-name和i-name托管转移的商家)。

凭借SSL和CardSpace,MyOpenID的用户黏度空前高涨,我实在找不出任何使用其他OpenID Provider的理由。因为对于像我这样时刻携带本子的人来说,证书式认证是抛弃密码的良好解决方案,但无论SSL还是CardSpace,他们最大的问题是不便携:他们是用来在受控终端上使用的,在公共终端或临时在另一台机器上登陆需要繁琐的备份导出过程,这简直是一场用户体验灾难。

那么,除了摈弃密码,另一个方案或许更有前途,那就是替换密码。这方面已经作出尝试有TrustBearer以及更早的爱沙尼亚eID,他们使用更为便于携带的智能卡或USB令牌作为密钥。其中我更为看好TrustBearer,因为在最初的支持列表中,我们看到了指纹识别器,用无法抛弃无须记忆的指纹作为密码,将懒惰式登陆推到极致。

在各种动作或者科幻大片中,我们见识过一些超级安全系统,往往是射频、虹膜、指纹等多重认证,对于安全要求不是很高的普通应用来说,没有密码也是必然的发展趋势,因为懒惰,从来都不是错误。

2 条评论:

挨踢 (63) 月月梳 (2) 杂文 (57) 诗歌 (34)