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

一种数字身份属性的选择性披露方法和装置与流程

2022-02-20 00:17:54 来源:中国专利 TAG:


1.本说明书涉及计算机软件技术领域,尤其涉及一种数字身份属性的选择性披露方法、装置和电子设备。


背景技术:

2.随着互联网技术的发展,身份认证技术得到了广泛的应用,但同时也给持有者带来了隐私问题,特别是当持有者只需要披露自己的某些身份属性时,当前普遍做法是持有者出示自己的数字证书,数字证书中包含持有者全部身份属性以及一个颁发者的签名,这样会披露其他的身份属性,为持有者带来隐私风险。因此设计出一种能够由持有者选择披露指定身份属性的方案是有意义的。


技术实现要素:

3.本说明书实施例的目的是针对区块链共识问题,提供一种数字身份属性的选择性披露方法和装置。
4.为解决上述技术问题,本说明书实施例是这样实现的:
5.第一方面,提出了种数字身份属性的选择性披露方法,应用于第一组件,包括:
6.颁发者公布公开参数,以使持有者根据所述公开参数对身份属性进行加密;
7.所述持有者获得所述公开参数后,根据所选加密方式计算身份属性加密数据发送至颁发者;
8.所述颁发者依次验证所述身份属性和所述身份属性加密数据,验证通过后为所述持有者颁发证书。
9.第二方面,提出了一种数字身份属性的选择性披露装置,包括:
10.公开参数管理模块,用于管理颁发者发布的公开参数,所述公开参数包括所述颁发者选择生成元为g的p阶乘法循环群g以及安全哈希函数h,所述安全哈希函数h可将任意长度字符串映射为z
p
上的元素;
11.身份属性加密模块,用于在持有者获得所述公开参数后,根据所选加密方式计算身份属性加密数据发送至所述颁发者;
12.证书管理模块,用于所述颁发者依次验证所述身份属性和所述身份属性加密数据,验证通过后为所述持有者颁发证书。
13.第三方面,提出了一种数字身份属性的选择性披露方法,应用于第二组件,包括:
14.持有者向验证者提交指定身份属性以及证书以及由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素;
15.所述验证者验证所述证书的合法性;
16.计算所述指定身份属性的安全哈希;
17.根据所述指定身份属性的安全哈希和由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素,验证所述指定身份属性真实性。
18.第四方面,提出了一种数字身份属性的选择性披露装置,包括:
19.指定身份属性数据接收模块,用于接收持有者向验证者提交指定身份属性以及证书以及由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素;
20.证书合法性验证模块,用于验证所述证书的合法性;
21.指定身份属性哈希计算模块,用于计算所述指定身份属性的安全哈希;
22.指定身份属性验证模块,用于所述持有者向验证者提供所述指定身份属性,以使所述验证者根据所述证书验证所述指定身份属性的真实性。
23.第五方面,提出了一种数字身份属性的选择性披露系统,包括第一组件和第二组件,其中,
24.所述第一组件中,颁发者公布公布公开参数,以使持有者根据所述公开参数对身份属性进行加密,在所述持有者获得所述公开参数后,根据所选加密方式计算身份属性加密数据发送至颁发者,所述颁发者依次验证所述身份属性和所述身份属性加密数据,验证通过后为所述持有者颁发证书;
25.所述第二组件中,持有者向验证者提交指定身份属性以及证书以及由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素,验证所述证书的合法性后,计算所述指定身份属性的安全哈希,根据所述指定身份属性的安全哈希和由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素,验证所述指定身份属性真实性;
26.所述第一组件生成所述持有者证书后,由第二组件使用所述证书验证持有者提交的所述指定身份属性。
27.第六方面,提出了一种电子设备,包括:处理器;以及
28.被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的方法。
29.第七方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的方法。
30.第八方面,提出了一种电子设备,包括:处理器;以及
31.被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第三方面所述的方法。
32.第九方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第三方面所述的方法。
33.本说明书可以达到至少以下技术效果:
34.本发明的方案应用于数字身份验证场景下,验证者只能获得持有者披露的身份属性信息,持有者无需担心其他身份属性信息被泄露。
附图说明
35.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的
前提下,还可以根据这些附图获得其他的附图。
36.图1为本说明书实施例提供的数字身份属性的选择性披露系统示意图。
37.图2为本说明书实施例提供的数字身份属性的选择性披露方法步骤示意图之一。
38.图3为本说明书实施例提供的数字身份属性的选择性披露方法步骤示意图之二。
39.图4为本说明书实施例提供的数字身份属性的选择性披露方法步骤示意图之三。
40.图5为本说明书的一个实施例提供的数字身份属性的选择性披露装置结构示意图之一。
41.图6为本说明书的一个实施例提供的数字身份属性的选择性披露装置结构示意图之二。
42.图7为本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
43.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
44.关键术语
45.分布式数字身份did:是由字符串组成的标识符,用来代表一个数字身份,它是一种去中心化可验证的标识符,实体可自主完成did的注册、解析、更新或者撤销操作,不需要中央注册机构就可以实现全球唯一性。通常,一个实体可以拥有多个身份,由实体自己进行管理、维护,不同的身份之间没有关联信息,可有效避免身份信息被第三方归集。did的核心模型是分布式数字身份标识符和可验证凭证流转,核心技术是分布式账本和密码学技术,这二者的结合用以创建不可抵赖、且不可篡改的身份记录。
46.did有关角色:颁发者issuer就是证书的颁发机构,比如身份证就是公安机关作为颁发者,毕业证书就是大学作为颁发者。持有者holder就是证书的持有人,就是我们这些普通人。验证者verifier就是在我们使用证书时查看我们证书的人或者机构。比如我们入住酒店,前台要验证我们的身份证,那么酒店前台就是验证者;再比如我们入职新公司时需要提供大学毕业证书,新公司hr就是验证者。did注册系统verifiable data registry就是我们存储了did标识和did文档的地方,通过did标识可以查询到对应的did文档。
47.salt值:系统用来和持有者密码进行组合而生成的随机数值,称作salt值,通称为加盐值。系统通常把持有者的密码如md5加密后,以密文形式保存在数据库中,来防止黑客偷窥。随着对md5密文查询工具的出现,而很多持有者的密码又设置简单,单纯的对持有者密码进行md5加密后保存,用密文很容易就能反查询得到某持有者的密码。为持有者密码添加salt值,使得加密的得到的密文更加冷僻,不宜查询。即使黑客有密文查询到的值,也是加了salt值的密码,而非持有者设置的密码。salt值是随机生成的一组字符串,可以包括随机的大小写字母、数字、字符,位数可以根据要求而不一样。当持有者首次提供密码时(通常是注册时),由系统自动添加随机生成的salt值,然后再散列。而当持有者登录时,系统为持有者提供的代码撒上同样的加盐值,然后散列,再比较散列值,以确定密码是否正确。另外,
经过添加salt值处理的密码,即使持有者设置的原密码是相通的,数据库中的密文却是不同的。
48.下面通过具体的实例对本说明书所涉及的一种数字身份属性的选择性披露方案进行详述。
49.实施例一
50.本实施例以实际生活中身份证件属性披露为例子进行说明。在实际生活中,如果没有数字身份技术,那么当身份证件持有者在需要出示并核验身份证件的时候,势必会将身份证件上的所有属性信息都提供验证者,这是一种无选择性披露身份属性的方式。但是,有了数字身份did技术后,可以将先身份证件信息生成数字身份,在数字身份情况下才可能实现身份属性的选择性披露。
51.以住酒店为例,需要登记证件持有者的姓名和身份证号用于身份验证。但是持有者民族和住址等信息与酒店登记并无直接关系,如果全部出示提交验证,那么可能酒店前台人员就可能出于各方面的原因,偷偷把住址信息记下了或者泄露到网上,给证照本人的生活带来各种麻烦,这就需要对持有者的身份属性进行选择性披露,以便降低个人信息泄露的风险。
52.根据以上情景描述,参照图1所示的应用场景,可以看出,是由双向共同作用来实现上述实施例。一方面是如何将证件持有者的身份属性通过安全方式进行加密处理后,生成did数字身份属性,并为数字身份持有者颁发证书。另一方面是当数字身份持有者有选择地将部分身份属性提交验证时,验证者能够仅根据提交的部分身份属性来验证其真实性。结合did数字身份技术,涉及到的可验证凭证(verifiable credentials,简称vc)和可验证表达(verifiable presentation,简称vp),本实施例将第一方面抽象为生成数字身份属性的可验证凭证一侧,也就是说是生成持有者的全部数字身份属性,本说明书中定义为第一组件;将第二方面抽象为生成数字身份属性的可验证表达一侧,也就是说是持有者仅提供必要的身份属性来进行验证,本说明书中定义为第二组件。
53.综上,本实施例提出一种数字身份属性的选择性披露系统,包括第一组件和第二组件,其中,
54.所述第一组件中,颁发者公布公布公开参数,以使持有者根据所述公开参数对身份属性进行加密,在所述持有者获得所述公开参数后,根据所选加密方式计算身份属性加密数据发送至颁发者,所述颁发者依次验证所述身份属性和所述身份属性加密数据,验证通过后为所述持有者颁发证书;
55.所述第二组件中,持有者向验证者提交指定身份属性以及证书以及由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素,验证所述证书的合法性后,计算所述指定身份属性的安全哈希,根据所述指定身份属性的安全哈希和由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素,验证所述指定身份属性真实性;
56.所述第一组件生成所述持有者证书后,由第二组件使用所述证书验证持有者提交的所述指定身份属性。
57.实施例二
58.参照图2所示,为本说明书实施例提供的数字身份属性的选择性披露方法步骤示意图,该方法的执行主体是生成数字身份属性的可验证凭证一侧,也就是说是生成持有者
的全部数字身份属性,本说明书中定义为第一组件;所述第一组件具体可以是应用服务程序(含软件客户端)也可以是终端等电子设备。所述方法可以包括以下步骤:
59.步骤201:颁发者公布公开参数,以使持有者根据所述公开参数对身份属性进行加密。
60.可选地,所述公开参数,包括所述颁发者选择生成元为g的p阶乘法循环群g,以及安全哈希函数h,所述安全哈希函数h可将任意长度字符串映射为z
p
上的元素。
61.步骤202:所述持有者获得所述公开参数后,根据所选加密方式计算身份属性加密数据发送至颁发者。
62.可选地,假定持有者有n个身份属性,分别为a
1,a2,

,an。为了防止发生撞库攻击,本实施例中,引入了salt值,也就是说为这n个身份属性分别分配随机数r
1,r2,

,rn。如图3所示,根据所选加密方式计算身份属性加密数据发送至所述颁发者,包括:
63.步骤231:为每个身份属性ai分配1个随机数ri形成身份属性序列(ai,ri),以使分配所述随机数后的所述身份属性无法再被碰撞出原始数据;
64.步骤232:基于安全哈希函数h,对分配所述随机数的所述身份属性计算乘法循环群群元素:
65.步骤233:发送所述乘法循环群群元素a和所述身份属性序列(ai,ri)至所述颁发者。
66.步骤203:所述颁发者依次验证所述身份属性和所述身份属性加密数据,验证通过后为所述持有者颁发证书。
67.可选地,验证所述身份属性加密数据为
68.可选地,为所述持有者颁发证书包括所述身份属性的所述乘法循环群群元素a但不包括所述身份属性序列(ai,ri)。
69.参照图4所示,为本说明书实施例提供的数字身份属性的选择性披露方法步骤示意图,该方法的执行主体是生成数字身份属性的可验证表达一侧,也就是说是持有者仅提供必要的身份属性来进行验证,本说明书中定义为第二组件;所述第二组件具体可以是应用服务程序(含软件客户端)也可以是终端等电子设备。所述方法可以包括以下步骤:
70.步骤401:持有者向验证者提交指定身份属性以及证书以及由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素。
71.假定本实施例中,持有者仅需向验证者提交验证a
1,
a2两个身份属性,那么持有者向验证者提交的包括:(1)证书;(2)a
1,
a2两个身份属性对应的身份属性序列(a1,r1)和(a2,ri);(3)除a
1,
a2以外的其他身份属性计算得到的乘法循环群群元素
72.步骤402:所述验证者验证所述证书的合法性。
73.步骤403:计算所述指定身份属性的安全哈希。具体为t=h(a1||r1)
·
h(a2||r2)。
74.步骤404:根据所述指定身份属性的安全哈希和由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素,验证所述指定身份属性真实性。具体为
75.实施例三
76.图5为本说明书的一个实施例提供的一种数字身份属性的选择性披露装置500的结构示意图。请参考图5,在一种实施方式中数字身份属性的选择性披露装置包括:
77.公开参数管理模块501:用于管理颁发者发布的公开参数,所述公开参数包括所述颁发者选择生成元为g的p阶乘法循环群g以及安全哈希函数h,所述安全哈希函数h可将任意长度字符串映射为z
p
上的元素;
78.身份属性加密模502:用于在持有者获得所述公开参数后,根据所选加密方式计算身份属性加密数据发送至所述颁发者;
79.证书管理模块503:用于所述颁发者依次验证所述身份属性和所述身份属性加密数据,验证通过后为所述持有者颁发证书。
80.图6为本说明书的一个实施例提供的数字身份属性的选择性披露装置600的结构示意图。请参考图6,在一种实施方式中数字身份属性的选择性披露装置包括:
81.指定身份属性数据接收模块601:用于接收持有者向验证者提交指定身份属性以及证书以及由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素;
82.证书合法性验证模602:用于验证所述证书的合法性;
83.指定身份属性哈希计算模603:用于计算所述指定身份属性的安全哈希;
84.指定身份属性验证模块604:用于所述持有者向验证者提供所述指定身份属性,以使所述验证者根据所述证书验证所述指定身份属性的真实性。
85.应理解,本说明书实施例的数字身份属性的选择性披露装置还可执行图1至图4中数字身份属性的选择性披露装置(或设备)执行的方法,并实现数字身份属性的选择性披露装置(或设备)在图1至图4所示实施例的功能,在此不再赘述。
86.实施例四
87.图7是本说明书的一个实施例电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
88.处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
89.存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
90.处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成共享资源访问控制装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
91.应用于第一组件,包括:
92.公布公开参数,以使持有者根据所述公开参数对身份属性进行加密;
93.所述持有者获得所述公开参数后,根据所选加密方式计算身份属性加密数据发送至颁发者;
94.所述颁发者依次验证所述身份属性和所述身份属性加密数据,验证通过后为所述持有者颁发证书。
95.或者,
96.应用于第二组件,包括:
97.持有者向验证者提交指定身份属性以及证书以及由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素;
98.所述验证者验证所述证书的合法性;
99.计算所述指定身份属性的安全哈希;
100.根据所述指定身份属性的安全哈希和由所述指定身份属性以外的其他身份属性计算得到的乘法循环群,验证所述指定身份属性真实性。
101.上述如本说明书图1至图4所示实施例揭示的一种数字身份属性的选择性披露方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
102.当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
103.实施例五
104.本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1至图4所示实施例的方法,并具体用于执行以下方法:
105.应用于第一组件,包括:
106.公布公开参数,以使持有者根据所述公开参数对身份属性进行加密;
107.所述持有者获得所述公开参数后,根据所选加密方式计算身份属性加密数据发送至颁发者;
108.所述颁发者依次验证所述身份属性和所述身份属性加密数据,验证通过后为所述
持有者颁发证书。
109.或者,
110.应用于第二组件,包括:
111.持有者向验证者提交指定身份属性以及证书以及由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素;
112.所述验证者验证所述证书的合法性;
113.计算所述指定身份属性的安全哈希;
114.根据所述指定身份属性的安全哈希和由所述指定身份属性以外的其他身份属性计算得到的乘法循环群群元素,验证所述指定身份属性真实性。
115.总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
116.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
117.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
118.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
119.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
再多了解一些

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

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

相关文献