一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

身份数据验证方法、装置、计算机设备和存储介质与流程

2021-12-14 22:38:00 来源:中国专利 TAG:


1.本技术涉及网络安全技术领域,特别是涉及一种身份数据验证方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着密码学技术的发展,出现了匿名认证技术,而为了实现传统的匿名认证技术,ibm 于 2009 年提出的一种匿名证书的方案,命名为身份混合器,主要解决传统方案中用户出示证书时过度暴露信息的问题,可以使用户选择性地出示证书中的属性信息。然而,仅仅使用身份混合器时,采用多种认证策略,让用户选择出示信息和属性,虽然保证了用户的隐私,却没有在匿名认证进行追踪监管的方法,难以保证被验证结果欺诈的用户能进行身份追踪。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种能够追踪身份的身份数据验证方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
4.第一方面,本技术提供了一种身份数据验证方法。所述方法包括:接收身份验证请求,从所述身份验证请求中获取第一身份标识,所述第一身份标识是账号私钥与第一身份参数基于身份混合器的标识算法生成的,所述标识算法包括标识算法组合参数,所述标识算法还用于生成第二身份标识;从所述身份验证请求中获取第一身份标识的初始聚合签名,所述初始聚合签名是基于账号标识的曲线哈希映射结果、所述账号私钥、所述第一身份参数与第二身份参数进行聚合签名得到;对所述第二身份参数与所述第一身份标识的初始聚合签名进行聚合签名,得到待组合的聚合签名,将所述待组合的聚合签名与第二身份标识的聚合签名进行组合,生成目标聚合签名;应用所述目标聚合签名与所述标识算法组合参数的组合进行映射,得到目标映射结果,基于所述目标映射结果验证所述账号标识对应的身份。
5.在其中一个实施例中,所述应用所述目标聚合签名与所述标识算法组合参数的组合进行映射,得到目标映射结果,基于所述目标映射结果验证所述账号标识对应的身份,包括:将所述第一身份标识与所述第二身份标识进行聚合,得到目标身份标识;基于所述身份验证请求获取映射记录信息,基于所述映射记录信息获取待检测账号标识,基于所述待检测账号标识进行哈希曲线映射,得到用于检测的账号映射结果,将所述用于检测的账号映射结果与所述目标身份标识的组合进行映射,得到第一身份检验元素;基于所述标识算法组合参数与所述目标聚合签名的组合进行映射,得到第二身份
检验元素;若所述第一身份检验元素与所述第二身份检验元素是相对应的,则验证通过,将所述待检测账号标识确定为追踪到的目标账号标识,所述目标账号标识用于表征对应的身份。
6.在其中一个实施例中,所述基于所述身份验证请求获取映射记录信息,基于所述映射记录信息获取待检测账号标识,包括:基于所述身份验证请求中的映射记录标识,确定所述映射记录标识对应的目标映射记录信息,所述目标映射记录信息包括所述第二身份标识与所述待检测账号标识的对应关系,和/或,所述第二身份标识的聚合签名与所述待检测账号标识的对应关系;基于所述目标映射记录信息,确定所述待检测账号标识。
7.在其中一个实施例中,所述方法还包括,获取第二身份参数的步骤,所述步骤包括:基于所述身份验证请求中的映射记录标识,获取所述映射记录标识对应的目标映射记录信息;基于所述目标映射记录信息中的身份参数记录标识,获取所述第二身份参数。
8.在其中一个实施例中,所述方法还包括生成初始身份证书的步骤,所述步骤包括:接收初始身份证书生成请求,获取所述初始身份证书生成请求携带的账号标识、第二身份标识及第二身份标识的聚合签名,所述第二身份标识的聚合签名是基于所述账号私钥、第三身份参数与所述曲线哈希映射结果生成的;对所述账号标识进行曲线哈希映射,得到用于检测的账号映射结果,基于所述用于检测的账号映射结果与所述第一身份标识的组合进行映射,得到第一认证检验元素;基于所述标识算法组合参数与所述第二身份标识的聚合签名的组合进行映射,得到第二认证检验元素;若所述第一认证检验元素与所述第二认证检验元素相对应,则生成对应于所述第二身份标识的初始身份证书。
9.在其中一个实施例中,所述从所述身份验证请求中获取第一身份标识的初始聚合签名,包括:从所述身份验证请求中获取第一身份标识的初始聚合签名,所述初始聚合签名是基于bls聚合签名算法生成的;所述对所述第二身份参数与所述第一身份标识的初始聚合签名进行聚合签名,包括:基于bls聚合签名算法,对所述第二身份参数与所述第一身份标识的初始聚合签名进行聚合签名。
10.在其中一个实施例中,所述方法还包括,通过待认证账号的终端生成身份标识的步骤,所述步骤包括:获取认证机构公钥对应的椭圆曲线群,获取与所述椭圆曲线群呈双线性对的目标椭圆曲线群,从所述目标椭圆曲线群中获取第一标识加密参数与第二标识加密参数,所述第一标识加密参数与第二标识加密参数的组合是所述标识算法组合参数;基于所述第一标识加密参数与所述账号私钥生成第一规则元素;基于所述第二标识加密参数与第一身份参数生成第二规则元素,将所述第一规则
元素与所述第二规则元素组合,得到所述第一身份标识;和/或,基于所述第二标识加密参数与第二身份标识对应的第三身份参数生成第三规则元素,将所述第一规则元素与所述第三规则元素组合,得到所述第二身份标识。
11.在其中一个实施例中,所述方法还包括,通过待认证账号的终端生成目标身份证书的步骤,所述步骤包括:获取账号标识,基于所述账号标识与所述第二身份标识进行加密映射,得到映射记录信息与映射记录信息对应的映射记录标识;获取初始身份证书,对所述初始身份证书中的签名值进行偏移,得到偏移后的签名值;将所述第二身份标识、所述第二身份标识的聚合签名、所述映射记录标识与所述偏移后的签名值进行组合,得到目标身份证书,所述目标身份证书用于通过第三方终端的零知识证明确定所述账号标识对应的权限,和/或,目标身份证书用于生成身份验证请求。
12.第二方面,本技术还提供了一种身份数据验证装置。所述装置包括:第一身份标识获取模块,用于接收身份验证请求,从所述身份验证请求中获取第一身份标识,所述第一身份标识是账号私钥与第一身份参数基于身份混合器的标识算法生成的,所述标识算法包括标识算法组合参数,所述标识算法还用于生成第二身份标识;第一签名获取模块,用于从所述身份验证请求中获取第一身份标识的初始聚合签名,所述初始聚合签名是基于账号标识的曲线哈希映射结果、所述账号私钥、所述第一身份参数与所述第二身份参数进行聚合签名得到;目标聚合签名生成模块,用于对所述第二身份参数与所述第一身份标识的初始聚合签名进行聚合签名,得到待组合的聚合签名,将所述待组合的聚合签名与第二身份标识的聚合签名进行组合,生成目标聚合签名;身份验证模块,用于应用所述目标聚合签名与所述标识算法组合参数的组合进行映射,得到目标映射结果,基于所述目标映射结果验证所述账号标识对应的身份。
13.第三方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:接收身份验证请求,从所述身份验证请求中获取第一身份标识,所述第一身份标识是账号私钥与第一身份参数基于身份混合器的标识算法生成的,所述标识算法包括标识算法组合参数,所述标识算法还用于生成第二身份标识;从所述身份验证请求中获取第一身份标识的初始聚合签名,所述初始聚合签名是基于账号标识的曲线哈希映射结果、所述账号私钥、所述第一身份参数与所述第二身份参数进行聚合签名得到;对所述第二身份参数与所述第一身份标识的初始聚合签名进行聚合签名,得到待组合的聚合签名,将所述待组合的聚合签名与第二身份标识的聚合签名进行组合,生成目标聚合签名;应用所述目标聚合签名与所述标识算法组合参数的组合进行映射,得到目标映射结果,基于所述目标映射结果验证所述账号标识对应的身份。
14.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收身份验证请求,从所述身份验证请求中获取第一身份标识,所述第一身份标识是账号私钥与第一身份参数基于身份混合器的标识算法生成的,所述标识算法包括标识算法组合参数,所述标识算法还用于生成第二身份标识;从所述身份验证请求中获取第一身份标识的初始聚合签名,所述初始聚合签名是基于账号标识的曲线哈希映射结果、所述账号私钥、所述第一身份参数与所述第二身份参数进行聚合签名得到;对所述第二身份参数与所述第一身份标识的初始聚合签名进行聚合签名,得到待组合的聚合签名,将所述待组合的聚合签名与第二身份标识的聚合签名进行组合,生成目标聚合签名;应用所述目标聚合签名与所述标识算法组合参数的组合进行映射,得到目标映射结果,基于所述目标映射结果验证所述账号标识对应的身份。
15.第五方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:接收身份验证请求,从所述身份验证请求中获取第一身份标识,所述第一身份标识是账号私钥与第一身份参数基于身份混合器的标识算法生成的,所述标识算法包括标识算法组合参数,所述标识算法还用于生成第二身份标识;从所述身份验证请求中获取第一身份标识的初始聚合签名,所述初始聚合签名是基于账号标识的曲线哈希映射结果、所述账号私钥、所述第一身份参数与所述第二身份参数进行聚合签名得到;对所述第二身份参数与所述第一身份标识的初始聚合签名进行聚合签名,得到待组合的聚合签名,将所述待组合的聚合签名与第二身份标识的聚合签名进行组合,生成目标聚合签名;应用所述目标聚合签名与所述标识算法组合参数的组合进行映射,得到目标映射结果,基于所述目标映射结果验证所述账号标识对应的身份。
16.上述身份验证方法、装置、计算机设备、存储介质和计算机程序产品,接收身份验证请求,从所述身份验证请求中获取第一身份标识,所述第一身份标识是账号私钥与第一身份参数基于身份混合器的标识算法生成的,所述标识算法包括标识算法组合参数,所述标识算法还用于生成第二身份标识。从所述身份验证请求中获取第一身份标识的初始聚合签名,所述初始聚合签名是基于账号标识的曲线哈希映射结果、所述账号私钥、所述第一身份参数与所述第二身份参数进行聚合签名得到;对所述第二身份参数与所述第一身份标识的初始聚合签名进行聚合签名,得到待组合的聚合签名,将所述待组合的聚合签名与第二身份标识的聚合签名进行组合,生成目标聚合签名;应用所述目标聚合签名与所述标识算法组合参数的组合进行映射,得到目标映射结果,基于所述目标映射结果验证所述账号标识对应的身份。本技术的技术方案中,在身份混合器的基础上结合聚合签名算法,既可以通过身份混合器隐藏待验证用户的真实身份,也可以通过目标聚合签名与曲线哈希函数的特性,实现身份证书的聚合与离散对数难题级别的加密,而且,可以通过认证机构记录的某些映射关系,实现待验证用户的身份追踪。
附图说明
17.图1为一个实施例中身份数据验证方法的应用环境图;图2为一个实施例中身份数据验证方法的流程示意图;图3为一个实施例中通过双线性映射来进行身份追踪的流程示意图;图4为另一个实施例中待检测账号标识进行哈希曲线映射的流程示意图;图5为另一个实施例中获取第二身份参数的流程示意图;图6为另一个实施例中生成初始身份证书的流程示意图;图7为另一个实施例中通过待认证账号的终端生成身份标识的流程示意图;图8为另一个实施例中生成目标身份证书的流程示意图;图9为一个实施例中身份数据验证装置的结构框图;图10为一个实施例中计算机设备的内部结构图。
具体实施方式
18.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
19.本技术实施例提供的身份数据验证方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。
20.身份认证机构节点的服务器104接收身份验证请求,从身份验证请求中获取第一身份标识;从身份验证请求中获取第一身份标识的初始聚合签;对第二身份参数与第一身份标识的初始聚合签名进行聚合签名,得到待组合的聚合签名,将待组合的聚合签名与第二身份标识的聚合签名进行组合,生成目标聚合签名;应用目标聚合签名与标识算法组合参数的组合进行映射,得到目标映射结果,基于目标映射结果验证账号标识对应的身份。其中,在进行身份认证时,终端102是请求进行身份验证的终端;在生成身份数据时,终端102是待认证的用户所使用的终端;具体的,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
21.在一个实施例中,如图2所示,提供了一种身份数据验证方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:步骤202,接收身份验证请求,从身份验证请求中获取第一身份标识,第一身份标识是账号私钥与第一身份参数基于身份混合器的标识算法生成的,标识算法包括标识算法组合参数,标识算法还用于生成第二身份标识。
22.第一身份标识,可以称为第一假名,用于隐藏账号的真实身份,且可以用于表征账号标识对应的身份,第一身份标识是通过标识算法生成的。第一身份标识与目标身份信息存在映射关系,一个或多个目标身份信息可以对应同一个身份标识,其中,目标身份信息可以是待验证用户终端所出示的匿名身份证书,匿名身份证书是基于身份混合器生成的。可选地。匿名身份证书是可以隐藏真实属性的证书,该证书具有基于身份混合器生成的加密
签名值,基于零知识证明算法,请求验证的用户可以验证加密签名值,判断待认证用户是否具有相应的权限,且不会确定待验证用户终端的账号标识。
23.第二身份标识,可以称为第二假名,用于隐藏账号的真实身份,可用于表征账号标识对应的身份,第二身份标识与第一身份标识可以是相同的,也可以是不同的,二者的关联在于,均是基于标识算法生成的。第二身份标识与待验证用户的初始身份信息相对应,初始身份信息是待认证用户申请得到的,在拥有初始身份信息之后,认证机构才能对其进行验证。初始身份信息用于生成匿名身份证书,其可以是一种模板或规则,也可以是一种真实的证书数据,且该真实的证书数据不需要出示给请求验证的第三方用户终端,即可完成验证。第二身份标识可以是仅在待验证用户与身份认证机构或其他有限元的机构是公开的,此时,第二身份标识与账号标识具有映射关系。
24.账号私钥,是待验证账号的私钥,其可以是该账号的用户选择的随机数,也可以是随机生成的数据,还可以是根据用户输入的字符串等类型的数据进行某种映射后,所得到的某一数据。
25.第一身份参数,其可以是用户选择的随机数,也可以是随机生成的数据,还可以是根据用户输入的字符串等类型的数据进行某种映射后,所得到的某一数据,用于对第一身份标识进行加密。
26.身份混合器的标识算法,可以认为是生成假名的规则,是用于生成身份标识的算法,其是基于标识算法组合参数进行指数运算的算法。标识算法组合参数至少由第一标识加密参数与第二标识加密参数组合而成,第一标识加密参数与第二标识加密参数具有相同生成元,且该生成元所对应的椭圆曲线群与认证机构公钥对应的椭圆曲线群互为双线性对。例如,当群g1与群g2互为双线性对,可以表示为g1*g2=g
t
,将群g2的生成元g2所生成的g
2m
作为认证机构公钥,其中m为预设群中的任意整数;此时,可以将群g1的生成元g1所生成的g
1m1
作为第一标识加密参数,第一标识加密参数可以表示为ask,ask=g
1m1
;其中,m1为预设群中的任意整数;可以将群g1的生成元g1所生成的g
1m2
作为第二标识加密参数,第二标识加密参数可以表示为rand,rand=g
1m2

27.可选地,不论是需要生成身份证书的用户节点或者用户终端,还是用于生成身份证书的身份认证机构节点或服务器,均可以生成第一身份标识,另外,如果在其他的节点或服务器进行运算时,也应当在本技术的保护范围之内。
28.步骤204,从身份验证请求中获取第一身份标识的初始聚合签名,初始聚合签名是基于账号标识的曲线哈希映射结果、账号私钥、第一身份参数与第二身份参数进行聚合签名得到。
29.账号标识,也可以称为用户标识,用于表征用户本人的身份,其可以是用户输入的身份参数,也可以是与用户输入的身份参数对应的id值,还可以是用户输入的id值。账号标识与第一身份标识的区别在于,可以通过账号标识确定出其所对应用户的真实身份。一个账号标识可以对应于一个账号秘钥对,而一个秘钥对包括一个账号私钥与一个账号公钥。账号标识与第二身份标识的区别在于,账号标识并不是通过身份混合器的标识算法生成的,且一个账号标识可以对应于多个第二身份标识,而一个第二身份标识可以映射到一个账号标识。
30.在对账号标识进行曲线哈希映射的过程中,相当于是将账号标识作为一个参数进
行映射,得到某一椭圆曲线上的对应值,即账号标识的曲线哈希映射结果。该过程可以是,直接将作为id的账号标识代入到某一曲线哈希函数进行计算;也可以是,将账号标识对应的id值代入某一曲线哈希函数进行计算。
31.聚合签名,是基于账号私钥、第一身份参数与账号映射结果所生成的,其可以是按照bls签名算法或其他种类的聚合签名算法进行计算而生成。bls签名算法是一种用来将任意多个数据聚合成一个签名的变体签名方案,无法从聚合后的公钥与签名推导出合并前的信息,并且在验证时仅需一次验证即可。
32.第一身份标识的初始聚合签名,是基于聚合签名算法生成的,聚合签名算法是与区块链相关的算法,面向椭圆曲线和超椭圆曲线的加密算法,整个合并过程是不可见的,无法从合并后的公钥与签名推导出合并前的信息。初始聚合签名与第一身份标识存在映射关系,且初始聚合签名虽然是基于账号标识生成的,却是一种从账号标识到初始聚合签名的单向映射关系,如果只是通过第一身份标识的初始聚合签名是无法获得身份标识的,其是用于保障待认证用户的隐私。
33.第二身份参数,其可以是一个数据,也可以是一组数据,还可以是存在某种映射关系的数据。第二身份参数可以用于对初始聚合签名进行加密的,其可以是通过随机数算法生成的,其是按照认证机构的规则,所生成的任意数据,其可以具有任意的数据类型,且可以通过不同的数据类型转化为具体的数据。在一可选地实施例中,第一身份参数与第二身份参数在数据结构并无具体的限定,甚至可以将二者作为同一参数。在一可选地实施例中,第一身份参数是待认证用户的终端所选定的,而第二身份参数是身份认证机构所给定的,通过身份认证机构记录第二身份参数与某些参数的对应关系,身份认证机构也可以确定出这一匿名证书对应的账号标识。
34.步骤206,对第二身份参数与第一身份标识的初始聚合签名进行聚合签名,得到待组合的聚合签名,将待组合的聚合签名与第二身份标识的聚合签名进行组合,生成目标聚合签名。
35.待组合的聚合签名,其可以是解密初始聚合签名后,所生成的聚合签名,用于保障目标聚合签名在验证时,不会被加密数据所影响,在生成待组合的聚合签名的过程,会采用聚合签名算法。在一可选地实施例中,第二身份参数是一个数据,生成初始聚合签名时,使用的是第二身份参数,而生成待组合的聚合签名时,使用的是第二身份参数的倒数;在一可选地实施例中,第二身份参数是一组数据,生成初始聚合签名时,使用一部分第二身份参数;生成组合的聚合签名时,使用另一部分第二身份参数。
36.第二身份标识的聚合签名,其存储于身份认证机构中,其与待认证用户的账号标识存在映射关系,可以基于双线性映射等零知识证明算法进行验证,从而确定待认证用户的账号标识。
37.目标聚合签名,是用于验证账号标识对应身份的签名,可以通过双线性映射等零知识证明算法验证账号标识的身份。在一可选地实施例中,生成目标聚合签名的步骤,是待组合的聚合签名与第二身份标识的聚合签名进行组合的过程,例如:将待组合的聚合签名与第二身份标识的聚合签名相乘,即可得到目标聚合签名。
38.步骤208,应用目标聚合签名与标识算法组合参数的组合进行映射,得到目标映射结果,基于目标映射结果验证账号标识对应的身份。
39.应用目标聚合签名与标识算法组合参数的组合进行映射,其可以具有多种方式,可以通过散列函数进行映射,将目标聚合签名与标识算法组合参数的组合映射到某一个或某一些散列点。而映射方式也可以是将目标聚合签名与标识算法组合参数分别作为某一向量中的两个元素,而该向量将映射到某一曲线函数中的点,并将该曲线函数中的点作为目标映射结果。
40.在一可选地实施例中,验证账号标识对应的身份的方式是多种多样的,其可以直接选择一种映射关系。如果基于验证规则,身份混合器生成的某些数据进行映射之后,得到用于检验目标映射结果的数据,则身份认证机构可以验证账号标识对应的身份。具体的,应用目标聚合签名与标识算法组合参数的组合进行映射之后,基于双线性映射的验证规则,将身份混合器生成的目标假名与账号标识的待检测的曲线哈希映射结果进行映射,也得到目标映射结果,则可以通过账号标识,确认对应的身份;其中,账号标识的待检测的曲线哈希映射结果,可以由身份认证机构调度数据库或其他记录信息的节点中的数据得到。由此,可基于身份混合器进行身份隐匿,使得第三方更难破解上述待验证用户的身份,而通过双线性映射,使身份认证机构仍然可以轻易得知待验证用户的身份。
41.在一可选地实施方式中,对身份认证机构获取到账号标识的待检测的曲线哈希映射结果进行论述:在生成初始身份证书时,待认证用户的终端会将账号标识发送给身份认证机构;于身份认证机构这一节点,账号标识会按照哈希曲线函数进行映射,得到待检测的曲线哈希映射结果。
42.上述身份验证方法,接收身份验证请求,从身份验证请求中获取第一身份标识,第一身份标识是账号私钥与第一身份参数基于身份混合器的标识算法生成的,标识算法包括标识算法组合参数,标识算法还用于生成第二身份标识。从身份验证请求中获取第一身份标识的初始聚合签名,初始聚合签名是基于账号标识的曲线哈希映射结果、账号私钥、第一身份参数与第二身份参数进行聚合签名得到;对第二身份参数与第一身份标识的初始聚合签名进行聚合签名,得到待组合的聚合签名,将待组合的聚合签名与第二身份标识的聚合签名进行组合,生成目标聚合签名;应用目标聚合签名与标识算法组合参数的组合进行映射,得到目标映射结果,基于目标映射结果验证账号标识对应的身份。本技术的技术方案中,在身份混合器的基础上结合聚合签名算法,既可以通过身份混合器隐藏待验证用户的真实身份,可以通过目标聚合签名与曲线哈希函数的特性,实现身份证书的聚合与离散对数难题级别的加密,而且,可以通过认证机构记录的某些映射关系,实现待验证用户的身份追踪。而由于第一身份标识的聚合签名与第二身份标识的聚合签名均通过同一个账号标识进行映射,可以实现认证追踪的效果。
43.在一个实施例中,如图3所示,侧重于论述如何通过双线性映射来进行身份追踪。应用目标聚合签名与标识算法组合参数的组合进行映射,得到目标映射结果,基于目标映射结果验证账号标识对应的身份包括:步骤302,将第一身份标识与第二身份标识进行聚合,得到目标身份标识。
44.第一身份标识与第二身份标识均由待认证用户的终端生成,第一身份标识是待认证用户的终端发送给了第三方终端,第三方终端发送的身份验证请求中,携带有第一身份标识;而第二身份标识存储于身份认证机构的数据存储设备中。而将第一身份标识与第二身份标识进行聚合的方式,可以是相乘等基础运算方式。
45.目标身份标识,也可称为目标假名,可以是由第一身份标识与第二身份标识聚合后直接得到的,也可以是根据第一身份标识与第二身份标识聚合后的数据,再进行映射而获得的。由于没有设备直接存储目标身份标识,目标身份标识被盗取的可能性较低,当生成目标身份标识进行验证后,也可以通过删除记录等方式,消除掉相应的数据,进一步保障用户的隐私与安全。
46.步骤304,从身份验证请求中获取映射记录信息,基于映射记录信息获取待检测账号标识,基于待检测账号标识进行哈希曲线映射,得到用于检测的账号映射结果,将用于检测的账号映射结果与目标身份标识的组合进行映射,得到第一身份检验元素。
47.映射记录信息是存储于认证机构中的,可以根据身份验证请求中的用于表征某一映射的关系参数获得。而映射记录信息可以记录第一身份标识与第二身份标识之间的映射关系,用于增加保密性;该映射记录信息可以记录第一身份标识与账号标识之间的映射关系,用于降低计算量;该映射记录信息也可以记录第一身份标识与用于获取账号标识的数据集之间的映射关系,该数据集包括第二身份标识与账号标识,减少映射次数,降低计算量,以便于进行双线性映射。
48.在一可选地实施例中,用于检测的账号映射结果,是身份认证机构进行根据账号标识进行哈希曲线映射所得到的,而此处使用的账号标识,也是身份认证机构根据映射记录信息,从初始身份证书的存储数据库中获取的。
49.将用于检测的账号映射结果与目标身份标识的组合进行映射,可以是将这两个数据进行某种运算。将该运算结果或该运算结果对应的数据作为第一身份检验元素;也可以是根据标识算法组合参数与目标聚合签名,创建一个向量,将该向量作为第一身份检验元素。
50.步骤306,基于标识算法组合参数与目标聚合签名的组合进行映射,得到第二身份检验元素。
51.将标识算法组合参数与目标聚合签名的组合,可以是将这两个数据进行某种运算。将该运算结果或该运算结果对应的数据作为第二身份检验元素;也可以是根据标识算法组合参数与目标聚合签名,创建一个向量,将该向量作为第二身份检验元素。
52.步骤308,若第一身份检验元素与第二身份检验元素是相对应的,则验证通过,将待检测账号标识确定为追踪到的目标账号标识,目标账号标识用于表征对应的身份。
53.判断身份检验元素是否相对应,是具有多种实施方式的,在一实施方式中,直接将第一身份检验元素与第二身份检验元素进行比对,若二者是一致的,则认为二者相对应,该过程是仅仅使用双线性映射进行追踪的过程,该实施方式计算量较低;在另一实施方式中,基于第一身份检验元素与第二身份检验元素分别进行计算、关联等映射方式,得到具有某种对应关系的两组数据,若这两组数据符合某种匹配规则,则可认为二者是相对应的,即双线性映射配合某种映射关系。
54.本实施例中,通过第一身份检验元素与第二身份检验元素之间的对应关系,构建了高安全性且高效的验证方式,在保障匿名的基础上,可以更好地找到账号标识所表征的身份。
55.在一实施例中,如图4所示,上述基于身份验证请求获取映射记录信息,基于映射记录信息获取待检测账号标识,包括:
步骤402,基于身份验证请求中的映射记录标识,确定映射记录标识对应的目标映射记录信息。
56.映射记录标识,用于表征相对应的映射记录信息,映射记录标识可以是通过哈希函数或其他具有不可逆特性的映射函数所生成的标识数据,其是基于第二身份标识、第二身份标识的聚合签名及账号标识中的一种或多种数据及其映射到的数据生成,以保障映射的效果;还可以是基于第二身份参数对应的参数来生成,辅以保密的效果。
57.目标映射记录信息,是身份验证请求中的映射记录标识所对应的映射记录信息,包括第二身份标识与待检测账号标识的对应关系,和/或,第二身份标识的聚合签名与待检测账号标识的对应关系。目标映射记录信息包括第二身份标识或者第二身份标识的聚合签名,还可以包括检测账号标识,以及第二身份参数对应的参数。
58.步骤404,基于目标映射记录信息,确定待检测账号标识。
59.本实施例中,通过映射记录标识确定目标映射记录信息,通过目标映射记录信息获取相应的第二身份标识和/或第二身份标识的聚合签名,以此实现确定了待检测账号标识,使身份追踪的效率较高,保密性较高。
60.在一实施例中,如图5所示,该方法还包括,获取第二身份参数的步骤,步骤包括:步骤502,基于身份验证请求中的映射记录标识,获取映射记录标识对应的目标映射记录信息。
61.映射记录信息,是根据身份验证请求中的映射记录标识获得的。映射记录信息可以记录第二身份参数,也可以为了增强安全性,也可以记录第二身份参数对应的身份参数记录标识,通过身份参数记录标识再一次进行映射,以获得第二身份参数。在一可选地实施方式中,映射记录信息是多项数据的集合,多项数据的集合包括第二身份标识、账号标识及第二身份参数,以降低映射次数,提高计算效率;而为了保证数据安全,可将身份参数记录标识代替集合中的第二身份参数,在获取第二身份参数时,通过身份参数记录标识再一次进行映射,以获得第二身份参数。
62.步骤504,基于目标映射记录信息中的身份参数记录标识,获取第二身份参数。
63.身份参数记录标识,其与第二身份参数存在对应关系,可以用于获取到第二身份参数。在一可选地实施方式中,身份参数记录标识与第二身份参数均是身份认证机构生成的,且二者存在对应关系。
64.本实施例中,通过设置身份参数记录标识,隐藏第二身份参数,可以避免第二身份参数泄露所带来的影响,避免待组合的聚合签名被泄露,从而更好地实现了匿名效果,使不参与这一过程的人员更难获取到具体的数据,从而增强安全性,保护用户隐私。
65.在一实施例中,为了更好地对第三方匿名,且能够确定待检测用户的身份,可以基于bls聚合签名算法进行聚合签名。
66.在一具体的实施例中,从身份验证请求中获取第一身份标识的初始聚合签名,包括:从身份验证请求中获取第一身份标识的初始聚合签名,初始聚合签名是基于bls聚合签名算法生成的;相对应的,对第二身份参数与第一身份标识的初始聚合签名进行聚合签名,包括:基于bls聚合签名算法,对第二身份参数与第一身份标识的初始聚合签名进行聚合签名。
67.bls聚合签名算法主要依赖于双线性映射函数,在bls聚合签名算法中,先定义配
对函数,配对函数中的两个主要元素为一条哈希曲线的两个点或具有对应关系的两条曲线上的两个点,其中的运算满足分配律、交换律和结合律。上述目标聚合签名与标识算法组合参数的组合,就构成了配对函数的主要元素之一,基于该主要元素进行映射,相当于上述实施例中的第二身份检验元素。
68.本实施例中,通过引入bls聚合签名算法,可以更好地实现身份验证,高效地验证账号标识。
69.在一实施例中,如图6所示,该实施例侧重于论述第二身份标识的聚合签名所对应的初始身份证书,以描述身份验证请求生成的环境,该方法还包括,生成初始身份证书的步骤,步骤包括:步骤602,接收初始身份证书生成请求,获取初始身份证书生成请求携带的账号标识、第二身份标识及第二身份标识的聚合签名,第二身份标识的聚合签名是基于账号私钥、第三身份参数与曲线哈希映射结果生成的。
70.初始身份证书生成请求,是待认证用户的终端发向认证机构网络设备的指令,该指令是基于身份混合器生成的,响应于初始身份证书生成请求,认证机构网络设备生成初始身份证书。
71.初始身份证书是一种数字证书,其是一种带有数据的模板,其包括用户的全部属性值及签名值,初始身份证书与账号标识、第二身份标识、第二身份标识的聚合签名均存在对应关系,用于表征账号标识的身份,而为了保证匿名的效果,初始身份证书是不会对外公开的,仅仅存储于认证机构节点的服务器或其他数据库中,用于在接收到身份验证请求时,生成目标身份证书。
72.第三身份参数,其与第一身份参数是相似的,只是第一身份参数用于生成第一身份标识,第三身份参数用于生成第二身份标识。在一可选地实施方式中,待认证用户的终端生成了随机数,将这一随机数作为第三身份参数,以此参与运算,且第三身份参数可以不被保存,因为在零知识证明时,可以将第三身份参数消去。
73.步骤604,对账号标识进行曲线哈希映射,得到用于检测的账号映射结果,基于用于检测的账号映射结果与第一身份标识的组合进行映射,得到第一认证检验元素。
74.对账号标识进行曲线哈希映射,得到用于检测的账号映射结果,其与身份验证请求中账号标识的曲线哈希映射结果相对应。在一个具体的实施方式中,如果用于检测的账号映射结果与初始身份证书生成请求中的曲线哈希映射结果是不相同的,可认为二者存在较大区别,则身份认证停止,这一实施方式用于保障认证时的安全性,避免虚假账号的请求,还可以降低计算量。
75.基于用于检测的账号映射结果与第一身份标识的组合进行映射,其可以是将这两个数据进行某种运算。将该运算结果或该运算结果对应的数据作为第一认证检验元素;也可以是根据标识算法组合参数与目标聚合签名,创建一个向量,将该向量作为第一认证检验元素。
76.步骤606,基于标识算法组合参数与第二身份标识的聚合签名的组合进行映射,得到第二认证检验元素。
77.基于标识算法组合参数与第二身份标识的聚合签名的组合时,其可以是将这两个数据进行某种运算。将该运算结果或该运算结果对应的数据作为第一认证检验元素;也可
以是根据标识算法组合参数与目标聚合签名,创建一个向量,将该向量作为第一认证检验元素。
78.步骤608,若第一认证检验元素与第二认证检验元素相对应,则生成对应于第二身份标识的初始身份证书。
79.本实施例中,通过确认申请身份证书的用户身份是可靠的,以奠定身份追踪的基础。在基于身份混合器进行身份验证之后,可以使用第二身份标识的聚合签名进行验证,可以不透露账号标识,隐藏用户的真实身份。同时,账号标识由认证机构所记录,不需要在第三方用户请求验证时公示,如果出现问题,可以进行追踪。
80.在一实施例中,如图7所示,侧重于通过待认证账号的终端生成身份标识的步骤,步骤包括:步骤702,获取认证机构公钥对应的椭圆曲线群,获取与椭圆曲线群呈双线性对的目标椭圆曲线群,从目标椭圆曲线群中获取第一标识加密参数与第二标识加密参数,第一标识加密参数与第二标识加密参数的组合是标识算法组合参数。
81.认证机构公钥,是基于互为双线性映射的椭圆曲线群生成的,生成认证机构公钥包括:获取互为双线性对的第一椭圆曲线群与第二椭圆曲线群,获取第一椭圆曲线群的生成元,基于第一椭圆曲线群的生成元生成认证机构公钥。
82.第一标识加密参数与第二标识加密参数均是第二椭圆曲线群上的数据,而从目标椭圆曲线群中获取第一标识加密参数与第二标识加密参数包括:获取第二椭圆曲线群的生成元,获取加密数据集合中的两个数据,基于第二椭圆曲线群的生成元与加密数据集合中的两个数据分别进行计算,得到第一标识加密参数与第二标识加密参数。
83.步骤704,基于第一标识加密参数与账号私钥生成第一规则元素。
84.步骤706,基于第二标识加密参数与第一身份参数生成第二规则元素,将第一规则元素与第二规则元素组合,得到第一身份标识;和/或,基于第二标识加密参数与第二身份标识对应的第三身份参数生成第三规则元素,将第一规则元素与第三规则元素组合,得到第二身份标识。
85.第一规则元素,可以用于生成第一身份标识和/或第二身份标识,每个第一身份标识与第二身份标识都需要依赖同一个第一规则元素,而在使用第一规则元素时,可选择是否生成第二规则元素与第三规则元素。
86.第二规则元素,用于生成第一身份标识,第一身份标识是待认证用户的终端出示给第三方的假名。第二规则元素可以与目标身份证书是映射关系,也可以记录于目标身份证书之中。
87.第三规则元素,用于生成第二身份标识,第二身份标识是待认证用户的终端向第三方隐藏的假名。第三规则元素与初始身份证书存在对应关系,且不会记录于初始身份证书之中。
88.在一可选地实施例中,第一规则元素、第二规则元素与第三规则元素的相同之处在于,均是认证机构给出的随机数或其他规则数据,而这些规则数据均是按照认证机构内的规则所生成的。
89.在一可选地实施例中,第一规则元素的表达式可以表述为:ask
sk
;其中,第一标识加密参数表征为ask,sk为账号私钥。第二规则元素的表达式可以表述为rand
mn
,其中,rand
为第二标识加密参数,m

为第一身份参数。第三规则元素可以表述为rand
certs
;其中,rand为第二标识加密参数,certs为第三身份参数。
90.本实施例中,在验证账号标识对应的身份时,选取第一规则元素与第二规则元素进行组合;在生成初始身份证实书,选取第一规则元素与第三规则元素进行组合;可以更便捷地生成第一身份标识和/或第二身份标识,保密性较强,可以更好地实现匿名的效果。
91.在一实施例中,如图8所示,侧重于通过待认证账号的终端生成目标身份证书的步骤,步骤包括:步骤802,获取账号标识,基于账号标识与第二身份标识进行加密映射,得到映射记录信息与映射记录信息对应的映射记录标识。
92.在一可选地实施例中,基于账号标识与第二身份标识进行加密映射,其可以是采用哈希函数进行散列,也可以是使用其他不可逆的加密方式进行的映射。
93.步骤804,获取初始身份证书,对初始身份证书中的签名值进行偏移,得到偏移后的签名值。
94.对初始身份证书中的签名值进行偏移,是将初始身份证书作为模板,对初始身份证书中的数据进行加密,进而得到了偏移后的签名值。偏移后的签名值,是可以包括初始身份证书的部分属性,也可以包括初始身份证书的全部属性。在一可选地实施方式中,偏移的方式可以是基于身份混合器的偏移算法,以便第三方可以直接通过零知识证明算法确定出待验证的用户所具有的权限,却还不知道该待验证的用户的真实身份。偏移的方式也可以是基于其他加密偏移算法的,只要可以能对偏移后的签名值进行零知识证明即可。
95.步骤806,将第二身份标识、第二身份标识的聚合签名、映射记录标识与偏移后的签名值进行组合,得到目标身份证书,目标身份证书用于通过第三方终端的零知识证明确定账号标识对应的权限,和/或,目标身份证书用于生成身份验证请求。
96.目标身份证书,是一种匿名证书,第三方无法通过目标身份证书直接确认待验证用户的账号标识,却可以依赖目标身份证书进行零知识证明,确定其身份对应的权限。
97.本实施例中,介绍生成目标身份证书的技术方案,通过这一方式生成的目标身份证书,可以由第三方进行零知识证明确认待认证用户的账号标识权限,也可以在第三方发送身份验证请求后,追踪到待认证用户的账号标识,确认其身份。
98.上述各实施例分别有其侧重描述的要点,为了介绍本技术完整的技术方案,不再按照创新性等要素进行描述,而是按照技术的实施顺序进行论述,其包括生成认证机构的秘钥对,初始身份证书生成请求的构建,初始身份证书生成请求的检验,初始身份证书的构建,目标身份证书的构建,目标身份证书的验证与追踪。
99.生成认证机构的秘钥对,是在认证机构的服务器中运行的,在一可选地实施方式中,其包括如下步骤:随机选择整数 m∈z
p
,设置认证机构的秘钥对中,认证机构的私钥为csk=m ;其中,z
p
是p阶整数群,表示有限元的数,m是p阶整数群中的随机数;基于认证机构的私钥计算认证机构的公钥,认证机构的公钥表示为。其中,是认证机构的公钥对应的椭圆曲线的生成元。
100.认证机构的服务器中,还包括生成表格准备数据的步骤,用以构建初始身份证书与目标身份证书,该步骤包括:
设置属性名列表为lname=[name 1 ,

,name j ], 其长度len(lname)=j ,认证机构通过属性名列表定义属性结构;随机选择整数, 计算一组长度为 k 的随机数,其中,是与目标椭圆曲线群的生成元,目标椭圆曲线群与上述公钥对应的椭圆曲线群互为双线性对;hl表示目标椭圆曲线群的一组数据。
[0101]
随机选择整数 ,计算得到第一标识加密参数与第二标识加密参数,表示为ask=g
1m1
与rand=g
1m2
,并得到用于对认证机构的公钥进行零知识证明的数据,表示为:。
[0102]
可选地,接下来可以进行认证机构私钥的零知识证明, 记为:,对认证机构私钥进行零知识证明的计算方法如下:a) 随机选择整数,计算 ;b) 计算挑战值;其中,h()表示进行哈希散列映射;c) 计算证明值;最终输出 ca 的密钥对,表示为:;其中,pk是常规意义上的认证机构的公钥,而cpk是认证机构的公钥对应的公钥规则,而本技术的认证机构的秘钥对,可以是指pk或者cpk。
[0103]
任何人可验证认证机构的密钥是否正确,验证过程如下:1)计算用于验证机构秘钥的辅助值;其中,辅助值在实际验证时,会被消元。
[0104]
2)计算用于验证机构秘钥的挑战值,表示为;3)将用于验证机构秘钥的挑战值与进行机构公钥规则中的挑战值进行比较,表示为是否成立,若公式成立, 则认证机构的密钥对正确;否则认证机构的密钥对不正确。
[0105]
进一步地,在生成认证机构的秘钥对之后,就进入了初始身份证书生成请求的构建这一步骤中,初始身份证书生成请求的构建是待认证用户的终端发出的,在一个实施方式中,初始身份证书生成请求的构建包括:(a)待认证用户的终端获取账号标识与认证机构发出的随机整数;账号标识表示
为id,认证机构发出的随机整数表示为carand,。
[0106]
(b)待认证用户的终端选取账号私钥,表示为sk,。
[0107]
(c)待认证用户的终端选取第三身份参数,第三身份参数表示为certs,。
[0108]
(d)基于认证机构的公钥规则,计算第二身份标识,第二身份标识表示为fpk1,第二身份标识的计算过程表示为:;(e)获取哈希函数曲线,将账号标识id代入哈希函数曲线hg(),得到账号标识的哈希曲线映射结果q1,计算过程表示为:;(f)基于bls签名算法,对账号标识的哈希曲线映射结果进行计算,得到第二身份标识对应的聚合签名s
q1
,计算过程表示为:;进一步地,计算关于账号私钥sk和第三身份参数certs的零知识证明,记为,计算过程如下:1) 随机选择整数,计算用于验证账号私钥的辅助值,该计算过程表示为 ;2) 计算用于验证账号私钥的挑战值;3) 计算用于验证账号私钥的证明值s1与s
2 ,表示为:;最后输出的数据是初始身份证书生成请求,表示为:。
[0109]
进一步地,在认证机构的服务器接收到初始身份证书的生成请求之后,会进行校验,认证机构的服务器进行初始身份证书生成请求的检验。在一可选地实施方式中,该步骤包括:(a)将初始身份证书生成请求中的账号标识id代入哈希曲线函数hg(),得到用于检测的账号映射结果q2,计算过程表示为:。
[0110]
(b)将初始身份证书生成请求中的第二身份标识fpk1、用于检测的账号映射结果q2、标识算法的组合参数ask*rand及第二身份标识的聚合签名s
q1
进行双线性映射,表示为:。
[0111]
若双线性映射成立,则可以生成初始身份证书,否则,说明该账号代表的身份存在问题。
[0112]
可选地,还可以使用身份混合器的零知识证明算法进行处理,该方法包括如下步骤:(1)计算用于验证请求的辅助值,表示为:;(2)计算验证请求的挑战值,表示为:;(3)比较验证请求的挑战值,表示为:;若等式成立,则确定初始身份证书生成请求是有效的,可以为该用户办证书,并且将第二身份标识的聚合签名、账号标识与第二身份标识建立对应关系,得到映射记录信息,映射记录信息可以使用列表记录;可以表示为s
q1
、id与fpk1建立相互的对应关系,并通过list存储映射记录信息。
[0113]
进一步地,身份认证机构会根据待验证用户的终端所发送的属性值生成初始身份证书。在一可选地实施方式中,采用如下步骤生成初始身份证书:获取待验证用户的账号标识所提交的属性值,选取用于生成初始身份证书的第一随机数与第二随机数;根据用于生成初始身份证书的第一随机数与第二随机数、第二身份标识及上述目标椭圆曲线群的生成元进行运算,计算出初始身份证书的签名参数,签名参数用于生成签名值,其计算过程可以表述为:;其中,o1为签名参数,fpk1为第二身份标识,rand为第二加密参数,s’为用于生成初始身份证书的第一随机数。
[0114]
而根据签名参数与用户所提交的属性值进行计算,可以得到全部属性信息;其中,得到属性信息是通过签名参数与用户所提交的属性值各个属性值进行连成得到,表示为:;其中,o为属性信息,o1为签名参数,l表示属性值,hl表示目标椭圆曲线的一组数据,j为hl集合中的各个属性值。
[0115]
而属性信息是生成初始身份证书的签名值的基础,初始身份证书的签名值是包括原签名全部内容还有认证机构私钥和用于生成该签名值的随机数,即用于生成初始身份证书的第二随机数;目标签名值的生成过程可以表示为:;其中,u是初始身份证书的签名值,n是用于生成初始身份证书的第二随机数,m是认证机构私钥。
[0116]
由此,就生成了包括初始身份证书的签名值u,属性信息o,用于生成初始身份证书的第一随机数s’,用于生成初始身份证书的第二随机数n,用户提交的属性信息l,初始身份证书可以表示为:。
[0117]
进一步地,在身份认证机构生成秘钥与初始身份证书之后,还包括目标身份证书的构建,目标身份证书的构建主要是已认证账号与身份认证机构的交互过程。在一可选地实施方式中,目标身份证书的构建包括如下步骤:接收到已认证账号提交的目标身份证书生成请求,身份认证机构生成第二身份参数与第二身份参数对应的身份参数记录标识,生成并记录映射记录信息,该计算过程可以为:;其中,hidrand表示映射记录标识,h()表示哈希运算,fpk1表示第二身份标识,id表示已认证账号的账号标识,openrand表示第二身份参数对应的身份参数记录标识。
[0118]
在确定第三方所需的属性值之后,已认证账号的终端可选择隐藏初始身份证书中的属性值,在一可选地实施方式中,会对需要隐藏的属性值的下角标进行标记,表示为,其中,为需要隐藏的属性值的下标。
[0119]
在选定需要隐藏的属性值之后,已认证账号于上述有限元集合中,选择用于偏移初始身份证书中的第一偏移随机数、第二偏移随机数与第一身份参数,并基于第一身份参数生成第一身份标识,并应用第一偏移随机数、第二偏移随机数对初始证书中的信息进行偏移;选择用于偏移初始身份证书中的第一偏移随机数、第二偏移随机数与第一身份参数的步骤表示为: ;基于第一身份参数生成第一身份标识的步骤表示为:;其中,fpk2是第一身份标识,ask是第一标识加密参数,rand是第二标识加密参数,sk是已认证账号的账号私钥,m
n
是第一身份参数。
[0120]
对初始证书中的信息进行偏移的步骤表示为:;其中,u’为初始签名的第一偏移值,为初始签名的第二偏移值,o’无需参与计算,s与s
y
表示偏移的值,certs是第三身份参数,s’为用于生成初始身份证书的第一随机数。
[0121]
在生成第一身份标识,对初始证书中的信息进行偏移之后,已认证账号的终端会生成第一身份标识的初始聚合签名,表示为:;其中,sq2表示第一身份标识的初始聚合签名,q1是基于账号标识进行哈希曲线映射得到的曲线哈希映射值,m
n
是第一身份参数,hrand是第二身份参数。
[0122]
由此,目标身份证书生成完毕,而对已认证账号的账号私钥sk、用于生成初始身份
证书的第二随机数n及偏移时生成的s进行认证时,可以使用如下步骤实现零知识证明:a) 随机选择整数 ,并且,选择一组随机数,是长度为l的一组随机整数,利用下列公式计算生成用于证明目标身份证书的辅助值,表示为:其中,、、及均为辅助值。
[0123]
b) 设签名消息为 me,已认证账号的终端随机产生一个整数,作为目标身份证书的验证表示,表示为urand,, 然后利用下列公式计算用于证明目标身份证书的挑战值:其中,c是用于证明目标身份证书的挑战值,h()表示哈希散列函数,hidrand是映射记录标识。
[0124]
c) 计算用于证明目标身份证书的证明值:对于 0<i ≤ l, 计算 其中,均是用于证明目标身份证书的证明值。
[0125]
而后, 用户出示的目标身份证书或者称为匿名证书或者称为签名的数据,表示为:;进一步地,第三方用户的终端会对目标身份证书进行零知识证明,确认其所对应的格式,验证其对应的格式包括如下步骤:将认证机构公钥与初始签名的第一偏移值进行组合,将认证机构公钥所在曲线函数的生成元与初始签名的第二偏移值进行组合,判断这两个组合是否满足双线性映射,若成立,则目标身份证书格式正确,映射过程表示为:
;其中,pk为认证机构公钥、u’为初始签名的第一偏移值,为初始签名的第二偏移值,g2为认证机构公钥所在曲线函数的生成元。
[0126]
b) 利用下列公式计算用于证明目标身份证书的辅助值,计算该辅助值的作用在上文可见,在此不做赘述,仅列出相应的公式:设需要出示的属性值下标集合记为 ,计算:c) 利用下列公式计算用于证明目标身份证书的挑战值,计算该挑战值的步骤在上文可见,在此不做赘述,仅列出相应的公式 :d) 通过用于证明目标身份证书的挑战值对应的等式进行判断,若等式成立,判断目标身份证书是有效的,可以进行追踪,也可以请求认证机构认证,等式表示为:c

=c 。
[0127]
进一步地,如果需要进行身份追踪,则第三方终端可以向身份认证机构发送身份验证请求,追踪用户的身份。
[0128]
第三方终端发出身份验证请求,身份验证请求包括追踪记录标识、第一身份标识的初始聚合签名及第一身份标识,表示为:;其中,hidrand表示追踪记录标识,sq2是第一身份标识的初始聚合签名,fpk1是第一身份标识。
[0129]
身份认证机构的服务器基于追踪记录标识,确定追踪记录信息,从追踪记录信息中获取用于检测的账号标识、第二身份标识的聚合签名与第二身份参数;身份认证机构的服务器基于第一身份标识的初始聚合签名与第二身份参数的倒数进行计算,得到第一身份标识的待组合的聚合签名,计算待组合的聚合签名的过程表示为:;其中,sq3是第一身份标识的待组合的聚合签名,sq2是第一身份标识的初始聚合
签名,hrand是第二身份参数;聚合第一身份标识与第二身份标识,得到目标身份标识,计算目标身份标识的过程表示为:;其中,fpk是目标身份标识,fpk1是第二身份标识,fpk2是第一身份标识;聚合待组合的聚合签名与第一身份标识的初始聚合签名,得到目标聚合签名;得到目标聚合签名的过程表示为:;其中,sq是目标聚合签名,sq1是第二身份标识的聚合签名,sq3是待组合的聚合签名;最后,通过基于双线性映射原理进行验证,若验证通过,则获取待用于检测的账号映射结果对应的账号标识,将该账户标识作为待检测用户的身份,基于双线性映射原理进行验证的过程表示为:;其中,fpk是目标身份标识,q2是用于检测的账号映射结果,ask*rand是标识算法组合参数,sq是目标聚合签名。
[0130]
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0131]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的身份数据验证方法的身份数据验证装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个身份数据验证装置实施例中的具体限定可以参见上文中对于身份数据验证方法的限定,在此不再赘述。
[0132]
在一个实施例中,如图9所示,提供了一种身份验证装置,包括:第一身份标识获取模块902、第一签名获取模块904、目标聚合签名生成模块906和身份验证模块908,其中:第一身份标识获取模块902,用于接收身份验证请求,从身份验证请求中获取第一身份标识,第一身份标识是账号私钥与第一身份参数基于身份混合器的标识算法生成的,标识算法包括标识算法组合参数,标识算法还用于生成第二身份标识;第一签名获取模块904,用于从身份验证请求中获取第一身份标识的初始聚合签名,初始聚合签名是基于账号标识的曲线哈希映射结果、账号私钥、第一身份参数与第二身份参数进行聚合签名得到;目标聚合签名生成模块906,用于对第二身份参数与第一身份标识的初始聚合签名进行聚合签名,得到待组合的聚合签名,将待组合的聚合签名与第二身份标识的聚合签
名进行组合,生成目标聚合签名;身份验证模块908,用于应用目标聚合签名与标识算法组合参数的组合进行映射,得到目标映射结果,基于目标映射结果验证账号标识对应的身份。
[0133]
在一个实施例中,身份验证模块908包括:身份标识确认单元、第一检验元素获取单元、第二检验元素获取单元及身份追踪单元;身份标识确认单元,用于将第一身份标识与第二身份标识进行聚合,得到目标身份标识;第一检验元素获取单元,用于基于身份验证请求获取映射记录信息,基于映射记录信息获取待检测账号标识,基于待检测账号标识进行哈希曲线映射,得到用于检测的账号映射结果,将用于检测的账号映射结果与目标身份标识的组合进行映射,得到第一身份检验元素;第二检验元素获取单元,用于基于标识算法组合参数与目标聚合签名的组合进行映射,得到第二身份检验元素;身份追踪单元,用于若第一身份检验元素与第二身份检验元素是相对应的,则验证通过,将待检测账号标识确定为追踪到的目标账号标识,目标账号标识用于表征对应的身份。
[0134]
在一个实施例中,第一检验元素获取单元,包括记录消息获取子单元与账号标识获取子单元;记录消息获取子单元,用于基于身份验证请求中的映射记录标识,确定映射记录标识对应的目标映射记录信息,目标映射记录信息包括第二身份标识与待检测账号标识的对应关系,和/或,第二身份标识的聚合签名与待检测账号标识的对应关系;账号标识获取子单元,用于基于目标映射记录信息,确定待检测账号标识。
[0135]
上述装置还包括身份参数获取模块,身份参数获取模块包括:映射记录信息单元与身份参数获取单元。
[0136]
映射记录信息单元,用于基于身份验证请求中的映射记录标识,获取映射记录标识对应的目标映射记录信息。
[0137]
身份参数获取单元,用于基于目标映射记录信息中的身份参数记录标识,获取第二身份参数。
[0138]
上述装置还包括第一证书生成模块,包括初始数据获取单元,第一认证获取单元,第二认证元素获取单元,初始证书生成单元。
[0139]
初始数据获取单元,用于接收初始身份证书生成请求,获取初始身份证书生成请求携带的账号标识、第二身份标识及第二身份标识的聚合签名,第二身份标识的聚合签名是基于账号私钥、第三身份参数与曲线哈希映射结果生成的;第一认证获取单元,用于对账号标识进行曲线哈希映射,得到用于检测的账号映射结果,基于用于检测的账号映射结果与第一身份标识的组合进行映射,得到第一认证检验元素;第二认证元素获取单元,用于基于标识算法组合参数与第二身份标识的聚合签名的组合进行映射,得到第二认证检验元素;初始证书生成单元,用于若第一认证检验元素与第二认证检验元素相对应,则生
成对应于第二身份标识的初始身份证书。
[0140]
在一个实施例中,上述装置还包括身份标识生成模块,身份标识生成模块包括:标识参数构建单元、静态元素生成单元及动态元素生成单元;标识参数构建单元,用于获取认证机构公钥对应的椭圆曲线群,获取与椭圆曲线群呈双线性对的目标椭圆曲线群,从目标椭圆曲线群中获取第一标识加密参数与第二标识加密参数,第一标识加密参数与第二标识加密参数的组合是标识算法组合参数;静态元素生成单元,用于基于第一标识加密参数与账号私钥生成第一规则元素;动态元素生成单元,用于基于第二标识加密参数与第一身份参数生成第二规则元素,将第一规则元素与第二规则元素组合,得到第一身份标识;和/或,基于第二标识加密参数与第二身份标识对应的第三身份参数生成第三规则元素,将第一规则元素与第三规则元素组合,得到第二身份标识。
[0141]
在一个实施例中,上述装置还包括目标身份证书生成模板,目标身份证书生成模板包括映射记录单元,签名偏移单元及目标身份证书生成单元;映射记录单元,用于获取账号标识,基于账号标识与第二身份标识进行加密映射,得到映射记录信息与映射记录信息对应的映射记录标识;签名偏移单元,用于获取初始身份证书,对初始身份证书中的签名值进行偏移,得到偏移后的签名值;目标身份证书生成单元,用于将第二身份标识、第二身份标识的聚合签名、映射记录标识与偏移后的签名值进行组合,得到目标身份证书,目标身份证书用于通过第三方终端的零知识证明确定账号标识对应的权限,和/或,目标身份证书用于生成身份验证请求。
[0142]
上述身份数据验证装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0143]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储身份证明与验证相关的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种身份数据验证方法。
[0144]
本领域技术人员可以理解,图10中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0145]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0146]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0147]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0148]
需要说明的是,本技术所涉及的账号信息(包括但不限于账号设备信息、账号个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经账号授权或者经过各方充分授权的信息和数据。
[0149]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0150]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0151]
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0152]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献