对于很多Web开发人员来说,微软.NET Passport提及的单一签名许诺(single sign-on promise)是一个可以实现的梦想。然而,由于Passport字符容易攻克的缺点,对于依赖于微软的Web服务的单一、安全签名担保的人来说,这一梦想现在只能是一个噩梦。
一年半之前,一个.NET漏洞(有意或者无意地)被用于窃取MSN Gaming Zone的帐号。
接着,2003年的1月份,欧洲联盟(European Union)要求.NET Passport更改,以保护他们的专家认为这一项服务中存在不可接受的私人秘密漏洞。
几个月之前,Muhammad Faisal Rauf Danka发表了.NET中一个缺点,这一缺点可以让用户通过e-mail传送他们帐号的密码更改。攻击者可以利用这一缺点并将密码发送到自己的e-mail地址。由于它只需要一些普通的知识(比如用户的e-mail地址),这在Passport中是一个巨大的漏洞。
在更最近的时间里,有人报告发现另一个漏洞。这一漏洞可以影响在秘密问题验证之前就建立.NET Passport帐号的用户。而使用这一漏洞只需要自己位置地址和管理帐号的e-mail地址方面的知识。
七月初,微软宣布她的Identity Integration Server (MIIS) 2003将包括数字ID 软件,以管理不同企业网络的用户认证。如果被采纳,它将促进Windows 2003的销售。但是,基于.NET Passport 的Redmond跟踪记录,问题是你是否应该采用这一最先进的用户认证系统。
新的数字ID系统扩展了超目录(meta directory)产品,而原来这一产品可同步化不同目录之前的数据,但该产品不能用于关键的认证任务,比如新用户注册,或者密码管理。
这一新的工具可以更容易地注册需要认证服务的新用户,以及移除“已故”用户的访问。正如你所知道的,完整地注册一个新用户可能需要几个星期,离开公司数年的员工还可以访问自己的网络帐号,这种情况是存在的。
这也就是执行MIIS获得的安全目的,但它是否也意味着,对于广大Web服务,将企业网络暴露到如.NET Passport漏洞的程度,MIIS是否也提供与.NET Passport类似的服务?
大约有200亿的用户使用.NET Passport大部分都出于Web安全的原因。然而大部分这些用户都是Hotmail的用户,这些用户都认为很难避免.NET Passport的注册。所以,对于开发人员来说,使用.NET Passport来限制访问程序的诱惑是不可抵抗的。我的建议很简单:抵抗!
对于MIIS 2003,你将不得不认真考虑,你将选择成为这一有用工具的早期使用者,或者认为它只是等待发生的一场灾难。如果在是否使用这一工具上,你认为没有什么值得太多考虑,那么在要执行的任何附加安全特性(additional security features)中,你必须仔细斟酌。