专利名称:控制数字身份表示的分发和使用的制作方法
控制数字身份表示的分发和使用
北且 冃足
已经做出了向个人给予对特别是在数字上下文中如何分发和使用其个 人身份信息的更多控制的更多努力。例如,特别地,华盛顿州雷蒙德市的 微软公司推广了一种有时被称为信息卡选择器的系统,微软对该信息卡选
择器的实例化通常被称为Windows CardSpace。在Windows CardSpace系统
中,主体获得一个或多个有时被称为信息卡的数字身份表示。在主体尝试 访问需要关于该主体所做出的一组声明的资源("依赖方")时,该主体 使用数字身份表示(此后称为"DIR")来发起与可以断言这些声明的身份 提供者的通信。在某些情况下,身份提供者可由主体控制并在主体自己的 机器上运行。在其它情况下,其可由第三方来控制。身份提供者返回包括 所需声明信息的"身份令牌"。
DIR特别地在应允依赖方对身份令牌的请求的上下文中是有用的。提 供DIR的容易且安全的使用对寻求访问这些依赖方的主体而言是有利的。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述 的一些概念。该概述不旨在标识所要求保护的主题的关键特征或必要特征, 也不旨在用于帮助确定所要求保护的主题的范围。
一个方面涉及一种用于控制DIR的分发的方法。第一设备接收对DIR 的请求。提示第一设备的用户接受或拒绝该请求。如果接受该请求,则提 供DIR。在各实施例中,第一设备的用户是DIR定义关于其的声明的主体。 在其它实施例中,第一设备的用户不是该主体。在各实施例中,第一设备 不具有时间感,并且DIR包括基于来自第二设备的对DIR的请求中所提供 的时间戳的使用限制。在其它实施例中,第一设备包括身份提供者,并且 在向第二设备提供DIR之前,DIR中的身份提供者的地址被改变为第一设 备的外部可访问地址。另一方面涉及一种用于控制DIR的使用的计算机程序产品。第一设备
从第二设备接收使用DIR的请求。提示第一设备的用户接受或拒绝该请求。 如果接受该请求,则提供使用DIR的许可。同样,在各实施例中,第一设 备的用户可以是或可以不是DIR包括关于其的声明的主体。
又一方面涉及一种使用DIR的方法。接收来自依赖方的对身份令牌的 请求。从第二设备向第一设备发送获得DIR的请求。数字身份表示包括描 述关于主体的至少第一声明的元数据,并且在第二设备处接收DIR。从第 二设备发送使用DIR的请求。第二设备接收使用DIR的许可,并且DIR随 后被用来获得身份令牌。向依赖方发送该身份令牌。
附图简述
图1示出示例DIR分发和使用系统。
图2示出用于控制DIR的分发的示例方法。
图3示出用于提供DIR的示例方法。
图4示出用于控制DIR的使用的示例方法。
图5示出用于获取和使用DIR的示例方法。
图6示出用于获取和使用DIR的另一示例方法。
详细描述
现将参考附图,在下文更详细地描述各示例实施例。全文中,相同的 附图标记表示相同的元素。
此处所公开的示例实施例一般涉及身份系统,其包括用于发起通信来 产生身份令牌的DIR,该身份令牌可以在主体、身份提供者和依赖方之间 交换以认证身份和/或与主体有关的信息。在此处的示例实施例中,主体可 以是一个或多个自然人、计算机、网络或任何其它实体。依赖方具有商品、 服务、或主体期望访问和/或获得的其它信息。在各示例实施例中,依赖方 可以是需要安全策略来进入、访问或使用的任何资源、特权或服务。例如,
依赖方可以包括以下的一个或多个计算机、计算机网络、数据、数据库、
建筑物、人员、服务、公司、组织、物理位置、电子设备、或任何其它类
6型的资源。
现在参考图1,示出了包括第一设备105、第一用户106、主体110、 第二设备111、第三设备117、第三用户118和依赖方120的示例DIR系统 100。第一设备105包括至少临时地由第一用户106控制的计算机系统。第 二设备111包括至少临时地由主体110控制的计算机系统。第三设备117 包括至少临时地由第三用户H8控制的计算机系统。如此处所讨论的,第 一用户106、主体IIO和第三用户118可包括三个不同的人或实体,或在各 实施例中可包括相同的人或实体。依赖方120也可包括计算机系统。系统 IOO还可包括身份提供者115和身份提供者107,其每一个都在以下进一步 讨论并且可包括计算机系统或是其一部分。
第一设备105、第二设备lll、第三设备117、身份提供者115和依赖 方120可以通过诸如因特网等一个或多个网络,或通过电话或其它形式的 有线或无线通信来彼此通信。在各示例实施例中,主体IIO可以使用第二 设备111来从依赖方120请求商品、服务、信息、特权、或其它访问。依 赖方120在向主体110提供所请求的访问之前或结合该提供,可以要求认 证主体110的身份或关于主体110的信息。
图1中还示出了示例身份提供者115。身份提供者115包括计算机系 统。在各示例实施例中,身份提供者115包括声明变换器130和声明授权 机构140。声明变换器130有时被称为"安全令牌服务"。在所示示例中, 身份提供者115可以提供关于主体110的一个或多个声明。声明是关于主 体所做出的陈述或断言,其可能包括关于主体的信息,如名字、地址、社 会保险号、年龄、信用历史、交易要求等。如在以下进一步描述的,身份 提供者115可以用数字地签署的身份令牌的形式来向依赖方120提供声明。 在各示例实施例中,身份提供者115与依赖方120是可信关系,以便依赖 方120信任来自身份提供者115的经签署的身份令牌中的声明。在各实施 例中,身份提供者107可以与身份提供者115相同或相似,但可以是第一 设备105的一部分而非单独控制的计算机系统。
尽管身份提供者115的声明变换器130和声明授权机构140在图1中 被示为分开的实体,但在替换实施例中,声明变换器130和声明授权机构140可以是同一实体或不同的实体或系统。在某些示例实施例中,身份提供
者115可以采取安全令牌服务的形式。类似地,第一设备105、第二设备 111和第三设备117可以是相同或不同的实体或系统。
此处所描述的计算机系统包括但不限于,个人计算机、服务器计算机、 手持式或膝上型设备、微处理器系统、基于微处理器的系统、可编程消费 电子产品、网络PC、小型机、大型计算机、智能卡、电话、移动或蜂窝通 信设备、个人数据助理、包括上述系统或设备中的任一个的分布式计算环 境等等。此处所描述的某些计算机系统可包括便携式计算设备。便携式计 算设备是被设计成由用户物理地携带的任何计算机系统。每一计算机系统 可包括一个或多个外围设备,包括但不限于键盘、鼠标、摄像机、web 摄像头、摄影机、指纹扫描器、虹膜扫描器、诸如监视器等显示设备、话 筒或扬声器。术语"计算机系统"在此处与"设备"互换地使用。
每一计算机系统包括诸如(但不限于)来自微软公司的WINDOWS操 作系统等操作系统,以及存储在计算机可读介质上的一个或多个程序。每 一计算机系统还可包括允许用户与计算机系统通信以及允许计算机系统与
其它设备通信的一个或多个输入和输出通信设备。图1的计算机系统(例 如,第一设备105、第二设备lll、第三设备117、身份提供者115和依赖 方120)之间的通信可以使用任何类型的通信链路来实现,包括但不限于, 因特网、广域网、内联网、以太网、直接线路径、卫星、红外扫描、蓝牙、 蜂窝通信、或任何其它类型的有线或无线通信。
在此处所公开的某些示例实施例中,系统100至少部分地被实现为在 华盛顿州雷蒙德市的微软公司所开发的.NET 3.0框架中所提供的信息卡系 统。该信息卡系统允许用户管理来自各种身份提供者的多个DIR。第一设 备105、第二设备111和第三设备117中的每一个可包括身份选择器,如来 自华盛顿州雷蒙德市的微软公司的Windows CardSpace 。
该信息卡系统利用诸如.NET 3.0框架中的Windows通信框架等web服 务平台。此外,该信息卡系统是使用至少部分地由华盛顿州雷蒙德市的微 软公司推广的Web服务安全规范来构建的。这些规范包括消息安全模型 WS-安全、端点策略WS-安全策略、元数据交换WS-元数据交换、以及信任模型WS-信任。
一般而言,WS-安全模型描述了如何将身份令牌附加到
消息。ws-安全策略模型描述了端点策略要求,如所需身份令牌和所支持 的加密算法。这些策略要求可以使用ws-元数据交换定义的元数据协议来
传达和协商。WS-信任模型描述了允许不同web服务互操作的信任模型的 框架。此处所述的某些示例实施例参考了上述web服务安全规范。在替换 实施例中,可使用一个或多个其它规范来方便系统100中的各种子系统之 间的通信。
再次参考图1,主体110可以经由第二设备111向依赖方120发送访 问商品、服务或其它信息的请求。例如,在一个实施例中,第二设备111 向依赖方120发送请求以在依赖方120处执行操作,如完成在线购买。第 二设备110发送的请求可包括对依赖方120的使用例如WS-元数据交换中 提供的机制的认证要求的请求。
响应于该请求,依赖方120可以向第二设备111发送依赖方120认证 主体的身份或关于主体110的其它信息的要求。依赖方120的认证要求此 处被称为安全策略。安全策略最低限度定义了来自可信身份提供者115或 身份提供者107的声明集,主体110必须向依赖方120提供该声明集以认 证主体110。安全策略可包括关于个人特征(如年龄)、身份、财务状况等 的证明的要求。它还可包括关于认证任何证明提供(例如,来自特定身份 提供者的数字签名)所需的验证和认证等级的规则。
在一个示例中,依赖方120使用WS-安全策略来指定其安全策略,包 括依赖方120所需的声明要求和身份令牌的类型。声明类型的示例包括但 不限于以下各项名、姓、电子邮件地址、街道地址、地区名或城市、州 或省、邮政编码、国家、电话号码、社会保险号、生日、性别、个人标识 号、信用得分、财务状况、法律状况等等。
安全策略也可用于指定依赖方120所需的身份令牌的类型,或可使用 身份提供者所确定的默认类型。除了指定所需声明和令牌类型之外,安全 策略还可指定依赖方所需的特定身份提供者。或者,该策略可省略该元素, 从而将对适当身份提供者的确定留给主体110。也可在安全策略中指定其它 元素,诸如,例如所需安全令牌的新鲜度。
9在某些实施例中,主体110可以要求依赖方120向第二设备111标识 其自身以使主体110能决定是否满足依赖方120的安全策略,如以下所描 述的。在一个示例中,依赖方120使用X509证书来标识其自己。在其它实 施例中,依赖方120可以使用诸如,例如安全套接字层("SSL")服务器 证书等其它机制来标识其自身。
第二设备111可以包括主体110的一个或多个DIR。这些DIR 112 (在 华盛顿州雷蒙德市的微软公司开发的.NET 3.0框架中提供的Windows CardSpace系统中有时称为"信息卡")是表示主体110和诸如身份提供者 115等特定身份提供者之间的令牌发放关系的人工产物。每一 DIR可对应 于一特定身份提供者,且主体110可具有来自相同或不同身份提供者的多 个DIR 112。
DIR112可包括身份提供者对于身份令牌的发放策略以及其它信息,该 发放策略包括可被发放的令牌的类型、该身份提供者对其具有权威的声明 类型、和/或在请求身份令牌时要用于认证的凭证。DIR 112可以表示为身 份提供者115或DIR生成系统所发放的XML文档,并被存储在诸如第二 设备111、第一设备105和/或第三设备117等存储设备上。如此处进一步 描述的,图1的各设备中所表示的DIR 112可以是同一DIR的不同副本、 不同的DIR、或具有相同的声明但适于在不同的设备中使用的DIR。
如上所述,第二设备111也可包括身份选择器。 一般而言,身份选择 器是准许主体110在第二设备111上的主体110的一个或多个DIR 112之 间进行选择的计算机程序和用户界面。DIR 112又可被用来从诸如身份提供 者115等一个或多个身份提供者请求并获得身份令牌。例如,当第二设备 111接收到来自依赖方120的安全策略时,身份选择器可被编程为使用DIR 112中的信息来标识满足安全策略所需的一个或多个声明的一个或多个 DIR112。 一旦主体110接收到来自依赖方120的安全策略,主体110可与 一个或多个身份提供者(例如使用第二设备111)通信以收集该策略所需的 声明。
在各示例实施例中,在主体有权访问第二设备111上的适当的DIR时, 主体IIO使用WS-信任中所描述的发放机制来用DIR 112从身份提供者115
10请求一个或多个身份令牌。依赖方120的身份能够,但不一定在主体110 发送给身份提供者115的请求中指定。该请求也可包括其它要求,诸如对 显示令牌的请求。
一般而言,身份提供者115的声明授权机构140可以提供来自依赖方 120的安全策略所需的一个或多个声明。身份提供者115的声明变换器130 被编程为变换声明并生成包括与主体110有关的声明的一个或多个经签署 的身份令牌150。
主体110可以基于来自依赖方120的要求在其对身份提供者115的请 求中以某种特定格式请求身份令牌。声明变换器130可被编程为以多种格 式中的一种来生成身份令牌,这些格式包括但不限于,X509、 Kerberos、 SAML (1.0禾B2.0版)、简单可扩展身份协议("SXIP")等等。这些要 求可包括在DIR中。
在各示例实施例中,声明变换器130使用WS-信任中所描述的响应机 制将身份令牌150转发给主体110。在一个实施例中,声明变换器130包括 安全令牌服务(有时称为"STS")。在一示例实施例中,主体110通过使 用WS-安全中所描述的安全绑定机制将身份令牌150绑定到应用程序消息 来将身份令牌150转发给依赖方120。在其它实施例中,身份令牌150可以 直接从身份提供者115发送到依赖方120。
一旦依赖方120接收到身份令牌150,依赖方120可以验证经签署的 身份令牌150的起源(例如,通过对身份令牌150解码或解密)。依赖方 120还可利用身份令牌150中的声明来满足依赖方120认证主体110的安全 策略并准许主体110完成所请求的操作。
然而,在各实施例中,第二设备111在本地存储中不具有涉及依赖方 120的安全策略所要求的声明的适当的DIR 112。例如,有时,主体110可
使用公共可访问的第二设备111 (例如公共库、机场自助服务终端、未受保 护的计算机终端等)来尝试访问依赖方120或在依赖方120处执行操作。 在这种情况下,主体110可能需要使用存储在诸如第一设备105或第三设 备117等另一设备上的DIR 112。现在更详细地讨论对这种远程存储的DIR 112的使用。有时,主体110可使用与主体110用来尝试访问诸如依赖方120等依 赖方的设备所不同的设备来存储DIR112。例如,主体110可使用诸如蜂窝 电话等移动设备来存储DIR 112,但可能想要使用诸如个人计算机("PC") 等具有更丰富的用户界面的设备来与依赖方交互。在各实施例中,主体110
请求从第一设备105向第二设备111提供DIR 112以在访问依赖方120时 使用。第一用户106被提示来批准向第二设备111发行DIR112,并且在各 实施例中,除非接收到这一批准,否则不向第二设备111发送所请求的DIR 112。在其它实施例中,DIR 112被存储在第三设备117上,但在第三设备 117向第二设备111发行DIR 112之前,要求来自第一用户106的、对于向 第二设备111发行DIR 112的批准。
在各实施例中,第一用户106和主体IIO是同一人。例如,将DIR112 存储在移动电话上并想要在不存在DIR 112的第二设备111 (例如PC)上 使用该DIR的主体IIO可能(a)在第二设备111上请求DIR112;以及(b) 批准从第一设备105(例如主体的移动电话)向第二设备111发行DIR 112。 在其它实施例中,DIR向第二设备111的发行必须由与主体110不同的第 一用户106和/或第三用户118批准。
在各实施例中,存储在第一设备105上的DIR 112将包括指向身份提 供者107的内部地址,身份提供者107可以是第一设备105上的服务。例 如,如果DIR 112是由第一设备105 "自发放"的(例如,第一设备创建 DIR112并发放通过使用DIR 112所创建的任何身份令牌),则DIR112将 包含标识身份提供者107的内部指针。这与包含诸如身份提供者115等第 三方身份提供者的地址的"受管DIR"相反。身份提供者107可包括相对 于身份提供者115所描述的声明变换器和声明授权机构。
在由第一设备105 "自发放"的DIR 112的情况下,在第二设备111 从第一设备105请求DIR 112时,第一设备将身份提供者107的地址从内 部地址改变为外部可访问的地址。这允许第二设备111在其最终尝试使用 DIR112来获得身份令牌150时找到身份提供者107。例如,如果来自第二 设备111的对DIR 112的请求是经由蓝牙通信做出的,则身份提供者107 的地址可被改变为蓝牙标识符。如果第二设备和第一设备之间的连接是经
12由GPRS做出的,则身份提供者107的电话号码可被插入到DIR 112。类似 地,取决于第一设备105和第二设备111之间的可用通信栈,可以使用IP 地址和端口号、URL路径名、或任何数量的其它寻址机制。类似地,如果 从第三设备117访问自发放DIR112,则第三设备117可以做出类似的改变 来提供第三设备117中所包括的身份提供者的外部可访问的地址。
在各实施例中,DIR112可包括使用限制。例如,DIR112可被编程来 包括一旦发行(如向第二设备lll)了 DIR112则其只可使用一次或只在"后 IO分钟"内使用的指令。如上所述,有时,主体110可经由不安全的第二 设备lll (例如公共库、自助服务终端等)与依赖方120交互。因此,虽然 各实施例可用其它方式(例如口令保护等)来防止DIR112的未授权使用, 但使用限制提供了在主体IIO不再能控制第二设备111之后针对未授权使 用的另一层保护。
在各实施例中,第一设备105和第三设备117彼此相比和与第二设备 111相比可具有不同的计算能力。例如,第一设备105和第三设备117中的 一个或两者都可缺少内部时钟或其它独立的时间感。这使得第一设备105 或第三设备117在将DIR 112发行到第二设备111之前,难以将任何使用 限制编码到DIR 112中。在各实施例中,第二设备111在其对DIR 112的 请求中包括基于第二设备111的定时机制的时间戳。在缺少其自己的定时 机制的情况下,第一设备105或第三设备117可以依赖于来自第二设备111 的请求中的时间戳,来在将DIR 112发行到第二设备111之前将任何基于 时间的使用限制编码到DIR 112中。例如,如果DIR 112要求或主体110 请求在DIR112下载到第二设备lll之后其只可使用IO分钟的限制,则第 一设备105使用来自第二设备111的请求中的时间戳来确定当前时间、将 其增加IO分钟、并在发送给第二设备111的DIR112的副本中设置适当的 期满时间。
图2示出用于控制DIR的分发的方法200的实施例。方法200可以响 应于主体尝试访问依赖方或在使用DIR的尝试的任何特定上下文之外来发 生。在步骤210处,在第一设备处接收来自第二设备的获取DIR的请求。 提示220第一设备的用户接受或拒绝对DIR的请求。在各实施例中,通过第一设备的用户界面来提示第一设备的用户。在准许第一设备的用户接受 或拒绝对DIR的请求之前,可以要求该用户认证他/她自己。认证方法可包 括各种认证协议中的任一种,包括口令、生物测定、智能卡等。
在步骤230处,第一设备的用户向第一设备指示是否已接受请求。可 以用各种方式来作出接受的指示,包括在第一设备处响应于提示的键盘输 入。如果未接受对DIR的请求,则发送240请求被拒绝的消息。例如,如 果第一设备的用户拒绝该请求,或该请求超时,则第一设备可以发送第二 设备可向第二设备的用户显示的消息。如上所述,第一设备的用户可以与 第二设备的用户相同或不同。如果接受对DIR的请求,则提供250所请求 的DIR。
图3示出在某些实施例中包括提供步骤250的方法300。在步骤310 处,做出所请求的DIR是否存储在第一设备本地的判定。如果否,则指示 320第三设备提供所请求的DIR。在该实施例中,第三设备可以执行该图3 的其余步骤中的任何或全部。
在步骤330处,如果DIR存储在本地,则做出所请求的DIR中所包括
的身份提供者地址是否指向本地服务或进程的判定。如果是,则要被提供 的DIR的副本中的身份提供者地址被改变340为外部可访问的地址。如相 对于图1所讨论的,选择外部可访问的身份提供者地址可依赖于用来请求 DIR的通信栈的类型。例如,如果第二设备使用因特网连接来从第一设备 请求DIR,则身份提供者的第一设备本地的地址可被改变为可由第二设备 访问的URL地址。
在步骤350处,做出是否要在DIR中包括基于时间的使用限制的判定。 在各实施例中,DIR将包含如果DIR的该副本被传送到另一设备则其在使 用上必须被限制(例如"10分钟内有效"、"一次性使用"等)的指令。 在其它实施例中,第二设备处的主体可在他/她的对DIR的请求中包括使用 限制。例如,使用公共计算机访问依赖方的主体可请求将来自他/她的移动 电话的DIR下载到该公共计算机。然而,该主体也可请求DIR只在10分 钟内有效,这将使该主体在依赖方处完成操作,但稍后登录该公共计算机 的人将不能使用该DIR。当第一设备在DIR中包括使用限制时,其真诚地信赖第二设备遵从该使用限制。例如,第二设备处的"身份选择器"或其 它用户界面可被编程为只向用户呈现根据使用限制尚未期满或尚未以其它 方式变得不可使用的卡。
如果要在提供给第二设备的DIR副本中包括基于时间的使用限制,则 提供该DIR的设备可以使用内部时钟来对该使用限制进行编程。在图3所 示的实施例中,设备(例如第一设备)缺少内部定时机制,并以上述方式 基于来自第二设备的请求中的时间戳来设置360使用限制。
在步骤370处,做出是否包括作为所请求的DIR的后台的数据的判定。 是否包括后台数据可以基于来自主体的请求或以其它方式来确定。后台数 据包括包含依赖方所要求的声明的实际数据。例如,DIR可包括列出特定 依赖方要求包括在身份令牌中的声明的类型的元数据(例如社会保险号、 电话号码等字段)。后台数据包括将由身份提供者响应于接收到DIR而编 码到身份令牌中的实际的社会保险号、电话号码等。
通常,后台数据不与DIR—起提供,因为后台数据是敏感的个人信息, 而DIR被用来表示可在来自身份提供者的安全身份令牌中获得的后台数 据。这防止后台数据被不必要地存储或传送。然而,在各实施例中,第一 设备可能缺少产生或加密身份令牌的计算能力,而主体可能想要向能够担 当身份提供者(所需身份令牌的提供者)的第二设备传送DIR及其后台数 据两者。
如果后台数据随DIR—起包括,则提供380该DIR。在各实施例中, 步骤380包括从第一设备向第二设备发送DIR。在其它实施例中,步骤380 包括指示第三设备将DIR发送到第二设备或向第二设备提供指向存储在第 三设备上的DIR的指针或引用。如果后台数据要随DIR—起包括,则类似 地提供390后台数据。
图4示出控制DIR的使用的方法400。在步骤410处,接收使用DIR 的请求。在各实施例中,第一设备的用户接收使用DIR的请求。第一设备 的用户可以与做出请求的设备的用户不同或相同。例如,可要求孩子从父 母获得许可来使用该DIR在依赖方处执行特定操作。使用DIR的请求可能 来自由主体控制的设备或来自接收该DIR以试图获得身份令牌的身份提供者。
DIR可被编程来要求尝试向身份提供者发送该DIR的设备首先从特定 人或设备获得许可。例如,在将DIR发送到身份提供者之前,可以要求被 主体用来与依赖方交互的设备请求使用该DIR的许可。DIR还可被编程来 向接收该DIR的身份提供者发信号通知在准许身份提供者向请求设备提供 身份令牌之前必须从特定人或设备获得使用该DIR的许可。对许可的请求 可包括首先认证作为给予许可的目标的用户(通过口令、生物测定或其它 方式),或可以只要求来自随后控制向其发送对许可的请求的设备的任何 人的接受的指示。
在各实施例中,接收使用DIR(以获得身份令牌)的请求的设备的用 户可以请求420关于DIR的预期使用的信息。例如,被要求批准使用DIR 的请求的用户可能想要知道主体尝试在其上执行操作的依赖方的名称、所 请求的操作是什么、以及关于该操作的其它信息。在步骤430处,接收关 于DIR的预期使用的信息。作为非排他性示例,该信息可包括在线商家(依 赖方)的名称、所尝试的购买(操作)、和预期交易的价格/成本(操作专 用参数)。该信息还可包括DIR的描述性名称(例如"妈妈的维萨卡")。 该信息可帮助用户确定440是否接受该请求。如果否,则提供445拒绝该 请求的消息。如果是,则提供450使用DIR的许可。在步骤445处对请求 的拒绝或在步骤450处对请求的许可可被提供给请求设备或身份提供者(或 直接地或通过请求设备)。
图5描绘用于获得和使用DIR的方法500。在该实施例中,该方法从 访问依赖方的请求510开始。该访问请求可以是进入依赖方的安全区域(如 安全网页)的请求或在依赖方处执行特定操作的请求。在步骤520处,接 收对身份令牌的请求。例如,依赖方可以用该依赖方的安全策略来对请求 访问该依赖方的设备作出响应,包括对包含最小声明集的身份令牌的请求。
在步骤530处,做出对DIR的请求。在各实施例中,对DIR的请求可 以是对特定DIR或满足依赖方的安全策略所要求的最小声明集的任何DIR 的请求。在步骤540处接收DIR,并且在步骤550处发送使用DIR的请求。 在步骤550处,可以向与获得DIR的请求不同的设备或实体做出使用该DIR的请求。例如,主体可以将DIR存储在他/她的移动电话上并请求将DIR下 载到公共PC来使用。然而,DIR可被编程来在其可被用来获得身份令牌之 前要求另一人或另一设备的用户的许可。
在步骤560处,接收使用DIR的许可。在图5所示的实施例中,在步 骤570向身份提供者发送DIR之前,接收560使用DIR的许可。在其它实 施例中,DIR被发送给身份提供者,并且身份提供者在提供身份令牌之前 请求并接收使用DIR的许可。在步骤580处,向依赖方提供身份令牌。在 各实施例中,身份提供者直接向依赖方提供身份令牌。在其它实施例中, 身份令牌被提供给请求访问依赖方的设备,而该设备将身份令牌转发到依 赖方。另外,如此处所使用的,"提供身份令牌"包括提供依赖方可以使 用来从身份提供者或其它设备获得身份令牌的、指向身份令牌的指针或引 用。在各实施例中,身份提供者和依赖方之间的通信路径可能比通过请求 设备到依赖方的路径更可靠和稳健。
另外,在各实施例中,可以向单个设备同时做出获得和使用DIR的请 求。例如,如果主体寻求获得对依赖方的访问并向第一设备发送获得和使 用DIR的请求,则第一设备可以提示用户是否接受获得DIR的请求和使用 该DIR的请求。如果是,且DIR是自发放的,则第一设备可以用满足依赖 方的安全策略的身份令牌来对主体所使用的设备作出响应。在其它实施例 中,这是不适用的,因为在是否发行DIR对该DIR是否可被用来获得身份 令牌的判定中将涉及不同的用户或设备。
在步骤590处,获得对依赖方的访问。例如,如果在步骤580处提供 了满足依赖方的安全策略的身份令牌,则准许主体在依赖方处执行所请求 的操作。
图6示出在特定上下文中获得并使用DIR的方法600的实施例。在步 骤610处,主体从PC请求访问依赖方网站处的支付站点。在步骤620处, 依赖方请求具有关于该主体的最小声明集的身份令牌。该主体使用630 PC 为该依赖方请求该主体存储在该主体的移动设备上的DIR。在该主体的移 动设备上向该主体提示640关于对DIR的请求,并且该主体接受该请求。 该主体的移动设备随后向PC发送650所请求的DIR,该DIR随后由该主体使用。
在步骤655处,PC向DIR中指定的身份提供者发送该DIR。在该示例 实施例中,身份提供者是第三方身份提供者,并且DIR是"受管DIR"。 身份提供者从主体请求660使用该DIR来获得身份令牌的许可的证明。PC 将对使用许可的证明的请求转发665到DIR中指定的第三方设备。在该示 例性实施例中,主体是青少年,且DIR指示身份提供者在该主体的母亲的 蜂窝电话上寻求来自她的许可。该主体的母亲使用她的蜂窝电话请求670 关于DIR的预期使用的更多信息。
在步骤675处,PC向该主体的母亲所控制的第三方设备提供所请求的 信息。在该示例中,PC提供依赖方的名称、预期操作(例如对商品付款)、 和操作专用参数(例如商品的价格)。在步骤680处,主体的母亲使用她 的蜂窝电话接受使用DIR的请求,并通过PC向身份提供者发送对于该结 果的消息。身份提供者随后向依赖方提供685身份令牌,并且主体被准许 690在依赖方处完成所请求的操作。
图7示出能被用来实现此处所描述的各实施例的通用计算设备700(也 被称为设备、计算机或计算机系统)。计算设备700仅是计算环境的一个 示例,而非旨在对计算机和网络体系结构的使用范围或功能提出任何限制。 计算环境700也不应被解释成对于在示例计算环境700中所示出的任一组 件或其组合有任何依赖或要求。在各实施例中,计算设备700可被用作例 如以上参考图1所描述的第一设备105、第二设备lll、第三设备117、身 份提供者115、或依赖方120。
在其最基本的配置中,计算设备700通常包括至少一个处理单元702 和存储器704。取决于计算设备的确切配置和类型,存储器704可以是易失 性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。 该最基本配置在图7中由虚线706来示出。系统存储器704存储在计算设 备700上执行的应用程序。除应用程序之外,如参考图1-6所述,存储器 704还可以存储在由计算设备700执行的操作中所使用的信息,如DIR使 用请求710和/或DIR获取请求711。
另外,计算设备700还可具有附加的特征/功能。例如,计算设备700还可包含附加存储708 (可移动和/或不可移动),其中包括但不限于磁盘、 光盘或磁带。这些附加存储在图7中由存储708示出。计算机存储介质包 括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信 息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。 存储器704和存储708都是计算机存储介质的示例。计算机存储介质包括 但不限于,RAM、 ROM、 EEPROM、闪存或其它存储器技术、CD-ROM、 数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁 存储设备,或者可用于存储所需信息并且可由计算设备700访问的任何其 它介质。任何这样的计算机存储介质都可以是计算设备700的一部分。
本领域技术人员将理解,存储708可以存储各种信息。存储708可以 存储数字身份表示730或身份令牌745,以及其它类型的信息。
计算设备700还可包含允许该系统与其它设备进行通信的通信连接 712。通信连接712是通信介质的一个示例。通信介质通常以诸如载波或其 它传输机制等己调制数据信号来体现计算机可读指令、数据结构、程序模 块或其它数据,并包括任意信息传送介质。术语"已调制数据信号"指的 是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作 为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接, 以及无线介质,诸如声学、RF、红外线和其它无线介质。如此处所使用的 术语计算机可读介质包括存储介质和通信介质两者。
计算设备700也可以具有诸如键盘、鼠标、笔、语音输入设备、触摸 输入设备等输入设备714。也可以包括诸如显示器、扬声器、打印机等输出 设备716。所有这些装置在本领域中都是众所周知的,因此不必在此详细讨 论。
上述各实施例仅作为说明提供,并且不应被解释为限制。本领域的技 术人员将容易地认识到可对上述各实施例做出的各种修改和改变,而不背 离本发明或所附权利要求的真实精神和范围。
权利要求
1.一种用于控制数字身份表示的分发的方法,包括以下步骤在第一设备处接收来自第二设备的对所述数字身份表示的请求;提示所述第一设备的用户接受或拒绝所述请求;如果所述用户接受所述请求,则提供所述数字身份表示。
2. 如权利要求1所述的方法,其特征在于,所述数字身份表示是由第 三设备提供的。
3. 如权利要求1所述的方法,其特征在于,所述数字身份表示包括描 述关于主体的至少第一声明的元数据。
4. 如权利要求3所述的方法,其特征在于,所述数字身份表示还包括 包含所述第一声明的后台数据。
5. 如权利要求3所述的方法,其特征在于,所述主体是所述第一设备 的用户。
6. 如权利要求1所述的方法,其特征在于,所述第一设备在所述数字 身份表示中包括使用限制。
7. 如权利要求6所述的方法,其特征在于,所述使用限制包括所述数 字身份表示的期满时间。
8. 如权利要求7所述的方法,其特征在于,所述期满时间基于所述第 二设备的请求中所提供的时间戳。
9. 如权利要求1所述的方法,其特征在于,在所述请求之前,所述数 字身份表示被存储在所述第一设备处,并且包括指向所述第一设备中所包 括的身份提供者的内部地址信息,所述方法还包括以下步骤将所述内部地址信息改变为所述第一设备的外部可访问的地址。
10. 如权利要求l所述的方法,其特征在于,还包括以下步骤 接收使用所述数字身份表示的第二请求; 提示所述第一设备的用户接受或拒绝所述第二请求; 如果所述用户接受所述第二请求,则提供使用所述数字身份表示的许可。
11. 一种在计算机系统中使用的计算机程序产品,所述计算机程序产品包括具有计算机可执行指令的一个或多个计算机可读介质,所述指令用 于实现一种用于控制数字身份表示的使用的方法,所述方法包括以下步骤 在第一设备处接收来自第二设备接收的使用所述数字身份表示的请求;提示所述第一设备的用户接受或拒绝所述请求;如果所述用户接受所述请求,则提供使用所述数字身份表示的许可。
12. 如权利要求11所述的计算机程序产品,其特征在于,所述数字 身份表示包括描述关于主体的至少第一声明的元数据,并且所述主体不是 所述第一机器的用户。
13. 如权利要求11所述的计算机程序产品,其特征在于,所述数字 身份表示包括可由所述第一设备的用户改变的使用限制。
14. 如权利要求13所述的计算机程序产品,其特征在于,所述使用 限制包括必须从中获得使用所述数字身份表示的许可的第三设备的地址。
15. 如权利要求11所述的计算机程序产品,其特征在于,所述方法 还包括以下步骤-从所述第二设备请求涉及所述数字身份表示的使用的信息。
16. 如权利要求15所述的计算机程序产品,其特征在于,所述第二 设备请求使用所述数字身份表示来获得身份令牌,并且所述信息包括向其 提供所述身份令牌的依赖方的标识。
17. —种使用数字身份表示的方法,包括以下步骤 接收来自依赖方的对身份令牌的请求;向第一设备发送来自第二设备的获得所述数字身份表示的请求; 在所述第二设备处接收所述数字身份表示,其中所述数字身份表示包 括描述关于主体的至少第一声明的元数据;从所述第二设备发送使用所述数字身份表示的请求; 在所述第二设备处接收使用所述数字身份表示的许可; 使用所述数字身份表示来请求所述身份令牌; 接收所述身份令牌;以及 向所述依赖方提供所述身份令牌。
18. 如权利要求17所述的方法,其特征在于,使用所述数字身份表 示的请求被发送到与所述第一和第二设备不同的第三设备。
19. 如权利要求17所述的方法,其特征在于,使用所述数字身份表示的请求被发送到由与所述主体不同的人所控制的设备。
20. 如权利要求17所述的方法,其特征在于,使用所述数字身份信 息的请求包括标识所述依赖方的信息。
全文摘要
一种用于控制数字身份表示(“DIR”)的分发和使用的系统和方法增加了DIR使用的安全性、可用性和监管。存储在第一设备上的DIR可由第二设备获得,以在满足依赖方的安全策略时使用。向第二设备发行DIR要求来自可与尝试访问依赖方的设备或实体不同的设备或实体的许可。此外,使用DIR来获得身份令牌可以单独地要求不同的人或实体的许可,并能以接收到关于DIR的预期使用的满足信息(例如依赖方的名称、所尝试的操作的类型等)为条件。通过控制DIR的分发和使用,增强了主体的身份的安全性和对主体的活动的监督控制。
文档编号G06F7/04GK101589361SQ200880003205
公开日2009年11月25日 申请日期2008年1月23日 优先权日2007年1月26日
发明者A·纳恩达, J·休丘卡, K·卡梅隆, X·谢 申请人:微软公司