Microsoft 对 Identity Metasystem 的前瞻

来源:百度文库 编辑:神马文学网 时间:2024/04/29 01:24:15
发布日期: 2006-2-27 | 更新日期: 2006-4-17
Microsoft Corporation
适用于:
安全性
Web 开发
Web 服务
摘要:Identity Metasystem 是一个针对数字标识的互操作体系结构,它假设用户具有若干个基于多项底层技术、实现和提供程序的数字身份。使用该方法,用户将能够继续保留他们现有的标识基础结构的利用价值,选择最适合他们的标识技术,并能够更轻松地从旧技术迁移至新技术,而不会影响与其他技术的互操作性。本文介绍“标识规则 (The Laws of Identity)”方法的基本原理,该方法提供一个用于生成元系统的开放式、可互操作的体系结构,并描述 Microsoft 参与该标识元系统的计划。

本页内容
数字标识:一项挑战
什么是 Identity Metasystem?
不同场合中的标识功能
标识规则
标识元系统中的角色
标识元系统的组成部分
标识元系统的优势
标识元系统的体系结构:WS-* Web 服务
Microsoft 的实现计划
Passport 给我们的启示
小结
获得更多信息
数字标识:一项挑战
Internet 对于用户和业务等而言,其价值仍在持续增长。越来越多的人在日常生活中需要使用网络,从购物、办理银行业务、支付账单到多媒体和娱乐消费。电子商务正在蓬勃发展,其中的业务可以通过 Internet 提供更多的服务和内容,实现网上通信与协作并创造了多种互联的新方式。
然而,随着网上操作的增值,Internet 自身已经变得更为复杂、更容易受到攻击并且更加危险。人们对在线身份的盗取、欺诈和隐私的关注程度不断提高,这些都源自一些日渐复杂的实践经验,例如,“phishing”— 网页仿冒。用户必须熟记多个帐户和密码以及在站点进行身份验证的众多方法不仅让用户屡屡受挫(例如,“密码匮乏”),而且会导致不安全的做法,例如,在多个站点重用相同的帐户名和密码。
这些问题的根源在于,Internet 在设计上没有体现出一个数字标识系统。为了弥补这一缺陷,便引入了许多数字标识系统,其中每个系统都有自己的优缺点。但没有一个系统能够满足每个数字标识方案的需要。即使能够创建这样一种系统,但实际情况是,目前人们还是使用着许多不同的标识系统,并且还在不断开发更多的系统。结果,当前 Internet 上数字标识的状态是一些特殊解决放案不协调的大杂烩,这成为了每个 Web 站点上具有不同用户体验的用户的负担,它提供的系统非常脆弱,并且限制了电子商务更完整的实现。
返回页首
什么是 Identity Metasystem?
如果统一采用单个数字标识系统或技术永远不可能实现,那么对于 Internet 而言,一个广泛使用的、成功的标识解决方案需要一个不同的方法 — 它能够将现有的和将来的标识系统连接为一个 identity metasystem(标识元系统)。该元系统(或称为系统的系统)将利用其子标识系统的功能,提供它们之间的互操作性,并且为它们创建一个一致且直观的用户界面。这样,在电脑空间方面的提升将使所有人受益,从而使 Internet 更安全,并能够推进电子商务的发展,抵抗 phishing 的攻击,并解决其他数字标识问题。
在互联网以外的世界里,人们需要在钱包里携带多种身份标识,例如,驾驶证,或者由政府颁发的其他身份证件、信用卡或联名信用卡(例如,飞行积分卡)。人们可以自己控制使用哪种卡,以及在任何特定的情况下显示多少信息。
同样,标识元系统使用户能够在访问 Internet 资源时更加安全,并能够进行更好的控制。它允许用户从他们的数字身份公文包中选择标识,并在接受其选择的 Internet 服务上使用它们。该元系统启用由一个标识系统技术(该技术可用在基于不同技术的系统中)提供的标识,前提是存在一个中间媒介,它了解两端的技术并且可以安全地进行所需的转换。
需要注意的是,该标识元系统不会与它所连接的标识系统冲突,也不会取代它们。另外,它所扮演的角色类似于网际协议 (IP) 在网络领域中的角色。在上世纪七十年代和八十年代初(当时还没有发明 IP),分布式应用程序必须清楚地了解网络连接,不论是 Ethernet、Token Ring、ArcNet、X.25 还是 Frame Relay。但是,IP 通过提供一个技术独立的元系统改变了这种局面,该系统使应用程序脱离了复杂的单个网络技术,从而提供了无缝的互连性,以及一个用于将未来的网络(802.11 无线网络)包含在该网络元系统中的平台。
同样,标识元系统的目的是连接单个标识系统(从而允许在它们之间进行无缝互操作),提供具有技术独立的标识表示形式的应用程序,并为它们提供一个更好的、更一致的用户体验。该元系统永远不会与它连接的标识系统发生冲突或者取代它们,相反,它要依赖 这些单个系统来为它工作!
返回页首
不同场合中的标识功能
人们在现实世界中持有的身份标识有各种形式,比较重要的有出生证、护照和驾驶证等,比较普通的有名片或咖啡积分卡等。人们在不同的场合中使用不同形式的身份标识。
标识必须在正确的场合中使用。不在相应的场合中使用正确的标识通常不会产生所需的结果。例如,试图使用咖啡卡出境很显然不适合。另一方面,在 ATM 上使用银行卡,在边境使用政府发行的 ID,在咖啡台使用咖啡积分卡,以及在 MSN Hotmail 上使用 Passport Network(以前是 .NET Passport)帐户显然合情合理。
在某些情况下,区别不是很明显。您的确可以在 ATM 上使用政府颁发的 ID 而不使用银行卡,但这样政府就会了解每一笔金融交易,很多人将会为此感到不舒服。您可以将社会保险号码用作学生的 ID 编号,但是它有暴露隐私的倾向甚至会助长身份窃取。而且您可以在一些非 Microsoft 站点使用 Passport 帐户,但没几个站点选择启用它;即使有站点启用它,也很少有用户这样做,因为他们觉得 Microsoft 不可能参与这些交互。
通过研究 Passport 体验以及行业中的其他数字标识方案,可以使我们与大量行业专家联合制定一些原则,我们相信这些原则对于一个成功的、得到广泛应用且持久不衰的数字标识系统而言是十分重要的。我们称这些为原则为“标识规则”。
返回页首
标识规则
“标识规则”旨在制定一组基础原则,任何广泛应用的、可支持的标识体系结构都必须遵循这些原则。通过一个长期运行、开放式且持续的 Internet 会话,来提出这些“规则”并对它们进行讨论和完善。总而言之,这些“规则”可以定义标识元系统的体系结构。
这些规则包括:
1.
User Control and Consent:标识系统只能在争得用户同意的情况下显示标识用户身份的信息。
2.
Minimal Disclosure for a Constrained Use:标识系统必须尽可能少地公布标识信息,因为这是最稳妥的长期解决方案。
3.
Justifiable Parties:标识系统的设计原则为:标识信息的显示仅限于在给定标识关系中具有必需且正当身份的一方(或若干方)。
4.
Directed Identity:通用的标识系统必须既支持“全向”标识符以供公众使用,又要支持“单向”标识符以供个人使用,从而可以更容易地发现不必要的隐私关系泄漏。
5.
Pluralism of Operators and Technologies:通用的标识系统解决方案必须启用并使用多个标识提供程序运行的多种标识技术的互操作。
6.
Human Integration:标识系统必须将用户定义为分布式系统的组件,该系统通过一些明确的人机通讯机制集成,这些机制能够防止针对识别的攻击。
7.
Consistent Experience Across Contexts:统一的标识元系统必须在通过多个操作方和技术启用环境分离时,确保其用户具有简单、一致的体验。
有关更多信息,请参阅标识规则白皮书。要加入有关“标识规则”的讨论,请访问www.identityblog.com。
返回页首
标识元系统中的角色
不同的人以不同的方式参与该元系统。元系统中的三个角色是:

Identity Providers(标识提供方),提供数据标识。例如,信用卡提供方可能提供启用支付功能的标识,商家可能为顾客提供标识,政府可能为市民提供标识,而个人可能在某些情况下使用自己注册的标识,例如登录 Web 站点。

Relying Parties(依赖方),需要标识。例如,一个利用由其他方所提供标识的 Web 站点或在线服务。

Subjects(主体),对其做出声明的个体和其他实体。例如,最终用户、公司和组织。

在许多情况下,元系统中的参与方会扮演一个以上的角色,通常是三个角色兼具。
返回页首
标识元系统的组成部分
要生成一个标识元系统,需要具备以下五个要素:
1.
一种使用声明表示标识的方式
2.
一个使标识提供方、依赖方和主体之间进行协商的方法
3.
一个用于获取声明和要求的封装协议
4.
一个使用声明转换为技术和组织边界建立关系的方法
5.
一种跨多种环境、技术和操作方的一致的用户体验
基于声明的标识
数字标识包含有关标识主体的声明集,其中“声明”是有关其发行方断言为有效的主体的信息。这类似于现实世界中使用的标识。例如,驾驶证上的声明可能包括发行地区、驾驶证编号、姓名、地址、性别、出生日期、器官捐赠者状况、签名、照片、准驾车型以及关于驾驶权限的限制。发行地区断言这些声明是有效的。信用卡上的声明可能包括发行方的标识、持卡人姓名、帐号、失效日期、验证码和签名。卡发行方断言这些声明是有效的。自发行标识的声明(其中标识提供方和主体是同一实体)可能包括主体的姓名、地址、电话号码、电子邮件地址,或者仅为一个秘密一般描述。对于自发行标识,主体断言这些声明是有效的。
协商
协商使元系统中的参与方能够就如何在元系统中互相连接达成所需的协定。协商用于确定可相互接受的技术、声明和要求。例如,如果一方理解 SAML 和 X.509 声明,而另一方理解 Kerberos 和 X.509 声明,则双方将进行协商并确定在彼此之间使用 X.509 声明。另一种类型的协商确定依赖方所需的声明是否可以由一个特定的标识提供。这两种协商都是简单的匹配练习;它们将一方可以提供的内容与另一方需要的内容加以对比,以便确定它们是否匹配。
封装协议
封装协议提供一个技术中立的方式,以便在主体、标识提供方和依赖方之间交换声明和要求。确定交换内容和交换含义的操作由参与方进行,而不是由元系统进行。例如,封装协议将允许应用程序检索 SAML 编码的声明,而不必了解或实现 SAML 协议。
声明转换程序
声明转换程序通过将一个系统了解的声明转换为另一个系统了解并信任的声明,在为组织和技术边界之间建立起联系,从而使大量客户端和服务器避免了声明计算的复杂工作。声明转换程序也可能转换或精炼声明的语法。例如,一个声明断言“Is an employee”可能转换为一个新的声明“OK to purchase book”。声明“Born on March 22, 1960”可以转换为声明“Age is over 21 years”,它有意提供较少的信息。声明转换程序也可能用于更改声明格式。例如,以某些格式(例如,X.509、Kerberos、SAML 1.0、SAML 2.0、SXIP 等等)编写的声明可以转换为使用不同技术表达的声明。声明转换程序提供当前所需的互操作性,还提供了合并新技术所需的灵活性。
一致的用户体验
许多标识攻击之所以成功,就是因为用户被屏幕上显示的某些内容欺骗了,而不是由不安全的通讯技术造成的。例如,phishing 攻击并不出现在 Web 服务器和浏览器之间的安全信道中(一个可能延伸数千英里的信道),而是出现在浏览器及其用户之间的两三英尺中。因此,标识元系统寻求使用户能够做出考虑周全且合理的标识决定,具体的措施是开发一致的、易于理解的集成用户界面,从而进行这样的选择。
确保整个系统安全的一个要点是,呈现一个易于理解、可预测的用户界面,该界面的外观和工作方式始终保持一致,无论所使用的基础标识技术是什么。另一个要点是使重要的信息显而易见 — 例如,以能够使 spoofing 以显而易见的方式显示要进行身份验证的站点标识。必须通知用户依赖方需要哪些个人信息及目的。这使用户可以就是否公布该信息做出考虑周全的决定。最后,用户界面为用户提供一个同意公布操作的方法(如果他们同意这些条件)。
返回页首
标识元系统的优势
Microsoft 认识到,只有参与方在元系统中填充了所有角色以从中获益时,该标识元系统才能得到广泛应用。幸运的是,事实即如此。标识元系统的主要优势包括:

更强大的用户控制和灵活性。用户可以决定公布多少信息,公布给谁,以及在什么情况下公布,因此可以更好地保护他们的隐私。标识提供方和依赖方之间强大的双向身份验证有助于解决 phishing 和其他骗术问题。标识和相应的个人信息能够以多种方式安全地存储和管理,包括通过用户选择的联机标识提供方服务,或者在用户的 PC 上,或者在其他设备中,例如,安全的 USB keychain 存储设备、智能卡、PDA 和手机

更安全,更易于理解的用户体验。标识元系统启用一个跨多个标识系统的可预测且统一的用户体验。它扩展到用户并与其集成,从而有助于确保人机信道的安全。

增加了与现有标识系统之间的“接触”。该标识元系统不会与它所连接的标识系统发生冲突,也不会取代它们,而是保留用户现有标识解决方案的利用价值并建立在其基础之上。它为使用现有标识(例如,公司发行的标识和联机业务发行的标识)提供了机会,使其可以在之前未用到的环境中使用。

促进标识系统创新。该标识元系统使得新开发的标识技术和系统更容易地得到快速、广泛的采用。声明转换程序允许新系统参与其中,即使多数参与者不理解其本机声明格式和协议也如此。

抵御攻击。在黑客攻击现有标识技术之前必需使用新技术。该元系统使新标识技术能够在所需的情况下得到快速部署和应用。

开拓新市场。该标识元系统可以启用所有元系统组件的可互操作、独立的实现,这意味着市场前景会超出开发人员的想象。许多人会选择投入到标识提供商业务中。其他人将提供针对标识的认证服务。一些人将实现服务器软件。其他人将实现客户端软件。设备制造商和手机运营商可以在他们的平台上保留标识。这会为标识经纪人提供很多新的商业机会,其中受信任的媒介会将声明从一个系统转换到另一个系统。新的商业机会有很多。
当标识元系统进行广泛部署后,我们能得到一个更安全、更可信赖的 Internet。该元系统将提供 Net 十分需要的、广为采用的标识解决方案。
该标识元系统可以包括任何人或者以任何方式使用、参与或依赖于标识的任何事物,但不仅限于现有的标识系统、企业标识、政府标识、Liberty 联盟、操作系统、移动设备、联机服务和智能卡。此外,只有创新者的想象力能够左右这些可能性。
返回页首
标识元系统的体系结构:WS-* Web 服务
在过去的几年中,Microsoft 与经一些业内伙伴联合开发了用于 Web 服务的可组装、端对端的体系结构。该体系结构的规范集已由业界命名为WS-* Web 服务体系结构。该体系结构支持标识元系统的需求。
用于声明转换的封装协议是 WS-Trust。协商是使用 WS-MetadataExchange 和 WS-SecurityPolicy 管理的。这些协议用于生成一个技术中立的标识元系统,并形成该标识元系统的“背板”。与其他 Web 服务协议一样,它们也允许新标识和技术在得到开发并为业界所采用后,合并并利用这些新标识和技术。
为了促进广泛采用所需的互操作性,WS-* 规范出现了并且提供免费使用,它们已经或将要提交给开放标准组织并且允许在免版税的情况下开发实现。
通过实现针对上面三个 WS-* 协议的支持,可以在元系统中利用现有标识技术的部署。可供元系统使用的技术包括 LDAP 声明架构、X.509(用于智能卡)、Kerberos(用于 Active Directory 和 UNIX 环境),以及 SAML(在公司间联盟方案中使用的一个标准)。
标识元系统体系结构关系图

该图显示主体、标识提供方和依赖方之间的关系,展示用于该元系统和通过该元系统利用的特定系统的一些技术。

安全令牌服务器实现 WS-Trust 协议并提供对声明转换的支持。

依赖方提供要求的语句,这些语句根据 WS-SecurityPolicy 规范表示并通过 WS-MetadataExchange 协议利用。

Identity Selector 实现一致的用户体验。在由应用程序调用后,它执行依赖方和标识提供方(一个或多个)之间的协商;为主体(例如,最终用户)显示“匹配的”标识提供方和依赖方的标识;获取声明;以及在主体的监督下将它们提供给该应用程序。
返回页首
Microsoft 的实现计划
Microsoft 计划生成在该标识元系统中填充所有角色的软件(同时也鼓励其他方生成填充有这些角色的软件,包括非 Windows 平台)。Microsoft 要实现以下参与该元系统的软件组件:

“InfoCard”标识选择程序:“InfoCard”是 WinFX 组件的代号,该组件提供标识元系统所需的一致用户体验。它针对 tampering 和 spoofing 进行了特别的加强,以保护最终用户的数字身份并维护最终用户的控制。客户端用户界面中的可视化“Information Card”呈现了由“InfoCard”管理的每个数字标识。用户选择由“InfoCard”呈现的标识来针对参与的服务进行身份验证。

“InfoCard”简单的自发行标识提供程序:“InfoCard”也包括一个简单的标识提供程序,它允许单个 PC 用户创建并利用自发行的标识,允许针对依赖方进行无需密码的强身份验证。自发行的标识用于使用户担保他们自己提供的信息,这非常类似于目前用户在 Web 站点上进行注册的情况。我们要实现简单的自发行标识提供程序以帮助引导标识元系统;我们相信某些服务类型仍将接受自发行的标识。简单的自发行标识提供程序中保留的标识不会包括或存储敏感的个人信息,例如,Social Security 号(或所开发的其他国家 ID 号)或信用卡号。自发行的标识并不旨在提供托管标识提供程序可以提供的所有功能 — 该市场主要面向为客户提供托管标识解决方案的公司。

Active Directory 标识提供程序:这是一个与 Active Directory 集成的托管标识提供程序。它包括一个完整的策略控件集,用于管理标识元系统中 Active Directory 标识的使用。Active Directory Federation Services(Windows Server 2003 R2 提供的一个新 Active Directory 功能)是将 Active Directory 中的标识与标识元系统集成的第一步。

“Indigo”:代号为“Indigo”的 Web 服务运行时为开发人员提供一个快速生成和部署分布式应用程序的方式,包括标识元系统中的依赖方服务。
标识元系统保留并充分利用现有标识解决方案(包括 Active Directory 和其他标识解决方案)的价值。Microsoft 的实现将通过 WS-* 协议与其他标识选择程序实现、依赖方实现和标识提供程序实现完全的互操作。
非 Microsoft 应用程序将能够像 Microsoft 应用程序一样使用“InfoCard”管理它们的标识。非 Windows 操作系统完全能够参与我们针对本行业生成的标识元系统。其他人可以在无需任何 Microsoft 软件,无需支付 Microsoft 或无需使用任何 Microsoft 联机标识服务的情况下,生成元系统完整的端对端实现。
返回页首
Passport 给我们的启示
Microsoft 有关标识最著名的成果也许就是 Passport Network 了(以前称为 .NET Passport)。Microsoft 已经生成了世界上最大的 Internet 身份验证服务并从中学到了很多,并将这些来之不易的经验应用到标识规则、标识元系统和几个产品的开发之中。
Passport 最初旨在解决以下两个问题:成为用于 MSN 和 Microsoft 属性的标识提供程序,并成为用于 Internet 的标识提供程序。对于第一个目标而言它是成功的,因为每天有超过两亿五千万个活动 Passport 帐户和超过十亿次身份验证。对于第二个最初目标,通过与合作伙伴、客户和行业不断地接触,我们清楚地了解到:在许多情况下,Microsoft 在某些事务(例如,公司及其客户之间的事务)中扮演的角色并没有意义。
除了在标识规则中向我们介绍的观点之外,值得一提的是,运营该 Passport 服务已经帮助 Microsoft 深入了解了大型标识提供商所面临的操作和技术方面的挑战。这些经验有助于使我们的标识产品满足大规模部署的需要。
该标识元系统与 Passport 的初始版本存在几个根本差别。元系统不存储个人信息,由单独的标识提供方决定如何存储该信息以及存在何处。该标识元系统不是针对 Internet 的联机标识提供方;实际上,它为所有标识提供方提供了一个共存且彼此竞争的方式,它们在该元系统中是平等的。最后,虽然 Microsoft 针对使用 Passport 初始版本的服务收费,但是参与该标识元系统将是免费的。
Passport 系统本身也已经随之得到了发展。它不再存储除用户名/密码凭证之外的个人信息。Passport 现在是一个身份验证系统,它面向 Microsoft 站点以及那些亲密的合作伙伴 — 它扮演了一个非常适合的角色,用户和合作伙伴在使用它时会感到很舒服。Passport 和 MSN 计划将对标识元系统的支持实现为 MSN 及其合作伙伴的联机标识提供程序。Passport 用户将获得提高的安全性和易用性,而且 MSN Online 合作伙伴将能够通过该标识元系统与 Passport 进行互操作。
返回页首
小结
当今的许多 Internet 问题(从 phishing 攻击到不一致的用户体验)都是因为多个数字标识解决方案拼凑在一起所造成的,软件开发商在缺少统一的数字标识架构系统的情况下内置了这些解决方案。标识元系统(如标识规则中定义的一样)将提供一个统一的数字标识结构,利用现有和将来的标识系统,提供和它们之间的互操作性,并能够为它们创建一个一致且简单的用户界面。基于在标识规则方面的工作,Microsoft 正在与业内的其他公司联合生成使用已公布的 WS-* 协议的标识元系统,该系统提供可以与这些公司生成的软件完全互操作的 Microsoft 实现。
我们相信,目前在联机体验中存在的许多危险、复杂性、烦扰和不确定性将来都会得到解决。标识元系统的广泛部署将能够解决这些问题中的大多数,通过使联机世界更安全、更可信且易于使用,使人们从中受益并加速连接性的长期增长。Microsoft 正与业内的其他公司一起定义和部署该标识元系统。我们希望您也能参与进来!
返回页首
获得更多信息
标识规则白皮书
要参与标识讨论,请访问http://www.identityblog.com/
有关 Web 服务的更多信息,请访问MSDN Web 服务开发人员中心
要试用“InfoCard”的开发人员测试版,请下载"Avalon" and "Indigo" Beta 1 Release Candidate 和相关的软件开发工具包。
转到原英文页面