一种生成匿名凭证的方法及系统技术方案

技术编号:26072112 阅读:27 留言:0更新日期:2020-10-28 16:45
本发明专利技术实施例提供一种生成匿名凭证的方法及系统,该方法包括:根据用户的身份信息,生成默克尔树的根哈希;对所述根哈希进行签名,将签名后的根哈希发送给请求端,以使得所述请求端将签名后的根哈希与预设算法生成的根哈希进行比对,若两者相同,则发送确认信号;若接收到所述确认信号,利用默克尔树,生成所述用户的身份凭证。本发明专利技术实施例提供的一种生成匿名凭证的方法及系统,通过默克尔树生成身份凭证,从而在身份凭证中仅保存身份信息的哈希值,在一定意义上避免了用户隐私数据泄露。

【技术实现步骤摘要】
一种生成匿名凭证的方法及系统
本专利技术涉及计算机
,尤其涉及一种生成匿名凭证的方法及系统。
技术介绍
现有技术中基于CA机构的身份凭证产生步骤如下:步骤一:选择根CA,申请CA证书;步骤二:实名认证,向根CA机构提供身份信息进行身份认证;步骤三:根CA对明文身份信息进行签名生成证书;步骤四:使用CA签名的证书作为身份凭证。现有的基于CA机构的身份凭证证书中,身份信息为明文保存,易造成身份信息泄露,因此,亟需一种生成匿名凭证的方法及系统。
技术实现思路
为了解决上述问题,本专利技术实施例提供一种生成匿名凭证的方法及系统。第一方面,本专利技术实施例提供一种生成匿名凭证的方法,包括:根据用户的身份信息,生成默克尔树的根哈希;对所述根哈希进行签名,将签名后的根哈希发送给请求端,以使得所述请求端将签名后的根哈希与预设算法生成的根哈希进行比对,若两者相同,则发送确认信号;若接收到所述确认信号,利用默克尔树,生成所述用户的身份凭证。优选地,所述根据用户的身份信息,生成默克尔树的根哈希,具体包括:将所述身份信息中每一属性的哈希值作为所述默克尔树的每一叶子节点;对每一叶子节点逐层哈希得到所述默克尔树和所述默克尔树的根哈希。优选地,所述预设算法为默克尔树算法。优选地,所述用户的身份凭证具体包括所述用户的每一属性、所述默克尔树、所述用户的每一属性的签名和所述默克尔树的签名。优选地,还包括:获取所述用户的待显示属性,将所述用户的待显示属性显示出来。第二方面,本专利技术实施例提供一种生成匿名凭证的方法,包括:发送用户加密后的身份信息,以使得CA机构根据所述身份信息,生成默克尔树的根哈希,并对所述根哈希进行签名,将签名后的根哈希发送给请求端;接收签名后的根哈希,并将签名后的根哈希与预设算法生成的根哈希进行比对,若两者相同,则向所述CA机构发送确认信号,以使得所述CA机构根据所述确认信号,利用默克尔树,生成所述用户的身份凭证。第三方面,本专利技术实施例还提供一种身份验证方法,包括:获取所述用户的目标属性,并获取所述目标属性的哈希值;根据第一方面提供的一种生成匿名凭证的方法所生成的身份凭证中的默克尔树,判断所述目标属性的哈希值是否正确,若正确,则所述用户的目标属性为真。第四方面,本专利技术实施例提供一种生成匿名凭证的系统,包括:根哈希模块,用于根据用户的身份信息,生成默克尔树的根哈希;确认模块,用于对所述根哈希进行签名,将签名后的根哈希发送给请求端,以使得所述请求端将签名后的根哈希与预设算法生成的根哈希进行比对,若两者相同,则发送确认信号;证书模块,用于若接收到所述确认信号,利用默克尔树,生成所述用户的身份凭证。第五方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现本专利技术第一方面提供的一种生成匿名凭证方法的步骤。第六方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本专利技术第一方面提供的一种生成匿名凭证方法的步骤。本专利技术实施例提供的一种生成匿名凭证的方法及系统,通过默克尔树生成身份凭证,从而在身份凭证中仅保存身份信息的哈希值,在一定意义上避免了用户隐私数据泄露。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的一种生成匿名凭证的方法流程图;图2为本专利技术实施例中默克尔树的示意图;图3为本专利技术又一实施例提供的一种生成匿名凭证的方法的流程图;图4为本专利技术另一实施例提供的一种身份验证方法的流程图;图5为本专利技术实施例提供的一种生成匿名凭证系统的结构示意图;图6为本专利技术实施例提供的一种电子设备的实体结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在网络中常常有一方需要验证另一方身份的情况,被验证方不能自证身份时,需要一个权威的第三方来为被验证方的身份做背书,这个权威的第三方就是CA机构,背书的可信性是通过哈希算法、签名算法等密码学工具来保障的。哈希算法可以生成一段数据的“指纹”称为哈希值,一段数据的哈希是唯一的,且数据被修改后哈希值也会改变,哈希算法是公开的,所以可以通过计算一段数据的哈希值来判断数据是否被修改过。通过私钥对数据加密后生成的数据称为签名,签名可以被公钥验证。CA机构会公开自己的公钥,能够被CA机构公钥验证的签名,说明是CA机构使用私钥加密的。由于私钥是绝对保密的,所以被私钥签名过的数据,可以认为是CA机构认可的数据,从而实现背书的目的。图1为本专利技术实施例提供的一种生成匿名凭证的方法流程图,如图1所示,本专利技术实施例提供一种生成匿名凭证的方法,包括:S1,根据用户的身份信息,生成默克尔树的根哈希;本专利技术实施例的执行主体为CA机构,在用户申请匿名凭证的过程中,首先在用户和CA机构交换身份秘钥后,用户通过对称加密的方式将身份信息发送给CA机构,CA机构在验证用户的身份信息之后,根据用户的身份信息,生成默克尔树的根哈希。用户的身份信息是指能表示用户身份的相关信息,可以包括姓名、年龄、性别、籍贯、学历等信息中的一种或多种,具体可以根据实际需要进行确定。默克尔树是哈希树的应用,默克尔树是一种二叉树,包含了一组节点,每个节点都是它的2个叶子节点的哈希,然后最终的一个根节点也是由它的两个子节点哈希形成,代表着这树的顶端,也就是根节点或根哈希。S2,对所述根哈希进行签名,将签名后的根哈希发送给请求端,以使得所述请求端将签名后的根哈希与预设算法生成的根哈希进行比对,若两者相同,则发送确认信号;CA机构对默克尔树的根哈希进行签名,将签名后的根哈希发送给请求端,请求端接收到签名后的根哈希,将其与利用预设算法生成的根哈希进行比对,如果两者相同,则向CA机构发送确认信号。预设算法生成的根哈希是请求端按照默克尔树的生成规则相对应的算法。S3,若接收到所述确认信号,利用默克尔树,生成所述用户的身份凭证。CA机构如果接收到确认信号,则利用默克尔树得到用户的身份凭证,由于默克尔树为哈希树中的一种,因此,生成的用户的身份凭证中也只包含有用户身份信息的哈希值,身本文档来自技高网...

【技术保护点】
1.一种生成匿名凭证的方法,其特征在于,包括:/n根据用户的身份信息,生成默克尔树的根哈希;/n对所述根哈希进行签名,将签名后的根哈希发送给请求端,以使得所述请求端将签名后的根哈希与预设算法生成的根哈希进行比对,若两者相同,则发送确认信号;/n若接收到所述确认信号,利用默克尔树,生成所述用户的身份凭证。/n

【技术特征摘要】
1.一种生成匿名凭证的方法,其特征在于,包括:
根据用户的身份信息,生成默克尔树的根哈希;
对所述根哈希进行签名,将签名后的根哈希发送给请求端,以使得所述请求端将签名后的根哈希与预设算法生成的根哈希进行比对,若两者相同,则发送确认信号;
若接收到所述确认信号,利用默克尔树,生成所述用户的身份凭证。


2.根据权利要求1所述的生成匿名凭证的方法,其特征在于,所述根据用户的身份信息,生成默克尔树的根哈希,具体包括:
将所述身份信息中每一属性的哈希值作为所述默克尔树的每一叶子节点;
对每一叶子节点逐层哈希得到所述默克尔树和所述默克尔树的根哈希。


3.根据权利要求1所述的生成匿名凭证的方法,其特征在于,所述预设算法为默克尔树算法。


4.根据权利要求1所述的生成匿名凭证的方法,其特征在于,所述用户的身份凭证具体包括所述用户的每一属性、所述默克尔树、所述用户的每一属性的签名和所述默克尔树的签名。


5.根据权利要求4所述的生成匿名凭证的方法,其特征在于,还包括:
获取所述用户的待显示属性,将所述用户的待显示属性显示出来。


6.一种生成匿名凭证的方法,其特征在于,包括:
发送用户加密后的身份信息,以使得CA机构根据所述身份信息,生成默克尔树的根哈希,并对所述根哈希进行签名,将签名后的根哈希发送给请求端;
接收签...

【专利技术属性】
技术研发人员:金键曾西平张发振胡键伟史维君李慧玲郭健单鹏飞阚雪娇周厚发王颜飞
申请(专利权)人:北京泰尔英福网络科技有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1