CN117201048A - 基于区块链的数据授权方法、装置、设备以及介质 - Google Patents
基于区块链的数据授权方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN117201048A CN117201048A CN202210607133.XA CN202210607133A CN117201048A CN 117201048 A CN117201048 A CN 117201048A CN 202210607133 A CN202210607133 A CN 202210607133A CN 117201048 A CN117201048 A CN 117201048A
- Authority
- CN
- China
- Prior art keywords
- data
- blockchain
- target object
- digital identity
- identity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000013475 authorization Methods 0.000 title claims abstract description 56
- 238000013524 data verification Methods 0.000 claims abstract description 115
- 230000007246 mechanism Effects 0.000 claims abstract description 65
- 230000008520 organization Effects 0.000 claims description 92
- 238000012795 verification Methods 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 7
- 238000004806 packaging method and process Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 40
- 230000014509 gene expression Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- RWSOTUBLDIXVET-UHFFFAOYSA-N Dihydrogen sulfide Chemical compound S RWSOTUBLDIXVET-UHFFFAOYSA-N 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000013502 data validation Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Abstract
本申请实施例提供了一种基于区块链的数据授权方法、装置、设备以及介质,该方法包括:在区块链中获取数据发行对象为目标对象分发的数据凭证;目标对象属于数据发行对象在区块链上为数据凭证设置的第一查询权限范围;根据数据凭证和目标对象对应的对象私钥,生成目标对象对应的资产展示数据;将资产展示数据存储至区块链,在区块链上为资产展示数据设置第二查询权限范围,以使第二查询范围内的数据验证对象基于目标对象对应的第一数字身份文件验证资产展示数据的有效性,第一数字身份文件包括第一身份证明机构已认证的对象公钥和目标数字身份标识。采用本申请实施例,可以提升数据安全性。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的数据授权方法、装置、设备以及介质。
背景技术
基于区块链的可溯源、不可篡改等特性,采用区块链进行数据存储的频率日益增加。区块链系统中的各个参与方的信息均可以存储在区块链中,而基于区块链的去中心化特性,该区块链系统中的各个参与方不仅可以从区块链中读取自身的信息,还可以读取其余参与方的信息,即区块链系统中的各个参与方可以共享区块链中所存储的所有数据。然而,在一些实际场景(例如,商业场景等)中,可能会由于区块链系统中的参与方的特殊性,若将参与方的信息直接暴露在区块链上,会造成参与方信息的泄露,导致参与方的信息安全性过低。
发明内容
本申请实施例提供一种基于区块链的数据授权方法、装置、设备以及介质,可以提升数据安全性。
本申请实施例一方面提供了一种基于区块链的数据授权方法,包括:
在区块链中获取数据发行对象为目标对象分发的数据凭证;目标对象属于数据发行对象在区块链上为数据凭证设置的第一查询权限范围;
根据数据凭证和目标对象对应的对象私钥,生成目标对象对应的资产展示数据;
将资产展示数据存储至区块链,在区块链上为资产展示数据设置第二查询权限范围,以使第二查询范围内的数据验证对象基于目标对象对应的第一数字身份文件验证资产展示数据的有效性;第一数字身份文件包括第一身份证明机构已认证的对象公钥和目标数字身份标识。
本申请实施例一方面提供了一种基于区块链的数据授权方法,包括:
接收与目标对象相关联的业务请求,获取业务请求所携带的目标数字身份标识;
基于目标数字身份标识,在区块链中获取目标对象对应的第一数字身份文件和资产展示数据;资产展示数据是由数据发行对象为目标对象分发的数据凭证,以及目标对象对应的对象私钥所生成的;
在第一数字身份文件中获取目标对象对应的对象公钥,根据对象公钥对资产展示数据进行有效性验证,得到资产展示数据对应的数据验证结果;
若数据验证结果指示资产展示数据验证有效,则为目标对象执行业务请求所指示的业务办理流程。
本申请实施例一方面提供了一种基于区块链的数据授权装置,包括:
凭证获取模块,用于在区块链中获取数据发行对象为目标对象分发的数据凭证;目标对象属于数据发行对象在区块链上为数据凭证设置的第一查询权限范围;
数据生成模块,用于根据数据凭证和目标对象对应的对象私钥,生成目标对象对应的资产展示数据;
数据授权模块,用于将资产展示数据存储至区块链,在区块链上为资产展示数据设置第二查询权限范围,以使第二查询范围内的数据验证对象基于目标对象对应的第一数字身份文件验证资产展示数据的有效性;第一数字身份文件包括第一身份证明机构已认证的对象公钥和目标数字身份标识。
其中,该装置还包括:
凭证申请模块,用于向数据发行对象提交目标对象对应的目标数字身份标识,以使数据发行对象基于目标数字身份标识关联的第一数字身份文件,为目标对象分发数据凭证;目标数字身份标识与第一数字身份文件中的对象公钥具有对应关系;
发布结果接收模块,用于接收数据发行对象返回的凭证发布结果;凭证发布结果用于指示数据凭证成功存储至区块链,凭证发布结果包括数据凭证对应的标识信息;
则凭证获取模块具体用于:
通过标识信息,在区块链中下载数据发行对象为目标对象分发的数据凭证。
其中,该装置还包括:
身份注册模块,用于向第一身份证明机构提交目标对象对应的初始数字身份文件,以使第一身份证明机构在目标对象的身份验证结果指示身份合法时,对初始数字身份文件进行签名,生成第一数字身份文件;
注册结果接收模块,用于接收第一身份证明机构返回的身份注册结果;身份注册结果用于指示第一数字身份文件成功存储至区块链。
其中,数据生成模块包括:
凭证签名单元,用于基于目标对象对应的对象私钥,对数据凭证进行加密处理,生成目标对象的数字签名;
组合单元,用于将数据凭证和目标对象的数字签名,组合为目标对象对应的资产展示数据。
其中,数据生成模块包括:
声明信息筛选单元,用于获取数据凭证中的M个声明信息,从M个声明信息中筛选出用于展示的N个声明信息;M和N均为正整数,且N小于或等于M;
声明信息修改单元,用于对M个声明信息中除N个声明信息之外的M-N个声明信息进行隐藏处理,得到修改后的M-N个声明信息;
声明信息签名单元,用于基于目标对象对应的对象私钥,对N个声明信息和修改后的M-N个声明信息进行加密处理,生成目标对象的数字签名;
展示数据生成单元,用于将N个声明信息、修改后的M-N个声明信息,以及目标对象的数字签名,确定为目标对象对应的资产展示数据。
其中,数据授权模块包括:
区块生成单元,用于将资产展示数据封装为交易数据,按照交易数据在交易池中的排序,将交易数据封装为数据区块;
区块广播单元,用于在区块链网络中对数据区块进行广播,以使区块链网络中的区块链节点对数据区块进行共识处理;
区块写入单元,用于若数据区块对应的区块共识结果指示共识成功,则将数据区块添加至区块链,为区块链中的资产展示数据设置第二查询权限范围。
其中,该装置还包括:
赞成票统计模块,用于获取区块链网络中的区块链节点所广播的区块投票信息,统计区块投票信息中的赞成投票数量;
共识成功模块,用于若赞成投票信息大于或等于数量阈值,则确定数据区块对应的区块共识结果为共识成功。
本申请实施例一方面提供了一种基于区块链的数据授权装置,包括:
请求接收模块,用于接收与目标对象相关联的业务请求,获取业务请求所携带的目标数字身份标识;
数据获取模块,用于基于目标数字身份标识,在区块链中获取目标对象对应的第一数字身份文件和资产展示数据;资产展示数据是由数据发行对象为目标对象分发的数据凭证,以及目标对象对应的对象私钥所生成的;
数据验证模块,用于在第一数字身份文件中获取目标对象对应的对象公钥,根据对象公钥对资产展示数据进行有效性验证,得到资产展示数据对应的数据验证结果;
验证成功模块,用于若数据验证结果指示资产展示数据验证有效,则为目标对象执行业务请求所指示的业务办理流程。
其中,数据验证模块包括:
第一签名验证单元,用于根据对象公钥对资产展示数据中的数字签名进行验证,若资产展示数据中的数字签名正确,则在区块链中获取数据发行对象对应的第二数字身份文件;第二数字身份文件对应于数据发行对象的数字身份标识;
第二签名验证单元,用于若数据发行对象的数字身份标识由第二身份证明机构所签发,则确定第二数字身份文件满足合法性条件,根据第二数字身份文件中的公钥,对数据凭证中的数字签名进行验证;
验证结果确定单元,用于若数据凭证中的数字签名正确,则确定资产展示数据的数据验证结果为验证有效。
其中,该装置还包括:
验证无效模块,用于若数据验证结果指示资产展示数据验证无效,则生成针对目标对象的失败提示信息,将失败提示信息通知给目标对象。
本申请实施例一方面提供了一种计算机设备,包括存储器和处理器,存储器与处理器相连,存储器用于存储计算机程序,处理器用于调用计算机程序,以使得该计算机设备执行本申请实施例中上述一方面提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序适于由处理器加载并执行,以使得具有处理器的计算机设备执行本申请实施例中上述一方面提供的方法。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面提供的方法。
本申请实施例中,通过在区块链中获取数据发行对象为目标对象分发的数据凭证,该目标对象属于数据发行对象在区块链上为该数据凭证设置的第一查询权限范围;进而可以基于数据凭证和目标对象对应的对象私钥生成资产展示数据,将该资产展示数据存储至区块链,在该区块链中可以为资产展示数据设置第二查询权限范围,即可以将资产展示数据授权给第二查询权限范围内的数据验证对象。可见,第二查询权限范围内的数据验证对象才具备读取区块链中的资产展示数据的权限,即目标对象仅将资产展示数据授权给第二查询权限范围内的数据验证对象;数据验证对象在读取区块链中的资产展示数据时,可以通过区块链中的第一数字身份文件来验证资产展示数据的有效性,且第一数字身份文件可以包含第一身份证明机构为目标对象认证的对象公钥和目标数字身份标识,并不包含目标对象的真实身份信息,可以提高目标对象的数据安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请实施例提供的一种区块链网络的分层结构示意图;
图3是本申请实施例提供的一种基于去中心化数字身份的数据授权场景示意图;
图4是本申请实施例提供的一种基于区块链的数据授权方法的流程示意图;
图5是本申请实施例提供的一种去中心化身份识别系统的示意图;
图6是本申请实施例提供的一种申请身份认证的流程示意图;
图7是本申请实施例提供的一种申请学历证书证明的流程示意图;
图8是本申请实施例提供的一种学历证书证明的授权过程的流程示意图;
图9是本申请实施例提供的另一种基于区块链的数据授权方法的流程示意图;
图10是本申请实施例提供的一种验证资产展示数据的流程示意图;
图11是本申请实施例提供的一种基于区块链的数据授权装置的结构示意图;
图12是本申请实施例提供的另一种基于区块链的数据授权装置的结构示意图;
图13是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例涉及区块链技术。区块链是一套去中心化、具备分布式存储特点的基础架构,具体是一种按照时间顺序将区块用类似链表的方式组成的数据结构,能够安全存储有先后关系的、能在系统内进行验证的数据,并以密码学方式保证数据不可篡改和不可伪造;区块链可以认为是一种分布式账本,区块链上的各个区块内包含的信息数据是该分布式账本的账本数据。
区块链底层平台可以包括基础服务、智能合约以及运营管理等处理模块。其中,基础服务模块部署在所有区块链节点设备上,用来验证业务请求的有效性,并对有效请求完成共识后记录到存储上,对于一个新的业务请求,基础服务先对接口适配解析和鉴权处理(接口适配),然后通过共识算法将业务信息加密(共识管理),在加密之后完整一致的传输至共享账本上(网络通信),并进行记录存储;智能合约模块负责合约的注册发布以及合约触发和合约执行,开发人员可以通过某种编程语言定义合约逻辑,发布到区块链上(合约注册),根据合约条款的逻辑,调用密钥或者其它的事件触发执行,完成合约逻辑,同时还提供对合约升级注销的功能;运营管理模块主要负责产品发布过程中的部署、配置的修改、合约设置、云适配以及产品运行中的实时状态的可视化输出,例如:告警、管理网络情况、管理节点设备健康状态等。
本申请实施例还涉及云安全(Cloud Security),该云安全可以是指基于云计算商业模式应用的安全软件、硬件、用户、机构、安全云平台的总称。云安全融合了并行处理、网格计算、未知行为判断等新兴技术和概念,通过网状的大量客户端对网络中软件行为的异常检测,获取互联网中木马、恶意程序的最新信息,并发送到服务端进行自动分析和处理。
请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。该网络架构可以包括区块链网络,该区块链网络可以由多个区块链节点组成,本申请对区块链网络中所包含的区块链节点的数量不做限定。图1以6个区块链节点为例进行说明,区块链网络中的各个区块链节点以P2P(Peer-to-Peer,对等式网络)方式组网,区块链节点与区块链节点之间可以按照P2P协议相互通信。区块链网络中的各个区块链节点共同遵循广播机制、共识机制,共同保证区块链上的数据的不可篡改、不可伪造性,同时实现区块链的去中心化、去信任化等特性。
其中,区块链网络中的区块链节点可以为用户终端,或者可以为服务器,或者为用户终端和服务器组成的系统,本申请对此不做限定。用户终端可以包括但不限于:PC(Personal Computer,个人计算机)、智能手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备(例如智能手表、智能手环等)、智能语音交互设备、智能家电(例如智能电视等)、车载设备等电子设备。
服务器可以为独立的物理服务器,也可以是多个物理服务器构成的服务器集群或分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
区块链网络中的区块链节点共同维护的区块链可以由一系列区块构成,区块也可以称为数据块;一个区块被创建后需要在区块链网络中执行共识处理,当该区块共识成功后,该区块才被允许添加到区块链(即分布式账本)上;区块链中的区块可以按照创建时间戳由小到大的顺序连接成链式结构。
其中,区块链中所存储的数据可以进行可见性限制,如设置区块链中的数据A对第一对象可见,区块链中的数据B对第一对象和第二对象可见;那么第一对象具备读取区块链中的数据A的权限,而除第一对象之外的其余对象均不具备读取区块链中的数据A的权限,无法获得区块链中的数据A;第一对象和第二对象具备读取区块链中的数据B的权限,而除第一对象和第二对象之外的其余对象均不具备读取区块链中的数据B的权限,无法获得区块链中的数据B等。换言之,可以通过对区块链中的数据进行可见性限制,来设置区块链中的数据的授权范围,以保证数据的安全性。
需要说明的是,可以通过去中心化身份认证系统(Decentralized Identity,DID)注册各个对象的去中心化数字身份。在该去中心化身份认证系统中,可以通过可信的上级机构对下级机构的去中心化数字身份文件(DID Document)进行签名,并将认证了的去中心化数字身份文件(即已被上级机构签名的去中心化数字身份文件)进行上链存储;若需要验证下级机构的去中心化数字身份的正确性,则可以直接查询区块链中的去中心化数字身份文件来进行验证;通过前述方式可以依次由上层机构到下层机构进行去中心化数字身份的签发。其中,在下级机构的去中心化数字身份文件中表明了该下级机构对应的公钥信息,即将下级机构的去中心化数字身份标识和该下级机构的公钥信息进行绑定。
可以理解地,前述涉及的上级机构、下级机构可以认为是在去中心化身份认证系统中注册去中心化数字身份的对象;基于去中心化身份认证系统,只需将各个对象的去中心化数字身份文件进行上链存储,不但可以保证各个对象的身份数据真实可信,同时也能保护各个对象的身份数据不被公开,确保各个对象的数据归自身所有。
请参见图2,图2是本申请实施例提供的一种区块链网络的分层结构示意图。如图2所示,结合去中心化身份认证系统,该区块链网络的分层机构可以由应用层、服务接口层以及持久化层构成。
其中,应用层可以包括去中心化数字身份发行方(DID Issuer)、去中心化数字身份持有方(DID Holder)以及去中心化数字身份验证方(DID Verifier)。去中心化数字身份发行方可以发行可验证声明(Verifiable Claims,VC),该可验证声明可以是指为某些对象的属性背书所形成的文件。去中心化数字身份持有方可以是指可验证声明的持有者,该去中心化数字身份持有方可以对持有的可验证声明进行签名,以形成可验证表达(Verifiable Presentation,VP);该可验证表达可以用于向去中心化数字身份验证方表明自身的身份。去中心化数字身份验证方可以用于验证可验证表达的正确性。其中,去中心化数字身份发行方、去中心化数字身份持有方以及去中心化数字身份验证方均可以为区块链网络中的区块链节点。
为便于理解,本申请可以将去中心化数字身份发行方称为数据发行对象,将去中心化数字身份持有方称为目标对象,将去中心化数字身份验证方称为数据验证对象;可验证声明可以认为是权威机构发布的数据凭证,如学校发布的毕业证书、官方机构发布的身份证、驾驶证、结婚证、荣誉证书、各种类型的资格证书等,本申请对此不做限定;可验证表达可以是指去中心化数字身份持有方想要展示给去中心化数字身份验证方的数据,即目标对象授权给数据验证对象的资产展示数据。
服务接口层可以包括去中心化数字身份解析器(DID Resolver)。该去中心化数字身份解析器可以提供数字身份的解析服务,可以基于去中心化数字身份标识(例如,DID)查询对应的去中心化数字身份文件(例如,DID Document),同时还可以提供针对去中心化数字身份标识的CRUD功能(例如,创建、查找、更新、删除等功能)。
持久化层可以包括可信区块链和去中心化存储。该可信区块链可以用于存储应用层中的各个对象(去中心化数字身份发行方、去中心化数字身份持有方以及去中心化数字身份验证方等)的去中心化数字身份文件、去中心化数字身份发行方所发行的可验证声明、去中心化数字身份持有方所生成的可验证表达等数据。去中心化存储可以是指分布式存储,可以将数据分散存储在多个独立的设备上,即可以由众多的区块链节点参与数据的存储。
请参见图3,图3是本申请实施例提供的一种基于去中心化数字身份的数据授权场景示意图。如图3所示,基于去中心化数字身份的数据授权过程可以涉及目标对象30a(去中心化数字身份持有方)、数据发行对象30b(去中心化数据身份发行方)、数据验证对象30e(去中心化数字身份验证方)以及区块链30f之间的交互。在进行数据授权之前,目标对象30a、数据发行对象30b以及数据验证对象30e都需要在区块链30f中注册各自的去中心化数字身份标识,如可以将各自对应的去中心化数字身份文件(例如,DID文件)存储至区块链30f。
其中,去中心化数字身份标识的格式可以如“did:example:1234567abcde”,前缀did是固定的,可以用于表示数字身份标识的类型,“example”表示DID方法,该方法可以用于定义和操作上述去中心化数字身份标识,“1234567abcde”可以表示为“example”方法下的唯一标识字符串。去中心化数字身份文件可以是对去中心化数字身份标识的详细说明,去中心化数字身份文件与去中心化数字身份文件是一对一的关系,该去中心化数字身份文件可以包括DID元数据和DID公钥,DID公钥可以用于数字签名或加密操作等。可选地,去中心化数字身份标识可以由对象自己保存,而去中心化数字身份文件可以保存在区块链30f中,以保证其正确性,该去中心化数字身份标识可以作为去中心化数字身份文件的索引信息。去中心化数字身份标识和去中心化数字身份文件的生成、查询、更新等均可以由智能合约来负责。
数据发行对象30b可以为可信的权威机构,如各个学校、官方部门等;目标对象30a可以向数据发行对象30b提交自身的去中心化数字身份标识(为便于理解,可以称其为目标数字身份标识),以申请可验证声明,如学校发布的毕业证和学位证、官方部门发布的身份证、资格证等;数据发行对象30b可以获取该目标对象30a所提交的目标数字身份标识,并通过如图2所示的服务接口层中的去中心化数字身份解析器,对该目标数字身份标识进行解析,进而可以基于解析结果从区块链30f中查询对应的去中心化数字身份文件(为方便理解,可以称其为第一数字身份文件,如DID文件),即在区块链30f中读取与目标数字身份标识相对应的第一数字身份文件。当数据发行对象30b基于第一数字身份文件确认目标对象30a的身份正确时,该数据发行对象30b可以为该目标对象30a发布可验证声明(VC)。
目标对象30a可以保存数据发行对象30b发布的可验证声明;当然,目标对象30a还可以向数据发行对象30b申请不同类型的可验证声明,或者还可以向其余数据发行对象申请不同类型的可验证声明,即目标对象30a可以持有一个或多个可验证声明,如可验证声明30c,可验证声明30d等。其中,可验证声明的格式可以包括声明元数据、声明以及证明(proof);该声明元数据可以包括数据发行对象30b、发行日期、声明的类型等信息;声明可以是指对主体(例如,毕业证)的一个或多个说明,如毕业证的声明可以包括对象名称、学校名称、毕业年份等;该证明可以保存数据发行对象30b的数字签名,用于验证该可验证声明的正确性和来源等。可验证声明可以存储在特定的软件应用中,或者可以由持有者(目标对象30a)自己保管,或者可以存储至区块链,作为个人私密数据进行保存。
当目标对象30a不便于向数据验证对象30e直接展示可验证声明时,可以对可验证声明中的部分信息包装成可验证表达(VP),即目标对象30a只向数据验证对象30e授权了可验证声明中的部分信息,对其中另一部分信息进行了隐藏。或者,目标对象30a需要向数据验证对象30e展示多个可验证声明时,可以将多个可验证声明包装为可验证表达。数据验证对象30e在获取到目标对象30a授权的可验证表达后,可以基于目标对象30a的目标数字身份标识读取对应的第一数字身份文件,基于第一数字身份文件中的公钥验证可验证表达的数字签名,并验证该可验证表达所关联的可验证声明的数据发行对象是否可信;若可验证表达的数字签名正确,且该可验证表达所关联的可验证声明的数据发行对象为可信的权威机构,则可以确定该可验证表达通过验证。
其中,可验证表达的格式可以包括表达元数据、可验证声明列表以及证明(proof);表达元数据可以包含版本等信息,可验证声明列表包含了向数据验证对象30e展示的可验证声明的内容,证明可以是指目标对象30a对该可验证表达的签名信息。
本申请实施例中,通过区块链中的第一数字身份文件来验证资产展示数据的有效性,且第一数字身份文件可以包含第一身份证明机构为目标对象认证的对象公钥和目标数字身份标识,并不包含目标对象的真实身份信息,可以提高目标对象的数据安全性。
请参见图4,图4是本申请实施例提供的一种基于区块链的数据授权方法的流程示意图。可以理解地,该方法可以由计算机设备执行,该计算机设备可以为目标对象所使用的电子设备,且该计算机设备可以为区块链网络中的任一区块链节点。如图4所示,该基于区块链的数据授权方法可以至少包括以下步骤S101-步骤S103:
步骤S101,在区块链中获取数据发行对象为目标对象分发的数据凭证;目标对象属于数据发行对象在区块链上为数据凭证设置的第一查询权限范围。
具体的,在数据授权场景中,数据发行对象为目标对象发布了数据凭证(如可验证声明)后,可以将该数据凭证存储至区块链(例如,前述图3所对应实施例中的区块链30f),并在区块链上为该数据凭证设置第一查询权限范围,这样只有该第一查询权限范围内的对象才具备读取该区块链中的数据凭证的权限,该第一查询权限范围之外的对象不具备读取区块链中的数据凭证的权限。可以理解地,该数据凭证是数据发行对象为目标对象发布的,因此为该数据凭证设置的第一查询权限范围至少可以包括目标对象和数据发行对象,即该目标对象和数据发行对象均可以读取区块链中的数据凭证。
进一步地,数据发行对象发布的数据凭证在区块链上存储成功后,可以向目标对象返回该数据凭证的标识信息;目标对象可以基于该标识信息从区块链中获取其对应的数据凭证,即该标识信息可以作为获取区块链中所存储的数据凭证的索引信息。换言之,目标对象基于标识信息向区块链请求读取其对应的数据凭证时,可以验证该目标对象是否具备读取数据凭证的权限,若该目标对象属于该数据凭证对应的第一查询权限范围,则可以确定该目标对象具备读取数据凭证的权限,允许其获取区块链中与该标识信息相匹配的数据凭证;其中,一个数据凭证可以对应一个标识信息,该标识信息可以用于唯一表示数据凭证。
可选地,数据发行对象为该目标对象发布了数据凭证之后,可以直接将该数据凭证返回给目标对象,由该目标对象来保存该数据凭证,本申请对数据凭证的存储方式不做限定。
在一个或多个实施例中,在执行该步骤S101之前,该目标对象首先需要向第一身份证明机构申请身份认证,在身份认证完成后,再向数据发行对象申请自身的数据凭证。具体的,目标对象的身份认证过程可以包括:可以向第一身份证明机构提交该目标对象对应的初始数字身份文件(DID文件),以使第一身份证明机构在确定目标对象的身份验证结果指示身份合法时,对该初始数字身份文件进行签名,以生成第一数字身份文件;此时的目标对象可以接收第一身份证明机构返回的身份注册结果,该身份注册结果可以用于指示该第一数字身份文件成功存储至区块链。可选地,若第一身份证明机构确定该目标对象的身份验证结果指示身份非法,则可以向目标对象返回身份注册失败的提示信息,此处的提示信息用于指示该目标对象重新向第一身份证明机构申请身份认证。
其中,第一身份证明机构可以是指用于进行身份认证的权威机构,该第一身份证明机构本身的数字身份文件是被信任的上级机构所认证的。第一身份证明机构获取到目标对象提交的初始数字身份文件后,可以对目标对象的身份进行验证,若该目标对象的身份合法,则可以对该目标对象的初始数字身份文件进行签名,以生成第一数字身份文件;该第一数字身份文件中包含第一身份证明机构的数字签名,用于表示该第一数字身份文件已经得到了第一身份证明机构的认证。第一身份证明机构可以将第一数字身份文件存储至区块链,上链存储成功之后,可以向目标对象返回身份注册结果,该身份注册结果可以表示目标对象的身份已得到了第一身份证明机构的认证。其中,该第一数字身份文件与目标数字身份标识相对应,该目标数字身份标识可以由目标对象自己保存,用于作为读取区块链中存储的第一数字身份文件的索引信息;该第一数字身份文件还可以包含目标对象对应的对象公钥、以及该对象公钥丢失时的恢复公钥信息等。
目标对象的数据凭证申请过程可以包括:目标对象得到了第一身份证明机构的认证之后,可以向数据发行对象提交目标数字身份标识,以使数据发行对象基于目标数字身份标识关联的第一数字身份文件,为目标对象分发数据凭证;目标数字身份标识与第一数字身份文件中的对象公钥具有对应关系;接收数据发行对象返回的凭证发布结果;凭证发布结果用于指示数据凭证成功存储至区块链,凭证发布结果包括数据凭证对应的标识信息。
其中,数据发行对象获取到目标对象提交的目标数字身份标识时,可以通过去中心化数字身份解析器对该目标数字身份标识进行解析,得到该目标数字身份标识对应的解析结果,将解析结果传入区块链,可以读取区块链中与该目标数字身份标识相对应的第一数字身份文件。进而可以验证第一数字身份文件中的第一身份证明机构的数字签名,如通过第一身份证明机构对应的数字身份文件中的公钥,对第一数字身份文件中的数字签名进行解密,若解密成功,则表示第一数字身份文件中的数字签名是正确的,表示该第一数字身份文件确实是第一身份证明机构所认证的,即目标对象的身份确认无误,可以为该目标对象发布数据凭证。该数据凭证可以存储至区块链,并在区块链上设置该数据凭证对目标对象可见,即数据凭证所对应的第一查询权限范围包括该目标对象;当然,该数据凭证对数据放行对象同样是可见的,即数据放行对象也属于数据凭证所对应的第一查询权限范围。
可选地,若通过第一身份证明机构对应的数字身份文件中的公钥,对第一数字身份文件中的数字签名解密失败,则表明目标对象的身份暂时无法确定其真实性,数据发行对象无法为其发布该数据凭证;进而可以向目标对象返回凭证发布失败的提示信息,此处的提示信息用于指示目标对象重新向数据发行对象申请同样的数据凭证,或者也可以重新申请身份认证。
在区块链中成功存储数据凭证并为其设置了第一查询权限范围后,可以向目标对象返回凭证发布结果,该凭证发布结果可以包括数据凭证对应的标识信息,以及该数据凭证对应的第一查询权限范围等。其中,该标识信息可以是指数据凭证成功上链后为其所生成的唯一标识,用来作为区块链中所存储的数据凭证的索引信息;该第一查询权限范围也可以认为是数据凭证的授权范围,该数据凭证仅对第一查询权限范围内的对象可见。
步骤S102,根据数据凭证和目标对象对应的对象私钥,生成目标对象对应的资产展示数据。
具体的,当目标对象需要向数据验证对象申请业务办理时,需要向该数据验证对象提交该业务办理所需的材料信息,如该目标对象所持有的一个或多个数据凭证。可以基于目标对象对应的对象私钥,对目标对象所持有的数据凭证进行加密处理,生成该目标对象的数字签名;进而可以将数据凭据和该目标对象的数字签名,组合为目标对象对应的资产展示数据(可验证表达)。其中,该资产展示数据所涉及的数据凭证的数量可以为一个或多个,此处的资产展示数据可以包含一个或多个数据凭证的全量信息,即该目标对象可以向数据验证对象授权读取一个或多个数据凭证中的完整信息。目标对象的对象私钥与前述第一数字身份文件中的对象公钥是一个密钥对,该对象私钥由目标对象自身管理,可以用于执行数字签名操作;该对象公钥可以用于解密由对象私钥所生成的数字签名。
可选地,前述业务办理所需的材料信息可能只关注数据凭证中的部分信息,如数据凭证为毕业证时,业务办理所需的材料信息可能仅关注该毕业证中的学校、专业信息,这样目标对象可以对数据凭证中除学校和专业之外的其余信息进行隐藏或修改,生成用于展示给数据验证对象的资产展示数据。例如,可以获取数据凭证中的M个声明信息,从M个声明信息中筛选出用于展示的N个声明信息,M和N均为正整数,且N小于或等于M;进而可以对M个声明信息中除N个声明信息之外的M-N个声明信息进行隐藏处理,得到修改后的M-N个声明信息。基于目标对象对应的对象私钥,对N个声明信息和修改后的M-N个声明信息进行加密处理,生成目标对象的数字签名;将N个声明信息、修改后的M-N个声明信息,以及目标对象的数字签名,确定为目标对象对应的资产展示数据。其中,此处的资产展示数据可以包含数据凭证中的部分信息,即有选择性地授权数据凭证中的部分信息,可以有效保护目标对象的信息,提高数据安全性。该资产展示数据不管是包含数据凭证的全量信息,还是包含数据凭证的部分信息,均需要目标对象使用对象私钥对其进行签名,即资产展示数据可以携带目标对象的数字签名。
步骤S103,将资产展示数据存储至区块链,在区块链上为资产展示数据设置第二查询权限范围,以使第二查询范围内的数据验证对象基于目标对象对应的第一数字身份文件验证资产展示数据的有效性;第一数字身份文件包括第一身份证明机构已认证的对象公钥和目标数字身份标识。
具体的,目标对象在生成资产展示数据后,可以将资产展示数据存储至区块链,并在区块链上设置该资产展示数据对数据验证对象可见,即为该资产展示数据设置的第二查询权限范围中可以包括数据验证对象。
其中,资产展示数据存储至区块链的实现过程可以包括如下描述:将资产展示数据封装为交易数据,按照交易数据在交易池中的排序,将交易数据封装为数据区块;该数据区块可以包含交易池中的多笔交易,即除了打包资产展示数据所对应的交易数据之外,同时还可以打包其余的交易数据。进而可以在区块链网络中对上述打包而成的数据区块进行广播,以使区块链网络中的区块链节点对数据区块进行共识处理。换言之,每个参与数据区块共识处理过程的区块链节点都可以对该数据区块进行投票,若区块链节点认同该数据区块,则可以为该数据区块投赞成票;若区块链节点不认同该数据区块,则可以为该数据区块投反对票。每个参与共识处理过程的区块链节点不管是对数据区块投了反对票还是赞成票,都需要将投票信息进行广播,以便于区块链网络中的每个区块链节点都可以收集到各个区块链节点的投票信息。
目标对象可以认为是区块链网络中的一个区块链节点,因此该目标对象可以获取区块链网络中的区块链节点所广播的区块投票信息,并统计区块投票信息中的赞成投票数量(即区块链网络中投赞成票的区块链节点的数量);若赞成投票信息大于或等于数量阈值,则确定数据区块对应的区块共识结果为共识成功,进而可以将数据区块添加至区块链;若赞成投票数量小于数量阈值,则可以确定数据区块对应的区块共识结果为共识失败,即资产展示数据上链存储失败,需要对其再次执行上链存储操作。其中,上述数量阈值可以由区块链网络中参与共识的区块链节点的数量,以及所使用的共识算法所确定,使用的共识算法不同,该数量阈值也可能会存在差异。
可以理解的是,前述涉及的第一数字身份文件、数据凭证的上链存储过程与资产展示数据的上链存储过程相同,本申请实施例仅以资产展示数据为例进行描述,其余数据的上链存储过程不再进行赘述。
其中,资产展示数据的上链存储过程实质上可以理解为包含该资产展示数据的数据区块的共识处理过程。区块链网络中的共识处理是让各个区块链节点之间的分布式账本保持一致的过程,区块链网络中的全部或部分区块链节点可以参与到共识处理过程中,这些参与共识的区块链节点共同组成区块链网络的共识委员会,且每个参与共识的区块链节点均作为共识委员会中的成员。换言之,区块链网络的共识委员会包括参与共识的多个区块链节点,而区块链网络中的共识处理过程由共识委员会中的区块链节点来执行。例如,当目标对象作为区块链节点参与上述数据区块的共识处理时,该目标对象可以认为是共识委员会中的成员。
具体的,区块链网络中的共识处理过程可以基于共识算法来实现,该共识算法可以包括但不限于:工作量证明(Proof of Work,PoW)算法、权益证明(Proof of Stake,PoS)算法、股份授权证明(Delegated Proof of Stake,DPoS)算法、实用拜占庭容错(PracticalByzantine Fault Tolerance,PBFT)算法等,本申请对此不做限定;共识委员会中的各个区块链节点可以通过运行共识算法来执行共识处理过程的相应流程。
需要说明的是,在区块链的某个区块高度需要进行一次或多次共识处理过程,才能在共识委员会的各个区块链节点之间达成一致。区块高度用于表示连接在区块链上的区块数量,区块高度是区块的标志符,可以用于指示区块在区块链中的位置;区块链中创始区块的区块高度默认为0,创始区块之后的第一个区块的区块高度为1(该第一个区块简称为区块1),创始区块之后的第二个区块的区块高度为2(该第二个区块简称区块2),以此类推。举例来说,某条区块链的当前区块的区块高度为100(当前区块可简称为区块100),这表示已经有100个区块被堆叠在创始区块之上了,即从创始区块到区块100之间形成的区块链上的区块数量为101个。
区块链的某个区块高度的共识处理过程,是指在区块链处于该某个区块高度时,对区块链网络中待上链的区块进行共识处理的过程,如果该待上链的区块共识成功,则该区块被添加至区块链上,区块链的区块高度则+1。例如,在区块链的区块高度10的共识处理过程就是指在区块链处于区块高度10时,对区块链网络中待上链的区块(例如,前述数据区块)进行共识处理的过程,如果该数据区块共识成功,则该数据区块被添加至区块链,使得该区块链的区块高度由10变为11。如果该数据区块共识失败,则可以丢该数据区块,在区块链网络中生成包含资产展示数据的新区块,开启新一轮的区块高度10的共识处理过程。
当数据区块被添加至区块链时,表示该数据区块中的资产展示数据成功存储至区块链,进而可以在区块链上为该资产展示数据设置第二查询权限范围,即规定有哪些对象可以读取区块链上所存储的资产展示数据。本申请可以将第二查询权限范围内除目标对象本身之外的其余对象都称为数据验证对象,该数据验证对象可以是指用于办理业务请求的业务机构。目标对象可以向数据验证对象主动提交资产展示数据,并向该数据验证对象发起业务请求(例如,入职请求等);或者,目标对象可以直接向数据验证对象发起业务请求,由数据验证对象读取区块链上存储的资产展示数据。该数据验证对象可以基于目标对象在区块链上存储的第一数字身份文件,对资产展示数据进行有效性验证,当资产展示数据通过有效性验证时,可以为该目标对象执行上述业务请求所指示的业务办理流程。其中,资产展示数据的有效性验证过程可以参见图9所对应实施例中的相关描述。
下面以数据凭证是学历证书证明为例,并结合图5至图8对基于去中心化数字身份的数据授权流程进行详细描述。
请参见图5,图5是本申请实施例提供的一种去中心化身份识别系统的示意图。如图5所示,第一级机构A可以认为是受信任的权威机构,如受国家认可的官方机构,第一级机构A可以根据自身的私钥给下级机构或用户(对象)签发去中心化数字身份标识(为便于理解,后续描述可将其简称为数字身份标识)。其中,第一级机构A的下级机构可以包括第二级机构B、第二级机构C以及第二级机构D等;第一级机构A的私钥与其自身的数字身份文件中的公钥是去中心化身份识别系统中的总密钥对;签发可以是指第一级机构A使用自身的私钥,对下级机构的数字身份文件进行签名的过程,表示下级机构通过了第一级机构A的身份认证,认证了的数字身份文件可以存储至区块链。
如图5所示,第一级机构A可以使用自身的私钥,对第二级机构B的数字身份文件进行签名,即对第二级机构B的身份进行认证,确定该第二级机构B的数字身份标识,此过程可以认为是第一级机构A为第二级机构B签发数字身份标识的过程。同理,第一级机构A还可以为第二级机构C签发数字身份标识,为第二级机构D签发数字身份标识。
进一步地,各个第二级机构同样可以使用自身的私钥,分别为下级机构或用户签发数字身份标识;如第二级机构B可以为第三级机构E签发数字身份标识,第二级机构C可以为用户F签发数字身份标识,第二级机构D可以为第三级机构G签发数字身份标识。总而言之,每个上一级的机构均可以使用自身的私钥为下一级的机构或用户签发数字身份标识,每个机构或用户的数字身份文件可以将数字身份标识和特定的公钥进行绑定,完成身份认证的数字身份文件都可以存储至区块链。需要说明的是,图5所示的第一级机构、第二级机构、第三级机构仅为本申请实施例中的举例说明,本申请还可以包括更多不同级别的机构或用户,本申请对此不做限定。
用户F在得到第二级机构C签发的数字身份标识后,可以使用自身的数字身份标识向第三级机构E申请自己的学历证书证明,此时的用户F可以称为目标对象,第三级机构E可以称为数据发行对象(例如,学校),学历证书证明可以称为数据凭证。第三级机构E可以通过去中心化数字身份的解析器,查询区块链中与用户F的数字身份标识相对应的数字身份文件,若基于用户F的数字身份文件确认该用户F的身份合法,则可以为该用户F发行学历证书证明。第三级机构G可以通过去中心化数字身份的解析器,查询区块链中与用户F的数字身份标识相对应的数字身份文件,并基于用户F的数字身份文件对用户F提交的学历证书证明进行验证,此时的第三级机构G可以称为数据验证对象,该第三级机构G可以为企业。
请参见图6,图6是本申请实施例提供的一种申请身份认证的流程示意图。如图6所示,该申请身份认证过程可以由下述步骤S201至步骤S205实现。
S201,用户F提交自身的数字身份文件。
具体的,当用户F(目标对象)想要向第二级机构C(第一身份证明机构)申请身份证明时,可以向第二级机构C提交自身的数字身份文件(初始数字身份文件);该数字身份文件可以包含用户F的目标数字身份标识以及用户F的公钥等信息。
S202,第二级机构C验证用户F的身份,并对数字身份文件进行签名。
具体的,第二级机构C可以接收用户F提交的初始数字身份文件,并对初始数字身份文件中所包含的信息以及用户F的身份进行验证,得到该用户F的身份验证结果。当身份验证结果指示身份合法时,可以使用第二级机构C的私钥对用户F提交的数字身份文件进行签名,得到携带数字签名的数字身份文件(第一数字身份文件),即用户F的数字身份得到了第二级机构C的认证。当身份验证结果指示身份不合法时,表示用户F的身份暂时存在问题,不能为其进行身份认证,即不能为用户F提交的数字身份文件进行签名,并向用户F返回身份认证失败的提示信息。
S203,第二级机构C将签名后的数字身份文件存储至区块链。
具体的,第二级机构C为用户F的数字身份文件进行签名后,可以将签名后的数字身份文件存储至区块链,签名后的数字身份文件的存储过程可以参见前述步骤S103中的相关描述,此处不再进行赘述。
S204,返回区块链存储结果。
具体的,签名后的数字身份文件成功上链存储后,该区块链可以向第二级机构C返回区块链存储结果,该区块链存储结果可以用于表示签名后的数字身份文件上链存储成功,或者可以用于表示签名后的数字身份文件上链存储失败。
S205,返回身份注册结果。
具体的,第二级机构C接收到区块链返回的区块链存储结果后,可以向用户F返回身份注册结果。若区块链存储结果为上链存储成功,则该身份注册结果可以用于表示用户F身份认证成功;若区块链存储结果为上链存储失败,则该身份注册结果可以用于表示用户F身份认证未成功。
请参见图7,图7是本申请实施例提供的一种申请学历证书证明的流程示意图。如图7所示,该申请身份认证过程可以由下述步骤S301至步骤S306实现。
S301,用户F提交自身的目标数字身份标识。
具体的,用户F的身份得到第二级机构C的认证后,可以向第三级机构E(数据发行对象)提交自身的目标数字身份标识,以向该第三级机构E申请学历证书证明。
S302,第三级机构E通过目标数字身份标识去链上查询用户F的数字身份文件。
具体的,第三级机构E可以获取用户F提交的目标数字身份标识,基于目标数字身份标识,可以从区块链中查询该用户F的数字身份文件(此处的数字身份文件携带了第二级机构C的数字签名)。
S303,返回区块链查询结果。
具体的,在区块链中查询到用户F的数字身份文件后,该区块链可以向第三级机构E返回查询结果,即用户F的数字身份文件。
S304,验证用户F的数字身份文件的签名,确认用户F的身份,发行学历证书证明。
具体的,第三级机构E可以基于第二级机构C的数字身份文件中的公钥,验证用户F的数字身份文件中的数字签名的正确性。若用户F的数字身份文件中的数字签名正确,则可以确认用户F的身份无误,进而可以为该用户F发行学历证书证明;若用户F的数字身份文件中的数字签名不正确,则可以确认用户F的身份有误,暂时不会为该用户F发行学历证书证明,即此时的用户F不具备发行学历证书证明的条件。
S305,第三级机构E将用户F的学历证书证明存储至区块链,设置该学历证书证明为用户F可见。
具体的,第三级机构E可以将为用户F发行的学历证书证明存储至区块链,并在区块链上为学历证书证明设置第一查询权限范围,该第一查询权限范围包括用户F,即设置该学历证书证明对用户F可见。例如,第一查询权限范围可以仅包含用户F和第三级机构E,那么区块链上的学历证书证明只能允许用户F和第三级机构E查询,其余机构或用户均不具备查询该学历证书证明的权限,可以有效保护用户F的学历证书证明不被泄露。
S306,返回设置结果。
具体的,第三级机构E可以将在区块链上为学历证书证明设置的第一查询权限范围以及该学历证书证明的标识信息返回至用户F,若用户F属于该第一查询权限范围,则表示其自身具备查询区块链中的学历证书证明的权限;若用户F不属于该第一查询权限范围,则表示其自身不具备查询区块链中的学历证书证明的权限。
可选地,第三级机构E除了向用户F返回该学历证书证明的标识信息之外,可以不用向该用户F返回第一查询权限范围,仅需通知该用户F是否具备查询区块链中的学历证书证明的权限即可,本申请对此不做限定。
请参见图8,图8是本申请实施例提供的一种学历证书证明的授权过程的流程示意图。如图8所示,该申请身份认证过程可以由下述步骤S401至步骤S404实现。
S401,用户F读取学历证书证明。
具体的,当用户F属于第一查询权限范围时,该用户F可以通过标识信息在区块链上查询该学历证书证明,以获取第三级机构E为用户F发行的学历证书证明。
S402,用户F根据学习证书证明,生成可验证表达。
具体的,用户F可以使用自身的私钥,对学习证书证明进行加密处理,以生成用于向被授权对象(数据验证对象)展示的可验证表达(资产展示数据),该可验证表达的生成过程可以参见前述步骤S102中的相关描述,此处不再进行赘述。
S403,用户F将可验证表达存储至区块链,并在区块链上设置可验证表达的可见性。
S404,可验证表达设置成功。
具体的,用户F可以将可验证表达存储至区块链,在该可验证表达在区块链上存储成功时,可以在该区块链上为该可验证表达设置可见性,即为该可验证表达设置第二查询权限范围,进而可以向用户F返回设置成功的提示信息。
可以理解的是,多个对象之间可以将需要授权的数据存储至区块链,并通过为区块链上存储的数据设置可见性,可以对多个对象在区块链上的数据进行交换。
本申请实施例中,第二查询权限范围内的数据验证对象才具备读取区块链中的资产展示数据的权限,即目标对象仅将资产展示数据授权给第二查询权限范围内的数据验证对象;数据验证对象在读取区块链中的资产展示数据时,可以通过区块链中的第一数字身份文件来验证资产展示数据的有效性,且第一数字身份文件可以包含第一身份证明机构为目标对象认证的对象公钥和目标数字身份标识,并以此来向数据验证对象证明自己的身份,而无需提供该目标对象的真实身份信息,可以提高目标对象的数据安全性;目标对象可以根据实际需求来生成全量信息或部分信息授权给相应的数据验证对象,即选择性地将自身信息在区块链上进行数据授权,进而可以提高数据授权范围的灵活性,进一步提升数据安全性,具有去中心化、身份自主可控以及可信链上数据交换的特点。
请参见图9,图9是本申请实施例提供的另一种基于区块链的数据授权方法的流程示意图。可以理解地,该方法可以由计算机设备执行,该计算机设备可以为数据验证对象所使用的电子设备,且该计算机设备可以为区块链网络中的任一区块链节点。如图9所示,该基于区块链的数据授权方法可以至少包括以下步骤S501-步骤S504:
步骤S501,接收与目标对象相关联的业务请求,获取业务请求所携带的目标数字身份标识。
具体的,当目标对象想要向数据验证对象申请业务办理时,可以向数据验证对象提供该业务办理所需的材料信息(例如,学历证书证明),并向其发起业务请求;其中,该业务请求可以为入职请求、贷款请求、购买请求等,本申请对此不做限定。在目标对象向数据验证对象发起业务请求后,数据验证对象可以接收该目标对象对应的业务请求,并获取该业务请求所携带的目标数字身份标识。
步骤S502,基于目标数字身份标识,在区块链中获取目标对象对应的第一数字身份文件和资产展示数据;资产展示数据是由数据发行对象为目标对象分发的数据凭证,以及目标对象对应的对象私钥所生成的。
具体的,数据验证对象可以将该目标数字身份标识作为索引信息,从区块链中查询该目标对象对应的第一数字身份文件和资产展示数据,区块链可以将查询结果返回给该数据验证对象,该查询结果即为第一数字身份文件和资产展示数据。其中,该资产展示数据可以是指目标对象使用自身的对象私钥,对数据发行对象为该目标对象分发的数据凭证进行加密所生成的可验证表达;该资产展示数据可以认为是目标对象授权给数据验证对象的数据,可以包含一个或多个数据凭证的全量信息,或者可以包含一个或多个数据凭证的部分信息;该资产展示数据的生成过程可以参见前述步骤S102中的相关描述,此处不再进行赘述。
步骤S503,在第一数字身份文件中获取目标对象对应的对象公钥,根据对象公钥对资产展示数据进行有效性验证,得到资产展示数据对应的数据验证结果。
具体的,数据验证对象可以在第一数字身份文件中获取目标对象对应的对象公钥,通过该对象公钥可以验证资产展示数据中的数字签名的正确性;进一步地,数据验证对象还可以验证数据发行对象的第二数字身份文件,以确保第二数字身份文件中的公钥是可信的,这样就可以确定由数据发行对象签发的第一数字身份文件是有效的。在确定第一数字身份文件有效的情形下,若资产展示数据中的数字签名是正确的,则可以确定资产展示数据对应的数据验证结果为验证有效;若资产展示数据中的数字签名是错误的,则可以确定资产展示数据对应的数据验证结果为验证无效。
其中,资产展示数据的验证过程可以包括:数据验证对象可以根据对象公钥对资产展示数据中的数字签名进行验证,若资产展示数据中的数字签名正确,则在区块链中获取数据发行对象对应的第二数字身份文件,该第二数字身份文件对应于数据发行对象的数字身份标识;若数据验证对象确认了数据发行对象的数字身份标识确实由第二身份证明机构所签发,则可以确定第二数字身份文件满足合法性条件;进而可以根据第二数字身份文件中的公钥,对数据凭证中的数字签名进行验证;若数据凭证中的数字签名正确,则可以确定该数据凭证确实是由数据发行数据所签发的,从而可以确定资产展示数据的数据验证结果为验证有效,此处可以默认数据发行对象是数据验证对象所信任的对象。其中,合法性条件可以认为是数据身份文件中的数字签名正确,进而确保该数字身份文件确实是由其上级对象所签发,也就是说可以确定该数据身份文件中的公钥是可信的。
可选地,数据验证对象可以按照不同层级的对象所对应的信任链(如图5所示的第一级机构A的数字身份文件-第二级机构B的数字身份文件-第三级机构E的数字身份文件),对各个对象的数字身份文件按照下级至上级的顺序依次进行验证,当各个对象的数字身份文件均满足合法性条件,且资产展示数据中的数字签名正确时,可以确定资产展示数据对应的数据验证结果为验证有效;当各个对象的数字身份文件中存在任意一个数字身份文件不满足合法性条件,或者资产展示数据中的数字签名错误时,可以确定资产展示数据对应的数据验证结果为验证无效。
如图5所示,第三级机构G(数据验证对象)在验证用户F(目标对象)的资产展示数据(可以包含学历证书证明中的全部或部分信息)时,首先可以基于用户F的公钥验证资产展示数据中的数字签名,在确定资产展示数据中的数字签名正确后,可以进一步验证第三级机构E(数据验证对象)的数字身份文件中的数字签名;当第三级机构E所对应的数字身份文件中的数字签名正确时,表示第三级机构E的数字身份文件确实是由第二级机构B(第二身份证明机构)所签发,也表示该第三级机构E的数字身份文件中的公钥是可信的。进一步地,可以验证第二级机构B所对应的数字身份文件中的数字签名,当第二级机构B所对应的数字身份文件中的数字签名正确时,表示第二级机构B的数字身份文件确实是由第一级机构A(第三身份证明机构)所签发,也表示该第二级机构B的数字身份文件中的公钥是可信的。由于第一级机构A是去中心化身份识别系统中的各个对象都信任的机构,因此可以确定资产展示数据对应的数据验证结果为验证有效。
步骤S504,若数据验证结果指示资产展示数据验证有效,则为目标对象执行业务请求所指示的业务办理流程。
具体的,若数据验证结果指示资产展示数据验证有效,则可以表示该目标对象所提供的资产展示数据通过了数据验证对象的验证,进而可以为该目标对象执行业务请求所指示的业务办理流程。若数据验证结果指示资产展示数据验证无效,则可以表示该目标对象所提供的资产展示数据未通过数据验证对象的验证,进而可以生成针对目标对象的失败提示信息,并将失败提示信息通知给目标对象。假设业务请求为入职请求,当资产展示数据验证有效时,可以为该目标对象办理入职手续;当资产展示数据验证无效时,可以通知该目标对象没有通过入职申请,不能办理入职手续。
请参见图10,图10是本申请实施例提供的一种验证资产展示数据的流程示意图。如图10所示,本申请实施例同前述图5所示,同样以数据凭证是学历证书证明为例,该资产展示数据的验证过程可以由步骤S601至步骤S607实现。
S601,第三级机构G读取用户F的可验证表达。
具体的,当用户F(目标对象)给第三级机构G(数据验证对象)授权了可验证表达(资产展示数据)时,第三级机构G可以读取区块链中所存储的可验证表达。
S602,第三级机构G根据用户F的目标数字身份标识,读取用户F的数字身份文件。
具体的,第三级机构G可以获取用户F的目标数字身份标识,进而可以将用户F的目标数字身份标识作为索引信息,在区块链中读取用户F的数字身份文件(第一数字身份文件)。
S603,第三级机构G根据用户F的公钥验证可验证表达中的签名。
具体的,第三级机构G可以从用户F的数字身份文件中获取该用户F的公钥,基于用户F的公钥可以验证可验证表达中的数字签名,如可以使用用户F的公钥,对可验证表达中的数字签名进行解密,若解密成功,则表示可验证表达中的数字签名是正确的;若解密失败,则表示可验证表达中的数字签名是错误的,可以向该用户F返回验证失败的提示信息。
S604,第三级机构G读取第三级机构E的数字身份文件,获取第三级机构E的数字身份标识的签发机构为第二级机构B。
具体的,第三级机构G可以基于第三级机构E(数据发行对象)的数字身份标识,从区块链中读取第三级机构E的数字身份文件,并基于第三级机构E的数字身份文件,可以确定该第三级机构E的数字身份文件是由第二级机构B所签发的。
S605,验证第三级机构E的数字身份文件,保证第三级机构E的数字身份文件中的公钥是可信的。
具体的,第三级机构G可以验证第三级机构E所对应的数字身份文件中的数字签名,若确认了第三级机构E所对应的数字身份文件中的数字签名是正确的,则可以确定第三级机构E的数字身份文件中的公钥是可信的。
S606,使用第三级机构E的公钥验证学历证书证明确实是由第三级机构E所签发。
S607,验证成功,通知用户F办理入职。
具体的,第三级机构G可以使用第三级机构E的公钥验证该可验证表达所关联的学历证书证明,若通过第三级机构E的公钥确定了学历证书证明中的数字签名是正确的,则可以确定学历证书证明确实是由第三级机构E所签发,进而可以确定用户F的可验证表达验证成功,进而可以通知该用户F办理入职,并为该用户F办理入职手续。
本申请实施例中,数据验证对象在读取区块链中的资产展示数据时,可以通过区块链中的第一数字身份文件所关联的多层机构的身份信任链,来验证资产展示数据的有效性,且第一数字身份文件可以包含第一身份证明机构为目标对象认证的对象公钥和目标数字身份标识,并以此来向数据验证对象证明自己的身份,而无需提供该目标对象的真实身份信息,可以提高目标对象的数据安全性;目标对象可以根据实际需求来生成全量信息或部分信息授权给相应的数据验证对象,即选择性地将自身信息在区块链上进行数据授权,进而可以提高数据授权范围的灵活性,进一步提升数据安全性,具有去中心化、身份自主可控以及可信链上数据交换的特点。
可以理解的是,在本申请的具体实施方式中,可能涉及到用户或者机构的身份信息,当本申请以上实施例运用到具体产品或技术中时,需要获得相关用户的许可或同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
请参见图11,图11是本申请实施例提供的一种基于区块链的数据授权装置的结构示意图。可以理解地,该基于区块链的数据授权装置1可以应用在目标对象所使用的计算机设备中,该目标对象所使用的计算机设备可以为区块链网络中的任意一个区块链节点。如图11所示,该基于区块链的数据授权装置1可以包括:凭证获取模块11,数据生成模块12,数据授权模块13;
凭证获取模块11,用于在区块链中获取数据发行对象为目标对象分发的数据凭证;目标对象属于数据发行对象在区块链上为数据凭证设置的第一查询权限范围;
数据生成模块12,用于根据数据凭证和目标对象对应的对象私钥,生成目标对象对应的资产展示数据;
数据授权模块13,用于将资产展示数据存储至区块链,在区块链上为资产展示数据设置第二查询权限范围,以使第二查询范围内的数据验证对象基于目标对象对应的第一数字身份文件验证资产展示数据的有效性;第一数字身份文件包括第一身份证明机构已认证的对象公钥和目标数字身份标识。
其中,凭证获取模块11,数据生成模块12,数据授权模块13的具体功能实现方式可以参见图4所对应实施例中的步骤S101-步骤S103,此处不再进行赘述。
在一个或多个实施例中,基于区块链的数据授权装置1还包括:身份注册模块14,注册结果接收模块15,凭证申请模块16,发布结果接收模块17;
身份注册模块14,用于向第一身份证明机构提交目标对象对应的初始数字身份文件,以使第一身份证明机构在目标对象的身份验证结果指示身份合法时,对初始数字身份文件进行签名,生成第一数字身份文件;
注册结果接收模块15,用于接收第一身份证明机构返回的身份注册结果;身份注册结果用于指示第一数字身份文件成功存储至区块链。
凭证申请模块16,用于向数据发行对象提交目标对象对应的目标数字身份标识,以使数据发行对象基于目标数字身份标识关联的第一数字身份文件,为目标对象分发数据凭证;目标数字身份标识与第一数字身份文件中的对象公钥具有对应关系;
发布结果接收模块17,用于接收数据发行对象返回的凭证发布结果;凭证发布结果用于指示数据凭证成功存储至区块链,凭证发布结果包括数据凭证对应的标识信息;
则凭证获取模块11具体用于:
通过标识信息,在区块链中下载数据发行对象为目标对象分发的数据凭证。
其中,身份注册模块14,注册结果接收模块15,凭证申请模块16,发布结果接收模块17的具体功能实现方式可以参见图4所对应实施例中的步骤S101,此处不再进行赘述。
在一个或多个实施例中,数据生成模块12包括:凭证签名单元121,组合单元122,声明信息筛选单元123,声明信息修改单元124,声明信息签名单元125,展示数据生成单元126;
凭证签名单元121,用于基于目标对象对应的对象私钥,对数据凭证进行加密处理,生成目标对象的数字签名;
组合单元122,用于将数据凭证和目标对象的数字签名,组合为目标对象对应的资产展示数据。
声明信息筛选单元123,用于获取数据凭证中的M个声明信息,从M个声明信息中筛选出用于展示的N个声明信息;M和N均为正整数,且N小于或等于M;
声明信息修改单元124,用于对M个声明信息中除N个声明信息之外的M-N个声明信息进行隐藏处理,得到修改后的M-N个声明信息;
声明信息签名单元125,用于基于目标对象对应的对象私钥,对N个声明信息和修改后的M-N个声明信息进行加密处理,生成目标对象的数字签名;
展示数据生成单元126,用于将N个声明信息、修改后的M-N个声明信息,以及目标对象的数字签名,确定为目标对象对应的资产展示数据。
其中,凭证签名单元121,组合单元122,声明信息筛选单元123,声明信息修改单元124,声明信息签名单元125,展示数据生成单元126的具体功能实现方式可以参见图4所对应实施例中的步骤S102,此处不再进行赘述。其中,当凭证签名单元121,组合单元122执行相应的操作时,声明信息筛选单元123,声明信息修改单元124,声明信息签名单元125,展示数据生成单元126均暂停执行操作;当声明信息筛选单元123,声明信息修改单元124,声明信息签名单元125,展示数据生成单元126执行相应的操作时,凭证签名单元121,组合单元122均暂停执行操作。
在一个或多个实施例中,数据授权模块13包括:区块生成单元131,区块广播单元132,区块写入单元133;
区块生成单元131,用于将资产展示数据封装为交易数据,按照交易数据在交易池中的排序,将交易数据封装为数据区块;
区块广播单元132,用于在区块链网络中对数据区块进行广播,以使区块链网络中的区块链节点对数据区块进行共识处理;
区块写入单元133,用于若数据区块对应的区块共识结果指示共识成功,则将数据区块添加至区块链,为区块链中的资产展示数据设置第二查询权限范围。
可选地,基于区块链的数据授权装置1还包括:赞成票统计模块18,共识成功模块19;
赞成票统计模块18,用于获取区块链网络中的区块链节点所广播的区块投票信息,统计区块投票信息中的赞成投票数量;
共识成功模块19,用于若赞成投票信息大于或等于数量阈值,则确定数据区块对应的区块共识结果为共识成功。
其中,区块生成单元131,区块广播单元132,区块写入单元133,赞成票统计模块18,共识成功模块19的具体功能实现方式可以参见图4所对应实施例中的步骤S103,此处不再进行赘述。
本申请实施例中,第二查询权限范围内的数据验证对象才具备读取区块链中的资产展示数据的权限,即目标对象仅将资产展示数据授权给第二查询权限范围内的数据验证对象;数据验证对象在读取区块链中的资产展示数据时,可以通过区块链中的第一数字身份文件来验证资产展示数据的有效性,且第一数字身份文件可以包含第一身份证明机构为目标对象认证的对象公钥和目标数字身份标识,并以此来向数据验证对象证明自己的身份,而无需提供该目标对象的真实身份信息,可以提高目标对象的数据安全性;目标对象可以根据实际需求来生成全量信息或部分信息授权给相应的数据验证对象,即选择性地将自身信息在区块链上进行数据授权,进而可以提高数据授权范围的灵活性,进一步提升数据安全性。
请参见图12,图12是本申请实施例提供的另一种基于区块链的数据授权装置的结构示意图。可以理解地,该基于区块链的数据授权装置2可以应用在数据验证对象所对应的计算机设备中,该数据验证对象对应的计算机设备可以为区块链网络中的任意一个区块链节点。如图12所示,该基于区块链的数据授权装置2可以包括:请求接收模块21,数据获取模块22,数据验证模块23,验证成功模块24;
请求接收模块21,用于接收与目标对象相关联的业务请求,获取业务请求所携带的目标数字身份标识;
数据获取模块22,用于基于目标数字身份标识,在区块链中获取目标对象对应的第一数字身份文件和资产展示数据;资产展示数据是由数据发行对象为目标对象分发的数据凭证,以及目标对象对应的对象私钥所生成的;
数据验证模块23,用于在第一数字身份文件中获取目标对象对应的对象公钥,根据对象公钥对资产展示数据进行有效性验证,得到资产展示数据对应的数据验证结果;
验证成功模块24,用于若数据验证结果指示资产展示数据验证有效,则为目标对象执行业务请求所指示的业务办理流程。
其中,请求接收模块21,数据获取模块22,数据验证模块23,验证成功模块24的具体功能实现方式可以参见图9所对应实施例中的步骤S201-步骤S204,此处不再进行赘述。
在一个或多个实施例中,数据验证模块23包括:第一签名验证单元231,第二签名验证单元232,验证结果确定单元233;
第一签名验证单元231,用于根据对象公钥对资产展示数据中的数字签名进行验证,若资产展示数据中的数字签名正确,则在区块链中获取数据发行对象对应的第二数字身份文件;第二数字身份文件对应于数据发行对象的数字身份标识;
第二签名验证单元232,用于若数据发行对象的数字身份标识由第二身份证明机构所签发,则确定第二数字身份文件满足合法性条件,根据第二数字身份文件中的公钥,对数据凭证中的数字签名进行验证;
验证结果确定单元233,用于若数据凭证中的数字签名正确,则确定资产展示数据的数据验证结果为验证有效。
可选地,基于区块链的数据授权装置2还包括:验证无效模块25;
验证无效模块25,用于若数据验证结果指示资产展示数据验证无效,则生成针对目标对象的失败提示信息,将失败提示信息通知给目标对象。
其中,第一签名验证单元231,第二签名验证单元232,验证结果确定单元233,验证无效模块25的具体功能实现方式可以参见图9所对应实施例中的步骤S203-步骤S204,此处不再进行赘述。
本申请实施例中,数据验证对象在读取区块链中的资产展示数据时,可以通过区块链中的第一数字身份文件所关联的多层机构的身份信任链,来验证资产展示数据的有效性,且第一数字身份文件可以包含第一身份证明机构为目标对象认证的对象公钥和目标数字身份标识,并以此来向数据验证对象证明自己的身份,而无需提供该目标对象的真实身份信息,可以提高目标对象的数据安全性;目标对象可以根据实际需求来生成全量信息或部分信息授权给相应的数据验证对象,即选择性地将自身信息在区块链上进行数据授权,进而可以提高数据授权范围的灵活性,进一步提升数据安全性。
请参见图13,图13是本申请实施例提供的一种计算机设备的结构示意图。如图13所示,该计算机设备1000可以为用户终端,还可以为服务器,这里将不对其进行限制。为便于理解,本申请以计算机设备为用户终端为例,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,该计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1004可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图13所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
其中,该计算机设备1000中的网络接口1004还可以提供网络通讯功能,且可选用户接口1003还可以包括显示屏(Display)、键盘(Keyboard)。在图13所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
在区块链中获取数据发行对象为目标对象分发的数据凭证;目标对象属于数据发行对象在区块链上为数据凭证设置的第一查询权限范围;
根据数据凭证和目标对象对应的对象私钥,生成目标对象对应的资产展示数据;
将资产展示数据存储至区块链,在区块链上为资产展示数据设置第二查询权限范围,以使第二查询范围内的数据验证对象基于目标对象对应的第一数字身份文件验证资产展示数据的有效性;第一数字身份文件包括第一身份证明机构已认证的对象公钥和目标数字身份标识。
或者,处理器1001可以实现:
接收与目标对象相关联的业务请求,获取业务请求所携带的目标数字身份标识;
基于目标数字身份标识,在区块链中获取目标对象对应的第一数字身份文件和资产展示数据;资产展示数据是由数据发行对象为目标对象分发的数据凭证,以及目标对象对应的对象私钥所生成的;
在第一数字身份文件中获取目标对象对应的对象公钥,根据对象公钥对资产展示数据进行有效性验证,得到资产展示数据对应的数据验证结果;
若数据验证结果指示资产展示数据验证有效,则为目标对象执行业务请求所指示的业务办理流程。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图4,图6至图10任一个所对应实施例中对基于区块链的数据授权方法的描述,也可执行前文图12所对应实施例中对基于区块链的数据授权装置1的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的基于区块链的数据授权装置1所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图4,图6至图10任一个所对应实施例中对基于区块链的数据授权方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。作为示例,程序指令可被部署在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行,分布在多个地点且通过通信网络互连的多个计算设备可以组成区块链系统。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图4,图6至图10任一个所对应实施例中对基于区块链的数据授权方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储器(Read-Only Memory,ROM)或随机存储器(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (13)
1.一种基于区块链的数据授权方法,其特征在于,包括:
在区块链中获取数据发行对象为目标对象分发的数据凭证;所述目标对象属于所述数据发行对象在所述区块链上为所述数据凭证设置的第一查询权限范围;
根据所述数据凭证和所述目标对象对应的对象私钥,生成所述目标对象对应的资产展示数据;
将所述资产展示数据存储至所述区块链,在所述区块链上为所述资产展示数据设置第二查询权限范围,以使所述第二查询范围内的数据验证对象基于所述目标对象对应的第一数字身份文件验证所述资产展示数据的有效性;所述第一数字身份文件包括第一身份证明机构已认证的对象公钥和目标数字身份标识。
2.根据权利要求1所述的方法,其特征在于,还包括:
向所述数据发行对象提交所述目标对象对应的目标数字身份标识,以使所述数据发行对象基于所述目标数字身份标识关联的第一数字身份文件,为所述目标对象分发所述数据凭证;所述目标数字身份标识与所述第一数字身份文件中的对象公钥具有对应关系;
接收所述数据发行对象返回的凭证发布结果;所述凭证发布结果用于指示所述数据凭证成功存储至所述区块链,所述凭证发布结果包括所述数据凭证对应的标识信息;
则所述在区块链中获取数据发行对象为目标对象分发的数据凭证,包括:
通过所述标识信息,在所述区块链中下载所述数据发行对象为所述目标对象分发的数据凭证。
3.根据权利要求2所述的方法,其特征在于,还包括:
向第一身份证明机构提交所述目标对象对应的初始数字身份文件,以使所述第一身份证明机构在所述目标对象的身份验证结果指示身份合法时,对所述初始数字身份文件进行签名,生成所述第一数字身份文件;
接收所述第一身份证明机构返回的身份注册结果;所述身份注册结果用于指示所述第一数字身份文件成功存储至所述区块链。
4.根据权利要求1所述的方法,其特征在于,所述根据所述数据凭证和所述目标对象对应的对象私钥,生成所述目标对象对应的资产展示数据,包括:
基于所述目标对象对应的对象私钥,对所述数据凭证进行加密处理,生成所述目标对象的数字签名;
将所述数据凭证和所述目标对象的数字签名,组合为所述目标对象对应的资产展示数据。
5.根据权利要求1所述的方法,其特征在于,所述根据所述数据凭证和所述目标对象对应的对象私钥,生成所述目标对象对应的资产展示数据,包括:
获取所述数据凭证中的M个声明信息,从所述M个声明信息中筛选出用于展示的N个声明信息;M和N均为正整数,且N小于或等于M;
对所述M个声明信息中除所述N个声明信息之外的M-N个声明信息进行隐藏处理,得到修改后的M-N个声明信息;
基于所述目标对象对应的对象私钥,对所述N个声明信息和所述修改后的M-N个声明信息进行加密处理,生成所述目标对象的数字签名;
将所述N个声明信息、所述修改后的M-N个声明信息,以及所述目标对象的数字签名,确定为所述目标对象对应的资产展示数据。
6.根据权利要求1所述的方法,其特征在于,所述将所述资产展示数据存储至所述区块链,在所述区块链上为所述资产展示数据设置第二查询权限范围,包括:
将所述资产展示数据封装为交易数据,按照所述交易数据在交易池中的排序,将所述交易数据封装为数据区块;
在区块链网络中对所述数据区块进行广播,以使所述区块链网络中的区块链节点对所述数据区块进行共识处理;
若所述数据区块对应的区块共识结果指示共识成功,则将所述数据区块添加至所述区块链,为所述区块链中的所述资产展示数据设置第二查询权限范围。
7.一种基于区块链的数据授权方法,其特征在于,包括:
接收与目标对象相关联的业务请求,获取所述业务请求所携带的目标数字身份标识;
基于所述目标数字身份标识,在区块链中获取所述目标对象对应的第一数字身份文件和资产展示数据;所述资产展示数据是由数据发行对象为所述目标对象分发的数据凭证,以及所述目标对象对应的对象私钥所生成的;
在所述第一数字身份文件中获取所述目标对象对应的对象公钥,根据所述对象公钥对所述资产展示数据进行有效性验证,得到所述资产展示数据对应的数据验证结果;
若所述数据验证结果指示所述资产展示数据验证有效,则为所述目标对象执行所述业务请求所指示的业务办理流程。
8.根据权利要求7所述的方法,其特征在于,所述根据所述对象公钥对所述资产展示数据进行有效性验证,得到所述资产展示数据对应的数据验证结果,包括:
根据所述对象公钥对所述资产展示数据中的数字签名进行验证,若所述资产展示数据中的数字签名正确,则在所述区块链中获取所述数据发行对象对应的第二数字身份文件;所述第二数字身份文件对应于所述数据发行对象的数字身份标识;
若所述数据发行对象的数字身份标识由第二身份证明机构所签发,则确定所述第二数字身份文件满足合法性条件,根据所述第二数字身份文件中的公钥,对所述数据凭证中的数字签名进行验证;
若所述数据凭证中的数字签名正确,则确定所述资产展示数据的数据验证结果为验证有效。
9.一种基于区块链的数据授权装置,其特征在于,包括:
凭证获取模块,用于在区块链中获取数据发行对象为目标对象分发的数据凭证;所述目标对象属于所述数据发行对象在所述区块链上为所述数据凭证设置的第一查询权限范围;
数据生成模块,用于根据所述数据凭证和所述目标对象对应的对象私钥,生成所述目标对象对应的资产展示数据;
数据授权模块,用于将所述资产展示数据存储至所述区块链,在所述区块链上为所述资产展示数据设置第二查询权限范围,以使所述第二查询范围内的数据验证对象基于所述目标对象对应的第一数字身份文件验证所述资产展示数据的有效性;所述第一数字身份文件包括第一身份证明机构已认证的对象公钥和目标数字身份标识。
10.一种基于区块链的数据授权装置,其特征在于,包括:
请求接收模块,用于接收与目标对象相关联的业务请求,获取所述业务请求所携带的目标数字身份标识;
数据获取模块,用于基于所述目标数字身份标识,在区块链中获取所述目标对象对应的第一数字身份文件和资产展示数据;所述资产展示数据是由数据发行对象为所述目标对象分发的数据凭证,以及所述目标对象对应的对象私钥所生成的;
数据验证模块,用于在所述第一数字身份文件中获取所述目标对象对应的对象公钥,根据所述对象公钥对所述资产展示数据进行有效性验证,得到所述资产展示数据对应的数据验证结果;
验证成功模块,用于若所述数据验证结果指示所述资产展示数据验证有效,则为所述目标对象执行所述业务请求所指示的业务办理流程。
11.一种计算机设备,其特征在于,包括存储器和处理器;
所述存储器与所述处理器相连,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-8任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-8任一项所述的方法。
13.一种计算机程序产品,其特征在于,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210607133.XA CN117201048A (zh) | 2022-05-31 | 2022-05-31 | 基于区块链的数据授权方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210607133.XA CN117201048A (zh) | 2022-05-31 | 2022-05-31 | 基于区块链的数据授权方法、装置、设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117201048A true CN117201048A (zh) | 2023-12-08 |
Family
ID=89003928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210607133.XA Pending CN117201048A (zh) | 2022-05-31 | 2022-05-31 | 基于区块链的数据授权方法、装置、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117201048A (zh) |
-
2022
- 2022-05-31 CN CN202210607133.XA patent/CN117201048A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220263671A1 (en) | Data processing method, apparatus, and device, blockchain system, and computer-readable storage medium | |
CN109584066B (zh) | 基于区块链的隐私交易及其应用方法和装置 | |
US11496312B2 (en) | Collecting surveys with secure identities via a blockchain | |
US11360963B2 (en) | Tracking and verification of physical assets | |
US11170092B1 (en) | Document authentication certification with blockchain and distributed ledger techniques | |
US20210091960A1 (en) | Tracking and verification of physical assets | |
US11627144B2 (en) | Systems and methods for generating and validating certified electronic credentials | |
CN109246175B (zh) | 电子投票系统和控制方法 | |
Serranito et al. | Blockchain ecosystem for verifiable qualifications | |
WO2021052769A1 (en) | Off-chain notification of updates from a private blockchain | |
JP2022059070A (ja) | 電子投票システム、装置、制御方法、及び、プログラム | |
JP7064947B2 (ja) | 電子投票システム、及び、制御方法 | |
KR102131206B1 (ko) | 법인 관련 서비스 제공 방법, 이를 지원하는 방법, 이를 수행하는 서비스 서버 및 인증 서버 | |
Abbade et al. | Blockchain applied to vehicular odometers | |
US20220329436A1 (en) | Token-based identity validation via blockchain | |
WO2018088475A1 (ja) | 電子認証方法及びプログラム | |
CN112733159A (zh) | 用于区块链的自由搭乘节点识别 | |
CN110674531A (zh) | 基于区块链的居住信息管理方法、装置、服务器及介质 | |
CN112862589B (zh) | 金融场景下的身份验证方法、装置和系统 | |
Mansoor et al. | A Review of Blockchain Approaches for KYC | |
JP2023530594A (ja) | 分散型データベースにおける許可されたイベント処理 | |
CN109818965B (zh) | 个人身份验证装置及方法 | |
CN113779637B (zh) | 一种属性数据处理方法、装置、设备以及介质 | |
US20230188353A1 (en) | Multi-issuer anonymous credentials for permissioned blockchains | |
KR102450412B1 (ko) | 사물인터넷에서 서비스 수준 협약 기반 공유경제 서비스 제공시스템 및 제공방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |