关于信息卡和数字标识

关于信息卡和数字标识

Internet 的价值在不断增长,但同时 Internet 也面临着巨大的挑战。 人们越来越担心联机标识被盗取、遭遇欺诈和隐私被公开这些问题。 用户必须记住越来越多的帐户和密码。 这种重负会导致“密码疲劳症”,从而会产生一些不安全的做法,比如在许多网站重复使用相同的帐户名和密码。

CardSpace 是 Microsoft 的标识元系统的实现,它使用户能够从他们的标识公文包中选择标识,并在接受这些标识的环境中使用这些标识,而这与产生和使用标识的基础标识系统无关。 本主题对此问题以及 CardSpace 解决方案进行了详细阐述,并概述 Windows Communication Foundation (WCF) 用户如何才能使用 CardSpace。 其中许多问题的根源在于 Internet 上缺少广泛采用的标识解决方案。

机遇和挑战

Internet 对于用户和商家等而言,其价值仍在不断增长。 越来越多的人在使用 Web 进行一些日常活动,包括从购物、办理银行业务和支付帐单到媒体和娱乐消费在内的各种活动。 电子商务正在蓬勃发展,其中商家可以通过 Internet 提供更多的服务和内容,实现网上通信与协作并创造了多种互相联络的新方法。

但是,因为人们在网上进行的活动所牵涉到的价值增加了,所以 Internet 本身已经变得更加复杂和危险。 人们越来越担心联机标识被盗取、遭遇欺诈和隐私被公开这些问题。 而且,越来越高明的阴谋诡计(如网页仿冒)不断出现。 为了应对这些问题,人们设计了许多用来保护标识的系统。 由于系统繁多,因此导致了前面所说的密码疲劳症和不安全的做法。

这些问题的根源在于 Internet 在设计时未考虑到数字标识系统。 在努力弥补此缺陷的过程中,人们引入了许多数字标识系统,每个系统都有自己的优缺点。 但是,没有一个系统可以满足全部数字标识方案的要求。 实际情况是,目前人们还是使用着许多不同的标识系统,并且还在不断开发更多的系统。 因此,标识系统的现状是各网站临时提供的不协调解决方案的大杂烩,这使系统完全非常脆弱,并且限制了电子商务前景的全面实现。

开放式标识元系统

如果统一采用一种数字标识系统或技术永远不可能实现,则对于 Internet 而言,一种成功并广泛采用的标识解决方案需要另一种方法,这种方法能够将现有的标识系统和未来的标识系统连接成一个标识元系统(或“由系统组成的系统”)。 此元系统充分利用了其内部标识系统的优点,使这些系统能够协同工作,并且能够为它们创建一个一致且直观的用户界面。 这样,在信息空间方面的提升将使所有人受益,从而使 Internet 更安全,并能够推进电子商务的发展,抵御网页仿冒的攻击,并解决其他数字标识问题。

保持系统多样性

在互联网以外的世界里,人们需要在钱包里携带多种身份证明,例如,驾驶证或者由政府颁发的其他身份证件、信用卡和飞行积分卡之类的卡。 人们可以控制在任何给定的情况下使用哪种卡以及披露多少信息。

同样,标识元系统使用户能够在访问 Internet 资源时更加安全,并能够进行更好的控制。 它允许用户从他们的数字标识公文包中选择标识,并在接受其标识的选定 Internet 服务上使用它们。 该元系统使得由一个标识系统技术提供的标识可以用在基于不同技术的系统中,前提是存在一个中间媒介,它了解两种技术并且可以安全地进行所需的转换。

务必要注意的是,该标识元系统不会与它所连接的标识系统冲突,也不会取代它们。 相反,标识元系统的目的是连接各个标识系统(从而使它们能够无缝地协同工作),向应用程序提供技术独立的标识表示形式,并为所有标识系统提供更好的、更一致的用户体验。 元系统依赖这些单独的系统来完成工作。

不同场合中的标识功能

人们在互联网以外的世界中持有的身份证明有各种形式,比较重要的有出生证、护照和驾驶证等,比较普通的有名片或咖啡积分卡等。 人们在接受身份证明的不同场合中使用不同形式的身份证明。

人们可能会在相应或不相应的场合中使用身份证明。 在不相应的场合中使用身份证明通常不会得到想要的结果。 例如,试图使用咖啡积分卡出境很显然不起作用。 相反,在 ATM 上使用银行卡,在边境使用政府发行的 ID,在咖啡吧使用咖啡积分卡,以及在 MSN Hotmail 上使用 Passport Network(以前为 .NET Passport)帐户显然合情合理。

在某些情况下,区别不是很明显。 您可以在 ATM 上使用政府颁发的 ID 而不使用银行卡,但这样政府就会了解每一笔金融交易,有些人将会为此感到不舒服。 您可以将社会保险号码用作学生的 ID 号,但是这么做会助长身份盗用现象。 而且您可以在一些非 Microsoft 网站使用 Passport 帐户,但没几个网站选择支持它;即使有网站支持,也很少有用户这样做,因为他们觉得 Microsoft 不可能参与这些交互。

通过研究 Passport 体验以及行业中的其他数字标识方案,我们与大量行业专家联合制定了一些原则,这些原则对于 Internet 上一个成功的、得到广泛应用且持久不衰的数字标识系统而言是十分重要的。 下一节描述了这些原则。

原则(“标识规则”)

开放式标识元系统旨在遵循一组原则(也称“标识规则”),这组原则是根据来自数字标识社区中广大活动成员群体的不断反馈和输入制定的。

标识系统应遵循以下原则。

用户控制和同意

标识系统只能在用户同意的情况下显示披露标识用户身份的信息。

在限定时间内尽少公布

标识系统解决方案必须尽可能少地公布标识信息,因为这是最稳妥的长期解决方案。

身份正当的各方

标识系统只向给定标识关系中具有必需的正当身份的各方公布标识信息。

定向标识

标识系统既可支持“全向”标识符以供公共实体使用,又可支持“单向”标识符以供私人实体使用,从而可以更容易地发现并防止不必要的关系泄漏。

操作方和技术的多元化

标识系统必须引导并启用多个标识提供程序运行的多种标识技术的内在工作方式。

人的集成

标识系统将用户定义为分布式系统的组成部分,这一部分通过可抵御标识攻击的明确的人机通信机制集成。

跨环境的一致体验

标识系统便于依赖方和具有特定标识的用户之间进行协商。 这将提供一个和谐的人与技术的接口,同时允许标识在不同环境中拥有自主权。

开放式标识元系统的体系结构

本节论述开放式标识元系统的一般体系结构。

角色

不同各方以不同的方式参与该元系统。 元系统中有以下角色:

  • 标识提供程序(颁发标识)。 例如,信用卡提供商可以颁发具有付款功能的标识,商家可以为其顾客颁发标识,政府可以为公民颁发身份证明,而个人可以在某些情况下(例如登录网站)使用自行颁发的标识。

  • 依赖方(需要标识)。 例如,一个使用由其他各方所提供标识的网站或联机服务。

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

参与标识元系统的每个人和实体都可以扮演所有角色,并且每个人和实体可以同时扮演多个角色。 通常,人或实体可以同时扮演所有这三种角色。

组成部分

本节描述元系统的主要组成部分和概念。

元系统由以下五个主要组成部分组成:

  1. 一种使用声明表示标识的方式。

  2. 一个使标识提供程序、依赖方和主体之间进行协商的方法。

  3. 一个用于获取声明和要求的封装协议。

  4. 一个使用声明转换将技术和组织边界联系在一起的方法。

  5. 一种跨多种环境、技术和操作方的一致的用户体验。

基于声明的标识

标识由一组就有关标识主体作出断言的声明组成。 例如,驾驶证上的声明可能包括发证省份、驾驶证编号、姓名、地址、性别、出生日期、准驾车型等信息。 发证省份断言这些声明是有效的。

信用卡上的声明可能包括信用卡颁发机构的标识、持卡人姓名、帐号、失效日期、验证代码和持卡人签名。 信用卡颁发机构断言这些声明是有效的。

自行颁发的标识的声明(如名片)可能包括您的姓名、地址和电话号码。 对于自行颁发的标识,您自己断言这些声明是有效的。

协商

协商使元系统中的参与各方能够就如何在元系统中互相连接达成所需的协定。 协商用于确定可相互接受的技术、声明和要求。 例如,如果一方识别 SAML 和 X.509 声明,而另一方识别 Kerberos 和 X.509 声明,则双方将进行协商并确定在彼此之间使用 X.509 声明。 另一种类型的协商确定依赖方所需的声明是否可以由一个特定的标识提供。 这两种协商都是简单的匹配活动;它们将一方可以提供的内容与另一方需要的内容加以对比,以便确定它们是否匹配。

封装协议

封装协议提供一个技术中立的方式,以便在主体、标识提供程序和依赖方之间交换声明和要求。 确定交换内容和交换含义的操作由参与方进行,而不是由元系统进行。 例如,封装协议将允许应用程序检索 SAML 编码的声明,而不必识别或实现 SAML 协议。

声明转换程序

声明转换程序通过将一个系统识别的声明转换为另一个系统识别并信任的声明,在组织和技术边界之间建立起联系,从而使大量客户端和服务器不必进行复杂的声明计算工作。 声明转换程序也可以转换或精炼声明的语义。 例如,一个声明断言“是员工”可以转换为一个新的声明“可以买书”。 声明“生于 1960 年 3 月 22 日”可以转换为声明“年龄超过 21 岁”,它有意提供较少的信息。 声明转换程序也可以用于更改声明格式。 例如,以某些格式(例如,X.509、Kerberos、SAML 1.0、SAML 2.0、SXIP 和其他格式)编写的声明可以转换为使用不同技术表达的声明。 声明转换程序提供当前所需的互操作性,还提供了合并新技术所需的灵活性。

一致的用户体验

许多标识攻击之所以成功,就是因为用户被屏幕上显示的某些内容欺骗了,而不是由不安全的通讯技术造成的。 例如,网页仿冒攻击并不出现在 Web 服务器和浏览器之间的安全通道中(一个可能延伸数千英里的通道),而是出现在用户在浏览器内看到的内容中。 因此,标识元系统致力于使用户能够做出考虑周全且合理的标识决策,具体的措施是开发一致的、易于理解的集成用户界面,用来做出这样的选择。

确保整个系统安全的一个要点是,呈现一个易于理解、可预测的用户界面,该界面的外观和工作方式始终保持一致,无论所使用的基础标识技术是什么。 另一个要点是使重要的信息显而易见 — 例如,采用某种方式来显示您想要进行验证的网站的标识,这种方式使您能够对欺骗行为一目了然。 必须通知用户依赖方需要哪些个人信息以及这些信息用于什么目的。 这使用户可以就是否公开此信息做出考虑周全的决定。 最后,用户界面为用户提供一个同意公开信息的方法(如果他们同意这些条件)。

WS-* 规范

与 WCF 的其他功能一样,CardSpace 技术也是建立在一组开放式规范(WS-* Web 服务体系结构)基础之上。 WS-Trust 是用于声明转换的封装协议。 协商是使用 WS-MetadataExchange 和 WS-SecurityPolicy 管理的。 通过使用这些协议,可以生成一个技术中立的标识元系统,并形成标识元系统的“底板”。 与其他 Web 服务协议一样,当业界开发并采用新型的标识和技术时,这些协议也允许合并和使用这些标识和技术。

为了改善广泛采用所需的互操作性,我们发布了 WS-* 规范,并且可供免费使用,这些规范已经或将要提交给开放标准组织,并且允许在免版权税的情况下开发实现。

端到端方案

下图演示了使用 CardSpace 访问需要进行用户验证的网站时发生的端到端过程。

说明端对端用户体验的图形。

结束语

当今的许多 Internet 问题(从网页仿冒攻击到不一致的用户体验)都是因为多个数字标识解决方案拼凑在一起所造成的,而这些解决方案是软件开发商在缺少统一而构造合理的数字标识系统的情况下生成的。 标识元系统(如标识规则中定义的一样)将提供一个统一的数字标识结构,使用现有和将来的标识系统,使这些系统能够协同工作,并能够为它们创建一个简单的一致用户界面。 基于在标识规则方面的工作,Microsoft 正在与业内的其他各方合作,以使用已公布的 WS-* 协议生成标识元系统,这些协议提供可以与其他各方生成的标识系统完全互操作的 Microsoft 实现。 Microsoft 的标识元系统组成部分的实现是 CardSpace 系统。

通过使用 CardSpace,目前在联机体验中存在的许多危险、复杂性、烦扰和不确定性都将成为历史。 标识元系统的广泛部署有可能解决这些问题中的大多数问题,通过使联机世界更安全、更可信且易于使用,使每个人都可以从中受益并能够促进连接性的长期增长。 Microsoft 正与业内的其他公司一起定义和部署该标识元系统。

posted @ 2008-09-22 22:01  蓝色乌托邦  阅读(331)  评论(0编辑  收藏  举报