基于零知识证明的属性凭证的验证方法及装置



1.本发明属于计算机科学的技术领域,具体涉及一种基于零知识证明的属性凭证的验证方法及装置。


背景技术:



2.属性凭证(attribute-based credential)是一种电子文件,其中的内容包括了由发行者签署,赋与凭证所有者的属性资料。当相关属性资料都是与授权有关时,这类文件就称为属性凭证。属性值往往可以表现为数值向量或键值对列表的形式。目前此领域大多是采用方法有:1. 基于x.509标准实现的基于公钥签名算法的属性凭证方案。基于公钥签名算法的属性凭证方案可以通过对属性值签名的办法完成授权。该种属性凭证中以明文方式出现属性值,存在隐私泄漏风险;2. 基于零知识证明的身份凭证方案,发行者针对用户身份本身进行相关授权,但是现有基于零知识证明的身份凭证方案无法实现细粒度的验证策略。
3.因此,需要提供一种既保护用户数据隐私,又能实现细粒度验证策略的基于零知识证明的属性凭证系统及方法。


技术实现要素:



4.本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于零知识证明的属性凭证的验证方法及装置,其具有保护用户数据隐私和细粒度验证策略的优点,同时以比较低的交互次数和交互通信量完成凭证的签发和证明。
5.为了达到上述目的,本发明采用以下技术方案:第一方面,本发明提供了一种基于零知识证明的属性凭证验证方法,包括下述步骤:构造属性凭证,所述属性凭证包括有效凭证记录表、凭证证明记录表以及7个模块,所述7个模块具体为:签发者初始化模块:输入安全参数λ,输出签发者身份标识符;用户初始化模块:输入安全参数λ,输出用户身份标识符;验证者初始化模块:输入安全参数λ,输出验证者验证条件;凭证签发模块:输入用户属性值,生成并输出属性凭证;凭证撤回模块:输入属性凭证,返回处理结果;凭证证明生成模块:输入用户属性值、验证条件和相应属性凭证,输出凭证证明;凭证证明验证模块:输入凭证证明,根据有效凭证记录表,输出验证结果;
签发属性凭证,用户向作为签发者的可信第三方提出属性凭证申请;签发者对用户的属性值进行审核,并生成每个用户唯一的随机盐值;签发者对已认证的属性信息和随机盐值进行凭证签发操作,然后将属性凭证通过安全信道发回给用户,同时将新签发的属性凭证添加到有效凭证记录表中;验证属性凭证,用户从安全信道中获取验证者所需的验证约束条件;用户根据自身属性值、随机盐值和经签发者认证的属性凭证使用凭证证明生成模块生成对应的零知识的属性值消息;用户将零知识的凭证证明消息通过可信信道发送给验证者;验证者在收到用户发来的凭证证明消息后对消息内容进行解析,并验证凭证证明的正确性和有效性。
6.作为优选的技术方案,在签发属性凭证的步骤中,用户作为凭证申请人将自身的属性值发送给签发者,属性值以一位向量的形式发送,长度为n的属性值表示如下:之后签发者随机生成盐值,并根据属性信息和随机盐值进行凭证签发操作:式中为凭证签发算法的结果,及用户本次申请得到的属性凭证;为哈希算法;为用户身份;为签发者身份;为随机盐值;为用户的属性值向量。
7.作为优选的技术方案,在验证属性凭证的步骤中,验证者所需的验证约束条件如下之一:自身属性值的大小在预设区间内;自身属性值等于设定的第一阈值;自身属性值不等于设定的第二阈值;自身属性值是预设集合中的元素。
8.作为优选的技术方案,在验证属性的步骤中,用户所生成凭证证明包含如下四个部分的证明:属性凭证是有签发者维护的效凭证列表中的元素;凭证证明唯一标识符根据哈希算法正确生成;属性凭证与自身属性值拥有对应关系;属性值符合验证条件。
9.作为优选的技术方案,在验证属性的步骤中,在验证属性凭证的步骤中,用户发送给验证者的凭证证明消息中的元素包括:其中是为用户签发凭证的签发者,代表用户属性凭证来源;是凭证证明本身,是一份零知识的证明;t代表用户生成该凭证证明消息时所在的时间戳信息。
10.作为优选的技术方案,在验证属性的步骤中,验证者的属性验证内容包括:
具体定义为:属性凭证是t时刻由签发者维护的属性凭证集合中的元素;对于属性凭证中的隐私属性,满足函数关系使得成立;属性凭证由如下内容作为混合输入后经杂凑函数生成:用户身份;签发者身份;随机盐值;隐私属性向量;对于验证内容中的,验证者采用的验证方式为:将原证明问题转化为存在一个长度为n的向量,向量的除了一位是1之外,其他位均为0, 向量和集合的内积结果为集合中的元素;将形式化问题转化为:其中,符号
“”
表示哈达玛积;验证者通过验证向量的存在性实现对用户凭证证明关联的凭证有效性的检查。
11.作为优选的技术方案,签发者调用签发者初始化模块来生成签发者的身份;用户调用用户初始化模块来生成用户的身份;验证者调用验证者初始化模块来声明自身验证条件,并与有效凭证记录表和凭证证明记录表创立连接;签发者调用凭证签发模块为用户生成属性凭证;用户根据属性值、验证条件和相应属性凭证,调用凭证证明生成模块来生成凭证证明;用户将凭证证明发送给验证者;验证者查询凭证证明是否存在于凭证证明记录表中,如果有,则拒绝;反之继续执行下一步;验证者调用凭证证明验证模块来检查凭证证明的正确性,如果正确,则接受,并添
加当前凭证证明到凭证证明记录表中;反之则拒绝。
12.第二方面,本发明还提供了一种基于零知识证明的属性凭证验证系统,包括属性凭证构造模块、属性凭证签发模块以及属性凭证验证模块;所述属性凭证构造模块,用于构造属性凭证,所述属性凭证包括有效凭证记录表、凭证证明记录表以及7个模块,所述7个模块具体为:签发者初始化模块:输入安全参数λ,输出签发者身份标识符;用户初始化模块:输入安全参数λ,输出用户身份标识符;验证者初始化模块:输入安全参数λ,输出验证者验证条件;凭证签发模块:输入用户属性值,生成并输出属性凭证;凭证撤回模块:输入属性凭证,返回处理结果;凭证证明生成模块:输入用户属性值、验证条件和相应属性凭证,输出凭证证明;凭证证明验证模块:输入凭证证明,根据有效凭证记录表,输出验证结果;所述属性凭证签发模块,用于签发属性凭证,用户向作为签发者的可信第三方提出属性凭证申请;签发者对用户的属性值进行审核,并生成每个用户唯一的随机盐值;签发者对已认证的属性信息和随机盐值进行凭证签发操作,然后将属性凭证通过安全信道发回给用户,同时将新签发的属性凭证添加到有效凭证记录表中;所述属性凭证验证模块,用于验证属性凭证,用户从安全信道中获取验证者所需的验证约束条件;用户根据自身属性值、随机盐值和经签发者认证的属性凭证使用凭证证明生成模块生成对应的零知识的属性值消息;用户将零知识的凭证证明消息通过可信信道发送给验证者;验证者在收到用户发来的凭证证明消息后对消息内容进行解析,并验证凭证证明的正确性和有效性。
13.第三方面,本发明还提供了一种电子设备,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行所述的基于零知识证明的属性凭证验证方法。
14.第四方面,本发明还提供了一种计算机可读存储介质,存储有程序,所述程序被处理器执行时,实现所述的基于零知识证明的属性凭证验证方法。
15.本发明与现有技术相比,具有如下优点和有益效果:1.本发明具有更加细粒度的属性验证条件约束方式,例如可以实现属性值的范围证明、内积关系证明和集合属于关系证明。
16.2.本发明用户凭证与凭证证明分离,保护了用户属性凭证中的明文信息。
17.3.本发明采用零知识证明的方式,最大程度的保护用户身份隐私,具有很好的匿名性。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1为本发明实施例基于零知识证明的属性凭证验证方法的流程图;图2为本发明实施例有效凭证记录表示意图;图3为本发明实施例凭证证明记录表示意图;图4为本发明实施例凭证证明具体构造方式流程图;图5为本发明实施例凭证证明内容的示意图。
20.图6为本发明实施例基于零知识证明的属性凭证验证系统的方框图。
21.图7为本发明实施例电子设备的结构图。
具体实施方式
22.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
23.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本技术所描述的实施例可以与其它实施例相结合。
24.如图1所示,本发明基于零知识证明的属性凭证验证方法包括三种参与角:签发者、用户和验证者。角行为如下:签发者:签发者在检查用户信息后,签发对用户信息的凭证。同时签发者维护一张凭证信息表,用以记录当前仍然生效的凭证记录。对于每一次的新增、撤回凭证,签发者都需要对凭证信息表内容进行更新。
25.用户:用户在属性凭证系统中拥有唯一身份标识称为其公钥,从签发者处获得凭证并根据验证者的条件,生成对应的零知识证明作为凭证证明。
26.验证者:验证者在收到用户的零知识证明后,首先检查用户零知识证明中涉及的凭证是否属于有效凭证信息表中。然后检查该证明是否正确,是否符合事先提供的验证条件。
27.本技术中,采用的零知识证明的属性凭证包括下两个存储记录表和七个模块,具体为:两个存储记录表:(1)有效凭证记录表:由每一个签发者维护,涉及新增凭证和撤回凭证两个操作,其中包含系统中当前仍然有效的凭证记录集合,如图2所示。
28.(2)凭证证明记录表:由验证者全体维护,只支持新增操作,记录已经使用过的凭证证明,如图3所示。
29.七个模块具体为:签发者初始化模块:输入安全参数λ,输出签发者身份标识符;用户初始化模块:输入安全参数λ,输出用户身份标识符;验证者初始化模块:输入安全参数λ,输出验证者验证条件;凭证签发模块:输入用户属性值,生成并输出属性凭证;凭证撤回模块:输入属性凭证,返回处理结果;凭证证明生成模块:输入用户属性值、验证条件和相应属性凭证,输出凭证证明;凭证证明验证模块:输入凭证证明,根据有效凭证记录表,输出验证结果。
30.进一步的,上述7个模块的调用如下:用户调用用户初始化模块来生成用户的身份;验证者调用验证者初始化模块来声明自身验证条件,并与有效凭证记录表和凭证证明记录表创立连接;签发者调用凭证签发模块为用户生成属性凭证;用户根据属性值、验证条件和相应属性凭证,调用凭证证明生成模块来生成凭证证明;用户将凭证证明发送给验证者;验证者查询凭证证明是否存在于凭证证明记录表中,如果有,则拒绝;反之继续执行下一步;验证者调用凭证证明验证模块来检查凭证证明的正确性,如果正确,则接受,并添加当前凭证证明到凭证证明记录表中;反之则拒绝。
31.如图4所示,凭证证明的构造方式如下:签发者为用户签发的属性凭证的构造方法为计算用户身份、签发者身份、随机参数、用户属性值的密码学哈希值。形式化定义如下:。
32.如图5所示,凭证证明本身是一份零知识证明,其证明内容主要包括以下四方面内容:(1)属性凭证是有签发者维护的效凭证列表中的元素;(2)凭证证明唯一标识符根据哈希算法正确生成;(3)属性凭证与自身属性值拥有对应关系;(4)属性值符合验证条件。
33.请再次参阅图1,本技术基于零知识证明的属性凭证验证方法,包括下述具体步骤:
s1、构造上述的属性凭证,所述属性凭证包括有效凭证记录表、凭证证明记录表以及7个模块。
34.s2、签发属性凭证,用户向作为签发者的可信第三方提出属性凭证申请;签发者对用户的属性值进行审核,并生成每个用户唯一的随机盐值;签发者对已认证的属性信息和随机盐值进行凭证签发操作,然后将属性凭证通过安全信道发回给用户,同时将新签发的属性凭证添加到有效凭证记录表中。
35.进一步的,用户作为凭证申请人将自身的属性值发送给签发者,属性值以一位向量的形式发送,长度为n的属性值表示如下:之后签发者随机生成盐值,并根据属性信息和随机盐值进行凭证签发操作:式中为凭证签发算法的结果,及用户本次申请得到的属性凭证;为哈希算法;为用户身份;为签发者身份;为随机盐值;为用户的属性值向量。
36.s3、验证属性凭证,用户从安全信道中获取验证者所需的验证约束条件;用户根据自身属性值、随机盐值和经签发者认证的属性凭证使用凭证证明生成模块生成对应的零知识的属性值消息;用户将零知识的凭证证明消息通过可信信道发送给验证者;验证者在收到用户发来的凭证证明消息后对消息内容进行解析,并验证凭证证明的正确性和有效性。
37.在验证属性凭证的步骤中,验证者所需的验证约束条件如下之一:自身属性值的大小在预设区间内;自身属性值等于设定的第一阈值;自身属性值不等于设定的第二阈值;自身属性值是预设集合中的元素。
38.在其中一个实施例中,例如在身份认证的场景中,需要证明年龄属性值在大于18的区间内,或是年龄值等于20,或是年龄值不等于23,也可能需要证明姓名这一属性值在白名单这样的预设集合内。
39.进一步的,在验证属性凭证的步骤中,用户发送给验证者的凭证证明消息中的元素包括:其中是为用户签发凭证的签发者,代表用户属性凭证来源;是凭证证明本身,是一份零知识的证明;t代表用户生成该凭证证明消息时所在的时间戳信息。
40.进一步的,验证者的属性验证包括:
具体定义为:属性凭证是t时刻由签发者维护的属性凭证集合中的元素;对于属性凭证中的隐私属性,满足函数关系使得成立;属性凭证由如下内容作为混合输入后经杂凑函数生成:用户身份;签发者身份;随机盐值;隐私属性向量;对于验证内容中的,验证者采用的验证方式为:将原证明问题转化为存在一个长度为n的向量,向量的除了一位是1之外,其他位均为0, 向量和集合的内积结果为集合中的元素;将形式化问题转化为:其中,符号
“”
表示哈达玛积;验证者通过验证向量的存在性实现对用户凭证证明关联的凭证有效性的检查。
41.用户想要通过验证者对零知识的凭证证明的检查,需要同时满足三条检查内容,对于其中的每一条内容,不符合要求的用户只有的概率能够猜对,其中λ为安全参数,在本发明中采用,因此对于整体方案而言,验证者验证有效的概率为,验证出错概率为,出错概率可以忽略不计。
42.通过本发明的上述技术方案,该属性凭证验证方法有如下特性:不可伪造性:用户在未获得签发者验证的前提下,不能伪造出虚假的凭证和相应的凭证证明,使得验证者能对凭证证明验证通过。
43.不可链接性:任何参与者无法分辨出两条凭证证明是否由同一个凭证产生,任何参与者无法从凭证证明推导出对应的凭证本身。
44.最小披露性:根据凭证和验证条件生成的凭证证明只会披露用户属性是否符合验证条件,例如属性值等额外内容不予以披露。
45.签发者不可知性:凭证签发者应当知道用户的真实身份和隐私信息,但是在完成
凭证发行后不能从用户后期的凭证证明行为中知道用户具体证明的内容。
46.可撤销性:凭证签发者可以对已发行的凭证进行撤销操作,完成撤销操作后过期的凭证无法被用作证明用途。
47.不可复用性:同一用户针对相同验证条件的同一份凭证证明,不可以被复用。
48.需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
49.基于与上述实施例中的基于零知识证明的属性凭证验证方法相同的思想,本发明还提供了基于零知识证明的属性凭证验证系统,该系统可用于执行上述基于零知识证明的属性凭证验证方法。为了便于说明,基于零知识证明的属性凭证验证系统实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
50.请参阅图6,在本技术的另一个实施例中,提供了一种基于零知识证明的属性凭证验证系统100,该系统包括属性凭证构造模块101、属性凭证签发模块102以及属性凭证验证模块103;所述属性凭证构造模块101,用于构造属性凭证,所述属性凭证包括有效凭证记录表、凭证证明记录表以及7个模块,所述7个模块具体为:签发者初始化模块:输入安全参数λ,输出签发者身份标识符;用户初始化模块:输入安全参数λ,输出用户身份标识符;验证者初始化模块:输入安全参数λ,输出验证者验证条件;凭证签发模块:输入用户属性值,生成并输出属性凭证;凭证撤回模块:输入属性凭证,返回处理结果;凭证证明生成模块:输入用户属性值、验证条件和相应属性凭证,输出凭证证明;凭证证明验证模块:输入凭证证明,根据有效凭证记录表,输出验证结果;所述属性凭证签发模块102,用于签发属性凭证,用户向作为签发者的可信第三方提出属性凭证申请;签发者对用户的属性值进行审核,并生成每个用户唯一的随机盐值;签发者对已认证的属性信息和随机盐值进行凭证签发操作,然后将属性凭证通过安全信道发回给用户,同时将新签发的属性凭证添加到有效凭证记录表中;所述属性凭证验证模块103,用于验证属性凭证,用户从安全信道中获取验证者所需的验证约束条件;用户根据自身属性值、随机盐值和经签发者认证的属性凭证使用凭证证明生成模块生成对应的零知识的属性值消息;用户将零知识的凭证证明消息通过可信信道发送给验证者;验证者在收到用户发来的凭证证明消息后对消息内容进行解析,并验证凭证证明的正确性和有效性。
51.需要说明的是,本发明的基于零知识证明的属性凭证验证系统与本发明的基于零
知识证明的属性凭证验证方法一一对应,在上述基于零知识证明的属性凭证验证方法的实施例阐述的技术特征及其有益效果均适用于基于零知识证明的属性凭证验证的实施例中,具体内容可参见本发明方法实施例中的叙述,此处不再赘述,特此声明。
52.此外,上述实施例的基于零知识证明的属性凭证验证系统的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述基于零知识证明的属性凭证验证系统的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
53.请参阅图6,在一个实施例中,提供了一种实现基于零知识证明的属性凭证验证方法的电子设备,所述电子设备200可以包括第一处理器201、第一存储器202和总线,还可以包括存储在所述第一存储器202中并可在所述第一处理器201上运行的计算机程序,如基于零知识证明的属性凭证验证程序203。
54.其中,所述第一存储器202至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述第一存储器202在一些实施例中可以是电子设备200的内部存储单元,例如该电子设备200的移动硬盘。所述第一存储器202在另一些实施例中也可以是电子设备200的外部存储设备,例如电子设备200上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(securedigital,sd)卡、闪存卡(flash card)等。进一步地,所述第一存储器202还可以既包括电子设备200的内部存储单元也包括外部存储设备。所述第一存储器202不仅可以用于存储安装于电子设备200的应用软件及各类数据,例如基于零知识证明的属性凭证验证程序203的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
55.所述第一处理器201在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述第一处理器201是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述第一存储器202内的程序或者模块,以及调用存储在所述第一存储器202内的数据,以执行电子设备200的各种功能和处理数据。
56.图6仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图6示出的结构并不构成对所述电子设备200的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
57.所述电子设备200中的所述第一存储器202存储的基于零知识证明的属性凭证验证程序203是多个指令的组合,在所述第一处理器201中运行时,可以实现:构造属性凭证,所述属性凭证包括有效凭证记录表、凭证证明记录表以及7个模块,所述7个模块具体为:签发者初始化模块:输入安全参数λ,输出签发者身份标识符;用户初始化模块:输入安全参数λ,输出用户身份标识符;验证者初始化模块:输入安全参数λ,输出验证者验证条件;
凭证签发模块:输入用户属性值,生成并输出属性凭证;凭证撤回模块:输入属性凭证,返回处理结果;凭证证明生成模块:输入用户属性值、验证条件和相应属性凭证,输出凭证证明;凭证证明验证模块:输入凭证证明,根据有效凭证记录表,输出验证结果;签发属性凭证,用户向作为签发者的可信第三方提出属性凭证申请;签发者对用户的属性值进行审核,并生成每个用户唯一的随机盐值;签发者对已认证的属性信息和随机盐值进行凭证签发操作,然后将属性凭证通过安全信道发回给用户,同时将新签发的属性凭证添加到有效凭证记录表中;验证属性凭证,用户从安全信道中获取验证者所需的验证约束条件;用户根据自身属性值、随机盐值和经签发者认证的属性凭证使用凭证证明生成模块生成对应的零知识的属性值消息;用户将零知识的凭证证明消息通过可信信道发送给验证者;验证者在收到用户发来的凭证证明消息后对消息内容进行解析,并验证凭证证明的正确性和有效性。
58.进一步地,所述电子设备200集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个非易失性计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
59.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram (dram)、同步dram (sdram)、双数据率sdram (ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
60.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
61.上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

技术特征:


1.基于零知识证明的属性凭证验证方法,其特征在于,包括下述步骤:构造属性凭证,所述属性凭证包括有效凭证记录表、凭证证明记录表以及7个模块,所述7个模块具体为:签发者初始化模块:输入安全参数λ,输出签发者身份标识符;用户初始化模块:输入安全参数λ,输出用户身份标识符;验证者初始化模块:输入安全参数λ,输出验证者验证条件;凭证签发模块:输入用户属性值,生成并输出属性凭证;凭证撤回模块:输入属性凭证,返回处理结果;凭证证明生成模块:输入用户属性值、验证条件和相应属性凭证,输出凭证证明;凭证证明验证模块:输入凭证证明,根据有效凭证记录表,输出验证结果;签发属性凭证,用户向作为签发者的可信第三方提出属性凭证申请;签发者对用户的属性值进行审核,并生成每个用户唯一的随机盐值;签发者对已认证的属性信息和随机盐值进行凭证签发操作,然后将属性凭证通过安全信道发回给用户,同时将新签发的属性凭证添加到有效凭证记录表中;验证属性凭证,用户从安全信道中获取验证者所需的验证约束条件;用户根据自身属性值、随机盐值和经签发者认证的属性凭证使用凭证证明生成模块生成对应的零知识的属性值消息;用户将零知识的凭证证明消息通过可信信道发送给验证者;验证者在收到用户发来的凭证证明消息后对消息内容进行解析,并验证凭证证明的正确性和有效性。2.根据权利要求1所述基于零知识证明的属性凭证验证方法,其特征在于,在签发属性凭证的步骤中,用户作为凭证申请人将自身的属性值发送给签发者,属性值以一位向量的形式发送,长度为n的属性值表示如下:之后签发者随机生成盐值,并根据属性信息和随机盐值进行凭证签发操作:式中为凭证签发算法的结果,及用户本次申请得到的属性凭证;为哈希算法;为用户身份;为签发者身份;为随机盐值;为用户的属性值向量。3.根据权利要求1所述基于零知识证明的属性凭证验证方法,其特征在于,在验证属性凭证的步骤中,验证者所需的验证约束条件如下之一:自身属性值的大小在预设区间内;自身属性值等于设定的第一阈值;自身属性值不等于设定的第二阈值;自身属性值是预设集合中的元素。
4.根据权利要求1所述基于零知识证明的属性凭证验证方法,其特征在于,在验证属性的步骤中,用户所生成凭证证明包含如下四个部分的证明:属性凭证是有签发者维护的效凭证列表中的元素;凭证证明唯一标识符根据哈希算法正确生成;属性凭证与自身属性值拥有对应关系;属性值符合验证条件。5.根据权利要求1所述基于零知识证明的属性凭证验证方法,其特征在于,在验证属性的步骤中,在验证属性凭证的步骤中,用户发送给验证者的凭证证明消息中的元素包括:其中是为用户签发凭证的签发者,代表用户属性凭证来源;是凭证证明本身,是一份零知识的证明;t代表用户生成该凭证证明消息时所在的时间戳信息。6.根据权利要求1所述基于零知识证明的属性凭证验证方法,其特征在于,在验证属性的步骤中,验证者的属性验证内容包括:具体定义为:属性凭证是t时刻由签发者维护的属性凭证集合中的元素;对于属性凭证中的隐私属性,满足函数关系使得成立;属性凭证由如下内容作为混合输入后经杂凑函数生成:用户身份;签发者身份;随机盐值;隐私属性向量;对于验证内容中的,验证者采用的验证方式为:将原证明问题转化为存在一个长度为n的向量,向量的除了一位是1之外,其他位均为0, 向量和集合的内积结果为集合中的元素;将形式化问题转化为:
其中,符号
“”
表示哈达玛积;验证者通过验证向量的存在性实现对用户凭证证明关联的凭证有效性的检查。7.根据权利要求1所述基于零知识证明的属性凭证验证方法,其特征在于,签发者调用签发者初始化模块来生成签发者的身份;用户调用用户初始化模块来生成用户的身份;验证者调用验证者初始化模块来声明自身验证条件,并与有效凭证记录表和凭证证明记录表创立连接;签发者调用凭证签发模块为用户生成属性凭证;用户根据属性值、验证条件和相应属性凭证,调用凭证证明生成模块来生成凭证证明;用户将凭证证明发送给验证者;验证者查询凭证证明是否存在于凭证证明记录表中,如果有,则拒绝;反之继续执行下一步;验证者调用凭证证明验证模块来检查凭证证明的正确性,如果正确,则接受,并添加当前凭证证明到凭证证明记录表中;反之则拒绝。8.基于零知识证明的属性凭证验证系统,其特征在于,包括属性凭证构造模块、属性凭证签发模块以及属性凭证验证模块;所述属性凭证构造模块,用于构造属性凭证,所述属性凭证包括有效凭证记录表、凭证证明记录表以及7个模块,所述7个模块具体为:签发者初始化模块:输入安全参数λ,输出签发者身份标识符;用户初始化模块:输入安全参数λ,输出用户身份标识符;验证者初始化模块:输入安全参数λ,输出验证者验证条件;凭证签发模块:输入用户属性值,生成并输出属性凭证;凭证撤回模块:输入属性凭证,返回处理结果;凭证证明生成模块:输入用户属性值、验证条件和相应属性凭证,输出凭证证明;凭证证明验证模块:输入凭证证明,根据有效凭证记录表,输出验证结果;所述属性凭证签发模块,用于签发属性凭证,用户向作为签发者的可信第三方提出属性凭证申请;签发者对用户的属性值进行审核,并生成每个用户唯一的随机盐值;签发者对已认证的属性信息和随机盐值进行凭证签发操作,然后将属性凭证通过安全信道发回给用户,同时将新签发的属性凭证添加到有效凭证记录表中;所述属性凭证验证模块,用于验证属性凭证,用户从安全信道中获取验证者所需的验
证约束条件;用户根据自身属性值、随机盐值和经签发者认证的属性凭证使用凭证证明生成模块生成对应的零知识的属性值消息;用户将零知识的凭证证明消息通过可信信道发送给验证者;验证者在收到用户发来的凭证证明消息后对消息内容进行解析,并验证凭证证明的正确性和有效性。9.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序指令,所述计算机程序指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-7中任意一项所述的基于零知识证明的属性凭证验证方法。10.一种计算机可读存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1-7任一项所述的基于零知识证明的属性凭证验证方法。

技术总结


本发明公开了一种基于零知识证明的属性凭证验证方法及装置,方法包括:构造属性凭证;签发属性凭证,用户向作为签发者的可信第三方提出属性凭证申请;签发者生成每个用户唯一的随机盐值,签发者对已认证的属性信息和随机盐值进行凭证签发;验证属性凭证,用户从安全信道中获取验证者所需的验证约束条件,用户使用凭证证明生成模块生成对应的零知识的属性值消息,用户将零知识的凭证证明消息通过可信信道发送给验证者;验证者在收到用户发来的凭证证明消息后对消息内容进行解析,验证凭证证明的正确性和有效性。本发明具有保护用户数据隐私和细粒度验证策略的优点,同时以比较低的交互次数和交互通信量完成凭证的签发和证明。互次数和交互通信量完成凭证的签发和证明。互次数和交互通信量完成凭证的签发和证明。


技术研发人员:

蒋琳 潘以鉴 谢敏 方俊彬 刘洋 付希明 王轩

受保护的技术使用者:

暨南大学

技术研发日:

2022.11.16

技术公布日:

2022/12/19

本文发布于:2024-09-22 03:30:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/42644.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:凭证   属性   用户   模块
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议