用于最小披露凭证的身份托管管理的制作方法_4

文档序号:9529444阅读:来源:国知局
有密钥来加密证明者所提供的身份托管假名来生成经 加密的假名数据。私有密钥确保了仅审计者组件能够解密经加密的假名数据并产生身份托 管假名。步骤312使用公共密钥和/或附加数据来计算散列挑战,其验证经加密的假名数 据的真实性和/或完整性,并前进至步骤316。步骤316向证明者返回一致性证据并前进至 步骤318,该一致性证据包括散列挑战和经加密的假名数据。此证据证明了用于经加密的假 名数据的假名和与最小披露凭证相关联的假名之间的一致性。步骤318终止图3所描绘的 示例步骤。
[0092] 图4是解说根据一个示例实现的用于将最小披露凭证解除匿名的示例步骤的流 程图。各种硬件/软件组件(例如,图1的审计者114的组件)可被配置成执行示例步骤。 步骤402开始示例步骤并行进到步骤404,在该步骤处理请求。
[0093] 步骤406确定具有身份托管的呈递证据的有效性,该呈递证据包括经加密的假名 数据和对身份托管假名的承诺之间的一致性证据。在向该一致性证据应用审计者公共密码 密钥之后,如果审计者验证该身份托管假名,则步骤406前进至步骤408。如果在步骤406 确定最小披露密钥无效,因为具有身份托管的呈递证据不能被验证,则步骤420停止服务 提供商和用户之间的任何待决交易。例如,审计者可指示服务提供商由于不当动作而取消 用户所计划的购买。
[0094] 步骤408涉及使用审计者私有密码密钥来解密经加密的假名数据。步骤410表示 用于经解密的假名的披露协议选择,在该处步骤410可前进至步骤412、步骤414、步骤416 和/或步骤418,包括这些步骤的任何组合。如果步骤410选择第一披露协议并执行步骤 412,则审计者直接向颁发者发送PE,颁发者可执行对该用户的查找。如果步骤410选择第 二披露协议并执行步骤414,则审计者直接向颁发者发送PE,该颁发者将该用户列入黑名单 从而使该用户不能获得进一步的凭证并撤销颁发给此用户的任何现有凭证,但是不揭露该 用户的身份。这种凭证撤销可使用基于动态累加器的技术执行。
[0095] 如果步骤410选择第三披露协议并执行步骤416,则审计者将PE发送回依赖方(诸 如服务提供商),该依赖方向颁发者请求该用户的身份。如果步骤410选择第四披露协议并 执行步骤418,则审计者使用颁发者的关于(用户标识符,PE)值的数据库的副本返回该用 户的身份。可任选地,审计者可具有对身份托管表的单独访问,在该表中,该用户向审计者 提供(用户标识符,PE)对的值。步骤422终止图4所描绘的示例步骤。
[0096] 图5是解说根据一个示例实现的用于颁发配置有用于身份托管管理的假名的最 小披露凭证的示例步骤的流程图。各种硬件/软件组件(例如,图1的颁发者104和/或 证明者102)可被配置成执行示例步骤。步骤502开始示例步骤并前进至步骤504,在该步 骤生成参数数据并处理属性数据。参数数据可包括颁发者参数,诸如定义用于保护属性数 据安全的素数阶循环群构造的密码群参数。一般而言,属性数据由期望安全凭证(例如,最 小披露凭证)以执行电子交易的用户提供。
[0097] 步骤506在颁发最小披露凭证时确定是否要随机化假名。如果要随机化假名,则 步骤506前进至步骤508,在该步骤颁发者和/或证明者可随机选择用于计算假名的群生成 元和/或属性。在一个示例实现中,证明者选择在向颁发者提供的属性数据中提供的属性 中的任一个属性。证明者可针对每个凭证选择一不同属性。在另一示例实现中,证明者可 通过计算凭证私有密钥和/或其他凭证信息(诸如属性索引或计数)的函数来确定哪个属 性。
[0098] 在其中颁发者不记录身份托管数据的替换实现中,从唯一标识该用户的可能值 (诸如社保号)的有限集合(例如,小于2 6°的大小)中选择属性xb。用于计算假名的生成 元范围也可在范围上受到约束。任一种机制均允许计算l〇ggPE,从而揭露xb并标识该用 户。
[0099] 替换地,为了实现与败坏的审计者的不可链接性,颁发者可为每个最小披露凭证 采用新的基础生成元元素gb。一个身份托管属性^针对一组所颁发的最小披露凭证可导 致不同的身份托管假名。例如,颁发者可针对每个最小披露凭证选择新的属性yb,并且向用 户提供审计者使用来加密彡%和#^属性xb可以跨多个最小披露凭证一致。
[0100] 如果在步骤506确定假名未被随机化,则步骤508被省略且步骤510被执行。步 骤510确定是否使用来自另一颁发者的第一凭证生成导出凭证。如果否,则步骤510省略步 骤512并前进至步骤514,而如果是,则步骤510前进至步骤512,步骤512验证第一凭证。 步骤514涉及访问身份托管假名,这可通过计算身份托管假名^*的数学值或选择证明 者所提供的身份托管假名¥%来实现,以及生成最小披露凭证来实现。作为一个示例机制, 用户可通过将假名跨至少两个实体(诸如颁发者和身份提供者)分割并托管来采用颁发者 不知道的身份托管假名# .〇
[0101] 如果步骤510决定生成导出凭证,则步骤512验证第一凭证的真实性和完整性。一 个示例导出凭证对应于根据第一凭证的属性计算出的身份托管假名ΙΓ%在验证第一凭证 〇 之后,步骤512前进至步骤514,步骤514基于身份托管假名II#和与第一凭证相对应的其 他数据来生成导出凭证。步骤516结束针对图5描述的示例步骤。
[0102] 在一个或多个示例实现中,身份托管假名沒#可表示不是第二凭证的属性的用户 标识符。在第一最小披露凭证被用来解密身份托管假名之后,审计者向生成具有该身 份托管假名ifΜ乍为属性的第二最小披露凭证的颁发者揭露该值。例如,颁发者可颁发具 有确认该用户具有有效驾驶证的凭证的最小披露凭证,以及随后颁发具有保证如果该用户 行为不当则将撤销该用户的驾驶证的凭证另一最小披露凭证。身份提供者保持有效的驾驶 证号且颁发者永远不知晓该号,除非用户违反审计者加密策略。而且,颁发者将不需要知道 可能的驾驶证号的列表或依赖于身份提供者。
[0103] 示例联网以及分布式环境
[0104] 本领域技术人员可以理解,此处描述的各实施例和方法可结合任何计算机或其它 客户机或服务器设备来实现,其可被部署为计算机网络的部分或在分布式计算环境中,并 且可以被连接到任何类型一个或多个数据存储。在这一点上,此处描述的各实施例可在具 有任何数量的存储器或存储单元的、并且任何数量的应用和进程跨任何数量的存储单元发 生的任何计算机系统或环境中实现。这包括但不限于具有部署在具有远程或本地存储的网 络环境或分布式计算环境中的服务器计算机和客户计算机的环境。
[0105] 分布式计算通过计算设备和系统之间的通信交换来提供计算机资源和服务的共 享。这些资源和服务包括信息的交换、对于诸如文件之类的对象的高速缓存存储和盘存储。 这些资源和服务还包括多个处理单元之间的处理能力共享以便进行负载平衡、资源扩展、 处理专门化等等。分布式计算利用网络连接,从而允许客户机利用其集体力量来使整个企 业受益。就此,各种设备可具有可如参考本发明的各实施例描述地参与资源管理机制的应 用、对象或资源。
[0106] 图6提供了示例性的联网或分布式计算环境的示意图。该分布式计算环境包括计 算对象610、612等以及计算对象或设备620、622、624、626、628等,这些计算对象或设备可 包括如由示例应用630、632、634、636、638表示的程序、方法、数据存储、可编程逻辑等。可 以理解,计算对象610、612等以及计算对象或设备620、622、624、626、628等可包括不同的 设备,诸如个人数字助理(PDA)、音频/视频设备、移动电话、MP3播放器、个人计算机、膝上 型计算机等。
[0107] 每一个计算对象610、612等以及计算对象或设备620、622、624、626、628等可通过 通信网络640直接或间接与一个或多个其他计算对象610、612等以及计算对象或设备620、 622、624、626、628等进行通信。尽管在图6中被示为单个元素,但通信网络640可包括向图 6的系统提供服务的其他计算对象和计算设备和/或可表示未示出的多个互连网络。每个 计算对象610、612等或计算对象或设备620、622、624、626、628等还可以包含应用,诸如可 以利用API或其他对象、软件、固件和/或硬件的、适于根据本公开的各实施例所提供的应 用的实现或与其进行通信的应用630、632、634、636、638。
[0108] 存在支持分布式计算环境的各种系统、组件和网络配置。例如,计算系统可由有线 或无线系统、本地网络或广泛分布的网络连接在一起。当前,许多网络被耦合至因特网,因 特网为广泛分布的计算提供了基础结构并包含许多不同的网络,但任何网络基础结构都可 用于便于与如各实施例中所描述的系统的示例通信。
[0109] 由此,可使用诸如客户机/服务器、对等、或混合架构之类的众多网络拓扑结构和 网络基础结构。"客户机"是使用与其无关的另一类或组的服务的一类或组中的成员。客户 机可以是进程,例如大致上是请求由另一程序或进程提供的服务的一组指令或任务。客户 机进程使用所请求的服务,而无需"知道"关于其他程序或服务本身的任何工作细节。
[0110] 在客户机/服务器架构中,尤其在联网系统中,客户机通常是访问另一计算机(例 如,服务器)所提供的共享网络资源的计算机。在图6的图示中,作为非限制性示例,计算 对象或设备620、622、624、626、628等可被认为是客户机,而计算对象610、612等可被认为 是服务器,其中作为服务器的计算对象610、612等提供数据服务,诸如从客户机计算对象 或设备620、622、624、626、628等接收数据、存储数据、处理数据、向客户机计算对象或设备 620、622、624、626、628等发送数据,但取决于环境,任何计算机都可被认为是客户机、服务 器、或两者。
[0111] 服务器通常是可通过诸如因特网或无线网络基础结构之类的远程网络或本地网 络访问的远程计算机系统。客户机进程可在第一计算机系统中活动,而服务器进程可在第 二计算机系统中活动,它们通过通信介质相互通信,由此提供分布式功能性并允许多个客 户机利用服务器的信息收集能力。
[0112] 在通信网络640或总线是因特网的网络环境中,例如,计算对象610、612等可以是 其他计算对象或设备620、622、624、626、628等经由诸如超文本传输协议(HTTP)之类的多 种已知协议中的任一种与其通信
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1