CN110493007B - 一种基于区块链的信息验证方法、装置、设备及存储介质 - Google Patents
一种基于区块链的信息验证方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110493007B CN110493007B CN201910843898.1A CN201910843898A CN110493007B CN 110493007 B CN110493007 B CN 110493007B CN 201910843898 A CN201910843898 A CN 201910843898A CN 110493007 B CN110493007 B CN 110493007B
- Authority
- CN
- China
- Prior art keywords
- information
- verification
- signature data
- identity
- organization
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种基于区块链的信息验证方法、装置、设备及存储介质,包括:接收机构发行端发送的目标业务对应的凭证信息;凭证信息表征与目标对象的披露身份信息和全量身份信息的第一签名数据对应的凭证;调用智能合约,将基于披露身份信息得到的第二签名数据传递给区块链网络;接收区块链网络发送的第二签名数据对应的第一区块标识;基于第一区块标识、与机构发行端的公钥对应的第二区块标识和第一签名数据,生成验证信息;通过验证信息,接收机构验证端发送的验证请求;响应验证请求,基于第一区块标识、第二区块标识和第一签名数据,实现身份验证,返回验证结果至机构验证端,供机构验证端进行验证。通过本发明,能够提高身份信息的安全度。
Description
技术领域
本发明涉及区块链技术,尤其涉及一种基于区块链的信息验证方法、装置、设备及存储介质。
背景技术
目前,越来越多的日常业务可以通过移动终端来进行办理,为用户的日常生活带来了便利。在通过移动终端办理业务时,通常需要先将用户的个人信息,例如手机号码、身份证号码等,提交给数据持有机构或是第三方业务机构进行验证。
然而,各类数据持有机构或是第三方业务机构对于个人信息的保护程度不同,存储于第三方业务机构的用户个人信息可能会被泄露、使得用户个人身份信息的安全程度较低,并且用户个人信息在传输过程中存在被篡改的风险,,在进行目标业务的信息的验证时,所得到的验证结果的准确度也较低。
发明内容
本发明实施例提供一种基于区块链的信息验证方法、装置、设备及存储介质,能够提高个人身份信息的安全程度。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种基于区块链的信息验证方法,应用于信息验证平台,包括:
接收机构发行端发送的目标业务对应的凭证信息;所述凭证信息表征与目标对象的披露身份信息和全量身份信息的第一签名数据对应的凭证;所述第一签名数据是在进行目标业务之前生成的,所述披露身份信息与所述目标业务的需求对应;
调用智能合约,将基于所述披露身份信息得到的第二签名数据传递给所述区块链网络;
接收所述区块链网络发送的所述第二签名数据对应的第一区块标识;
基于所述第一区块标识、与所述机构发行端的公钥对应的第二区块标识和所述第一签名数据,生成验证信息;所述第二区块标识是进行目标业务之前所述区块链网络对所述机构发行端的公钥上链得到的;
通过所述验证信息,接收机构验证端发送的验证请求;
响应所述验证请求,基于所述第一区块标识、所述第二区块标识和所述第一签名数据,实现身份验证,返回验证结果至所述机构验证端,供所述机构验证端进行所述目标业务的验证。
本发明实施例提供一种基于区块链的信息验证方法,应用于机构发行端,包括:
接收终端发送的目标对象的披露身份属性;
根据所述披露身份属性,获取所述目标对象的披露身份信息;
利用第一签名数据和所述披露身份信息生成目标业务对应的凭证信息;所述第一签名数据是在进行目标业务之前由信息验证平台生成的;
将所述凭证信息发送给信息验证平台;
接收所述信息验证平台发送的验证信息;所述验证信息由所述信息验证平台基于所述凭证信息生成的;
将所述验证信息发送给所述终端。
本发明实施例提供一种基于区块链的信息验证方法,应用于机构验证端,包括:
接收终端发送的目标业务的业务请求;
将所述业务请求对应的披露身份属性发送给所述终端;
基于所述终端提供的验证信息,生成验证请求;所述验证信息基于所述披露身份属性得到的;
将所述验证请求发送给信息验证平台;
接收所述信息验证平台针对所述验证请求返回的验证结果;
根据所述验证结果,实现对所述目标业务的验证。
第二方面,本发明实施例提供一种信息验证平台,包括:
第一存储器,用于存储可执行信息验证指令;
第一处理器,用于执行所述第一存储器中存储的可执行信息验证指令时,实现本发明实施例信息验证平台侧提供的基于区块链的信息验证方法。
本发明实施例提供一种机构发行端,包括:
第二存储器,用于存储可执行信息验证指令;
第二处理器,用于执行所述第二存储器中存储的可执行信息验证指令时,实现本发明实施例机构发行端侧提供的基于区块链的信息验证方法。
本发明实施例提供一种机构验证端,包括:
第三存储器,用于存储可执行信息验证指令;
第三处理器,用于执行所述第三存储器中存储的可执行信息验证指令时,实现本发明实施例机构验证端侧提供的基于区块链的信息验证方法。
第三方面,本发明实施例提供一种存储介质,存储有可执行信息验证指令,用于引起第一处理器执行时,实现本发明实施例信息验证平台侧提供的基于区块链的信息验证方法,或者用于引起第二处理器执行时,实现本发明实施例机构发行端侧提供的基于区块链的信息验证方法,或者用于第三处理器执行时,实现本发明实施例机构验证端侧提供的基于区块链的信息验证方法。
本发明实施例具有以下有益效果:
本发明实施例中,在进行目标业务的信息验证时,终端向机构验证端发送验证请求,机构验证端向终端返回目标业务需要验证的披露身份信息属性,终端将披露身份信息属性发送给机构发行端,机构发行端根据披露身份属性获取披露身份信息,并根据全量身份信息对应的第一签名数据和披露身份信息得到目标业务对应的凭证信息,机构验证端将凭证信息发送给信息验证平台,信息验证平台从凭证信息中所得到披露身份信息生成第二签名数据,并将第二签名数据传递区块链网络中进行存储,然后根据第一区块标识、机构发行端的公钥对应的第二区块标识和第一签名数据生成验证信息,再通过验证信息得到机构验证端的验证请求,并对验证请求进行响应,根据第一区块标识,机构发行端的公钥对应的第二区块标识与第一签名数据,进行信息验证,得到验证结果并发送给机构验证端,机构验证端根据验证结果对目标业务进行验证。通过上述方式,信息验证平台的验证结果能够对身份信息的完整性和真实性进行验证,提高机构验证端对目标业务的信息验证的准确度;并且机构验证端,即第三方业务机构实现对目标业务的验证时,只能获得目标业务需要验证的披露身份属性的明文信息,无法获得其他身份属性的明文信息,也就无法对身份信息进行泄露,提高个人身份信息的安全程度。
附图说明
图1是本发明实施例提供的基于区块链的信息验证设备的一个可选的架构示意图;
图2是本发明实施例提供的基于区块链的信息验证设备的部署示意图;
图3是本发明实施例提供的区块链网络的示例性功能架构;
图4是本发明实施例提供的基于区块链的基于区块链的信息验证设备的结构示意图;
图5是本发明实施例提供的一种基于区块链的信息验证方法的过程示意图;
图6是本发明实施例提供的一种基于区块链的信息验证方法的交互流程图一;
图7是本发明实施例提供的终端向机构验证端发送目标业务的业务请求的示意图;
图8是本发明实施例提供的机构验证端将披露身份属性发送给终端的示意图;
图9是本发明实施例提供的终端将披露身份属性发送给机构发行端的示意图;
图10是本发明实施例提供的一种基于区块链的信息验证方法的流程图;
图11是本发明实施例提供的一种生成第二签名数据的示例图;
图12是本发明实施例提供的一种验证标识的示例图;
图13是本发明实施例提供的一种信息验证的过程示意图;
图14是本发明实施例提供的一种基于区块链的信息验证方法的交互流程图二;
图15是本发明实施例提供的一种基于区块链的信息验证方法的交互流程图三;
图16是本发明实施例提供的一种生成第一签名数据的示例图;
图17为本发明实施例提供的海关出入境签证办理时信息验证的示意图;
图18为本发明实施例提供的一种基于区块链的信息验证装置的结构示意图一;
图19为本发明实施例提供的一种基于区块链的信息验证装置的结构示意图二;
图20为本发明实施例提供的一种基于区块链的信息验证装置的结构示意图三;
图21为本发明实施例提供的一种基于区块链的信息验证装置的结构示意图四;
图22为本发明实施例提供的一种基于区块链的信息验证装置的结构示意图五。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)交易(Transaction),等同于计算机术语“事务”,交易包括了需要提交到区块链网络执行的操作,并非单指商业语境中的交易,鉴于在区块链技术中约定俗成地使用了“交易”这一术语,本发明实施例遵循了这一习惯。
例如,部署(Deploy)交易用于向区块链网络中的节点安装指定的智能合约并准备好被调用;调用(Invoke)交易用于通过调用智能合约在区块链中追加交易的记录,并对区块链的状态数据库进行操作,包括更新操作(包括增加、删除和修改状态数据库中的键值对)和查询操作(即查询状态数据库中的键值对)。
2)区块(Block),记录一段时间内交易所更新的账本数据的数据结构,被标记上时间戳和之前一个区块的独特标记(例如数字指纹),区块经过区块链网络中节点的共识验证后,会被追加到区块链的末尾成为新区块。
例如,每个区块的头部既可以包括区块中所有交易的哈希值,同时也包含前一个区块中所有交易的哈希值,从而基于哈希值实现区块中交易的防篡改和防伪造;新产生的交易被填充到区块并经过区块链网络中节点的共识后,会被追加到区块链的尾部从而形成链式的增长。
3)区块链网络,通过共识的方式将新区块纳入区块链的一系列的、无中心的节点的集合。
4)账本(Ledger),是区块链(也称为账本数据)和与区块链同步的状态数据库的统称。
其中,区块链是以文件系统中的文件的形式来记录交易;状态数据库是以不同类型的键(Key)值(Value)对的形式来记录区块链中的交易,用于支持对区块链中交易的快速查询。
5)智能合约(Smart Contracts),也称为链码(Chaincode)或应用代码,部署在区块链网络的节点中的程序,节点执行接收的交易中所调用的智能合约,来对账本数据库的键值对数据进行更新或查询的操作。
6)共识(Consensus),是区块链网络中的一个过程,用于在涉及的多个节点之间对区块中的交易达成一致,达成一致的区块将被追加到区块链的尾部,实现共识的机制包括工作量证明(PoW,Proof of Work)、权益证明(PoS,Proof of Stake)、股份授权证明(DPoS,Delegated Proof-of-Stake)、消逝时间量证明(PoET,Proof of Elapsed Time)等。
下面说明本发明实施例提供的区块链网络的示例性应用,参见图1,图1是本发明实施例提供的信息验证设备的架构示意图,包括区块链网络200(示例性示出了包括节点210-1至节点210-3)、信息验证平台300、机构发行端400、机构验证端500和终端600,下面分别进行说明。
区块链网络200的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备例如用户终端和服务器,都可以在不需要授权的情况下接入区块链网络200;以联盟链为例,业务主体在获得授权后其下辖的电子设备(例如终端/服务器)可以接入区块链网络200,此时,成为区块链网络200中的一类特殊的节点即客户端节点。
信息验证平台300调用智能合约,发起交易,区块链网络200接收来自信息验证平台300提交的交易,执行交易以在目标业务的信息验证时根据目标对象的披露身份信息所生成的签名数据的上链,以及机构发行端400的公钥的上链操作。
本发明实施例,机构发行端和机构验证端可以接入信息验证平台,信息验证平台接入区块链网络,以终端、机构发行端和机构验证端的交互,机构发行端和机构验证端与信息验证平台的交互,以及信息验证平台与区块链网络的交互来实现信息验证过程,下面进行说明。
参见图1,信息验证过程涉及多个业务主体,终端600可以接入机构发行端400和机构验证端500,机构发行端400和机构验证端500在信息验证平台300上进行注册后,都可以接入信息验证平台300,信息验证平台300可以接入区块链网络200。区块链网络200、信息验证平台300、机构发行端400、机构验证端500和终端600均为基于区块链的信息验证设备。
当需要针对目标业务的进行身份信息的验证时,可以通过终端600向机构验证端500发送业务请求,机构验证端500收到业务请求之后,会向终端600发送针对目标业务的需要验证的披露身份属性,以提示终端600需要验证哪些身份信息,终端600接收披露身份属性,并将披露身份属性发给机构发行端400。机构发行端400根据终端600发送的披露身份属性获取披露身份信息,并获取之前接收的由信息验证平台300所发送的第一签名数据,然后将披露身份信息与第一签名数据打包生成凭证信息,发送给信息验证平台300。信息验证平台300接收到凭证信息,并基于凭证信息中的披露身份信息生成第二签名数据,然后调用智能合约,将第二签名数据传递给区块链网络200。
区块链网络200中具有排序功能的节点210接收到第二签名数据,创建新区块并将第二签名数据填充到新区块中,并广播到区块链网络中200提供共识服务的节点。区块链200中的提供共识服务的节点210对新区块进行共识过程以达成一致,提供账本功能的节点210将新区块追加到区块链的尾部,并返回该新区块的区块标识给信息验证平台300。信息验证平台300基于新区块的区块标识,在目标业务的信息验证开始之前,由区块链网络发送的机构发行端的公钥对应的区块标识,以及第一签名数据生成验证信息,并通过机构发行端400将验证信息返回给终端600。
终端600在收到验证信息之后,将验证信息提供给机构验证端500,机构验证端500验证信息生成验证请求,并将验证请求发送给信息验证平台300。信息验证平台300响应该验证请求,基于验证请求得到第一区块标识、第二区块标识和第一签名数据,并将第一区块标识和第二区块标识发送给区块链网络200,并接收区块链网络200中返回的第二签名数据和机构发行端的公钥。信息验证平台300基于机构发行端的公钥、第一签名数据与第二签名数据实现身份验证,得到验证结果,并将验证结果发送给机构验证端500,机构验证端500收到验证结果并根据该验证结果,实现对目标业务的验证。
基于上述信息验证过程,参见图2,为本发明实施例中基于区块链的信息验证设备的部署示意。在本发明实施例中,终端600分别与机构发行端400、机构验证端500通过无线/有线通信相连接,以分别实现与机构发行端400、机构验证端500的交互;机构发行端400通过无线/有线通信与信息验证平台300相连接,以实现与信息验证平台300的交互;机构验证端500也通过无线/有线通信与信息验证平台300相连接,实现与信息验证平台300的交互。信息验证平台300与区块链网络200通过无线/有线通信相连接。终端600包括前端程序610和后端系统620,以使得用户可以在前端程序610上进行操作生成操作指令,后端系统620执行操作指令,以实现在信息验证过程中需要在终端600上完成的部分。机构发行端400包括前置程序410和业务系统420,通过前置程序410生成各类操作指令,业务系统420执行操作指令,以使先信息验证过程中需要在机构发行端400上完成的部分;同理,机构验证端500也包括前置程序510和业务系统520,通过前置程序510生成各类操作指令,通过业务系统520执行各类操作指令,完成信息验证过程中需要在机构验证端500上完成的部分;信息验证平台300和区块链网络200相连,信息验证平台300通过调用智能合约发起交易,以进行信息验证过程对需要上链的数据进行上链。
下面说明本发明实施例提供的区块链网络的示例性的功能架构,参见图3,图3是本发明实施例提供的区块链网络200的功能架构示意图,包括应用层201、共识层202、网络层203、数据层204和资源层205,下面分别进行说明。
资源层205封装了实现区块链网路200中的各个节点210的计算资源、存储资源和通信资源,例如计算机、服务器/集群和云中的计算资源、存储资源和通信资源,进行抽象并向数据层204提供统一的接口以屏蔽实现资源层205的底层硬件的差异性。
计算资源包括各种形式的处理器,例如中央处理器(CPU)、应用专用集成电路(ASIC,Application Specific Integrated Circuit)、专用集成电路和现场可编程门阵列(FPGA,Field-Programmable Gate Array)的各种形式的处理器。
存储资源包括各种易失性存储器和非易失性存储器等各种类型的存储介质。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)。易失性存储器可以是随机存取存储器(RAM,Random Access Memory),其用作外部高速缓存。
通信资源包括用于供区块链网络的节点210之间、区块链网络200与信息验证平台300之间通信的各种链路。
数据层204封装了实现账本的各种数据结构,包括以文件系统中的文件实现的区块链,键值型的状态数据库和存在性证明(例如区块中交易的哈希树)。
网络层203封装了点对点(P2P,Point to Point)网络协议、数据传播机制和数据验证机制、接入认证机制和业务主体身份管理的功能。
其中,P2P网络协议实现区块链网络200中节点210之间的通信,数据传播机制保证了交易在区块链网络200中的传播,数据验证机制用于基于加密学方法(例如数字证书、数字签名、公/私钥对)实现节点210之间传输数据的可靠性;接入认证机制用于根据实际的业务场景对加入区块链网络200的信息验证平台300的身份进行认证,并在认证通过时赋予信息验证平台300接入区块链网络200的权限;业务主体身份管理用于存储允许接入区块链网络200的信息验证平台300的身份、以及权限(例如能够发起的交易的类型)。
共识层202封装了区块链网络200中的节点210对区块达成一致性的机制(即共识机制)、交易管理和账本管理的功能。
共识机制包括POS、POW和DPOS等共识算法,支持共识算法的可插拔。
交易管理用于验证节点210接收到的交易中携带的数字签名,验证信息验证平台300的身份信息,并根据验证结果判断确认其是否具有权限进行交易。
账本管理:用于维护区块链和账本数据库。对于取得共识的区块,追加到区块链的尾部;执行取得共识的区块中的交易,当交易包括更新操作时更新状态数据库中的键值对,当交易包括查询操作时查询账本数据库中的键值对并向信息验证平台300返回查询结果。支持对账本数据库的多种维度的查询操作,包括:根据区块序列号(例如交易的哈希值)查询区块;根据区块哈希值查询区块;根据交易序列号查询区块;根据交易序列号查询交易;根据信息验证平台300的账号(序列号)查询信息验证平台300的账号数据;根据通道名称查询通道中的区块链。
应用层201封装了区块链网络能够实现的各种业务,包括交易的溯源、存证和验证等。
下面说明实现本发明实施例的区块链网络的节点的示例性结构,可以理解地,区块链网络200中的任一类型的节点的硬件结构可以根据下文说明的硬件结构而实施。
参见图4,图4是本发明实施例提供基于区块链的信息验证设备400的结构示意图,图4所示的基于区块链的信息验证设备400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图4中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器450旨在包括任意适合类型的存储器。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等。
显示模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口)。
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的基于区块链的信息验证装置可以采用软件方式实现,图4示出了存储在存储器450中的基于区块链的信息验证装置,其可以是程序和插件等形式的软件,包括以下软件模块,将在下文中说明各个模块的功能。需要说明的是,存储器450中的基于区块链的信息验证装置可以是信息验证平台对应的装置、机构发行端对应的装置、机构验证端对应装置、终端对应的装置以及区块链网络对应的装置。在上述装置中都包括有软件模块,以实现本发明实施例提供的基于区块链的信息验证方法。
在另一些实施例中,本发明实施例提供的基于区块链的信息验证装置可以采用硬件方式实现,作为示例,本发明实施例提供的基于区块链的信息验证装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的基于区块链的信息验证方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
示例性的,本发明实施例提供了一种信息验证平台,包括:
第一存储器,用于存储可执行信息验证指令;
第一处理器,用于执行所述第一存储器中存储的可执行信息验证指令时,实现本发明实施例信息验证平台侧提供的基于区块链的信息验证的方法。
本发明实施例提供一种机构发行端,包括:
第二存储器,用于存储可执行信息验证指令;
第二处理器,用于执行所述第二存储器中存储的可执行信息验证指令时,实现本发明实施例机构发行端侧提供的基于区块链的信息验证方法。
本发明实施例提供一种机构验证端,包括:
第三存储器,用于存储可执行信息验证指令;
第三处理器,用于执行所述第三存储器中存储的可执行信息验证指令时,实现本发明实施例机构验证端侧提供的基于区块链的信息验证方法。
本发明实施例提供一种终端,包括:
第四存储器,用于存储可执行信息验证指令;
第四处理器,用于执行所述第四存储器中存储的可执行信息验证指令时,实现本发明实施例终端侧提供的基于区块链的信息验证方法。
本发明实施例提供一种区块链网络,包括:
第五存储器,用于存储可执行信息验证指令;
第五处理器,用于执行所述第五存储器中存储的可执行信息验证指令时,实现本发明实施例区块链网络侧提供的基于区块链的信息验证方法。
下面将结合本发明实施例提供的基于区块链的信息验证设备,提出本发明的各个实施例。
需要说明的是,本发明实施例中提供的一种基于区块链的信息验证方法,在针对目标业务进行信息验证之前,机构发行端、机构验证端和终端需要现在信息验证平台上进行注册,生成机构发行端的公钥和私钥的过程,以及终端需要向机构发行端提交全量身份信息,信息验证平台根据终端通过机构发行端所提交的全量身份信息,生成第一签名数据并返回机构发行端的过程。
示例性的,图5为本发明实施例提供的一种基于区块链的信息验证方法的过程示意,机构发行端和机构验证端需要先在信息验证平台上注册01,然后,用户通过终端提交全量身份信息02,最后,在具体的业务场景中,对需要验证的身份信息进行信息验证03。在本发明实施例中,会针对上述过程,分别进行说明。
本发明实施例提供一种基于区块链的信息验证方法,参见图6,该方法可以包括:
S101、终端向机构验证端发送目标业务的业务请求。
本发明实施例是在办理目标业务时对用户的身份信息进行验证的场景下实现的。在信息验证开始时,终端会机构验证端发送目标业务的业务请求,机构验证端接收终端发送的目标对象的业务请求。
在本发明实施例中,业务请求用于向机构验证端表明终端所需要办理的业务,即目标业务。终端向机构验证端发送业务请求,告知机构发行端终端需要办理某项业务,机构验证端在接收到终端发送的业务请求后,便会知晓终端需要进行某项业务办理。
本发明实施例中,机构验证端指的是与目标业务所对应的机构的验证终端,用来决定目标对象是否具有办理目标业务的资质。需要说明的是,机构验证端是根据目标业务所确定出来的,并不是指固定的某个机构。在本发明实施例中,具体的机构验证端可以根据目标业务来进行确定,本发明实施例在此不作具体限定。
示例性的,当目标对象通过终端在办理银行贷款申请时,机构验证端可以是银行机构的身份验证终端;当目标对象通过终端办理社保业务时,机构验证端可以是社保机构的身份验证终端。
可以理解的是,本发明实施例中的目标业务,指的是任何可以需要进行信息验证的业务,本发明实施例在此不作具体限定。
可以理解的是,终端再向机构验证端发送目标业务对应的业务请求,或是后续继续其他交互时,会将终端的标识信息一并发行给机构验证端,使得机构验证端能够根据终端的标识信息来对不同的终端进行区分。
需要说明的是,本发明实施例中的终端可以为智能手机、iPad以及个人电脑等设备,机构验证端可以是个人电脑、服务器以及手持终端等设备,本发明实施例在此不作限定。
示例性的,本发明实施例提供了一种终端向机构验证端发送目标业务的业务请求的示意图,如图7所示,终端的前端界面示出了三种业务场景,即出入境签证办理场景、银行贷款申请场景和市民大厅场景,目标对象可以在该界面上选择目标业务。当目标对象通过终端选择了出入境签证办理场景之后,终端便会向出入境签证办理业务所对应的机构验证方发送业务请求,告知该机构验证端目标对象需要办理业务,并询问该机构验证端在进行目标业务的办理之前需要验证哪些身份信息。
S102、机构验证端将业务请求对应的披露身份属性发送给终端。
机构验证端在明了终端需要办理的目标业务之后,会将业务请求对应的披露身份属性发送给终端,告知终端办理该项业务需要验证哪些信息,终端接收机构验证端针对业务请求返回的披露身份属性,明确办理该业务所需要验证的身份信息的属性。
在本发明实施例中,披露身份属性是与目标业务的业务请求相对应的,因而,披露身份属性表明了在进行目标业务的验证时所需要的身份属性。在本发明的一些实施例中,披露身份属性可以用字段来表示。例如,当目标业务为银行贷款时,需要对用户的信用情况这一身份属性进行验证,此时,披露身份属性可以用“征信”这一字段来表示;当目标业务为个税结算时,需要对用户的身份证号码进行验证,此时,披露身份属性可以用“身份证号”这一字段来表示。
可以理解的是,在本发明的一些实施例中,披露身份属性除了可以用字段来表示,还可以用其他方式来进行表示,本发明实施例在此不作限定。
示例性的,本发明实施例提供了一种机构验证端将披露身份属性发送给终端的示意,如图8所示,机构验证端向终端返回需要验证的披露身份属性,终端收到该披露身份属性并显示在验证提示浮窗上,提示目标对象机构验证端需验证姓名、手机号码、身份证号码与社保记录这些信息。之后,目标对象可以选择开始验证按钮,以便于后续选择披露身份属性并发送。
S103、终端将披露身份属性发送给机构发行端。
终端在接收到披露身份属性之后,会将需要办理业务的目标对象的披露身份属性发送给机构发行端,以告知机构发行端需要目标业务需要验证的身份属性。机构发行端接收终端发送的目标对象的披露身份属性,明确后续需要提取哪些信息。
在本发明实施例中,机构发行端指的是保存有用户身份信息的机构终端,可以是较为权威机构的终端。需要说明的是,由于不同的业务所需要验证的信息不同,而不同的机构发行端所保存的用户身份信息也不同,因而,本发明实施例中,机构发行端并不是指固定的机构,而是根据目标业务所确定机构,本发明实施例在此不作限制。
示例性的,例如,当目标业务为办理银行贷款时,需要对身份证号码进行验证,而身份证号码一般存储于公安部门的机构终端之中,此时,机构发行端可以是公安部门的机构终端;当目标业务为个税结算时,需要对社保信息进行验证,而社保信息一般存储与社保机构的终端之中,此时,机构发行端可以为社保机构的终端。
可以理解的是,与S101的过程类似,终端再将披露身份属性发送给机构发行端,或是进行其他交互时,会一同将终端的标识信息发送给机构发行端,使得机构发行端能够根据终端的标识信息,对不同的终端进行区分。
需要说明的是,终端中可以预设有身份属性清单,身份属性清单中包含有常用的身份属性,终端可以在该身份属性清单上勾选出披露身份属性。
可以理解的是,机构发行端可以是个人电脑、服务器等设备,本发明实施例在此不作限定。
示例性的,本发明实施例提供了一种终端将披露身份属性发送给机构发行端的示意,终端接收到披露身份属性并选择“开始验证”之后,如图9所示,终端会将预先存储的身份属性清单显示在显示界面上,身份属性清单中包含了常用的身份属性,如姓名、性别、年龄、学历、毕业院校、手机号码、身份证号码、交通违章记录、住址、工作单位、城市信用分、完税记录、病例记录以及社保记录等身份属性,目标对象可以通过终端在该清单上选择披露身份属性,例如,当披露身份属性为姓名、手机号码、身份证号码、社保记录时,目标对象可以通过终端将这四个身份属性从身份属性清单中勾选出来,点击确认选择,然后,终端将所勾选的披露身份属性打包,以便于后续发送给机构发行端。
S104、机构发行端根据披露身份属性,获取目标对象的披露身份信息。
机构发行端接收到目标对象的披露身份属性,会依据该披露身份属性,从自身的存储空间中获取披露身份属性所对应的明文信息,以及除披露身份属性外的其他身份属性的内容信息的哈希值,即剩余哈希值,并根据该明文信息和其他身份属性的内容信息的哈希值,组成目标对象的披露身份信息。
需要说明的是,由于在进行目标业务的验证之前,终端已经将目标对象的全部的身份信息,即全量身份信息提交给了机构发行端,机构发行端除了将将全量身份数据保存之外,还会将全量身份数据发送给信息验证平台,信息验证平台对全量身份数据中的每个身份属性的内容信息都进行哈希运算,并将所得到每个身份属性的内容信息对应的哈希值返回给了机构发行端,机构发行端接收这些身份属性的内容信息对应的哈希值并存储。
可以理解的是,本发明实施例中,机构发行端具有存储区域,存储区域中设置有数据库,用来存储终端所提交的全量身份信息中每个身份属性的内容信息的明文,以及全量身份信息中每个身份属性的内容信息所对应的哈希值。
可以理解的是,机构发行端可以键值对的形式,对全量身份信息进行存储,即,用每个身份属性作为键,用每个身份属性的内容信息的明文与每个身份属性的内容信息的哈希值作为值,来实现对全量身份信息的存储。当然,机构发行端还可以按照数据表的形式存储全量身份信息,除此之外,机构发行端还可以采用任何能够达到相同目的方式存储全量身份信息,本发明实施例在此不作限定。
S105、机构发行端利用第一签名数据和披露身份信息生成目标业务对应的凭证信息;第一签名数据是在进行目标业务之前由信息验证平台生成的。
机构发行端获取到目标对象的披露身份信息之后,还会在自身的存储空间中获取第一签名数据,并根据第一签名数据和披露身份信息,生成与目标业务对应的凭证信息。
需要说明的是,本发明实施例中,第一签名数据是进行目标业务的信息验证之前,由信息验证平台基于通过机构发行端从终端所得到的全量身份信息生成的,信息验证平台在生成第一签名数据之后,将第一签名数据返回给了机构发行端,机构发行端接收到第一签名数据之后,将第一签名数据临时存储到自身的存储空间之中。
可以理解的是,本发明实施例中,机构发行端可以按照直接将第一签名数据和披露身份信息打包,生成凭证信息,也可以先对第一签名数据和披露身份信息进行拼接,并对拼接进行加密,得到凭证信息,当然,还可以按照其他形式得到凭证信息,本发明实施例在此不作限定。
S106、机构发行端将凭证信息发送给信息验证平台。
机构发行端在生成得到凭证信息之后,便会将凭证信息发送给信息验证平台,信息验证平台。信息验证平台接收机构发行端发送的目标业务对应的凭证信息,凭证信息表征与目标对象的披露身份信息和全量身份信息的第一签名数据对应的凭证,第一签名数据是在进行目标业务之前生成的,披露身份信息与目标业务的需求对应。
在本发明实施例中,信息验证平台可以为腾讯用户身份平台,也可以为其它身份平台,本发明实施例在此不作限定。
可以理解的是,信息验证平台是搭建在具有计算能力的设备之上的,示例性的,信息验证平台可以搭建在大型服务器上,也可以搭建在个人电脑上,本发明实施例在此不作限定。
需要说明的是,机构发行端在进行目标业务的信息验证之前,会向信息验证平台发送第一注册信息,信息验证平台根据第一注册信息为机构发行端进行注册,为机构发行端分配机构发行端标识并返回,在注册完成后的,机构发行端向信息验证平台发送凭证信息,或是进行其他交互时,都会将机构发行端标识发送给信息验证平台,使得信息验证平台可以对机构发行端的身份进行辨别。
S107、信息验证平台调用智能合约,将基于披露身份信息得到的第二签名数据传递给区块链网络。
信息验证平台在收到凭证信息之后,会对凭证信息进行解析,得到披露身份信息和第一签名数据。之后,信息验证平台会基于披露身份信息生成第二签名数据,然后调用智能合约,将第二签名数据传递给区块链网络,区块链网络接收信息验证平台传递的第二签名数据,以便于后续将第二签名数据存储于区块链网络之中,提高第二签名数据的安全程度。与此同时,信息验证平台将第一签名数据存放于自身的存储空间之中,以便于在后续生成验证信息时能够迅速获取到第一签名数据。
可以理解的是,信息验证平台在将第二签名数据传递给区块链网络时,可以是先将第二签名数据作为参数传递给所要调用的智能合约,再通过智能合约将第二签名数据传递给区块链网络。当然,本发明实施例还可以采样其他方式将第二签名数据传递给区块链网络,本发明实施例在此不作具体限定。
S108、区块链网络创建第一新区块,将第二签名数据填充至第一新区块中,并将第一新区块追加到当前区块链的尾部,得到第二签名数据对应的第一区块标识。
区块链网络接收到信息验证平台所传递的第二签名数据之后,区块链网络中的节点会为第二签名数据新创建一个区块,得到第一新区块,然后,区块链网络通过具有排序功能的节点会将第二签名数据填充到所创建的第一新区块之中,并广播到具有共识服务的节点。具有共识服务的节点对第一新区块进行共识并达成一致之后,会将第一新区块追加到当前区块链的尾部,同时为第一新区块分配一个区块标识,得到第一新区块的区块标识,并将该区块标识作为第一区块标识。
需要说明的是,当前区块链指的是区块链网络经过将信息验证平台所生成的机构发行端的公钥填充至区块链网络所创建的第二新区块中,将第二新区块追加在初始区块链的尾部,得到中间区块链,并将区块链网络在将第一签名数据填充至区块链网络所创建的第三新区块中,以及将第三新区块追加在中间区块链的尾部这一系列流程之后,所得到的最新的区块链。
可以理解的是,第一区块标识可以看作第一新区块在当前区块链中的ID,因而,第一区块标识能够表明第二签名数据在当前区块链中的存储位置。第一区块标识可以以哈希值的形式来表示,也可以以其他形式来表示,本发明实施例在此不作具体限定。
在本发明的一些实施例中,为了加快从区块链网络中获取信息的效率,区块链网络可以将第一区块标识和第二签名数据,以账本的形式进行记录,即用第一区块标识作为键,用第二签名数据作为值进行存储,便于后续区块链网络在知晓第一区块标识之后,可以通过键值对索引,快速的获得到第二签名数据。
S109、区块链网络将第一区块标识发送给信息验证平台。
区块链网络在得到第一区块标识之后,就会将第一区块标识发送给信息验证平台,信息验证平台接收区块链网络发送的第二签名数据对应的第一区块标识,以便于后续信息验证平台基于第一区块标识得到验证信息。
S110、信息验证平台基于第一区块标识、与机构发行端的公钥对应的第二区块标识和第一签名数据,生成验证信息;第二区块标识是进行目标业务之前区块链网络对机构发行端的公钥上链得到的。
信息验证平台接收到第一区块标识之后,会从自身的存储空间中得到第一签名数据,以及获取在进行目标业务之前,区块链网络对机构发行端的公钥进行上链所得到的第二区块标识,并基于第一区块标识、第二区块标识和第一签名数据,生成验证信息。
需要说明的是,信息验证平台在进行目标业务之前,会根据机构发行端所发送第一注册信息、机构验证端所发送的第二注册信息和终端所发送的第三注册信息,分别对机构发行端、机构验证端和终端进行注册,并在完成注册之后,为机构发行端生成公钥和私钥,然后将机构发行端的公钥传递给区块链网络,区块链网络对机构发行端的公钥进行上链,得到第二区块标识并返回,信息验证平台将区块链网络返回的第二区块标识存储自身的存储空间中。
在本发明实施例中,信息验证平台可以基于第一区块标识、第二区块标识和第一签名数据,生成一个字符串,并将所得到的字符串作为验证信息;信息验证平台还可以基于第一区块标识、第二区块标识和第一签名数据,生成一个随机数,并将所得到的随机数作为验证信息。当然,信息验证平台还可以根据其他方式基于第一区块标识、第二区块标识和第一签名数据得到验证信息,本发明实施例在此不作具体限定。
S111、信息验证平台通过验证信息,接收机构验证端发送的验证请求。
信息验证平台得到验证信息之后,会将验证信息发送给机构发行端,并经由机构发行端,最终将验证信息传递至终端。之后,终端会将验证信息提供给机构验证端,机构验证端根据验证信息生成验证请求,并将验证请求发送给信息验证平台,信息验证平台接收机构验证端发送的验证请求。
需要说明的是,机构验证端在进行目标业务的信息验证之前,会向信息验证平台发送第二注册信息,信息验证平台根据第二注册信息为机构发行端进行注册,为机构验证端分配机构验证端标识并返回,在注册完成后的,机构验证端向信息验证平台发送验证请求,或是进行其他交互时,都会将机构验证端标识发送给信息验证平台,使得信息验证平台可以对机构验证端的身份进行辨别。
S112、信息验证平台响应验证请求,基于第一区块标识、第二区块标识和第一签名数据,实现身份验证,返回验证结果至机构验证端,供机构验证端进行目标业务的验证。
信息验证平台接收到验证请求之后,会响应验证请求,将第一区块标识、第二区块标识发送给区块链网络,以从区块链网络中获取到第二签名数据和机构验证端的公钥,并利用机构验证端的公钥分别对第一签名数据和第二签名数据进行验签,并对所得到的验签结果进行比较,生成验证结果。信息验证平台在得到验证结果之后,会将验证结果返回给机构验证端。机构验证端接收信息验证平台针对验证请求返回的验证结果,以使机构验证端根据验证结果进行目标业务的验证。
需要说明的是,验证结果中不仅包含第一签名数据的验签结果,与第二签名数据的验签结果进行比较所得到的比较结果,还包含着披露身份属性所对应的明文信息,以便于机构验证端根据该信息实现目标业务的验证。
需要说明的是,信息验证平台在利用第一区块标识、第二区块标识和第一签名数据,得到第一签名数据的验签结果与第二签名数据的验签结果,并对第一签名数据的验签结果与第二签名数据的验签结果进行比较,是为了判断第一签名数据中的全量身份信息是否被篡改,即验证身份信息的完整性与真实性,当验证结果表明身份信息完整且真实的时候,机构验证端就可以根据真实且完整的身份信息中,所需要验证信息进行目标业务的验证,使得目标业务的验证真实、有效。
本发明实施例中,信息验证平台的验证结果能够对身份信息的完整性和真实性进行验证,提高机构验证端对目标业务的信息验证的准确度;并且机构验证端,即第三方业务机构实现对目标业务的验证时,只能获得目标业务需要验证的披露身份属性的明文信息,无法获得其他身份属性的明文信息,也就无法对身份信息进行泄露,提供个人身份信息的安全程度。
在本发明的一些实施例中,信息验证平台调用智能合约,将基于披露身份信息得到的第二签名数据传递给所述区块链网络,即S107的具体实现过程,可以包括:S1071-S1072,如下:
S1071、信息验证平台基于披露身份信息,生成第二签名数据。
由于披露身份信息中包括披露身份属性所对应的明文信息,还包括着除披露身份属性之外的其他身份属性的内容信息的哈希值,信息验证平台在得到披露身份信息之后,只需要对披露身份信息中的明文数据进行哈希运算,然后根据所得到的哈希值与其他身份属性的内容信息的哈希值,以及存储在信息验证平台上的机构验证端的私钥生成第二签名数据,以便于后续将第二签名数据传递给区块链网络。
S1072、调用智能合约,将第二签名数据传递给区块链网络。
信息验证平台在生成第二签名数据之后,便会调用智能合约发起交易,将第二签名数据传递给区块链网络,以实现第二签名数据在区块链网络上的存储,加强第二签名数据的存储安全程度。
本发明实施例中,信息验证平台能够基于披露身份信息,生成第二签名数据,并调用智能合约,以实现对第二签名数据的上链,提高第二签名数据的安全程度。
在本发明的一些实施例中,参见图10,信息验证平台基于披露身份信息,生成第二签名数据,即S1071的具体实现过程,可以包括:S1071a-S1071f,如下:
S1071a、信息验证平台获取机构发行端的私钥、全量身份信息以及目标对象标识。
信息验证平台在基于披露身份信息生成第二签名数据时,先要从存储空间中,获取到在目标业务的信息验证开始之前所存储的全量身份信息、机构发行端的私钥和目标对象标识。
需要说明的是,信息验证平台在进行目标业务之前,会根据机构发行端所发送第一注册信息对机构发行端进行注册,得到机构发行端标识,并在完成注册之后,为机构发行端生成公钥和私钥,将机构发行端的私钥与机构发行端标识进行对应存储。信息验证平台能根据接收到的机构发行端发送的凭证信息中,不仅能得到披露身份信息和第一签名数据,还能得到机构发行端标识,因而,信息验证平台在生成第二签名数据时,就能够根据机构发行端标识,找到机构发行端的私钥。
可以理解的是,在目标业务的信息验证过程开始之前,机构发行端会将终端提交的全量身份信息发送给信息验证平台,信息验证平台会基于全量身份信息生成第一签名数据,并将第一签名数据返回给机构发行端,之后,才能继续后续处理过程。因而,目标业务的信息验证过程开始之前,信息验证平台中已经存在了全量身份信息,信息验证平台可以直接从自身的存储空间中获取到全量身份信息。
同理的,信息验证平台在生成第二签名数据之前,所接收到的机构发行端发送的凭证信息是与目标对象的披露身份信息和全量身份信息的第一签名数据对应的凭证,而目标对象可以通过目标对象标识来表征,因此,信息验证平台在接收到凭证信息之后,可以直接从存储空间中获得目标对象标识。
S1071b、信息验证平台从披露身份信息中获取明文子信息与剩余哈希值;剩余哈希值表征披露身份信息中除明文子信息外的身份信息对应的哈希值;明文子信息表征为明文的披露身份属性的内容信息。
信息验证平台从披露身份信息中获取到披露身份属性的内容信息的明文,作为明文子信息,从披露身份信息中获取到除披露身份属性外其他身份属性的内容信息的哈希值,即除明文子信息外的身份信息所对应的哈希值,作为剩余哈希值,以便于后续根据明文子信息和剩余哈希值得到第二哈希值。
S1071c、信息验证平台对明文子信息进行哈希运算,得到明文子信息的哈希值,并利用明文子信息的哈希值与剩余哈希值,拼接得到第二哈希值。
信息验证平台对明文子信息进行哈希运算,将明文子信息压缩到某一固定长度的消息摘要,并将该消息摘要作为明文子信息的哈希值。在计算得到明文子信息的哈希值之后,信息验证平台会将明文子信息的哈希值,与剩余哈希值进行拼接,并将拼接结果作为第二哈希值。
可以理解的是,信息验证平台可以通过安全散列算法(Secure Hash Algorithm,SHA)来进行哈希运算,也可以用其他能够达到相同目的的算法来进行哈希运算,本发明实施例在此不作限定。
需要说明的是,本发明实施例中,信息验证平台可以利用首尾拼接的方式,对明文子信息的哈希值与剩余哈希值进行拼接,得到第二哈希值,也可以用其他拼接方式将明文子信息的哈希值与剩余哈希值拼接得到第二哈希值,本发明实施例在此不作限定。
S1071d、信息验证平台采用第二哈希值、全量身份信息和目标对象标识,得到第二中间凭证。
信息验证平台得到第二哈希值之后,会利用第二哈希值,以及之前步骤所获取到的全量身份信息和目标对象标识,组成得到第二中间凭证,以便于后续对第二中间凭证进行哈希运算。
可以理解的是,信息验证平台可以按照目标对象标识、第二哈希值以及全量身份信息的顺序,将目标对象标识、第二哈希值和全量身份信息拼接,并对拼接结果进行加密,得到第二中间凭证,也可以是按照目标对象标识。全量身份信息以及第二哈希值的顺序,对上述内容拼接,并对拼接结果加密,得到第二中间凭证。当然,还可以按照其他方式用目标对象标识、第二哈希值以及全量身份信息得到第二中间凭证,本发明实施例在此不作限定。另外,除了对上述拼接结果加密得到第二中间凭证之外,还可以对上述拼接结果进行压缩,得到第二凭证信息,本发明实施例在此也不作限定。
S1071e、信息验证平台对第二中间凭证进行哈希运算,得到第二中间凭证的哈希值。
信息验证平台在得到第二中间凭证之后,会继续对第二中间凭证进行哈希运算,并将哈希运算所得到的消息摘要作为第二中间凭证的哈希值,便于后续对第二中间凭证的哈希值进行私钥签名。
S1071f、信息验证平台采用机构发行端的私钥对第二中间凭证的哈希值进行签名,得到第二签名数据。
信息验证平台利用所获取到的机构发行端的私钥,对第二中间凭证哈希值进行签名加密,得到第二签名数据,以便于后续将第二签名数据传递给区块链网络进行存储。
示例性的,本发明实施例提供了一种生成第二签名数据的的示例,参见图11,信息验证平台从自身的存储空间中,获取到目标对象标识1、全量身份信息2和机构发行端的私钥3,并从披露身份信息中提取4明文子信息Field_1,以及剩余哈希值Field_0_hash,Field_2_hash,…,Field_n_hash,然后对明文子信息Field_1进行哈希运算5,得到明文子信息的哈希值Field_1_hash,接着将Field_0_hash,Field_1_hash,…,Field_n_hash拼接6,得到第二哈希值Claim_hash,之后,信息验证平台根据第二哈希值Claim_hash、目标对象标识1和全量身份信息2得到第二中间凭证,并对第二中间凭证进行哈希运算7,得到第二中间凭证的哈希值,最后用机构发行端的私钥对第二中间凭证的哈希值进行签名8,得到第二签名数据。
本发明实施例中,信息验证平台能够从披露身份信息中获取明文子信息和剩余哈希值,对明文子信息进行哈希运算,得到明文子信息的哈希值,并将明文子信息的哈希值与剩余哈希值进行拼接,得到第二哈希值,再用第二哈希值和所获取到的全量身份信息、目标对象标识组成第二中间凭证,最后对第二中间凭证进行哈希运算,并用机构发行端的私钥对所得到的第二中间凭证的哈希值进行签名,得到第二签名数据,如此,信息验证平台能够第二签名数据,便于后续将第二签名数据传递给区块链网络。
在本发明的一些实施例中,信息验证平台通过验证信息,接收机构验证端发送的验证请求,还涉及到信息验证平台与机构发行端的交互,机构发行端与终端的交互,终端与机构验证端的交互,以及机构验证端与信息验证平台的交互,即S111的具体实现过程包括:S1111-S1115,如下:
S1111、信息验证平台将验证信息发送机构发行端。
信息验证平台生成验证信息之后,会将验证信息发送给机构发行端,机构发行端接收信息验证平台发送的验证信息,验证信息由信息验证平台基于凭证信息生成的。
S1112、机构发行端将验证信息发送给终端。
机构发行端将验证信息发送给终端,终端接收机构发行端返回的验证信息,便于后续终端可以将该验证信息提供给机构验证端。
S1113、终端将验证信息提供给机构验证端。
终端可以根据验证信息,生成验证标识,然后将验证标识提供给机构验证端,通过机构验证端对验证标识的处理,将验证信息提供给机构验证端。
在本发明的一些实施例中,终端可以将验证标识显示在终端的显示界面上,提供给机构验证端;终端还可以将验证标识直接发送给机构验证端,以向机构验证端提供验证标识。具体将验证标识提供给机构验证端的方式可以根据实际情况来设定,本发明实施例在此不作限定。
可以理解的是,验证标识可以是二维码,可以是条形码,还可以是其他形式的标识,本发明实施例在此不作具体限定。
示例性的,如图12所示,本发明实施例提供一种验证标识的示例,终端根据所接收到的验证信息,生成二维码,并将二维码显示在终端的显示界面的验证信息浮窗中,并可以设置在一定的时间内对二维码进行刷新,例如设置60s后自动刷新二维码。机构验证端可以通过扫描二维码,获得终端所提供的验证信息,同时,终端还可以通过返回按键,撤销对机构验证端提供验证信息。
S1114、机构验证端基于终端提供的验证信息,生成验证请求;验证信息基于所述披露身份属性得到的。
机构验证端基于终端提供的验证信息,能够生成验证请求,其中,验证信息是基于披露身份属性得到的,因而,机构验证端所生成的验证请求也是与披露身份属性相关的,通过验证请求可以告知信息验证平台机构验证平台需要开始对披露身份属性的内容信息的验证。
S1115、机构验证端将验证请求发送给信息验证平台。
机构验证端在生成验证请求之后,会将验证请求发送信息验证平台,信息验证平台接收机构验证端发送的验证请求,验证请求中携带有通过终端获取的验证信息,即信息验证平台也会获取到验证信息,并根据验证信息与披露身份属性的对应关系,明确机构验证端需要对披露身份属性进行验证。
本发明实施例中,信息验证平台将验证信息发送给机构发行端,机构发行端再将验证信息发送给终端,使得终端能够将验证信息提供给机构验证端,从而机构验证端能够根据验证信息生成验证请求,向信息验证平台表明需要开始对披露身份属性的内容信息开始验证。
在本发明的一些实施例中,信息验证平台响应验证请求,基于第一区块标识、第二区块标识和第一签名数据,实现身份验证,返回验证结果至机构验证端,供机构验证端进行目标业务的验证,还涉及到信息验证平台与区块链网络的交互,即S112的具体实现过程,可以包括:S1121-S1127,如下:
S1121、信息验证平台响应验证请求,将第一区块标识和第二区块标识发送给区块链网络。
信息验证平台将第一区块标识和第二区块标识发送给区块链网络,向区块链网络表明需要从区块链网络中获取数据。区块链网络接收信息验证平台发送的第一区块标识和第二区块标识。
S1122、区块链网络根据第一区块标识,从第一新区块中获取第二签名数据,并将第二签名数据发送给信息验证平台。
区块链网络根据信息验证平台所发送的第一区块标识,在区块链网络中索引到第一新区块,并从第一新区块中获取到第二签名数据,然后将第二签名数据发送给信息验证平台。信息验证平台接收区块链网络发送的第二签名数据。
S1123、区块链网络根据第二区块标识,从第二新区块中获取机构发行端的公钥,并将机构发行端的公钥发送给信息验证平台。
区块链网络根据第二区块标识,从区块链网络中索引到第二新区块,然后从第二新区块中,获取到机构发行端的公钥,接着将机构发行端的公钥返回给信息验证平台。信息验证平台接收区块链网络发送的机构发行端的公钥。
需要说明的是,信息验证平台在进行目标业务的信息验证之前,是先为机构发行端生成公钥和私钥,并将机构发行端的公钥传递给区块链网络,区块链网络为创建第二新区块,并将机构发行端的公钥填充到第二新区块之中,并得到第二区块标识。如此,区块链网络能够根据第二区块标识,索引到第二新区块,并从第二新区块中获取到机构发行端的公钥。
S1124、信息验证平台利用机构验证端的公钥,对第一签名数据和第二签名数据进行验签,得到第一中间凭证的哈希值和第二中间凭证的哈希值。
信息验证平台在接收到区块链网络传回的第二签名值和机构发行端的公钥之后,会先用机构发行端的公钥对第一签名数据进行验签,得到第一中间凭证的哈希值,再用机构发行端的公钥对第二签名数据进行验签,得到第二中间凭证的哈希值。
需要说明的是,第一签名数据时信息验证平台在进行目标业务的信息验证之前,用机构发行端的私钥对基于全量身份信息所生成的第一中间凭证进行签名所得到的。
S1125、信息验证平台将第一中间凭证的哈希值与第二中间凭证的哈希值进行比对,得到验证结果。
由于对于不同的信息,经过哈希运算所得到的哈希值是不会相同的,因而,信息验证平台可以利用第一中间凭证的哈希值与第二中间凭证的哈希值进行比对,来判断第一中间凭证与第二中间凭证是否相同,从而知晓第一签名数据在传输过程中是否被篡改,得到验证结果。
示例性的,本发明实施例提供了一种信息验证的过程示意,如图13所示,信息验证平台用机构发行端的公钥1,对第一签名数据2进行验签,得到第一中间凭证的哈希值4,用机构发行端的公钥1对第二签名数据3进行验签,得到第二中间凭证哈希值5,最后通过比对第一中间凭证的哈希值4和第二中间凭证的哈希值5是否相同,并得到验证结果。
S1126、信息验证平台将验证结果发送给机构验证端,供机构验证端进行目标业务的验证。
信息验证平台将得到的验证结果发送给机构验证端,以向机构验证端表明目标对象个人身份信息数据的真实性,机构验证端接收信息验证平台返回的验证结果,以便于后续根据该验证结果进行目标业务的验证。
S1127、机构验证端根据验证结果,实现对目标业务的验证。
机构验证端在接收到信息验证平台发送的验证结果,来确定目标对象个人身份信息的的真实性,即个人身份信息是否被篡改,并根据该验证结果,实现对目标业务的验证,决定目标对象是否可以进行目标业务的办理。
本发明实施例中,信息验证平台能够将第一区块标识和第二区块标识发送给区块链网络,从区块链网络中获取到第二签名数据和机构验证端的公钥,并用机构验证端的公钥分别对第一签名数据和第二签名数据进行验签,得到第一中间凭证的哈希值和第二中间凭证的哈希值,并根据第一中间凭证的哈希值和第二中间凭证的哈希值,确定出目标对象个人身份信息的真实性,得到验证结果并发送给机构验证端,使得机构验证端能够根据该验证结果实现目标业务的验证,提高身份信息验证的准确度。
在本发明的一些实施例中,信息验证平台将第一中间凭证的哈希值与第二中间凭证的哈希值进行比对,得到验证结果,即S1125的具体实现过程,可以包括:S1125a-S1125b,如下:
S1125a、第一中间凭证的哈希值与第二中间凭证的哈希值相同时,验证结果为验证通过。
信息验证平台将第一中间凭证的哈希值与第二中间凭证的哈希值进行比对,当第一中间凭证的哈希值与第二中间凭证的哈希值相同时,表明目标对象的个人身份信息没有被篡改过,信息验证平台通过对目标业务的信息验证。
S1125b、第一中间凭证的哈希值与第二中间凭证信息的哈希值不相同时,验证结果为验证失败。
信息验证平台将第一中间凭证的哈希值与第二中间凭证的哈希值进行比对,发现第一中间凭证的哈希值与第二中间凭证的哈希值不同时,信息验证平台认为目标对象的个人身份信息在传输过程中被篡改过,信息验证结果为验证失败。如此,信息验证平台就完成了信息的验证。
本发明实施例中,信息验证平台根据第一中间凭证的哈希值与第二中间凭证的哈希值的比较结果来得到验证结果,以使得后续能将验证结果发送给机构验证端,进行目标业务的验证。
在本发明的一些实施例中,在进行目标业务的信息验证的流程之前,机构发行端、机构验证端和终端需要在信息验证平台上进行注册。下面将对注册过程进行说明。
本发明实施例提供一种基于区块链的信息验证方法,参见图14,该方法还包括:
S201、信息验证平台接收机构发行端发送的第一注册信息、机构验证端发送的第二注册信息,以及终端发送的第三注册信息。
本发明实施例是在信息验证平台对机构发行端、机构验证端和终端进行注册的场景下实现的。机构发行端将第一注册信息发送给信息验证平台,以便于机构发行端在信息验证平台完成注册,信息验证平台接收第一注册信息;机构验证端向信息验证平台发送第二注册信息,以便于机构验证端在信息验证平台完成注册,信息验证平台接收第二注册信息;终端向信息验证平台发送第三注册信息,以便于终端在信息验证平台完成注册,信息验证平台接收送的第三注册信息。
可以理解的是,机构发行端的第一注册信息是指在信息验证平台上注册时用于表明机构发行端身份的标识。示例性的,第一注册信息中可以包括机构发行端的名称,还可以包括机构发行端的组织代码,当然,也可以包括其他能够表明机构发行端身份的标识,本发明实施例在此不作限定。
与第一注册信息相类似,第二注册信息是指在信息验证平台上注册时用于表明机构验证端身份的标识,第二注册信息中可以包含机构验证端的名称、组织代码,或是其他能够表明机构验证端的身份的标识,本发明实施例在此不作限定。
在本发明实施例中,第三注册信息是指在信息验证平台上注册时用于表明终端身份的标识。示例性的,第三注册信息中可以具有终端的设备码等信息,以使得信息验证平台根据这些信息为终端进行注册。
S202、信息验证平台根据第一注册信息、第二注册信息以及第三注册信息,分别对机构发行端、机构验证端和终端进行注册。
信息验证平台根据第一注册信息,为机构发行端分配机构发行端标识,并肩机构发行端的标识返回给机构发行方,完成对机构发行端的注册;信息验证平台根据第二注册信息,为机构验证端分配机构验证端标识,并将机构验证端标识返回给机构验证端,完成对机构验证端的注册;信息验证平台根据第三注册信息,为终端分配终端标识,并将终端标识发送给终端,完成对终端的注册。
需要说明的是,信息验证平台为机构发行端分配的机构发行端标识之后,机构发行端在进行目标业务的信息验证,或是其他任意交互时,都会将机构发行端标识携带在交互信息中发送给信息验证平台,使得信息验证平台能够根据机构发行端标识确定出机构发行端的身份。同理的,信息验证平台为机构验证端分配机构验证端标识之后,机构验证端在后续的任意交互中,都会将机构验证端携带在交互信息中发给信息验证平台,使得信息验证平台能够根据机构验证端标识来辨别机构验证端的身份。信息验证平台为终端分配终端标识之后,终端在与机构发行端、机构验证端进行交互时,交互信息中都会携带终端标识,以使得机构发行端、机构验证端可以分辨不同的终端。
S203、当注册完成时,信息验证平台为机构发行端生成公钥和私钥。
信息验证平台在完成对机构发行端、机构验证端和终端的注册之后,会为机构发行端生成非对称的私钥和公钥,并将机构发行端的私钥存储在信息验证平台之中。
可以理解的是,本发明实施例中,可以用非对称加密算法产生机构发行端的私钥和公钥。示例性的,信息验证平台可以利用背包算法为机构发行端产生私钥和公钥,也可以利用椭圆加密算法(Elliptic Curve Cryptography,ECC)为机构发行端生成产生私钥和公钥,当然,还可以使用其他能够达到相同目的的算法为机构发行端产生私钥和公钥,本发明实施例在此不作限定。
S204、信息验证平台调用智能合约,将机构发行端的公钥传递给区块链网络。
信息验证平台调用智能合约,将机构发行端的公钥产地给区块链网络,区块链网络接收信息验证平台发行的机构发行端的公钥,以便于后续对机构发行端的公钥进行上链。
S205、区块链网络创建第二新区块,将机构发行端的公钥填充至第二新区块中,并将第二新区块追加到初始区块链的尾部,得到了中间区块链和机构发行端的公钥对应的第二区块标识。
在接收到机构发行端的公钥之后,区块链网络会为为机构发行端的公钥创建新区块,得到第二新区块,之后,区块链网络中具有排序功能的节点将机构发行端的公钥填充至第二新区块中,并进行广播,当具有共识服务的节点对第二新区块达成共识之后,就会将第二新区块追加到初始区块链的尾部,并第二新区块分配区块标识,这样,区块链网络可以得到中间区块链以及第二区块标识。
需要说明的是,初始区块链是指在开始为机构发行端的公钥创建第二新区块之前,存在于区块链网络中的最新的区块链,由于将第二新区块追加到这个最新的区块链之后,会使得该区块链发生更新,为了使更新后的区块链与更新前的区块链区分开,在此使用初始区块链指代更新前的区块链,用中间区块链指代更新后的区块链。
可以理解的是,与S108类似,区块链网络可以将第二区块标识作为键,将机构发行端的公钥作为值进行存储,便于后续通过键值对索引的方式快速获取到机构发行端的公钥。
S206、区块链网络将第二区块标识发送给信息验证平台。
区块链网络得到第二区块标识和中间区块链之后,区块链网络会将第二区块标识发送给信息验证平台,信息验证平台接收区块链网络发送的第二区块标识,其中,第二区块标识是与机构发行端的公钥对应的区块标识,以便于后续信息验证平台根据第二区块标识,从区块链网络中得到机构发行端的公钥。
本发明实施例中,信息验证平台分别对机构发行端、机构验证端和终端进行注册,使得后续信息验证平台与机构发行端、机构验证端进行信息交互,并为机构发行端生成公钥和私钥,将机构发行端的公钥传递给区块链网络,区块链网络对机构发行端的公钥上链,使的机构发行端的公钥不会被泄露、篡改,提高机构发行端的公钥的安全程度,进而提高个人身份信息的安全程度。
在信息验证平台完成对机构发行端、机构验证端和终端的注册之后,在进行目标业务的信息验证之前,终端需要通过机构发行端向信息验证平台提交全量身份数据,信息验证平台对全量身份数据进行处理。下面将该过程进行说明。
本发明实施例提供一种基于区块链的信息验证方法,参见图15,该方法还包括:
S301、终端获取全量身份信息,并将全量身份信息提交给机构发行端。
本发明实施例是在终端提交用户的全量身份信息的场景下实现的。终端需要获取到目标对象的全量身份信息,将全量身份信息提交给机构发行端,机构发行端接收终端发送的全量身份信息。
本发明实施例中,全量身份信息是指终端首次通过机构验证端向信息验证平台登记身份信息时,所有需要登记的身份属性的内容信息。
在本发明实施例中,终端可以通过输入操作,获取到全量身份信息,也可以从终端的存储空间中查找带有全量身份信息的文本文件,对该文本文件进行解析得到全量身份信息。具体得到全量身份信息的方式可以根据实际情况设定,本发明实施例在此不作限定。
可以理解的是,终端在通过输入操作获取全量身份信息时,可以是通过触摸屏接收输入操作以得到全量身份信息,也可以是通过键盘等外部设备接收输入操作以得到全量身份信息,本发明实施例在此不作限定。
S302、机构发行端将全量身份信息发送给信息验证平台。
机构发行端将终端发来的全量身份信息发送给信息验证平台,信息验证平台接收机构发行端发送的目标对象的全量身份信息,以便于后续信息验证平台对全量身份信息进行处理。
S303、信息验证平台根据全量身份信息,生成第一签名数据。
信息验证平台在接收到全量身份信息之后,会先从存储空间中获取到机构验证端的私钥,根据全量身份信息生成目标对象标识,并对全量身份信息中的每个身份属性进行哈希运算,并用哈希运算所得到的哈希值、全量身份信息和目标对象标识得到第一中间凭证,再用机构验证端的私钥对第一中间凭证签名,得到第一签名数据。
S304、信息验证平台调用智能合约,将第一签名数据传递给区块链网络。
信息验证平台调用智能合约,将第一签名数据传递给区块链网络,区块链网络接收信息验证平台传递的第一签名数据,以便于后续对第一签名数据进行上链。
S305、区块链网络创建第三新区块,将第一签名数据填充至第三新区块中,并将第三新区块追加到所述中间区块链的尾部,得到当前区块链和第一签名数据的区块标识。
区块链网络为第一签名数据创建第三新区块,之后,通过具有排序功能的节点将第一签名数据填充至第三新区块中,并广播至具有共识服务的节点。当具有共识服务的节点对第三新区块进行共识并达成一致后,会将第三新区块追加到中间区块链的末端,并为第三新区块分配区块标识,如此,区块链网络就能对中间区块链更新,得到当前区块链,并获得第一签名数据的区块标识。
S306、区块链网络将第一签名数据的区块标识发送给信息验证平台。
区块链网络在获得第一签名数据的区块标识之后,将第一签名数据的区块标识发送给信息验证平台,信息验证平台接收区块链网络发送的第一签名数据的区块标识,并对第一签名数据的区块标识进行存储,以便于后续在有需要时,信息验证平台可以根据第一签名数据的区块标识,得到目标对象的全量身份信息所对应的第一签名数据。
S307、信息验证平台将第一签名数据发送给机构发行端。
由于第一签名数据是由信息验证平台根据全量身份信息生成的,因而,当信息验证平台在将第一签名数据发送给机构发行端时,可以看作是向机构发行端表明对目标对象的全量身份信息已经处理完成,机构发行端接收信息验证平台发送的签名数据,知晓信息验证平台已经完成对全量身份信息的处理。
S308、当接收到第一签名数据后,机构发行端向终端发送身份处理完成信息;身份处理完成信息表征完成对全量身份信息的处理。
当机构发行端接收到信息验证平台发送的第一签名数据之后,向终端发送身份处理完成信息,身份处理完成信息表征完成对全量身份信息的处理,终端接收机构发行端发送的身份处理完成信息,得知终端所提交的全量身份信息已经被处理完成,之后,终端在可以在需要查看全量身份信息的时候,向机构发行端发送指令,以进行全量身份信息的查看。
本发明实施例中,信息验证平台通过机构发行端接收到终端所发送的全量身份信息,针对全量身份信息生成第一签名数据,并通过区块链网络对第一签名数据上链,提高第一签名数据的安全程度,同时将第一签名数据返回给机构发行端,并由发行端向终端发送身份处理完成信息,使得后续能够根据第一签名数据进行目标业务的信息验证。
在本发明的一些实施例中,信息验证平台根据全量身份信息,生成第一签名数据,即S303的具体实现过程,可以包括:S3031-S3035,如下:
S3031、信息验证平台从全量身份信息中获取每个身份属性的内容信息,以及根据全量身份信息生成目标对象标识。
信息验证平台在根据全量身份信息生成第一签名数据时,需要先将全量身份信息按照身份属性进行分解,获得每个身份属性的内容信息,之后,还需要根据全量身份信息,为目标对象生成标识信息,得到目标对象标识,以便于后续根据每个身份属性的内容信息、目标对象的标识得到第一签名数据。
可以理解的是,信息验证平台创建目标对象标识时,可以是从全量身份信息中提取出某个身份属性的内容信息,对该身份属性的内容信息进行加密,或是对该身份属性的内容信息进行哈希,得到目标对象标识。当然,还可以利用其它的方式根据全量身份信息,生成目标对象标识,本发明实施例在此不作限定。
示例性的,可以从全量身份信息中提取目标对象的身份证号,对身份证号进行加密,或是对身份证号进行哈希,得到目标对象标识。
S3032、信息验证平台对每个身份属性的内容信息分别进行哈希运算,得到每个身份属性信息的哈希值,并利用每个身份属性的哈希值,拼接得到第一哈希值。
信息验证平台对所获得的每个身份属性的内容信息进行哈希运算,将每个身份属性的内容信息都转变为与每个身份属性的内容信息所对应的消息摘要,得到每个身份属性的哈希值,然后用所有身份属性的哈希值,拼接得到第一哈希值,如此,信息验证平台就可以得到第一哈希值,以便于后续得到第一中间凭证。
需要说明的是,为了保证后续信息验证结果的可靠性在用第二中间凭证的哈希值对第一中间凭证的哈希值,信息验证平台应当使用与生成第二哈希值的相同的哈希算法和拼接方式,得到第一哈希值。
S3033、信息验证平台采用第一哈希值、全量身份信息与目标对象标识,得到第一中间凭证。
信息验证平台得到第一哈希值之后,会用第一哈希值、全量身份信息与目标对象标识组成第一中间凭证,此时,信息验证平台也会利用与得到第二中间凭证相同的拼接方式,由第一哈希值、全量身份信息与目标对象标识得到第一中间凭证。
S3034、信息验证平台对第一中间凭证进行哈希运算,得到第一中间凭证的哈希值。
信息验证平台对第一中间凭证继续进行哈希运算,将第一中间凭证转变为具有固定长度的消息摘要,如此,信息验证平台就得到了第一中间凭证的哈希值,以便于后续对第一中间凭证的哈希值进行签名。
S3035、信息验证平台获取机构发行端的私钥,采用机构发行端的私钥对第一中间凭证的哈希值进行签名,得到第一签名数据。
信息验证平台在得到第一中间凭证的哈希值之后,会在自身的存储空间中湖区机构发行端的私钥,然后用机构发行端的私钥对第一中间凭证签名,将签名所得到的数据作为第一签名数据,之后,信息验证平台就可以将第一签名数据传递给区块链网络以进行上链了。
示例性的,本发明实施例给出了一种生成第一签名数据的示例,如图16所示,信息验证平台在从全量身份信息1中提取每个身份属性的内容信息Field_0,Field_1,…,Field_n,以及根据全量身份信息1生成目标对象标识2,之后,便会对每个身份属性的内容信息都进行哈希运算3,得到每个身份属性的内容信息的哈希值Field_0_hash,Field_1_hash,…,Field_n_hash,然后,信息验证平台将每个身份属性的内容信息的哈希值进行拼接4,得到第一哈希值Claim_Hash,再用第二哈希值Claim_Hash、全量身份信息1以及目标对象标识2组成第一中间凭证,再对第一中间凭证进行哈希5,得到第一中间凭证的哈希值7,最后,信息验证平台从自身的存储空间中获取机构发行端的私钥6,利用机构发行端的私钥对第一中间凭证的哈希值进行签名8,如此,信息验证平台就能得到第一签名数据9。
本发明实施例中,信息验证平台能够根据全量身份信息生成目标对象标识,并从全量身份信息中得到每个身份属性的内容信息,并对每个身份属性的内容信息进行哈希运算,得到每个身份属性的内容信息的哈希值,再用每个身份属性的内容信息的哈希值拼接得到第一哈希值,并基于第一哈希值、全量身份信息和目标对象标识得到第一中间凭证,最后用机构发行端的私钥对第一中间凭证签名,得到第一签名数据,使得信息验证平台后续能够将第一签名数据传递给区块链网络以进行上链,以及能够将第一签名数据返回给机构发行端。
下面,再以海关出入境签证办理的场景为例,对本发明实施例提供的基于区块链的信息验证方法进行说明。
在海关出入境签证办理场景中,机构发行端可以为保存有海关出入境签证办理所需要的信息的机构终端,例如人社部门的机构终端,保存有签证办理所需要的姓名、身份证号、手机号码以及社保记录等信息,以及用户的其他信息,例如住址信息等。机构验证端为海关部门的机构终端,信息验证平台可以使用腾讯用户身份平台,简称为TUSI,终端可以为用户的智能手机。在进行信息验证之前,机构发行端和机构验证端,需要先在TUSI平台上进行注册备案,同时,用户的智能终端也需要在TUSI平台上注册。终端向TUSI平台发送终端注册信息,该注册信息中携带有终端的设备标识码,机构发行端向TUSI平台发送发行端注册信息,该注册信息中包含有人社部门的名称,机构验证端向TUSI平台发送验证端信息,该信息中携带有海关部门的名称。TUSI平台接收到终端注册信息、发行端注册信息以及海验证端注册信息之后,为终端生成腾讯用户身份平台标识,简称为TUSIID1,为机构发行端生成机构发行端标识TUSIID2,并为机构验证端生成机构验证端标识TUSIID3。同时,TUSI平台为机构发行端生成私钥和公钥。之后,TUSI平台会将机构发行端的公钥传递给区块链网络,区块链网络为机构发行端的公钥创建新区块,将机构发行端的公钥填充至新区块,并在对新区块经过共识之后,将新区块加入到区块链中,得到机构发行端的公钥所对应的区块标识,以实现对机构发行端的公钥的上链,保存在存储空间中。在上链完成之后,区块链网络将机构发行端的公钥对应的区块标识返回给TUSI平台。在完成注册之后,TUSI平台将TUSIID1返回给终端,将TUSIID2返回给机构发行端,将TUSIID3返回给机构验证端。在有了发行端标识TUSIID2之后,信息验证平台会将TUSIID2与机构发行端的私钥存储起来,并将TUSIID2作为该机构发行端的私钥的索引,以使得后续TUSI平台在得到TUSIID2之后,可以快速得到机构发行端的私钥。除此之外,TUSI平台还会对机构发行端的公钥对应的区块标识进行存储。
当终端完成在TUSI平台的注册之后,首次进行海关出入境签证的信息验证之前,需要将用户的全部的身份信息,即全量身份信息提交给机构发行端。机构发行端接收到全量身份信息之后,除了将全量身份信息进行存储之外,还会将全量身份信息打包发送给TUSI平台。TUSI平台接收到机构发行端发送的全量身份信息之后,会根据全量身份信息为生成目标对象标识,然后将全量身份信息中所有的身份属性的内容信息都提取出来,对这些身份属性的内容信息进行哈希运算,并对哈希运算所得到的哈希值进行拼接,组成一个新的字段,然后用该字段与目标对象标识、明文的全量身份信息组成中间凭证,再对该中间凭证进行哈希,得到全量身份信息所对应的中间凭证的哈希值,最后从获取机构发行端的私钥,对该哈希值进行签名,得到全量身份信息所对应的签名值。之后,信息验证平台将全量身份信息所对应的签名值发送给区块链网络,以对全量身份信息的签名值进行上链,得到全量身份信息的签名值所对应的区块标识。之后,信息验证平台将全量身份信息的签名值发送给机构发行端,机构发行端在接收到信息验证平台发送的全量身份信息的签名值之后,明确信息验证平台已经对全量身份信息处理完成,这时,机构发行端会向终端返回身份信息处理完成的提示,以向终端说明全量身份信息已经完成处理。
接下来,目标对象就可以通过终端进行海关出入境签证办理的信息验证了。图17给出了进行海关出入境签证办理时信息验证的示意。终端海关部门的机构终端,即机构验证端发送了海关出入境签证办理请求1,机构验证端收到该业务请求之后,会向终端发送需要验证的身份属性,即披露身份属性2,告诉终端在进行海关出入境签证办理之前,需要先对姓名、手机号码、身份证号以及社保记录等信息进行验证,在验证通过之后才能进行业务办理。终端接收到机构验证端发送的需要披露身份属性之后,会将需要披露身份属性转发给机构发行端3,以提示机构发行端需要提取这些身份属性对应的内容信息。机构发行端获得了需要披露身份属性之后,会为披露身份属性提取对应的明文内容信息,以及除明文内容信息外的其他身份信息的哈希值,然后将所提取到的所有信息与之前获得的全量身份信息的签名值一并打包,以电子凭证4的形式发送给TUSI平台。TUSI平台对明文内容信息进行哈希运算,得到明文内容对应的哈希值,然后用明文内容对应的哈希值与其他身份信息的哈希值拼接组成字符串,TUSI平台用该字符串与之前获得的目标对象标识、全量身份信息生成凭证信息,然后对该凭证信息进行哈希,得到披露身份信息对应的哈希值,最后用机构发行端的私钥对披露身份信息的哈希值进行签名,得到披露身份信息的签名值。TUSI平台将披露身份信息的签名值5发送给区块链网络,以对披露身份信息的签名值上链,得到披露身份信息的签名值对应的区块标识6。TUSI平台基于得到的机构发行端的公钥的区块标识、披露身份信息的签名值对应的区块标识以及全量身份信息的签名值生成一个验证字符串,并将该验证字符串7发送给机构发行端,机构发行端接收到验证字符串之后,将该验证字符串8转发给终端。
终端在收到验证字符串之后,可以将验证字符串转化为二维码9,展示给机构验证端,即展示给海关部门的机构终端,机构验证端通过扫描该二维码,可以得到验证字符串,并将验证字符串附在验证请求10中,发送给TUSI平台,告知需要TUSI平台进行信息验证。TUSI平台接收到验证请求之后,从验证请求中解析出验证字符串,进而解析出全量身份信息的签名值、机构发行端的公钥对应的区块标识以及披露身份信息的签名值对应的区块标识,然后将所获得的区块标识11都发送给区块链网络,以从区块链网络中获得披露身份信息的签名值和机构发行端的公钥。在得到机构发行端的公钥和披露身份信息的签名值12之后,TUSI平台用机构发行端的公钥分别对披露身份信息的签名值和全量身份信息的签名值进行验签,得到披露身份信息的哈希值和全量身份信息的哈希值,并比对披露身份信息的哈希值与全量身份信息的哈希值,当比对结果为相同时,TUSI平台认为全量身份信息的哈希值在传输过程中没有被篡改过,身份信息时真实可靠的,并向机构验证端返回验证结果13。机构验证端得到验证结果之后,就可以用披露身份信息的明文信息对海关出入境的签证办理进行信息验证了。
综上所述,通过TUSI平台的验证结果能够对用户身份信息的完整性和真实性进行验证,提高机构验证端对目标业务的信息验证的准确度;并且机构验证端只能获得目标业务需要验证的身份属性的明文,无法获得其他身份属性的明文,也就无法对身份信息进行泄露,提高个人身份信息的安全程度。
下面继续说明本发明实施例提供的基于区块链的信息验证装置的实施为软件模块的示例性结构。
在本发明的一些实施例中,如图18所示,存储在存储器440的基于区块链的信息验证装置1,对应于信息验证平台,其中的软件模块可以包括:
第一接收模块10,用于接收机构发行端发送的目标业务对应的凭证信息;所述凭证信息表征与目标对象的披露身份信息和全量身份信息的第一签名数据对应的凭证;所述第一签名数据是在进行目标业务之前生成的,所述披露身份信息与所述目标业务的需求对应;接收所述区块链网络发送的所述第二签名数据对应的第一区块标识;以及通过所述验证信息,接收机构验证端发送的验证请求;
第一发送模块11,用于调用智能合约,将基于所述披露身份信息得到的第二签名数据传递给所述区块链网络;返回验证结果至所述机构验证端,供所述机构验证端进行所述目标业务的验证;
生成模块12,用于基于所述第一区块标识、与所述机构发行端的公钥对应的第二区块标识和所述第一签名数据,生成验证信息;所述第二区块标识是进行目标业务之前所述区块链网络对所述机构发行端的公钥上链得到的;基于所述第一区块标识、所述第二区块标识和所述第一签名数据,实现身份验证。
在上述方案中,所述第一接收模块10,还用于接收所述机构发行端发送的第一注册信息、所述机构验证端发送的第二注册信息,以及终端发送的第三注册信息;接收所述区块链网络发送的第二区块标识;所述第二区块标识是与所述机构发行端的公钥对应的区块标识;
所述生成模块12,还用于根据所述第一注册信息、所述第二注册信息以及所述第三注册信息,分别对所述机构发行端、所述机构验证端和所述终端进行注册;当注册完成时,为所述机构发行端生成公钥和私钥;
所述第一发送模块11,还用于调用智能合约,将所述机构发行端的公钥传递给所述区块链网络。
在上述方案中,所述第一接收模块10,具体还用于接收所述机构发行端发送的所述目标对象的全量身份信息;接收所述区块链网络发送的第一签名数据的区块标识;
所述生成模块12,具体还用于根据所述全量身份信息,生成所述第一签名数据;
所述第一发送模块11,具体还用于调用智能合约,将所述第一签名数据传递给所述区块链网络;以及将所述第一签名数据发送给所述机构发行端。
在上述方案中,所述信息验证装置还包括:第一获取模块13;所述获取模块用于获取所述机构发行端的私钥;
所述生成模块12,具体用于从所述全量身份信息中获取每个身份属性的内容信息,以及根据所述全量身份信息生成目标对象标识;对所述每个身份属性的内容信息分别进行哈希运算,得到所述每个身份属性信息的哈希值,并利用所述每个身份属性的哈希值,拼接得到第一哈希值;采用所述第一哈希值、所述全量身份信息与所述目标对象标识,得到第一中间凭证;对所述第一中间凭证进行哈希运算,得到所述第一中间凭证的哈希值;以及采用所述机构发行端的私钥对所述第一中间凭证的哈希值进行签名,得到所述第一签名数据。
在上述方案中,所述第一发送模块10,具体用于将所述验证信息通过所述机构发行端发送至终端;
所述第一接收模块11,具体用于接收所述机构验证端发送的验证请求,所述验证请求中携带有通过所述终端获取的所述验证信息。
在上述方案中,所述第一发送模块10,具体用于响应所述验证请求,将所述第一区块标识和所述第二区块标识发送给所述区块链网络;将所述验证结果发送给所述机构验证端,供所述机构验证端进行所述目标业务的验证;
所述第一接收模块11,具体用于接收所述区块链网络发送的所述第二签名数据和所述机构发行端的公钥;
所述生成模块12,具体用于利用所述机构验证端的公钥,对所述第一签名数据和所述第二签名数据进行验签,得到第一中间凭证的哈希值和第二中间凭证的哈希值;将所述第一中间凭证的哈希值与所述第二中间凭证的哈希值进行比对,得到验证结果。
在上述方案中,所述生成模块12,具体用于所述第一中间凭证的哈希值与所述第二中间凭证的哈希值相同时,所述验证结果为验证通过;所述第一中间凭证的哈希值与所述第二中间凭证的哈希值不相同时,所述验证结果为验证失败。
在上述方案中,所述生成模块12,具体用于基于所述披露身份信息,生成所述第二签名数据;
所述第一发送模块11,具体用于调用所述智能合约,将所述第二签名数据传递给所述区块链网络。
在上述方案中,所述第一获取模块13,具体用于获取所述机构发行端的私钥、全量身份信息以及目标对象标识;从所述披露身份信息中获取明文子信息与剩余哈希值;所述剩余哈希值表征所述披露身份信息中除所述明文子信息外的身份信息对应的哈希值;所述明文子信息表征为明文的披露身份属性的内容信息;
所述生成模块12,具体用于对所述明文子信息进行哈希运算,得到所述明文子信息的哈希值,并利用所述明文子信息的哈希值与所述剩余哈希值,拼接得到第二哈希值;采用所述第二哈希值、所述全量身份信息和所述目标对象标识,得到第二中间凭证;对所述第二中间凭证进行哈希运算,得到所述第二中间凭证的哈希值;以及采用所述机构发行端的私钥对所述第二中间凭证的哈希值进行签名,得到所述第二签名数据。
在本发明的一些实施例中,如图19所示,存储在存储器440的基于区块链的信息验证装置2,对应于机构发行端,其中的软件模块可以包括:
第二接收模块20,用于接收终端发送的目标对象的披露身份属性;接收所述信息验证平台发送的验证信息;所述验证信息由所述信息验证平台基于所述凭证信息生成的;
第二获取模块21,用于根据所述披露身份属性,获取所述目标对象的披露身份信息;
处理模块22,用于利用第一签名数据和所述披露身份信息生成目标业务对应的凭证信息;所述第一签名数据是在进行目标业务之前由信息验证平台生成的;
第二发送模块23,用于将所述凭证信息发送给信息验证平台;将所述验证信息发送给所述终端。
在上述方案中,所述第二发送模块23,还用于将第一注册信息发送给所述信息验证平台,在所述信息验证平台完成注册。
在上述方案中,所述第二接收模块20,还用于接收所述终端发送的全量身份信息;接收所述信息验证平台发送的所述第一签名数据;所述第一签名数据是由信息验证平台根据所述全量身份信息生成的;
所述第二发送模块23,还用于将所述全量身份信息发送给所述信息验证平台;当接收到所述第一签名数据后,向所述终端发送身份处理完成信息;所述身份处理完成信息表征完成对所述全量身份信息的处理状态。
在本发明的一些实施例中,如图20所示,存储在存储器440的基于区块链的信息验证装置3,对应于机构验证端,其中的软件模块可以包括:
第三接收模块30,用于接收终端发送的目标业务的业务请求;接收所述信息验证平台针对所述验证请求返回的验证结果;
第三发送模块31,用于将所述业务请求对应的披露身份属性发送给所述终端;将所述验证请求发送给信息验证平台;
验证模块32,用于基于所述终端提供的验证信息,生成验证请求;所述验证信息基于所述披露身份属性得到的;根据所述验证结果,实现对所述目标业务的验证。
在上述方案中,所述第三发送模块31,还用于向所述信息验证平台发送第二注册信息,在所述信息验证平台完成注册。
在本发明的一些实施例中,如图21所示,存储在存储器440的基于区块链的信息验证装置4,对应于终端,其中的软件模块可以包括:
第四发送模块40,用于向机构验证端发送目标业务的业务请求;将所述披露身份属性发送给机构发行端;
第四接收模块41,用于接收所述机构验证端针对所述业务请求返回的披露身份属性;接收所述机构发行端返回的验证信息;所述验证信息是基于所述披露身份属性得到的;
提供模块42,用于将所述验证信息提供给所述机构验证端。
在上述方案中,所述第四发送模块40,还用于向所述信息验证平台发送第三注册信息,在所述信息验证平台完成注册。
在上述方案中,所述终端还包括第四获取模块43;所述获取模块用于获取全量身份信息;
所述第四发送模块40,还用于将所述全量身份信息提交给所述机构发行端;
所述第四接收模块41,还用于接收所述机构发行端发送的身份处理完成信息;所述身份处理完成信息表征所述完成对所述全量身份信息的处理,所述身份处理完成信息是所述机构发行端在接收到所述信息验证平台发送的第一签名数据之后发送的。
在本发明的一些实施例中,如图22所示,存储在存储器440的基于区块链的信息验证装置5,对应于区块链网络,其中的软件模块可以包括:
第五接收模块50,用于接收信息验证平台传递的第二签名数据;
区块链处理模块51,用于创建第一新区块,将所述第二签名数据填充至所述第一新区块中,并将所述第一新区块追加到当前区块链的尾部,得到所述第二签名数据对应的第一区块标识;
第五发送模块52,用于将所述第一区块标识发送给所述信息验证平台。
在上述方案中,所述第五接收模块50,还用于接收所述信息验证平台发送的所述机构发行端的公钥;
所述区块链处理模块51,还用于创建第二新区块,将所述机构发行端的公钥填充至所述第二新区块中,并将所述第二新区块追加到初始区块链的尾部,得到了中间区块链和得到所述机构发行端的公钥对应的第二区块标识;
所述第五发送模块52,还用于将所述第二区块标识发送给所述信息验证平台。
在上述方案中,所述第五接收模块50,还用于接收所述信息验证平台传递的第一签名数据;
所述区块链处理模块51,还用于创建第三新区块,将所述第一签名数据填充至所述第三新区块中,并将所述第三新区块追加到所述中间区块链的尾部,得到所述当前区块链和所述第一签名数据的区块标识;
所述第五发送模块52,还用于将所述第一签名数据的区块标识发送给所述信息验证平台。
在上述方案中,所述基于区块链的信息验证装置5还包括:第五获取模块53;
所述第五获取模块53,用于根据所述第一区块标识,从所述第一新区块中获取所述第二签名数据根据所述第二区块标识,从所述第二新区块中获取所述机构发行端的公钥;
所述第五接收模块50,还用于接收所述信息验证平台发送的第一区块标识和第二区块标识;
所述第五发送模块52,还用于将所述第二签名数据发送给所述信息验证平台;将所述机构发行端的公钥发送给所述信息验证平台。
本发明实施例提供有一种存储介质,存储有可执行信息验证指令,用于引起处理器执行时,实现本发明实施例信息验证平台侧、机构发行端侧、机构验证端侧、终端侧和区块链网络侧提供的基于区块链的信息验证方法。
本发明实施例提供一种存储有可执行指令的存储介质,其中存储有可执行信息验证指令,当可执行信息验证指令被处理器执行时,将引起处理器执行本发明实施例提供的基于区块链的信息验证方法,例如,如图6、图10、图14和图15示出的方法。
处理器在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行信息验证指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (15)
1.一种基于区块链的信息验证方法,其特征在于,应用于信息验证平台,包括:
接收机构发行端发送的目标业务对应的凭证信息;所述凭证信息表征与目标对象的披露身份信息和全量身份信息的第一签名数据对应的凭证;所述披露身份信息与所述目标业务的需求对应,所述披露身份信息是指提取到的进行所述目标业务的验证时所需要的身份信息,所述第一签名数据是在进行目标业务之前生成的;
调用智能合约,将基于所述披露身份信息得到的第二签名数据传递给所述区块链网络;
接收所述区块链网络发送的所述第二签名数据对应的第一区块标识;
基于所述第一区块标识、与所述机构发行端的公钥对应的第二区块标识和所述第一签名数据,生成验证信息;所述第二区块标识是进行目标业务之前所述区块链网络对所述机构发行端的公钥上链得到的;
通过所述机构发行端将所述验证信息传递给终端,并接收机构验证端根据所述终端所提供的所述验证信息生成并发送的验证请求;
响应所述验证请求,通过所述第一区块标识和所述第二区块标识从所述区块链网络中获取到第二签名数据和所述机构验证端的公钥,并对利用所述公钥对所述第一签名数据和所述第二签名数据进行验签所得到的验签结果进行比较,实现身份验证,返回验证结果至所述机构验证端,供所述机构验证端进行所述目标业务的验证。
2.根据权利要求1所述的方法,其特征在于,在所述接收机构发行端发送的目标业务对应的凭证信息之前,所述方法还包括:
接收所述机构发行端发送的第一注册信息、所述机构验证端发送的第二注册信息,以及终端发送的第三注册信息;
根据所述第一注册信息、所述第二注册信息以及所述第三注册信息,分别对所述机构发行端、所述机构验证端和所述终端进行注册;
当注册完成时,为所述机构发行端生成公钥和私钥;
调用智能合约,将所述机构发行端的公钥传递给所述区块链网络;
接收所述区块链网络发送的第二区块标识;所述第二区块标识是与所述机构发行端的公钥对应的区块标识。
3.根据权利要求1或2所述的方法,其特征在于,在所述接收机构发行端发送的目标业务对应的凭证信息之前,所述方法还包括:
接收所述机构发行端发送的所述目标对象的全量身份信息;
根据所述全量身份信息,生成所述第一签名数据;
调用智能合约,将所述第一签名数据传递给所述区块链网络;
接收所述区块链网络发送的第一签名数据的区块标识,并将所述第一签名数据发送给所述机构发行端。
4.根据权利要求3所述的方法,其特征在于,所述根据所述全量身份信息,生成所述第一签名数据,包括:
从所述全量身份信息中获取每个身份属性的内容信息,以及根据所述全量身份信息生成目标对象标识;
对所述每个身份属性的内容信息分别进行哈希运算,得到所述每个身份属性信息的哈希值,并利用所述每个身份属性的哈希值,拼接得到第一哈希值;
采用所述第一哈希值、所述全量身份信息与所述目标对象标识,得到第一中间凭证;
对所述第一中间凭证进行哈希运算,得到所述第一中间凭证的哈希值;
获取所述机构发行端的私钥,采用所述机构发行端的私钥对所述第一中间凭证的哈希值进行签名,得到所述第一签名数据。
5.根据权利要求1、2、或4任一项的方法,其特征在于,所述通过所述机构发行端将所述验证信息传递给所述终端,并接收机构验证端根据所述终端所提供的所述验证信息生成并发送的验证请求,包括:
将所述验证信息通过所述机构发行端发送至终端;
接收所述机构验证端发送的验证请求,所述验证请求中携带有通过所述终端获取的所述验证信息。
6.根据权利要求1、2、或4任一项所述的方法,其特征在于,所述响应所述验证请求,通过所述第一区块标识和所述第二区块标识从所述区块链网络中获取到第二签名数据和所述机构验证端的公钥,并对利用所述公钥对所述第一签名数据和所述第二签名数据进行验签所得到的验签结果进行比较,实现身份验证,返回验证结果至所述机构验证端,供所述机构验证端进行所述目标业务的验证,包括:
响应所述验证请求,将所述第一区块标识和所述第二区块标识发送给所述区块链网络;
接收所述区块链网络发送的所述第二签名数据和所述机构发行端的公钥;
利用所述机构验证端的公钥,对所述第一签名数据和所述第二签名数据进行验签,得到第一中间凭证的哈希值和第二中间凭证的哈希值;
将所述第一中间凭证的哈希值与所述第二中间凭证的哈希值进行比对,得到验证结果;
将所述验证结果发送给所述机构验证端,供所述机构验证端进行所述目标业务的验证。
7.根据权利要求6所述的方法,其特征在于,所述将所述第一中间凭证的哈希值与所述第二中间凭证的哈希值进行比对,得到验证结果,包括:
所述第一中间凭证的哈希值与所述第二中间凭证的哈希值相同时,所述验证结果为验证通过;
所述第一中间凭证的哈希值与所述第二中间凭证的哈希值不相同时,所述验证结果为验证失败。
8.根据权利要求1或2所述的方法,其特征在于,所述调用智能合约,将基于所述披露身份信息得到的第二签名数据传递给所述区块链网络,包括:
基于所述披露身份信息,生成所述第二签名数据;
调用所述智能合约,将所述第二签名数据传递给所述区块链网络。
9.根据权利要求8所述的方法,其特征在于,所述基于所述披露身份信息,生成所述第二签名数据,包括:
获取所述机构发行端的私钥、全量身份信息以及目标对象标识;
从所述披露身份信息中获取明文子信息与剩余哈希值;所述剩余哈希值表征所述披露身份信息中除所述明文子信息外的身份信息对应的哈希值;所述明文子信息表征为明文的披露身份属性的内容信息;
对所述明文子信息进行哈希运算,得到所述明文子信息的哈希值,并利用所述明文子信息的哈希值与所述剩余哈希值,拼接得到第二哈希值;
采用所述第二哈希值、所述全量身份信息和所述目标对象标识,得到第二中间凭证;
对所述第二中间凭证进行哈希运算,得到所述第二中间凭证的哈希值;
采用所述机构发行端的私钥对所述第二中间凭证的哈希值进行签名,得到所述第二签名数据。
10.一种基于区块链的信息验证方法,其特征在于,应用于机构发行端,包括:
接收终端发送的目标对象的披露身份属性;
根据所述披露身份属性,获取所述目标对象的披露身份信息,其中,所述披露身份信息与目标业务的需求对应,所述披露身份信息是指提取到的进行所述目标业务的验证时所需要的身份信息;
利用第一签名数据和所述披露身份信息生成所述目标业务对应的凭证信息;所述第一签名数据是在进行目标业务之前,由信息验证平台基于通过所述机构发行端从所述终端得到的全量身份信息生成的;
将所述凭证信息发送给信息验证平台;
接收所述信息验证平台发送的验证信息;所述验证信息由所述信息验证平台基于所述凭证信息对应的所述目标对象的披露身份信息和全量身份信息的第一签名数据,对依据所述披露身份信息所得到的第二签名数据上链所得到的第一区块标识,以及对所述机构发行端的公钥上链所得到的第二区块标识生成的;
将所述验证信息发送给所述终端。
11.一种基于区块链的信息验证方法,其特征在于,应用于机构验证端,包括:
接收终端发送的目标业务的业务请求;
将所述业务请求对应的披露身份属性发送给所述终端;
基于所述终端提供的验证信息,生成验证请求;所述验证信息是所述信息验证平台在接收到机构发行端依据所述终端发送的披露身份属性所获取的披露身份信息以及第一签名数据所生成的凭证信息之后,基于所述凭证信息对应的所述目标对象的披露身份信息和全量身份信息的第一签名数据、对依据所述披露身份信息所得到的第二签名数据上链所得到的第一区块标识,以及对所述机构发行端的公钥上链所得到的第二区块标识生成的;其中,所述披露身份信息与所述目标业务的需求对应,所述披露身份信息是指提取到的进行所述目标业务的验证时所需要的身份信息;
将所述验证请求发送给信息验证平台;
接收所述信息验证平台针对所述验证请求返回的验证结果;
根据所述验证结果,实现对所述目标业务的验证。
12.一种信息验证平台,其特征在于,包括:
第一存储器,用于存储可执行信息验证指令;
第一处理器,用于执行所述第一存储器中存储的可执行信息验证指令时,实现权利要求1至9任一项所述的方法。
13.一种机构发行端,其特征在于,包括:
第二存储器,用于存储可执行信息验证指令;
第二处理器,用于执行所述第二存储器中存储的可执行信息验证指令时,实现权利要求10所述的方法。
14.一种机构验证端,其特征在于,包括:
第三存储器,用于存储可执行信息验证指令;
第三处理器,用于执行所述第三存储器中存储的可执行信息验证指令时,实现权利要求11所述的方法。
15.一种存储介质,其特征在于,存储有可执行信息验证指令,用于引起第一处理器执行时,实现权利要求1-9任一项所述的方法,或者用于引起第二处理器执行时,实现权利要求10所述的方法,或者用于引起第三处理器执行时,实现权利要求11所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910843898.1A CN110493007B (zh) | 2019-09-06 | 2019-09-06 | 一种基于区块链的信息验证方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910843898.1A CN110493007B (zh) | 2019-09-06 | 2019-09-06 | 一种基于区块链的信息验证方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110493007A CN110493007A (zh) | 2019-11-22 |
CN110493007B true CN110493007B (zh) | 2021-07-13 |
Family
ID=68555614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910843898.1A Active CN110493007B (zh) | 2019-09-06 | 2019-09-06 | 一种基于区块链的信息验证方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110493007B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111259070B (zh) * | 2019-11-28 | 2024-04-19 | 国网山东省电力公司 | 一种业务数据存储、获取的方法及相关装置 |
CN110968442B (zh) * | 2019-11-29 | 2024-06-25 | 腾讯科技(深圳)有限公司 | 一种数据处理方法以及设备 |
CN111125731A (zh) * | 2019-12-11 | 2020-05-08 | 支付宝(杭州)信息技术有限公司 | 一种基于可验证声明的业务处理方法、装置及设备 |
CN111132156B (zh) * | 2019-12-30 | 2023-04-14 | 全链通有限公司 | 5g用户终端的注册方法、用户终端设备及介质 |
CN111212074B (zh) * | 2020-01-02 | 2024-03-01 | 腾讯科技(深圳)有限公司 | 基于区块链的资格认定方法、装置、设备及存储介质 |
CN111292211A (zh) * | 2020-03-04 | 2020-06-16 | 中国联合网络通信集团有限公司 | 一种学分管理方法及装置 |
CN113449274B (zh) * | 2020-03-24 | 2022-10-25 | 浪潮卓数大数据产业发展有限公司 | 一种基于生物特征生成随机数的方法、设备及介质 |
CN111461622B (zh) * | 2020-04-17 | 2021-12-07 | 支付宝(杭州)信息技术有限公司 | 基于区块链的仓库信用评级、结果获取、验证方法及装置 |
CN111931196A (zh) * | 2020-06-02 | 2020-11-13 | 山东浪潮质量链科技有限公司 | 基于区块链智能合约实现零知识证明的方法、设备及介质 |
CN111723159A (zh) * | 2020-08-21 | 2020-09-29 | 支付宝(杭州)信息技术有限公司 | 一种基于区块链的数据验证方法和装置 |
CN112163171B (zh) * | 2020-09-21 | 2022-03-18 | 中国电子科技网络信息安全有限公司 | 一种基于终端签名的数据记链方法 |
CN112199721B (zh) * | 2020-10-13 | 2024-09-10 | 腾讯科技(北京)有限公司 | 认证信息处理方法、装置、设备及存储介质 |
CN112257107A (zh) * | 2020-10-23 | 2021-01-22 | 上海万向区块链股份公司 | 一种基于区块链的存证验证方法及系统 |
CN112487042B (zh) * | 2020-12-08 | 2024-04-19 | 深圳供电局有限公司 | 电能计量数据处理方法、装置、计算机设备和存储介质 |
CN114697061B (zh) * | 2020-12-29 | 2023-05-09 | 中国移动通信有限公司研究院 | 接入控制方法、装置、网络侧设备、终端及区块链节点 |
CN112862589B (zh) * | 2021-01-08 | 2024-04-23 | 北京金山云网络技术有限公司 | 金融场景下的身份验证方法、装置和系统 |
CN112861186B (zh) * | 2021-01-28 | 2023-01-10 | 上海分布信息科技有限公司 | 身份一致性证明方法及身份一致性证明系统 |
CN113037493B (zh) * | 2021-02-27 | 2023-06-20 | 上海泰砥科技有限公司 | 基于did身份的区块链零知识证明匿名凭证验证方法及系统 |
CN112908442A (zh) * | 2021-03-05 | 2021-06-04 | 京东数科海益信息科技有限公司 | 医疗数据共享方法、装置、设备及计算机可读介质 |
CN114172663B (zh) * | 2021-12-07 | 2023-09-26 | 泰康保险集团股份有限公司 | 基于区块链的业务确权方法及装置、存储介质和电子设备 |
WO2023114789A1 (en) * | 2021-12-13 | 2023-06-22 | Noodle Technology Inc. | Activity assignment and completion verification |
CN114282270B (zh) * | 2021-12-17 | 2022-07-26 | 网易(杭州)网络有限公司 | 在区块链中进行凭证管理的方法、装置、终端及存储介质 |
CN114584316B (zh) * | 2022-02-28 | 2024-06-21 | 广州世安智慧科技有限公司 | 一种面向物联网的去中心化did身份聚合验证方法及装置 |
CN114826653B (zh) * | 2022-03-10 | 2024-04-16 | 蚂蚁区块链科技(上海)有限公司 | 一种基于区块链网络的凭证验证方法、系统、装置、设备及存储介质 |
CN114710362A (zh) * | 2022-04-22 | 2022-07-05 | 中国工商银行股份有限公司 | 基于区块链的身份认证方法、装置及电子设备 |
CN115037744B (zh) * | 2022-05-10 | 2023-12-08 | 北京溪塔科技有限公司 | 区块链凭证的流转方法、装置、存储介质及管理平台 |
CN115580495B (zh) * | 2022-12-09 | 2023-03-10 | 北京邮电大学 | 数据审计方法、装置、电子设备和存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3486817B1 (en) * | 2016-09-18 | 2020-11-11 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Blockchain-based identity authentication methods, computer program products and nodes |
WO2018057510A1 (en) * | 2016-09-20 | 2018-03-29 | United States Postal Service | Methods and systems for a digital trust architecture |
CN107086909B (zh) * | 2017-03-07 | 2021-01-12 | 创新先进技术有限公司 | 身份信息的生成方法和装置、身份审核的方法和装置 |
CN108418680B (zh) * | 2017-09-05 | 2021-12-07 | 矩阵元技术(深圳)有限公司 | 一种基于安全多方计算技术的区块链密钥恢复方法、介质 |
CN108712250B (zh) * | 2018-05-24 | 2023-04-07 | 深圳前海益链网络科技有限公司 | 一种基于数字签名的区块链Token发行集中化控制方法 |
CN109583184B (zh) * | 2018-10-09 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 身份验证方法及装置和电子设备 |
CN109544331B (zh) * | 2018-10-12 | 2022-11-22 | 深圳壹账通智能科技有限公司 | 基于区块链的供应链金融应用方法、装置、终端设备及存储介质 |
CN109327314B (zh) * | 2018-11-08 | 2021-07-13 | 创新先进技术有限公司 | 业务数据的访问方法、装置、电子设备和系统 |
CN110046482A (zh) * | 2018-12-25 | 2019-07-23 | 阿里巴巴集团控股有限公司 | 身份核实方法及其系统 |
-
2019
- 2019-09-06 CN CN201910843898.1A patent/CN110493007B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110493007A (zh) | 2019-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493007B (zh) | 一种基于区块链的信息验证方法、装置、设备及存储介质 | |
US11444782B2 (en) | Dynamically managing exchanges of data using a distributed ledger and homomorphic commitments | |
CN108898389B (zh) | 基于区块链的内容验证方法及装置、电子设备 | |
CN111989893B (zh) | 用于生成和链接零知识证明的方法、系统和计算机可读装置 | |
CN110555029A (zh) | 基于区块链的票务管理方法、装置及存储介质 | |
EP3499795A1 (en) | Authentication system and method, and user equipment, authentication server, and service server for performing same method | |
CN102132304B (zh) | 利用数字身份的表单填充以及自动口令生成 | |
CN111767578B (zh) | 一种数据检验方法、装置及设备 | |
CN110597908B (zh) | 一种基于区块链的征信记录方法、设备及存储介质 | |
CN112199721A (zh) | 认证信息处理方法、装置、设备及存储介质 | |
US20140172741A1 (en) | Method and system for security information interaction based on internet | |
US20210377309A1 (en) | System and method for establishing secure session with online disambiguation data | |
US12028458B2 (en) | Systems and methods for user identity | |
CN111709860A (zh) | 遗嘱处理方法、装置、设备及存储介质 | |
TW201913529A (zh) | 基於區塊鏈智能合約的函證系統及其方法 | |
CN109818965B (zh) | 个人身份验证装置及方法 | |
CN111311259A (zh) | 票据处理方法、装置、终端及计算机可读存储介质 | |
CN114331437A (zh) | 一种基于区块链的数字印章使用方法及装置 | |
US11061592B2 (en) | Modular data processing and storage system | |
CN111178896B (zh) | 乘车支付方法、装置及存储介质 | |
US11968526B2 (en) | Identity management on a mobile device | |
WO2020211073A1 (zh) | 基于区块链和多方安全计算的交易方法、装置及存储介质 | |
KR20240119088A (ko) | 신분 인증 방법, 전자 기기 및 컴퓨터 판독가능 저장 매체 | |
CN109951565B (zh) | 供应链管理系统的数据传输方法、装置、介质和电子设备 | |
CN114022259B (zh) | 一种基于公钥指定和身份验证的招标方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40016228 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |