首页 / 专利库 / 专利权 / 申请 / 国际申请 / 请求书 / 声明 / 信任关系的声明变换

信任关系的声明变换

阅读:314发布:2020-05-11

专利汇可以提供信任关系的声明变换专利检索,专利查询,专利分析的服务。并且本 发明 涉及在信任关系中使用多个 声明 变换模 块 的能 力 。声明变换模块将声明或声明集变换成经变换的声明 和声 明集以供可信伙伴和/或应用程序使用。可以给予多个声明变换模块以流 水 线的方式操作声明或声明集的机会。在另一 实施例 中,可以存在多个声明变换模块,但只给予适当的声明变换模块操作声明或声明集的机会。在一实施例中,所涉及的声明是用于联合认证系统中的信任伙伴之间的认证目的的安全声明。,下面是信任关系的声明变换专利的具体信息内容。

1.一种通过使用信任关系中的多个声明变换子模将一声明集从第一数据格式变换成第二数据格式的声明变换系统(208、216),所述信任关系涉及一个身份提供者和一个资源提供者,所述系统包括:
身份提供者,其中该声明集以所述第一数据格式存储在所述身份提供者上,并且该声明集包括多个声明;
在所述信任关系的身份提供者侧上的第一声明变换模块,其中所述第一声明变换模块包括可扩展性点,并且多个声明变换子模块被插入作为所述可扩展性点的一部分;
被插入到所述可扩展性点中的第一声明变换子模块(304),其中当所述第一声明变换子模块被确定为是所述多个声明变换子模块中适于变换该声明集的适当声明变换子模块时,所述第一声明变换子模块将该声明集中的每个声明从所述第一数据格式变换为所述第二数据格式,并且其中当所述第一声明变换子模块是为所述信任关系中所涉及的身份提供方和资源提供方所编写时,则所述第一声明变换子模块被确定为适当的声明变换子模块;
被插入到所述可扩展性点中的第二声明变换子模块(306),其中当所述第二声明变换子模块被确定为是所述多个声明变换子模块中适于变换该声明集的适当声明变换子模块时,所述第二声明变换子模块将该声明集中的每个声明从所述第一数据格式变换为所述第二数据格式,并且其中当所述第二声明变换子模块是为所述信任关系中所涉及的身份提供方和资源提供方所编写时,则所述第二声明变换子模块被确定为适当的声明变换子模块;
以及
资源提供者,其中,所述资源提供者识别第二数据格式的该声明集。
2.如权利要求1所述的声明变换系统,其特征在于,所述第一和第二声明变换子模块被安排为变换该组声明,直到检测不到对该声明集的改变为止(518)。
3.如权利要求2所述的声明变换系统,其特征在于,所述系统还包括第三声明变换子模块,用于验证所述第一声明变换子模块和第二声明变换子模块中的一个或多个子模块所做的数据格式的改变是否一致。
4.一种用于在信任关系环境的可扩展性点处将一声明集从第一数据格式变换成第二数据格式的方法(900),所述信任关系环境涉及一个身份提供者和一个资源提供者,所述方法包括:
在信任关系环境的所述身份提供者侧上维护第一声明变换模块,其中所述第一声明变换模块包括可扩展性点,并且,多个声明变换子模块被插入作为所述可扩展性点的一部分;
确定所述声明的第一数据格式(906),其中,该声明集包括多个包含有以第一数据格式存储的身份信息的声明;
确定所述声明的第二数据格式(906),其中,所述信任关系环境中的资源提供者识别第二数据格式的该声明集的所述身份信息;;
创建被定制为将该组声明的身份信息从所述第一数据格式改变为所述第二数据格式的第一声明变换子模块(304、306)(908);以及
将所述第一声明变换子模块(304、306)插入到所述可扩展性点(910),其中所述定制的第一声明变换子模块以流线形式和其它定制的声明变换子模块一起被插入到所述可扩展性点;
当所述定制的第一声明变换子模块被确定为是所述多个声明变换子模块中适于变换该组声明的适当声明变换子模块时,在所述定制的第一声明变换子模块处将该组声明的所述身份信息从第一数据格式变换为第二数据格式,并且其中当所述定制的第一声明变换子模块是为所述信任关系环境中所涉及的身份提供方和资源提供方所编写时,则所述定制的第一声明变换子模块被确定为适当的声明变换子模块。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
创建第二声明变换子模块,定制用于将该声明集的身份信息从第一数据格式变换为第二数据格式;
将所述定制的第二声明变换子模块插入到所述可扩展性点;
以流水线形式配置所述定制的第一声明变换子模块和定制的第二声明变换子模块作为所述可扩展性点的一部分。
6.如权利要求4所述的方法,其特征在于,所述方法还包括处理该声明集,直到达到稳定状态为止(910、518、614),其中当未检测出对所述声明的改变时,则达到所述稳定状态。
7.如权利要求4所述的方法,其特征在于,其中所述变换应用于所述声明集中的所有声明。
8.一种用于在信任关系中共享和变换声明信息的可扩展系统,所述系统包括:
请求信息以认证帐户的资源提供方(104);
向资源提供方(104)提供认证信息的身份提供方(102);
以第一数据格式维护认证信息的帐户存储(202),所述身份提供方用帐户存储中的认证信息填充包含多个声明的声明集(204)以发送到所述做出请求的资源提供方(104);以及
在所述信任关系的所述身份提供方方侧上的第一声明变换模块,所述第一声明变换模块包括可扩展性点(124、126、208、216),其中多个声明变换子模块(304、306、310)可作为该扩展性点的一部分来插入,并且所述多个声明变换子模块中的至少一个子模块被确定为是用于将由所述身份提供方提供的所述声明集的认证信息从第一数据格式变换到第二数据格式的适当的声明变换子模块,并且当第一声明变换子模块是为所述信任关系中所涉及的身份提供方和资源提供方所编写时,则所述第一声明变换子模块被确定为适当的声明变换子模块。
9.如权利要求8所述的可扩展系统,其特征在于,所述多个声明变换子模块(304、306、
506、510)以流水线的方式来安排。
10.如权利要求8所述的可扩展系统,其特征在于,所述声明集被发送到被认为适于变换所述声明集的所有声明变换子模块(606、608、610),并且所述声明集以交替方式被发送到被认为适于变换所述声明的声明变换子模块。
11.如权利要求8所述的可扩展系统,其特征在于,进一步包括第二声明变换子模块,其中所述第二声明变换子模块被确定为是不适于将所述声明集从第一数据格式变换为由所述资源提供方所提供的第二数据格式。

说明书全文

信任关系的声明变换

[0001] 背景
[0002] 具有不同且独立的计算机系统的各单独组织通常期望以高效的方式互相,并且,具体地,向其员工、顾客等提供信息。为从组织获得信息,通常要求用户通过向其请求信息的组织提供对例如用户名和口令的凭证的拥有来认证或证明其身份。然而,取代要求独立的安全登录凭证,例如,用户名和密码,以访问各单独组织的网站所提供的信息,各单独组织可以互相形成商业级协定以共享和访问信息。联合认证系统是其中伙伴可以通过部署其联合服务来共享和访问信息的系统的一个示例。为共享和访问这一信息,第一伙伴可以使用身份数据和/或认证相关数据来向第二伙伴作出“声明”。在这一关系中,第二伙伴信任第一伙伴来认证用户和作出关于该用户的某些声明。然而,情况可能是第二伙伴不能理解第一伙伴向其呈现的声明。例如,声明可以是第二伙伴所不能识别的格式。在各组织与多个伙伴进行通信时,这一问题恶化。
[0003] 虽然本背景是针对特定的问题的,但本发明决不旨在限于解决那些特定问题。
[0004] 概述
[0005] 本发明的各实施例一般涉及用于在可信伙伴之间共享的声明或认证信息的变换。其它各实施例涉及在联合系统中使用多个声明变换模
[0006] 如此处所讨论的,特定实施例的一个方面涉及将多个自定义声明变换模块作为可扩展性点的一部分来使用。在一实施例中,可以给予多个声明变换模块以流线的方式操作声明或声明集的机会来产生经变换的声明或声明集。在另一实施例中,可以存在多个声明变换模块,但只给予适当的声明变换模块操作声明或声明集的机会。
[0007] 提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识要求保护的主题的关键特征或必要特征,也决不旨在用于限制要求保护的主题的范围。
[0008] 附图简述
[0009] 图1示出根据本发明的一实施例的用于在两个组织之间共享包括身份数据和/或认证相关数据的“声明”信息的网络环境的逻辑表示,其中第一组织是身份提供方而第二组织是资源提供方。
[0010] 图2描绘根据本发明的一实施例的示出从一个组织到另一个组织,例如从图1所示的身份提供方到资源提供方的声明数据流的、具有可扩展声明变换模块的总体认证环境。
[0011] 图3示出根据本发明的一实施例的示出除图1所示的示例关系之外的多个信任关系和对多个自定义声明变换模块的使用的网络环境的逻辑表示。
[0012] 图4描绘了根据本发明的一实施例的作为可扩展性点的一部分且以流水线的方式来安排的图3的多个自定义声明变换模块。
[0013] 图5是示出根据本发明的一实施例的用于通过使用图4所示的多个流水线化的自定义声明变换子模块来变换声明信息的过程的操作特性的流程图
[0014] 图6是示出根据本发明的另一实施例的涉及图3的多个自定义声明变换子模块和声明到适当的自定义声明变换子模块的映射的过程的操作特性的流程图。
[0015] 图7是与图5相关联的用于聚集孤立的所得声明的另一实施例。
[0016] 图8是与图6相关联的用于聚集孤立的所得声明的另外的实施例。
[0017] 图9是示出涉及图3的自定义声明变换子模块的创建、插入和配置的过程的操作特性的流程图。
[0018] 图10描绘其上可以实现本发明的各实施例的示例性计算系统。
[0019] 详细描述
[0020] 本发明现将参考其中示出了某些实施例的附图来更完整地描述一些示例性实施例。然而,其它方面能以许多不同的形式来实现并且在本发明中包括具体的实施例不应被解释为将这些方面限于在此所述的各实施例。相反,包括附图中描绘的各实施例是为了提供全面且完整的且将预期的范围完全地传达给本领域技术人员的公开。在参考附图时,使用相同的附图标记来指示在所有附图中示出的相同的结构和元素。
[0021] 图1中示出环境100,其示出了也被称为身份提供方102的第一组织102,其与也被称为资源提供方104的第二组织104共享安全令牌108,其中该令牌由身份提供方102密码地签名且包括一个声明或多个声明。尽管本发明的一实施例提到“多个声明”,但根据本发明的另一实施例的安全令牌108中可以包括单个声明。在该示例性环境中,用户103使用通过网络105发送到身份提供方102的某一凭证来认证。用户请求可被用来向资源提供方104认证的安全令牌108。利用原始认证事件,身份提供方102形成包括关于该用户的各种声明的安全令牌108。用户103将安全令牌108呈献给资源提供方104,并且在资源提供方104验证该安全令牌由可信方发放且该方被授权作出其中这些声明之后,资源提供方104基于那些声明授予对资源的访问。
[0022] 在一实施例中,密码地签名的安全令牌包括身份提供方102,即“请求者”被资源提供方104所信任的密码证明。由此,资源提供方104信任身份提供方102以认证用户103并作出关于该用户的特定声明。该关系被称为“信任关系”,因为资源提供方104“信任”身份提供方102。资源提供方104和身份提供方102的信任关系由此被定义为资源提供方104域和身份提供方102域之间的逻辑关系,其中资源提供方104尊重身份提供方102关于其用户的声明。虽然使用了术语“信任关系”,但该关系绝不是双边的。相反,资源提供方104信任身份提供方102,且身份提供方102和资源提供方104可被称为信任伙伴。
[0023] 在图1的示例性实施例中,组织102和104由此具有信任关系以使可被用来向资源提供方104认证的安全令牌108可通过网络106发送到组织104。根据图1示出的示例性实施例,安全令牌108向资源提供方104认证用户103,其中安全令牌108由可信方,即身份提供方102发放。安全令牌108中包括的声明在认证之后被用来定制用户103的体验和/或做出授权决定。该信任关系由此允许身份提供方102和资源提供方104之间的不同的信息流。尽管信息流可以存在,但在一个实施例中,安全令牌108中所传输的声明在共享之前已被从一种格式变换成另一种格式。安全令牌108中的声明信息的这一变换可以通过使用作为身份提供方102域中的可扩展性点124的一部分插入的声明变换模块来完成。尽管可以使用单个声明变换模块,但也可以插入多个声明变换模块作为该可扩展性点的一部分。在另一实施例中,声明信息可在其通过网络106发送之后通过使用可扩展声明变换模块126来变换。该实施例的各方面还允许使用多个声明变换模块。
[0024] 图1示出声明信息108从身份提供方102到资源提供方104的流程。根据本发明的一实施例,安全令牌108中的声明信息实际是被示为声明集110的一组具体声明。每一声明一般都涉及与特定个人或用户相关的标识信息,例如,一个声明可以包括用户的名字112,而另一个声明可以包括用户的电子邮件地址114。其它声明可以涉及用户的员工标识号116、社会保险号118、身体特征120(例如,发色)、其它112。包括在安全令牌108中的声明信息被用来定制用户体验和/或做出授权决定。由此,如下讨论的,声明的格式(或内容)可以取决于资源提供方来修改。在一实施例中,资源提供方104使用声明来验证或认证身份提供方102的用户的帐户。尽管一实施例可以使图1描绘的安全令牌108包括多个声明,但另一实施例则可以涉及由单个声明组成的流程。
[0025] 如所述的,在本发明的实施例中,身份提供方102和资源提供方104是信任伙伴。身份提供方102和资源提供方104可以是任何类型的实体,如,仅作为示例,公司、企业、个人等。可以理解,任何计算机系统都可以用作这一实体。还可以理解,这些实体之间的信任关系对本领域技术人员来说是公知的。一般而言,信任关系要求安全认证以在准许对该组织的资源访问之前认证用户。web服务(WS)联盟是启用跨组织边界的身份信息共享的机制,其中每一信任伙伴都部署其联合的服务以启用这种信息共享和访问。由此,这种信任关系还可被称为“联合的”认证关系,且声明可被称为是通过网络从身份提供方102“联合”到资源提供方104。为启用这一共享,WS联盟通常使用可扩展标记语言(XML)安全令牌,其中这种安全令牌利用诸如安全断言标记语言(SAML)或可扩展权限标记语言(XrML)等格式。
这些安全令牌包括但不限于,声明信息。WS联盟是描述通信协议的规范。WS联盟协议以由微软公司生产的现用目录联合服务(“ADFS”)来实现。
[0026] 在本发明的一实施例中,身份提供方102具有实现从一个格式到资源提供方104指定的一个格式的声明信息变换的可扩展声明变换模块124。变换模块124用于将声明或声明集变换成所需格式。同样地,在另一实施例中,资源提供方可以部署多个且不同的应用程序,其中这些应用程序可以不以同一格式接受所有安全声明。仅作为示例,资源提供方的一个应用程序可以要求用户的出生日期而另一应用程序可以要求用户以年为单位的年龄。由此,资源提供方有必要将身份提供方提供的声明的格式变换成特定资源应用程序所要求的格式。由此,在一实施例中,可扩展资源提供方声明变换模块126被用于各种情况中,包括但不限于,诸如其中身份提供方102不以资源提供方104所识别的或要求的适当格式来提供声明或其中特定资源应用程序要求声明的进一步或不同的变换的情况。在各实施例中,由此为该信任关系中的特定身份提供方102和特定资源提供方104(或类似地,为特定资源应用程序)定制身份提供方和资源提供方声明变换模块,且其还可以被称为“自定义”声明变换模块。
[0027] 如所述的,身份提供方102和资源提供方104通过网络106共享和访问信息。网络105和106可以是本领域技术人员常规上已知的任何类型的网络。根据一示例性实施例,网络可以是全球网络(例如,因特网或万维网)。其还可以是局域网或广域网。在另一实施例中,网络可以是专用网络,例如,内联网,但组织具有完全分开且不同的管理域。尽管网络106可以是本领域技术人员常规上已知的任何类型的网络,但根据一示例性实施例,网络106被描述为“万维网”(即缩写为“Web”)。如此,通过网络106的通信则通过一个或多个标准的基于分组的格式(例如,H.323、IP、以太网、ATM)来发生。
[0028] 现转向根据本发明的一实施例的联合认证系统的更详细的图示,图2示出身份提供方102和资源提供方104之间的通过网络106的声明数据流。总体流200开始于身份提供方102侧的帐户存储202处,其中帐户存储202提供身份提供方102用来作出声明的身份信息。在该实施例中,帐户存储202是管理关于用于认证与身份提供方102相关联的帐户(例如,用户)的数据的组件。仅作为示例,帐户存储202可以包括现用目录(AD)、现用目录应用程序模式(ADAM)、结构化查询语言(SQL)系统、或类似的这种系统。
[0029] 帐户存储202用安全信息填充204帐户组织声明(“声明”)206。随后在可扩展身份提供方变换模块208中,将声明206从帐户存储专用格式变换成资源提供方104所识别的联合格式。经变换的声明作为传出声明210离开变换模块208,该传出声明210被打包到诸如安全令牌108等安全令牌中,并通过网络106发送212到资源提供方104。传出声明210作为传入声明214进入资源提供方104侧。尽管使用了术语“传出声明”210和“传入声明”214,但可以理解,这些声明被包括在,或打包在诸如安全令牌108等安全令牌中。在资源提供方侧104进行任何进一步处理之前,验证安全令牌108的密码签名以确保信任发放者,即图1的示例性实施例中的身份提供方102,作出安全令牌108中的声明。一旦进行了该验证,处理在资源提供方侧104继续。尽管安全令牌108中的声明的格式可能已经被变换成资源提供方104可识别的格式,但在其中这一变换未发生或其中要求进一步变换的实施例中,可扩展资源提供方变换模块216可以将传入声明214从联合格式变换,或进一步变换成被资源应用程序222识别为资源组织声明(“声明”)218的格式。因为该步骤可被认为是可任选的,所以资源提供方自定义声明变换模块216以虚线格式被示于图2中。在一实施例中,身份提供方自定义声明变换模块208也可被认为是可任选的。在另一实施例中,只有资源提供方自定义声明变换模块216,或另选地,只有身份提供方自定义声明变换模块
208可被认为是可任选的。该声明随后被启用220以供资源应用程序222使用。启用步骤
220可以涉及声明数据的过滤以便不将所有的声明数据都发送到资源应用程序222。应当注意,虽然身份提供方和资源提供方变换模块208和216在联合认证系统200中被示为单个框,但如所讨论的,这些变换模块可以是用于使用多个声明变换模块或子模块的可扩展性点。
[0030] 图2中的声明数据流是在特定身份提供方102和特定资源提供方104之间的。例如,在身份提供方102侧,身份提供方变换模块208将传入帐户组织声明206从帐户存储202专用格式变换为资源提供方104所识别的联合格式。在该变换中可能涉及一个或多个中间步骤。该变换的示例性实施例在转让给共同受让人微软公司的标题为“Security Claim Transformationwith Intermediate Claims(使用中间声明的安全声明变换)”的美国专利申请号11/119236(MS312161.01)中描述,该申请全部公开内容合并于此。所得的声明信息可通过使用根据本发明的多个自定义声明变换模块或子模块来变换。
[0031] 根据某些实施例,给定身份提供方可以联合并向若干不同的资源提供方发送声明信息。回头参考图2,虽然在该图中描绘了可扩展声明变换模块,例如,身份提供方声明变换模块208,但本发明的一个实施例可以涉及对作为身份提供方“A”102侧的可扩展性点的一部分插入的单个自定义声明变换模块的使用,其中该变换模块被定制为将声明变换成身份提供方与其处于信任关系的预定资源提供方“A”104所识别的格式。然而,在身份提供方“A”102创建与不同的资源提供方“B”的新的信任关系时,将必须改变身份提供方自定义声明变换模块来定制到新资源提供方“B”所识别的联合格式的声明变换,并随后为每一新的资源提供方“n”都进行改变。
[0032] 由此,多个信任关系和自定义声明变换模块是可能的,且其被示于图3中的网络环境300的逻辑表示中。身份提供方“A”102具有与资源提供方“A”104的信任关系,且该声明由自定义声明变换模块Tx1304来变换。随后在身份提供方“A”102和不提供资源提供方“B”302之间创建新的信任关系,并重写声明变换模块以被定制为对该新的对的Tx2306。这种关系和自定义声明变换模块可以存在直到未定数目的资源提供方“n”308,如省略号
312所示,和对应的自定义声明变换模块Txn310。同样地,且类似地,可以在其中传入声明具有为可能的多个预定的分开且不同的资源应用程序222所变换的专用联合格式的典型的联合认证系统的资源提供方侧104要求多个变换。
[0033] 然而,取代具有关于每一对身份和资源提供方的单个自定义声明变换模块并且在创建与新的资源提供方的每一新的信任关系时必须改变该单个模块,本发明的各实施例具有插入到联合认证系统的变换模块208和/或216的可扩展性点的多个自定义声明变换子模块。尽管此处使用了术语“子模块”,但这些“子模块”是技术上独立的实体,根据本发明的各实施例其可被独立地或组合地使用。由此,术语“模块”可被用来描述这些独立的实体。然而,此处使用术语“子模块”是出于简化的目的,指的是构成整体可扩展变换模块208和/或216的那些模块。转向图4,示出了变换模块实施例400,其中这些子模块能以连接(或流水线)的方式被插入到联合认证系统的变换模块208和/或216可扩展性或扩充点处。这些流水线化的变换子模块随后可被以流水线的方式调用,以便每一变换子模块在适用处可以操作声明集,并构建所得声明集以便发送给资源提供方信任伙伴。这多个自定义声明变换子模块可以用逐渐处理声明集的流水线的方式来调用。如所述的,本发明的各实施例可以涉及单个声明,而其它实施例可以涉及声明集。如图4所示,传入帐户组织声明206(或另一实施例中的传入声明214)首先由变换子模块1(“Tx1”)304处理,并随后由Tx2306等以“n”个不同的变换模块Txn310的流水线的方式处理为传出声明210(或在另一实施例中启用220)。每一变换子模块都以流水线的方式来调用;然而,只有为所要求的特定变换所编写的那些子模块会实际操作,即变换声明或声明集。
[0034] 参考图4中描绘的示例性实施例,如果Tx1304被编写来将声明从身份提供方102变换成资源提供方所识别的格式,则其只有在传入声明是来自身份提供方102的且传出声明210是去往资源提供方104的时候才会操作该声明。如果涉及身份提供方102和资源提供方302,但例如,Tx1304被编写为将声明从身份提供方102变换到资源提供方104,则Tx1304将不操作该声明,且该声明将传到Tx2306(如图4所示)。同样地,且类似地,Tx1304可被编写为将具有特定联合格式的传入声明214变换到特定资源应用程序222,而Tx2306可被编写来为不同且分开的资源应用程序实现这一变换。
[0035] 参考图5,示出了根据本发明的一实施例的用于通过使用以流水线的方式组织的多个自定义声明变换子模块来变换声明或声明集的过程500。根据本发明的一实施例,在变换声明集时,该变换应用于该声明集中的所有声明,而不是应用于个别声明。由此,在一实施例中,可以基于若干声明的值来进行改变,或另选地,一个声明可以导致若干新声明。尽管变换模块208和216一般意义上允许对声明进行特定量的操纵,但使用以流水线的方式组织的多个自定义声明变换模块或子模块允许对声明的这些操纵的模块化。变换过程500使用开始于开始操作502的操作流程来执行。
[0036] 开始操作502在填充帐户组织声明206(或另一实施例中的传入声明214)之后启动。从开始操作502处,过程500的操作流程前进至接收操作504。接收操作504接收传入帐户组织声明206(或另一实施例中的传入声明214)。从接收操作504处,操作流程前进至自定义声明变换操作Tx1506。如果适用,则Tx1变换操作变换声明。操作随后传至查询操作508。查询操作508确定是否存在另一自定义声明变换子模块和所得的变换操作。如果查询操作508确定存在另一自定义声明变换操作,则流程通过“是”分支到关于不定数量的自定义声明变换子模块和查询操作的自定义声明变换子模块Txn510。如果在查询操作508处未检测到另一自定义声明变换子模块,则流程通过“否”分支到确定是否做出任何改变的查询操作518。如果检测到改变,则流程通过“是”分支回到接收操作504以通过自定义声明变换子模块流水线进行重复处理。基于改变重新处理声明用作安全特征以便不允许一个变换子模块做出与另一个自定义声明变换不一致的改变。
[0037] 另一方面,如果查询操作518未检测出对声明的改变,则到达稳定状态且变换过程500的操作流程通过“否”分支到终止操作520。终止操作520结束变换过程。作为附加安全特征,还可能通过变换检查查询操作522传递操作流程来证实任何自定义声明变换子模块没有做出不一致的、或不可允许的改变。该最终检查步骤是可任选的,并因而作为查询操作522以虚线格式示于图5中。如果查询操作522确定最终检查不令人满意,即存在不可允许的改变,则流程通过“否”分支到校正操作524。校正操作524校正任何不一致的或不可允许的声明。从校正操作524处,过程500前进至产生经校正的声明(或声明集)的产生操作526。在产生经校正的声明或声明集之后,流程前进至确定是否应当重新开始处理以允许重新处理所做的改变的重新开始查询528。如果重新开始查询528确定应当执行重新处理,则流程通过“是”分支到接收操作504。如果重新开始查询528确定不应当执行重新处理,则流程通过“否”分支到终止操作520。同样地,如果查询操作522确定最终检查是令人满意的,即改变是可允许的和/或一致的,则流程通过“是”分支到终止操作520。终止操作520结束变换过程500。从此处,经由网络106将传出声明发送到资源提供方104。另选地,但类似地,为资源应用程序222启用资源提供方变换模块216所变换的声明220。在启用声明220时,如果需要则可以过滤声明数据。
[0038] 现转向图6,示出了根据本发明的一实施例的涉及多个自定义声明变换模块或子模块的映射过程600。映射过程600指的是其中只给适当的自定义声明变换子模块操作安全声明或声明集的机会的实施例。例如,在参考本发明的一实施例描述的联合认证系统的身份提供方侧102变换的情况下,“适当的”可以指为信任关系中所涉及的特定身份提供方和成对的资源提供方所编写的那些自定义声明变换子模块。同样地,且类似地,在涉及在典型联合认证系统的资源提供方侧104的变换的另一实施例中,“适当的”可以指,例如,为特定的联合声明格式和预定资源应用程序或服务222所编写的那些变换。
[0039] 根据一个示例性实施例,变换映射过程600被描述为使用开始于在填充帐户组织声明206(或在另一实施例中接收传入声明214)之后启动的开始操作602的操作流程来执行。如上所述,一个实施例可以涉及单个声明,而另一个实施例可以涉及声明集。在变换声明集时,变换应用于该声明集的所有声明。从开始操作602处,过程600的操作流程前进至接收操作604。接收操作604接收帐户组织声明206(或另一实施例中的传入声明214)。从接收操作604处,操作流程前进至评估操作606。评估操作606确定向其发送声明以供变换的适当的自定义声明变换子模块,即Tx1608、Tx2610...Txn612。根据本发明的一实施例,如省略号611所示,可以使用一个或多个声明变换子模块。为确定哪一自定义声明变换子模块是适当的,评估操作606解析该声明626,查看映射选择628,比较改变(如果有)630等(在其中在接收操作604处接收到的声明已被变换的实施例中,已经做出了改变)。另外,在其中不止一个变换子模块是“适当的”的实施例中,评估操作606将确保给予每一这种适当的声明变换子模块操作该声明的机会。例如,在一实施例中,评估操作606确定适当的自定义声明变换子模块,且在不止一个这种模块被认为是适当的情况下,评估操作606以交替的方式632将声明发送到适当的自定义声明变换子模块,从而不会像声明被重复发送到同一自定义声明变换子模块时那样发生稳定状态改变的虚假出现。
[0040] 在确定向其发送该声明的适当的变换子模块之后,该声明被发送到Tx1608、Tx2610...Txn612。在自定义声明变换Tx1608,Tx2610...Txn612之后,操作前进至查询操作614。查询操作614确定是否对该声明做出了任何改变。如果查询确定存在对声明的改变,则流程通过“是”分支到接收操作604并随后流向再一次解析声明626、评估映射628、比较改变630、检测替换的“适当”变换子模块模式(如果有的话)632等的评估操作606。
[0041] 重复该操作流程直到查询操作614确定不存在对声明的改变且达到稳定状态为止。如果查询操作614确定不存在改变,则流程通过“否”分支到终止操作616。作为附加安全特征,还可能使操作流程通过变换检查查询操作618来证实自定义声明变换子模块没有做出不一致的、或不可允许的改变。该最终检查步骤是可任选的,并因而作为查询操作618以虚线形式示于图6中。如果查询操作618确定最终检查不令人满意,即存在不可允许的改变,则流程通过“否”分支到校正操作620。校正操作620校正任何不一致的或不可允许的改变。从校正操作620处,过程600前进至产生经校正的声明(或一实施例中的声明集)的产生操作622。在产生经校正的声明之后,流程前进至确定是否应当重新开始处理以允许重新处理所做的改变的重新开始查询624。如果重新开始查询624确定应当执行重新处理,则流程通过“是”分支到接收操作604。如果重新开始查询624确定不应当执行重新处理,则流程通过“否”分支到终止操作616。同样地,如果查询操作618确定最终检查是令人满意的,即改变是可允许的,则流程通过“是”分支到终止操作616。终止操作616结束变换过程600。从此处,经由网络106将传出声明发送到资源提供方104。另选地,但类似地,为资源应用程序222启用资源提供方变换模块216所变换的声明220。在启用声明220时,如果需要则可以过滤声明数据。
[0042] 可以理解,图5和图6示出的且此处相应地所描述的过程可应用于典型的联合认证系统的身份提供方102侧或资源提供方104侧的声明变换。例如,身份提供方侧的到适当的声明变换子模块的映射将涉及确定身份提供方102和资源提供方104的身份。类似地,到适当的资源提供方声明变换子模块的映射将涉及类似的确定过程但不涉及关于联合的传入声明的格式和该声明旨在供其使用的特定资源应用程序或服务所要求的格式的确定。由此,接收操作604可应用于根据本发明的各实施例的帐户组织安全声明206或传入声明
214。
[0043] 现转向图7和8,示出了根据本发明的示例性实施例过程700和过程800,在这些实施例中,从每一自定义声明变换子模块所得的声明或声明集被隔离,以使每一变换子模块只在原始声明或声明集上操作。过程700和800随后维护并聚集所得声明。开始操作702响应于填充帐户组织声明206(或在涉及资源提供方侧104的另一实施例中,发送传入声明214)来启动。从开始操作702处,过程700的操作流程前进至接收操作704。接收操作704接收帐户组织声明206(或另一实施例中的传入声明214)。从接收操作704处,流程前进至自定义变换操作Tx1706,如果适用,其将声明变换成所得声明1708。未经改变的形式的原始声明随后传到Tx2710,如果适用,其将声明变换成所得声明2712。根据本发明的各实施例,且如省略号711和713所示,可以使用单个变换模块706或“n”个变换模块714和单个所得声明708或“n”个所得声明716。原始声明以流水线的方式传递到Txn子模块
714和所得的“n”个声明716。维护所得声明708、712和716,且流程随后前进至聚集所得声明以产生最终声明或声明集720的聚集操作718。终止操作722结束该过程。
[0044] 同样地,过程800开始于以与参考以上开始操作702描述的相同的方式启动的开始操作802。操作流程随后也以与关于接收操作704描述的相同的方式前进至接收操作804。从接收操作804处,操作流程前进至确定向其发送原始声明的适当的变换子模块(如以上图6中所述和所描绘的)的评估操作806。根据本发明的各实施例,且如省略号815和
817所示,可以使用单个变换子模块808或“n”个变换子模块816和单个所得声明810或“n”个所得声明818。变换子模块Tx1808、Tx2812...Txn816随后可以隔离地操作原始声明或声明集以分别产生所得声明810、814和818。操作随后前进至聚集所得声明以产生最终声明或声明集822的聚集操作820。终止操作824结束该过程。如参考图7和过程700所述,与图8相关的另一实施例可以涉及传入声明214到接收操作804,其中传入声明214存在于图2所描绘的资源提供方104侧。
[0045] 应当理解,本发明的其它实施例可以将附加步骤添加到过程700和800,以便允许例如检查关于对声明的改变等以达到稳定状态操作。过程700和800以概括的形式示出以便显示隔离来自每一自定义声明变换子模块的所得声明或声明集的概念。如其它附图一样,概括形式的图7和8决不应被解释为限于此处所描绘的或所描述的具体步骤。
[0046] 根据图9示出的实施例的各方面,如以上参考图1和3所讨论的,各组织可以定制其声明要求和变换能。与此相关的流程操作在图9中示出。过程900开始于响应于用诸如描绘为图1和2中的特定实施例的可扩展认证系统创建信任环境而启动的开始操作902。流程随后前进至标识可扩展性点124、126、208和/或216的存在的标识操作904。从标识操作904处,流程前进至确定格式操作906,其在一实施例中确定身份提供方102的声明格式和资源提供方104所要求的或更喜欢的声明格式。在图2示出的声明数据流的涉及资源提供方侧104的另一实施例中,确定格式操作906确定传入声明214的声明格式和预定资源应用程序222所要求的格式。在确定格式操作906之后,流程前进至创建自定义声明变换子模块操作908。根据一实施例,创建操作908创建自定义声明变换子模块,例如,304、
306或310,来将自定义格式从身份提供方102的格式改变为资源提供方104所要求的或更喜欢的格式。在另一实施例中,操作908创建自定义声明变换子模块,例如304,来将声明格式从传入声明214的格式改变为预定资源应用程序或服务222所要求的格式。
[0047] 从创建操作908处,流程前进至插入和配置操作910,其中在创建操作908创建的自定义声明变换子模块被作为在标识操作904所标识的可扩展性点的一部分来插入。在一实施例中,自定义声明变换子模块304可与以流水线的方式配置的其它自定义声明变换子模块一起作为可扩展变换模块124、126、208和/或216的一部分来插入。如以上参考图6所示出和讨论的,在另一实施例中,自定义声明变换子模块304可作为被配置为只向被确定为对于这些处理适当的那些子模块发送声明以供变换的可扩展变换,例如124的一部分来插入。其它实施例可以涉及另外的和/或不同的配置,且此处描述的类型绝不旨在被解释为限制性的。此外,对变换304或124的引用只是出于示例性的目的。可以使用任何变换模块或子模块。终止操作912结束过程900。
[0048] 图10中示出用于实现此处所描述和示出的系统和方法的示例性计算环境。在其最基本的配置中,计算系统1000通常包括至少一个中央处理单元(CPU)1002和诸如如一实施例中的帐户存储202一样的存储安全令牌108中的声明信息的存储器104。取决于计算设备的确切配置和类型,存储器1004可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。另外,计算设备1000还可具有附加的特征/功能。例如,计算设备1000可以包括多个CPU。所描述的方法能以任何方式由计算设备1000中的任何处理单元来执行。例如,所述过程可由多个CPU并行执行。
[0049] 计算设备1000还可以包括附加存储1006(可移动的和/或不可移动的),包括但不限于,如同根据一实施例的帐户存储202一样用于存储安全令牌108中的声明信息的磁盘或光盘或磁带。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。存储器1004和存储1006都是计算机存储介质的示例。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或者可用于存储所需信息并且可由计算设备1000访问的任何其它介质。任何这样的计算机存储介质都可以是计算设备1000的一部分。
[0050] 计算设备100还可以包括允许该设备如根据本发明的一实施例在可信伙伴102和104之间传输安全令牌108中的声明信息那样与其它设备进行通信的通信设备1012。通信设备1012是通信介质的一个示例。通信介质通常以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并包括任意信息传送介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括有线介质,如有线网络(如根据一个实施例示出的网络105或106)或直接线连接,以及无线介质,如声学、RF、红外线和其它无线介质。如此处所用的术语计算机可读介质既包括计算机存储介质又包括通信介质。所述方法可用诸如数据、计算机可执行指令等任何形式编码在任何计算机可读介质中。
[0051] 计算设备1000也可以具有诸如键盘鼠标、笔、语音输入设备、触摸输入设备等的输入设备1010。另外,也可以包括诸如显示器、扬声器、打印机等的输出设备1008。所有这些设备在本领域是公知的,因此不必在此详细讨论。尽管给出了关于计算设备1000的组件的具体示例,但这些示例决不旨在是限制性的。
[0052] 考虑以上提供的本发明时,本领域技术人员容易理解,本发明提供众多好处。例如,出于聚集功能的目的,能够例如为声明或声明集的单个授权调用参考图4、5和6讨论的多个变换子模块是有益的。本发明的将声明变换代码例如如图4、5和6所述划分为多个模块或子模块,并且因而达到与全异版本的核心运行时库的集成的能力也是有利的。因为本发明允许多个自定义声明变换模块或子模块被插入到变换模块208和/或216的可扩展性点处,所以本发明允许第三方声明变换模块或子模块被插入到系统中。此外,本发明允许引入确定用于正向链接例如图5和6中所描绘的且如上所描述的变换的稳定状态。
[0053] 另外,本发明提供多个安全特征是有益的。例如,如检查操作522和618所示出和描述的,通过本发明的使用保证在其它变换后面运行的附加声明信息模块或子模块来最终化声明的能力来达到增强的安全性。例如,如参考评估操作606和解析准则628、630和632所示出和描述的,以管理员的控制每一变换模块允许操纵哪些声明或声明集的能力来提供额外的安全特征。进一步的安全特征与如图7和8示出的本发明的实施例相关联,其中所得声明集被从每一变换模块或子模块隔离,以便每一变换模块或子模块只在原始声明或声明集的上下文中工作。系统随后维护并聚集所得声明。这种系统可得益于其通过保留对最终声明或声明集的控制提供安全性的能力。
[0054] 以上参考附图描述了本发明的各实施例,可以理解,可以对本发明做出本领域技术人员易于想到且包含在所公开的发明的且如所附权利要求书所定义的精神和范围内的众多修改。实际上,尽管出于公开的目的描述了目前优选的实施例,但可以做出落入本发明的范围的各种改变和修改。
[0055] 同样地,虽然本发明使用了对结构特征、方法动作和含有这些动作的计算机可读介质专用的语言,但是应该理解,在所附权利要求中定义的本发明不必限于此处描述的具体结构、动作、或介质。例如,尽管本发明将资源提供方称为信任关系中的信任伙伴,但任何其它类型的伙伴都可从本发明中受益。仅作为示例,资源提供方可被称为服务提供方或依赖方。本领域技术人员将认识到本发明精神和范围中的其它实施例或实现。因此,这些具体结构、动作、或介质是作为实现所要求保护的本发明的示例性实施例而公开的。本发明由所附权利要求来定义。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈