一种隐私增强的数字身份属性选择性披露及验证方法与流程

专利2026-05-10  0


本发明涉及数据安全,具体涉及一种隐私增强的数字身份属性选择性披露及验证方法。


背景技术:

1、随着互联网等信息技术的发展,越来越多的线下业务进入线上数字空间。线上业务存在大量身份认证场景,如支付、酒店预定、车票订购等,导致用户身份信息被滥用,隐私泄露严重。因此数字空间需要一种安全的身份凭证,既能够自主选择性披露办理业务所需身份信息,又能证明披露的身份信息可信,还能有效隐藏其他个人隐私信息。

2、现有选择性披露的方案均需要提供部分明文身份或身份信息变种的哈希值,由于用户身份属性存在:

3、1)信息量较少的身份属性(如性别只有男、女)

4、2)具有统计规律的身份属性(姓氏、出生省份)

5、如大量选择性披露数据被不法人员或组织获取,可能通过这些规律,在不破解哈希算法的同时,获取到身份属性信息。

6、另外,现有的部分选择性披露方案,需要对所有身份属性进行单独签名,当数字身份中身份属性量较大时,该方案在凭证颁发时需要消耗较多资源,且该数字凭证中数据项较多,凭证较大,本方案只需要对身份信息默克尔哈希树根进行一次签名即可。


技术实现思路

1、针对现有技术的不足,本发明旨在提供一种隐私增强的数字身份属性选择性披露及验证方法。

2、为了实现上述目的,本发明采用如下技术方案:

3、一种隐私增强的数字身份属性选择性披露及验证方法,包括如下步骤:

4、步骤一、初始化:

5、(1.1)用户方将个人身份信息发送至可信第三方,个人身份信息包含有多项身份属性;

6、(1.2)可信第三方生成公私钥对,公钥为pubandy,私钥为priandy;

7、(1.3)可信第三方生成随机数种子rootnonce用于生成用户方的个人身份信息的每个身份属性对应的盐值;

8、(1.4)可信第三方定义盐值生成算法sga;

9、(1.5)用户方从可信第三方处获取rootnonce及sga;

10、(1.6)验证方从可信第三方处获取pubandy;

11、步骤二、可信第三方构建默克尔树,生成默克尔根并下发:

12、(2.1)可信第三方计算盐值:

13、用户方的个人身份信息的每个身份属性分别对应一个盐值,盐值salt由rootnonce及用户方的身份属性在sga算法下派生而来;

14、(2.2)可信第三方根据用户方的个人身份信息的每个身份属性及对应的盐值构建默克尔树:

15、2.2.1、计算叶子节点的哈希值:计算用户方的个人身份信息的各个身份属性的哈希值及各个身份属性对应的盐值的哈希值分别作为各个叶子节点,各个身份属性与其对应的盐值所对应的叶子节点为兄弟节点;

16、2.2.2、递归计算父节点的哈希值:从叶子节点开始,遍历本层节点,依次计算上层父节点;父节点通过对其子节点的哈希值进行串联哈希来创建;

17、2.2.3、直到默克尔树的顶部只有一个节点,即为根节点,计算根节点的哈希值,得到默克尔根merkleroot;

18、(2.3)可信第三方使用自身的私钥priandy对默克尔根merkleroot进行签名,生成签名值s(priandy,merkleroot),然后将默克尔根merkleroot及其签名值s(priandy,merkleroot)发送至用户方;

19、步骤三、用户方选择要披露的身份属性,计算默克尔路径发送至验证方:

20、(3.1)用户方从rootnonce中派生出身份属性的盐值;

21、(3.2)用户方选择要披露的身份属性,并据此计算对应的默克尔路径;

22、(3.3)用户方将要披露的身份属性、默克尔路径上的各个节点的哈希值以及从可信第三方获取的默克尔根的签名值s(priandy,merkleroot)发送至验证方;

23、步骤四、验证方验证默克尔根:

24、(4.1)验证方根据用户方要披露的身份属性及默克尔路径上的各个节点的哈希值重新计算默克尔根merkleroot′:

25、4.1.1、计算要披露的身份属性的哈希值;

26、4.1.2、从要披露的身份属性对应的叶子节点开始,结合默克尔路径上的各个节点的哈希值,向上递归计算父节点的哈希值;

27、4.1.3、推导出根节点的哈希值,得到默克尔根merkleroot′;

28、(4.2)验证方验证默克尔根:

29、验证方使用公钥pubandy及merkleroot′,验证s(priandy,merkleroot),若验签通过,则用户方披露的身份属性可信,至此验证方成功验证用户方披露的身份属性。

30、进一步地,步骤(3.2)的具体过程为:

31、(3.2.1)选择要披露的身份属性并计算其哈希值;

32、(3.2.2)将要披露的身份属性对应的叶子节点的兄弟节点加入默克尔路径中;

33、(3.2.3)计算要披露的身份属性对应的叶子节点的父节点的哈希值,据此找到要披露的身份属性对应的叶子节点的父节点的兄弟节点加入默克尔路径中;

34、(3.2.4)递归执行步骤(3.2.3),逐层向上计算相应父节点的哈希值并将相应父节点的兄弟节点加入默克尔路径中,直至计算至默克尔树的根节点。

35、本发明还提供一种可信第三方计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤二。

36、本发明还提供一种可信第三方计算机设备,包括处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序时,实现上述方法的步骤二。

37、本发明还提供一种用户方计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤三。

38、本发明还提供一种用户方计算机设备,包括处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序时,实现上述方法的步骤三。

39、本发明还提供一种验证方计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤四。

40、本发明还提供一种验证方计算机设备,包括处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序时,实现上述方法的步骤四。

41、本发明的有益效果在于:

42、1、利用本发明方法,用户在对外选择性披露隐私信息时,无需提供所有隐私信息明文的哈希值,除去希望披露的隐私信息外,其余为校验身份属性信息合法性所披露的哈希值均为明文隐私信息的多重散列变换。

43、2、本发明方法使用身份属性哈希作为默克尔树的叶子节点构建默克尔树,生成根哈希,凭据签发方只对默克尔根哈希签名,验证方只需验证此签名即可证明身份属性的真实性和完整性。

44、3、本发明方法在默克尔树中添加盐值节点,隐藏身份属性及其哈希值,增大暴力破解和彩虹表攻击的难度,避免身份信息泄露。

45、4、本发明方法在构建默克尔树时,为每个身份属性叶子节点增加兄弟节点,此节点为盐值节点。在选择性披露身份属性时,可有效隐藏其他身份属性,避免身份信息泄露。


技术特征:

1.一种隐私增强的数字身份属性选择性披露及验证方法,其特征在于,包括如下步骤:

2.根据权利要求1所述的方法,其特征在于,步骤(3.2)的具体过程为:

3.一种可信第三方计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-2任一所述方法的步骤二。

4.一种可信第三方计算机设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序时,实现权利要求1-2任一所述方法的步骤二。

5.一种用户方计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-2任一所述方法的步骤三。

6.一种用户方计算机设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序时,实现权利要求1-2任一所述方法的步骤三。

7.一种验证方计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-2任一所述方法的步骤四。

8.一种验证方计算机设备,其特征在于,包括处理器和存储器,所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序时,实现权利要求1-2任一所述方法的步骤四。


技术总结
本发明公开了一种隐私增强的数字身份属性选择性披露及验证方法,用户在对外选择性披露隐私信息时,无需提供所有隐私信息明文的哈希值,除去希望披露的隐私信息外,其余为校验身份属性信息合法性所披露的哈希值均为明文隐私信息的多重散列变换。使用身份属性哈希作为默克尔树的叶子节点构建默克尔树,生成根哈希,凭据签发方只对默克尔根哈希签名,验证方只需验证此签名即可证明身份属性的真实性和完整性。在默克尔树中添加盐值节点,隐藏身份属性及其哈希值,增大暴力破解和彩虹表攻击的难度,避免身份信息泄露。在构建默克尔树时,为每个身份属性叶子节点增加兄弟节点,在选择性披露身份属性时,可有效隐藏其他身份属性,避免身份信息泄露。

技术研发人员:郭小波,王月成,冯济桥,陈天杰,蒋才平,肖培森,王华,亢洋
受保护的技术使用者:公安部第一研究所
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-30984.html