CN114679269A - 基于区块链的凭证传输方法及装置、电子设备及存储介质 - Google Patents

基于区块链的凭证传输方法及装置、电子设备及存储介质 Download PDF

Info

Publication number
CN114679269A
CN114679269A CN202210319592.8A CN202210319592A CN114679269A CN 114679269 A CN114679269 A CN 114679269A CN 202210319592 A CN202210319592 A CN 202210319592A CN 114679269 A CN114679269 A CN 114679269A
Authority
CN
China
Prior art keywords
client
certificate
proxy node
credential
block data
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.)
Granted
Application number
CN202210319592.8A
Other languages
English (en)
Other versions
CN114679269B (zh
Inventor
夏韵
黄文韬
刘朝伟
夏琼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202210319592.8A priority Critical patent/CN114679269B/zh
Publication of CN114679269A publication Critical patent/CN114679269A/zh
Application granted granted Critical
Publication of CN114679269B publication Critical patent/CN114679269B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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 using cryptographic hash functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于区块链的凭证传输方法及装置、电子设备及存储介质,涉及区块链技术领域,其中,该方法包括:响应凭证传输请求,从区块链网络中获取第二代理节点的代理节点地址,基于代理节点地址,发起连接请求,与第二代理节点建立通信连接,其中,第二代理节点基于通信连接,向第二客户端发起凭证获取请求;第二客户端响应凭证获取请求,对预先保存的凭证分块数据进行哈希计算,并基于得到的分块数据哈希确定所有分块数据,拼接所有分块数据,得到数字身份凭证;第二代理节点基于数字身份凭证计算凭证哈希,并将数字身份凭证以及凭证哈希传输至第一代理节点。本发明解决了相关技术中数字身份凭证的传输安全性较低的技术问题。

Description

基于区块链的凭证传输方法及装置、电子设备及存储介质
技术领域
本发明涉及区块链技术领域,具体而言,涉及一种基于区块链的凭证传输方法及装置、电子设备及存储介质。
背景技术
相关技术中,数字身份生成的凭证一般都由用户端保管,或者通过某些机构进行集中式托管,并且,将凭证的哈希上链背书,用户申请到权威机构颁发的凭证后,与验证机构的凭证传输只能通过常用的无安全保护机制的通信方式,比如,邮件发送或者用户携带交付给验证机构。
然而,现有的凭证保存和传输机制不完善,具有如下缺陷:(1)存储安全性不高,容易丢失或者被盗用;(2)传输不是实时的,耗费凭证的验证时间成本。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于区块链的凭证传输方法及装置、电子设备及存储介质,以至少解决相关技术中数字身份凭证的传输安全性较低的技术问题。
根据本发明实施例的一个方面,提供了一种基于区块链的凭证传输方法,应用于与第一客户端对接的第一代理节点,每个代理节点对接一个客户端,包括:接收第一客户端发起的凭证传输请求,其中,所述凭证传输请求中携带有第二客户端标识;响应所述凭证传输请求,从区块链网络中获取与所述第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,其中,所述第二客户端用于颁发数字身份凭证;基于所述代理节点地址,发起连接请求,与所述第二代理节点建立通信连接,其中,所述第二代理节点在与所述第一代理节点建立通信连接之后,向所述第二客户端发起凭证获取请求;所述第二客户端响应所述凭证获取请求,对预先保存的凭证分块数据进行哈希计算,得到分块数据哈希,并基于所述分块数据哈希确定所有分块数据,拼接所述所有分块数据,得到所述数字身份凭证;所述第二代理节点基于所述数字身份凭证计算凭证哈希,并将所述数字身份凭证以及所述凭证哈希传输至所述第一代理节点。
可选地,在接收第一客户端发起的凭证传输请求之前,还包括:注册所述第一代理节点的分布式身份标识;将所述第一代理节点的分布式身份标识以及所述第一代理节点的公钥传输至所述区块链网络中。
可选地,在基于所述代理节点地址,发起连接请求,与所述第二代理节点建立通信连接之前,还包括:所述第二代理节点在接收到所述连接请求的情况下,通过所述第一代理节点的公钥,验证所述凭证传输请求中携带的分布式身份标识,得到第一验证结果;在所述第一验证结果指示所述凭证传输请求中携带的分布式身份标识与所述区块链网络上的所述第一代理节点的分布式身份标识一致的情况下,所述第二代理节点响应所述连接请求,建立与所述第一代理节点之间的通信连接。
可选地,在从区块链网络中获取与所述第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址之前,还包括:所述区块链网络响应所述第一代理节点发起的查询请求,查询所述第一代理节点所处通道下的所有代理节点数据,得到数据查询结果;将所述数据查询结果返回至所述第一代理节点。
可选地,在将所述数字身份凭证以及所述凭证哈希传输至所述第一代理节点之后,还包括:在接收到所述数字身份凭证以及所述凭证哈希的情况下,基于所述凭证哈希,通过所述区块链网络验证所述数字身份凭证;在所述区块链网络验证所述数字身份凭证通过的情况下,获取所述第二客户端的公钥;基于所述第二客户端的公钥,验证所述数字身份凭证是否是所述第二客户端颁发的;在所述数字身份凭证是所述第二客户端颁发的情况下,解析所述数字身份凭证,得到凭证属性信息;对所述凭证属性信息的信息内容的正确性进行验证,第二验证结果;在所述第二验证结果指示所述凭证属性信息的信息内容为正确内容的情况下,结束凭证验证操作。
可选地,所述第二客户端基于所述分块数据哈希确定所有分块数据的步骤,包括:所述第二客户端通过所述第二代理节点将所述分块数据哈希传输至存储集群,其中,所述存储集群基于所述分块数据哈希进行哈希锚定处理,获取所有分块数据,并将所述所有分块数据返回至所述第二客户端;接收所述存储集群返回的所述所有分块数据。
根据本发明实施例的另一方面,还提供了一种基于区块链的凭证传输方法,应用于与第二客户端对接的第二代理节点,每个代理节点对接一个客户端,包括:接收所述第二客户端的颁发凭证请求,其中,所述颁发凭证请求携带有凭证模板标识;选择所述凭证模板标识指示的凭证模板,并将所述凭证模板传输至区块链网络进行处理;基于处理后的凭证模板,生成数字身份凭证,并将所述数字身份凭证返回至所述第二客户端,其中,所述第二客户端在接收到所述数字身份凭证后,对所述数字身份凭证进行分块加密,得到多个分块数据,保留预设块数的所述分块数据至本地存储节点中,并将所有所述分块数据传输至存储集群。
可选地,在接收所述第二客户端的颁发凭证请求之前,还包括:为所述第二客户端注册分布式身份标识,并生成密钥对,其中,所述密钥对包括:所述第二客户端的公钥、所述第二客户端的私钥;将所述密钥对返回至所述第二客户端,其中,所述第二客户端对所述私钥进行加密,并将加密后的私钥存储至所述本地存储节点中;将所述公钥发送至所述区块链网络中进行背书处理。
可选地,在将所有所述分块数据传输至存储集群之后,还包括:所述存储集群在接收到所有所述分块数据之后,获取所述第二客户端的本地存储节点信息;所述存储集群基于所述本地存储节点信息,在所述存储集群的各个存储节点上建立通道;所述存储集群基于所述通道,将所有所述分块数据进行存储。
根据本发明实施例的另一方面,还提供了一种基于区块链的凭证传输装置,应用于与第一客户端对接的第一代理节点,每个代理节点对接一个客户端,包括:第一接收单元,用于接收第一客户端发起的凭证传输请求,其中,所述凭证传输请求中携带有第二客户端标识;获取单元,用于响应所述凭证传输请求,从区块链网络中获取与所述第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,其中,所述第二客户端用于颁发数字身份凭证;建立单元,用于基于所述代理节点地址,发起连接请求,与所述第二代理节点建立通信连接,其中,所述第二代理节点在与所述第一代理节点建立通信连接之后,向所述第二客户端发起凭证获取请求;所述第二客户端响应所述凭证获取请求,对预先保存的凭证分块数据进行哈希计算,得到分块数据哈希,并基于所述分块数据哈希确定所有分块数据,拼接所述所有分块数据,得到所述数字身份凭证;所述第二代理节点基于所述数字身份凭证计算凭证哈希,并将所述数字身份凭证以及所述凭证哈希传输至所述第一代理节点。
可选地,所述传输装置还包括:第一注册模块,用于在接收第一客户端发起的凭证传输请求之前,注册所述第一代理节点的分布式身份标识;第一传输模块,用于将所述第一代理节点的分布式身份标识以及所述第一代理节点的公钥传输至所述区块链网络中。
可选地,所述传输装置还包括:第一验证模块,用于在基于所述代理节点地址,发起连接请求,与所述第二代理节点建立通信连接之前,所述第二代理节点在接收到所述连接请求的情况下,通过所述第一代理节点的公钥,验证所述凭证传输请求中携带的分布式身份标识,得到第一验证结果;第一建立模块,用于在所述第一验证结果指示所述凭证传输请求中携带的分布式身份标识与所述区块链网络上的所述第一代理节点的分布式身份标识一致的情况下,所述第二代理节点响应所述连接请求,建立与所述第一代理节点之间的通信连接。
可选地,所述传输装置还包括:第一查询模块,用于在从区块链网络中获取与所述第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址之前,所述区块链网络响应所述第一代理节点发起的查询请求,查询所述第一代理节点所处通道下的所有代理节点数据,得到数据查询结果;第一返回模块,用于将所述数据查询结果返回至所述第一代理节点。
可选地,所述传输装置还包括:第二验证模块,用于在将所述数字身份凭证以及所述凭证哈希传输至所述第一代理节点之后,在接收到所述数字身份凭证以及所述凭证哈希的情况下,基于所述凭证哈希,通过所述区块链网络验证所述数字身份凭证;第一获取模块,用于在所述区块链网络验证所述数字身份凭证通过的情况下,获取所述第二客户端的公钥;第三验证模块,用于基于所述第二客户端的公钥,验证所述数字身份凭证是否是所述第二客户端颁发的;第一解析模块,用于在所述数字身份凭证是所述第二客户端颁发的情况下,解析所述数字身份凭证,得到凭证属性信息;第四验证模块,用于对所述凭证属性信息的信息内容的正确性进行验证,第二验证结果;第一结束模块,用于在所述第二验证结果指示所述凭证属性信息的信息内容为正确内容的情况下,结束凭证验证操作。
可选地,确定单元包括:第二传输模块,用于所述第二客户端通过所述第二代理节点将所述分块数据哈希传输至存储集群,其中,所述存储集群基于所述分块数据哈希进行哈希锚定处理,获取所有分块数据,并将所述所有分块数据返回至所述第二客户端;第一接收模块,用于接收所述存储集群返回的所述所有分块数据。
根据本发明实施例的另一方面,还提供了一种基于区块链的凭证传输装置,应用于与第二客户端对接的第二代理节点,每个代理节点对接一个客户端,包括:第二接收单元,用于接收所述第二客户端的颁发凭证请求,其中,所述颁发凭证请求携带有凭证模板标识;选择单元,用于选择所述凭证模板标识指示的凭证模板,并将所述凭证模板传输至区块链网络进行处理;生成单元,用于基于处理后的凭证模板,生成数字身份凭证,并将所述数字身份凭证返回至所述第二客户端,其中,所述第二客户端在接收到所述数字身份凭证后,对所述数字身份凭证进行分块加密,得到多个分块数据,保留预设块数的所述分块数据至本地存储节点中,并将所有所述分块数据传输至存储集群。
可选地,所述传输装置还包括:第二注册模块,用于在接收所述第二客户端的颁发凭证请求之前,为所述第二客户端注册分布式身份标识,并生成密钥对,其中,所述密钥对包括:所述第二客户端的公钥、所述第二客户端的私钥;第二返回模块,用于将所述密钥对返回至所述第二客户端,其中,所述第二客户端对所述私钥进行加密,并将加密后的私钥存储至所述本地存储节点中;第一背书模块,用于将所述公钥发送至所述区块链网络中进行背书处理。
可选地,所述传输装置还包括:第二获取模块,用于在将所有所述分块数据传输至存储集群之后,所述存储集群在接收到所有所述分块数据之后,获取所述第二客户端的本地存储节点信息;第二建立模块,用于所述存储集群基于所述本地存储节点信息,在所述存储集群的各个存储节点上建立通道;第一存储模块,用于所述存储集群基于所述通道,将所有所述分块数据进行存储。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述所述的基于区块链的凭证传输方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述所述的基于区块链的凭证传输方法。
在本公开中,接收第一客户端发起的凭证传输请求,响应凭证传输请求,从区块链网络中获取与第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,基于代理节点地址,发起连接请求,与第二代理节点建立通信连接,其中,第二代理节点在与第一代理节点建立通信连接之后,向第二客户端发起凭证获取请求;第二客户端响应凭证获取请求,对预先保存的凭证分块数据进行哈希计算,得到分块数据哈希,并基于分块数据哈希确定所有分块数据,拼接所有分块数据,得到数字身份凭证;第二代理节点基于数字身份凭证计算凭证哈希,并将数字身份凭证以及凭证哈希传输至第一代理节点。在本申请中,可以通过与第一客户端对接的第一代理节点响应第一客户端发起的凭证传输请求,从区块链网络中获取与第二客户端对接的第二代理节点的代理节点地址,从而建立第一代理节点与第二代理节点之间的通信连接,之后可以基于通信连接将第二客户端颁发的数字身份凭证发送到第一客户端,不仅可以实时传输数字身份凭证,而且可以实现颁发机构(即第二客户端)与验证机构(即第一客户端)的自主控制凭证传输流程,提高传输安全性,进而解决了相关技术中数字身份凭证的传输安全性较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的基于区块链的凭证传输方法的流程图;
图2是根据本发明实施例的另一种可选的基于区块链的凭证传输方法的流程图;
图3是根据本发明实施例的一种可选的基于区块链的凭证传输系统的示意图;
图4是根据本发明实施例的一种可选的各模块间的交互流程的示意图;
图5是根据本发明实施例的一种可选的权威机构颁发数字身份凭证流程的示意图;
图6是根据本发明实施例的一种可选的验证机构验证数字身份凭证流程的示意图;
图7是根据本发明实施例的一种可选的基于区块链的凭证传输装置的示意图;
图8是根据本发明实施例的另一种可选的基于区块链的凭证传输装置的示意图;
图9是根据本发明实施例的一种用于基于区块链的凭证传输方法的电子设备(或移动设备)的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:
分散式存储:一种弱中心化、点对点的对等分布式区块链存储技术,整合P2P点对点通讯,DHT分布式哈希,BitSwap块交换分布,SFS文件命名,Git版本管理等技术进行实现,并提供程序接口,命令行交互,客户端等便捷存储接入方式。
Advanced Message Queuing Protocol,简称AMOP,旨在为联盟链各个机构提供一个安全高效的消息传输信道,支持跨机构之间,点对点地实时消息通信,为链外系统之间的交互提供标准化接口,AMOP基于SSL通信加密,确保消息无法被窃听,消息收发均有异常重传、超时检测和路径规划机制,确保消息传输的可靠性。
数字身份:通过数字化信息将个体可识别地刻画,将真实信息浓缩为数字代码形式的公私钥,以便对个人的实时行为信息进行绑定、查询和验证。
需要说明的是,本公开中的基于区块链的凭证传输方法及其装置可用于区块链技术领域在基于区块链进行凭证传输的情况下,也可用于除区块链技术领域之外的任意领域在基于区块链进行凭证传输的情况下,本公开中对基于区块链的凭证传输方法及其装置的应用领域不做限定。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本发明下述各实施例可应用于各种基于区块链进行凭证传输的系统/应用/设备中。本发明可以结合AMOP技术(基于区块链网络的点对点通信)和分散式存储技术,解决数字身份凭证颁发后的安全存储问题,同时在保证点对点通信双方身份安全的前提下,实现颁发机构与验证机构的自主控制凭证传输流程,降低验证流程时间,提高传输安全。
下面结合各个实施例来详细说明本发明。
实施例一
根据本发明实施例,提供了一种基于区块链的凭证传输方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的基于区块链的凭证传输方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,接收第一客户端发起的凭证传输请求,其中,凭证传输请求中携带有第二客户端标识。
步骤S102,响应凭证传输请求,从区块链网络中获取与第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,其中,第二客户端用于颁发数字身份凭证。
步骤S103,基于代理节点地址,发起连接请求,与第二代理节点建立通信连接,其中,第二代理节点在与第一代理节点建立通信连接之后,向第二客户端发起凭证获取请求;第二客户端响应凭证获取请求,对预先保存的凭证分块数据进行哈希计算,得到分块数据哈希,并基于分块数据哈希确定所有分块数据,拼接所有分块数据,得到数字身份凭证;第二代理节点基于数字身份凭证计算凭证哈希,并将数字身份凭证以及凭证哈希传输至第一代理节点。
通过上述步骤,可以接收第一客户端发起的凭证传输请求,响应凭证传输请求,从区块链网络中获取与第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,基于代理节点地址,发起连接请求,与第二代理节点建立通信连接,其中,第二代理节点在与第一代理节点建立通信连接之后,向第二客户端发起凭证获取请求;第二客户端响应凭证获取请求,对预先保存的凭证分块数据进行哈希计算,得到分块数据哈希,并基于分块数据哈希确定所有分块数据,拼接所有分块数据,得到数字身份凭证;第二代理节点基于数字身份凭证计算凭证哈希,并将数字身份凭证以及凭证哈希传输至第一代理节点。在本发明实施例中,可以通过与第一客户端对接的第一代理节点响应第一客户端发起的凭证传输请求,从区块链网络中获取与第二客户端对接的第二代理节点的代理节点地址,从而建立第一代理节点与第二代理节点之间的通信连接,之后可以基于通信连接将第二客户端颁发的数字身份凭证发送到第一客户端,不仅可以实时传输数字身份凭证,而且可以实现颁发机构(即第二客户端)与验证机构(即第一客户端)的自主控制凭证传输流程,提高传输安全性,进而解决了相关技术中数字身份凭证的传输安全性较低的技术问题。
下面结合上述各步骤对本发明实施例进行详细说明。本发明实施例可应用于与第一客户端(本实施例中以验证机构客户端进行示意性说明)对接的第一代理节点,每个代理节点对接一个客户端。
在本发明实施例中,一种可选的,在接收第一客户端发起的凭证传输请求之前,还包括:注册第一代理节点的分布式身份标识;将第一代理节点的分布式身份标识以及第一代理节点的公钥传输至区块链网络中。
在本实施例中,在验证机构客户端(即第一客户端)发起的凭证传输请求之前,验证机构客户端的代理节点(即第一代理节点)先注册第一代理节点的分布式身份标识DID,将自身代理节点的DID和公钥传输至区块链网络中,第一代理节点加密保存私钥信息。
步骤S101,接收第一客户端发起的凭证传输请求,其中,凭证传输请求中携带有第二客户端标识。
在本发明实施例中,第一代理节点接收第一客户端发起的凭证传输请求,可以根据凭证传输请求中携带的第二客户端标识寻找与第二客户端对接的第二代理节点。
可选的,在从区块链网络中获取与第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址之前,还包括:区块链网络响应第一代理节点发起的查询请求,查询第一代理节点所处通道下的所有代理节点数据,得到数据查询结果;将数据查询结果返回至第一代理节点。
在本发明实施例中,第一代理节点可以根据验证机构客户端要求连接的颁发机构客户端(即第二客户端),请求区块链网络获取颁发机构客户端的代理节点对外暴露地址,区块链网络根据第一代理节点的要求(即查询请求),以及第一代理节点所处的通道信息,将该通道下所有的代理节点数据全部查找(即区块链网络响应第一代理节点发起的查询请求,查询第一代理节点所处通道下的所有代理节点数据,得到数据查询结果),将数据查询结果返回至验证机构客户端的第一代理节点。
可选的,第一代理节点可以在本地缓存一份验证机构客户端拥有的通道权限下所有代理节点的清单列表。
步骤S102,响应凭证传输请求,从区块链网络中获取与第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,其中,第二客户端用于颁发数字身份凭证。
在本发明实施例中,第一代理节点响应凭证传输请求,在获取所处通道下的所有代理节点数据之后,可以基于第二客户端标识,获取与第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,该第二客户端即颁发机构客户端,用于颁发数字身份凭证。
可选的,在基于代理节点地址,发起连接请求,与第二代理节点建立通信连接之前,还包括:第二代理节点在接收到连接请求的情况下,通过第一代理节点的公钥,验证凭证传输请求中携带的分布式身份标识,得到第一验证结果;在第一验证结果指示凭证传输请求中携带的分布式身份标识与区块链网络上的第一代理节点的分布式身份标识一致的情况下,第二代理节点响应连接请求,建立与第一代理节点之间的通信连接。
在本发明实施例中,验证机构客户端的第一代理节点根据颁发机构名称(即第二客户端标识),请求连接通信,并将自身的DID和时间戳使用私钥签名,颁发机构的代理节点(即第二代理节点)接收到连接请求后,先验证该请求中的DID的有效性,按照DID的公钥对请求信息进行验签(即通过第一代理节点的公钥,验证凭证传输请求中携带的分布式身份标识,得到第一验证结果),验证请求信息中的DID与链上的DID是否保持一致,颁发机构的代理节点验证连接信息通过后,可以基于预设协议(例如,websocket协议)建立连接(即在第一验证结果指示凭证传输请求中携带的分布式身份标识与区块链网络上的第一代理节点的分布式身份标识一致的情况下,第二代理节点响应连接请求,建立与第一代理节点之间的通信连接)。
步骤S103,基于代理节点地址,发起连接请求,与第二代理节点建立通信连接,其中,第二代理节点在与第一代理节点建立通信连接之后,向第二客户端发起凭证获取请求;第二客户端响应凭证获取请求,对预先保存的凭证分块数据进行哈希计算,得到分块数据哈希,并基于分块数据哈希确定所有分块数据,拼接所有分块数据,得到数字身份凭证;第二代理节点基于数字身份凭证计算凭证哈希,并将数字身份凭证以及凭证哈希传输至第一代理节点。
在本发明实施例中,验证机构的代理节点可以根据客户端的要求,请求颁发机构将指定凭证进行传输(即第一代理节点可以与第二代理节点建立通信连接,并且在第二代理节点在与第一代理节点建立通信连接之后,向第二客户端发起凭证获取请求),颁发机构的代理节点根据指定凭证的哈希,先上链验证哈希是否存在,验证成功后,根据凭证哈希,获取本地存储节点存储的分块数据,将该分块数据进行哈希计算(即第二客户端响应凭证获取请求,对预先保存的凭证分块数据进行哈希计算),得到分块数据哈希,并基于分块数据哈希确定所有分块数据,拼接所有分块数据,得到数字身份凭证,之后,颁发机构的代理节点计算凭证哈希(即第二代理节点基于数字身份凭证计算凭证哈希),然后将凭证哈希和凭证通过点对点通讯技术(如AMOP),传输至验证机构的代理节点(即将数字身份凭证以及凭证哈希传输至第一代理节点)。
可选的,第二客户端基于分块数据哈希确定所有分块数据的步骤,包括:第二客户端通过第二代理节点将分块数据哈希传输至存储集群,其中,存储集群基于分块数据哈希进行哈希锚定处理,获取所有分块数据,并将所有分块数据返回至第二客户端;接收存储集群返回的所有分块数据。
在本发明实施例中,第二客户端通过第二代理节点将分块数据哈希传输至存储集群,存储集群接收到分块数据哈希后,可以根据该哈希进行哈希锚定处理,将其他分块数据全部获取,返回至颁发机构的客户端(即存储集群基于分块数据哈希进行哈希锚定处理,获取所有分块数据,并将所有分块数据返回至第二客户端),之后,颁发机构的客户端(即第二客户端)将文件拼接完成,将完整的凭证传输至颁发机构的代理节点(即第一代理节点)。
可选的,在将数字身份凭证以及凭证哈希传输至第一代理节点之后,还包括:在接收到数字身份凭证以及凭证哈希的情况下,基于凭证哈希,通过区块链网络验证数字身份凭证;在区块链网络验证数字身份凭证通过的情况下,获取第二客户端的公钥;基于第二客户端的公钥,验证数字身份凭证是否是第二客户端颁发的;在数字身份凭证是第二客户端颁发的情况下,解析数字身份凭证,得到凭证属性信息;对凭证属性信息的信息内容的正确性进行验证,第二验证结果;在第二验证结果指示凭证属性信息的信息内容为正确内容的情况下,结束凭证验证操作。
在本发明实施例中,颁发机构的代理节点将传输流程上链背书,验证机构的代理节点收到颁发机构的代理节点传输的凭证和哈希之后(即在接收到数字身份凭证以及凭证哈希的情况下),先上链验证凭证的有效性(即基于凭证哈希,通过区块链网络验证数字身份凭证),验证凭证的有效性之后,将接收到的凭证先使用颁发机构的公钥进行验签,验证该凭证是该颁发机构颁发的(即在区块链网络验证数字身份凭证通过的情况下,获取第二客户端的公钥,并基于第二客户端的公钥,验证数字身份凭证是否是第二客户端颁发的),在数字身份凭证是第二客户端颁发的情况下,解析数字身份凭证,得到凭证属性信息,对凭证属性信息的信息内容的正确性进行验证,第二验证结果,在第二验证结果指示凭证属性信息的信息内容为正确内容的情况下,结束凭证验证操作,从而完成了验证机构与颁发机构的凭证传输与验证。
本发明实施例中,可以通过分散式存储技术的哈希锚定技术和区块链的不可篡改性,在验证请求方身份的同时,快速获取存储节点上的凭证,并且通过区块链建立数字身份凭证传输的代理节点公共访问信息库,验证机构和颁发机构之间可自主选择建立连接,进行凭证的传输,同时,基于AMOP技术,可实现凭证的P2P快速传输,降低了验证机构验证凭证的时效性,优化了业务流程,并且通过链上背书所有的业务流程,能够保证整个数字身份的交易安全可信。
实施例二
根据本发明实施例,提供了另一种基于区块链的凭证传输方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的另一种可选的基于区块链的凭证传输方法的流程图,如图2所示,该方法包括如下步骤:
步骤S201,接收第二客户端的颁发凭证请求,其中,颁发凭证请求携带有凭证模板标识。
步骤S202,选择凭证模板标识指示的凭证模板,并将凭证模板传输至区块链网络进行处理。
步骤S203,基于处理后的凭证模板,生成数字身份凭证,并将数字身份凭证返回至第二客户端,其中,第二客户端在接收到数字身份凭证后,对数字身份凭证进行分块加密,得到多个分块数据,保留预设块数的分块数据至本地存储节点中,并将所有分块数据传输至存储集群。
通过上述步骤,可以接收第二客户端的颁发凭证请求,选择凭证模板标识指示的凭证模板,并将凭证模板传输至区块链网络进行处理,基于处理后的凭证模板,生成数字身份凭证,并将数字身份凭证返回至第二客户端,其中,第二客户端在接收到数字身份凭证后,对数字身份凭证进行分块加密,得到多个分块数据,保留预设块数的分块数据至本地存储节点中,并将所有分块数据传输至存储集群。在本发明实施例中,与第二客户端对接的第二代理节点可以基于区块链网络处理后的凭证模板,生成数字身份凭证,第二客户端可以对数字身份凭证进行分块加密,随机保留得到的分块数据,并将所有分块数据传输至存储集群进行存储,从而不仅实现了数字身份凭证的安全存储,还可以快速获取数字身份凭证,完成颁发机构(即第二客户端)与验证机构(即第一客户端)之间的实时凭证传输,提高了传输安全性,进而解决了相关技术中数字身份凭证的传输安全性较低的技术问题。
下面结合上述各步骤对本发明实施例进行详细说明。本发明实施例可应用于与第二客户端(本实施例中以颁发机构客户端进行示意性说明)对接的第二代理节点,每个代理节点对接一个客户端。
在本发明实施例中,一种可选的,在接收第二客户端的颁发凭证请求之前,还包括:为第二客户端注册分布式身份标识,并生成密钥对,其中,密钥对包括:第二客户端的公钥、第二客户端的私钥;将密钥对返回至第二客户端,其中,第二客户端对私钥进行加密,并将加密后的私钥存储至本地存储节点中;将公钥发送至区块链网络中进行背书处理。
在本实施例中,在权威机构客户端(即第二客户端)发起颁发凭证请求之前,第二代理节点可以根据第二客户端的用户信息,为第二客户端注册分布式身份标识DID,并生成密钥对(该密钥对包括:第二客户端的公钥、第二客户端的私钥),并将密钥对返回至第二客户端,第二客户端可以本地加密存储私钥(即第二客户端对私钥进行加密,并将加密后的私钥存储至本地存储节点中),并将公钥通过第二代理节点上链背书(即将公钥发送至区块链网络中进行背书处理)。
步骤S201,接收第二客户端的颁发凭证请求,其中,颁发凭证请求携带有凭证模板标识。
在本发明实施例中,第二代理节点可以接收第二客户端的颁发凭证请求,并可以根据颁发凭证请求携带的凭证模板标识选择凭证模板。
步骤S202,选择凭证模板标识指示的凭证模板,并将凭证模板传输至区块链网络进行处理。
在本发明实施例中,第二代理节点在选择凭证模板标识指示的凭证模板后,可以将该凭证模板上链处理(即将凭证模板传输至区块链网络进行处理)。
步骤S203,基于处理后的凭证模板,生成数字身份凭证,并将数字身份凭证返回至第二客户端,其中,第二客户端在接收到数字身份凭证后,对数字身份凭证进行分块加密,得到多个分块数据,保留预设块数的分块数据至本地存储节点中,并将所有分块数据传输至存储集群。
在本发明实施例中,第二代理节点可以根据已上链的模板,生成客户要求的凭证数据(即基于处理后的凭证模板,生成数字身份凭证),并可以在凭证的proof字段,使用第二代理节点的私钥进行签名,之后,可以将凭证哈希和凭证生成的交易流程上链,同时将凭证本体(即数字身份凭证)返回至客第二户端,然后,第二客户端可以将凭证交于本地存储节点进行分块加密(例如,RSA分块加密)(即第二客户端在接收到数字身份凭证后,对数字身份凭证进行分块加密,得到多个分块数据),分块后的凭证(即分块数据),保留预设块数(例如,30%的分块数据)的分块数据至本地存储节点中,然后将所有的分块数据传输至存储集群。
可选的,在将所有分块数据传输至存储集群之后,还包括:存储集群在接收到所有分块数据之后,获取第二客户端的本地存储节点信息;存储集群基于本地存储节点信息,在存储集群的各个存储节点上建立通道;存储集群基于通道,将所有分块数据进行存储。
在本发明实施例中,存储集群接收到所有的分块数据之后,可以先获取第二客户端本地的存储节点信息(即第二客户端的本地存储节点信息),然后根据该信息数据在各个存储节点上就建立通道,将分块数据冗余备份存储,从而完成了凭证的生成和保存。
本发明实施例中,可以通过分散式存储技术的公钥基础设施(PKI),将凭证进行分块加密,且分散到多个节点进行存储,能够解决凭证在存储节点存储的数据安全性问题,同时在保证点对点通信双方身份安全的前提下,可以实现颁发机构与验证机构的自主控制凭证传输流程,降低验证流程时间,提高传输安全。
实施例三
图3是根据本发明实施例的一种可选的基于区块链的凭证传输系统的示意图,如图3所示,包括:客户端(包括:客户端1和客户端2)、存储集群、与客户端对接的代理节点(包括:代理节点1和代理节点2)区块链网络(包括多个区块链节点)。
本实施例中,客户端内置有本地的存储节点,通过代理节点生产凭证后,将凭证哈希上传区块链网络进行背书,然后将凭证分块存储在本地和存储集群中的集群节点中,验证机构的代理节点在链上获取颁发机构的代理节点信息,请求与颁发机构的代理节点建立连接,获取凭证进行验证。各模块具体功能如下:
客户端,除了作为用户的可视化操作应用之外,同时还可以作为存储集群中的本地存储节点,存储生成的凭证的分块数据。
代理节点,为客户端实现数字身份的DID注册、DID验证、凭证生成、所有上链操作、凭证传输和凭证验证等,根据客户端归属的机构进行部署,即一个机构对接一个代理节点。
存储集群,专门用于存储用户的凭证,先将凭证进行分块加密,然后将整个凭证的哈希返回给客户端,客户端将哈希上传至区块链网络上背书,在本地和集群节点上分别存储凭证的分块数据,如果客户端发生凭证丢失,也可以通过凭证的哈希锚定,找回丢失的凭证数据。
区块链网络,用于背书代理节点信息、数字身份DID、凭证哈希以及数字身份凭证传输的所有交易流程,同时,代理节点之间进行通信之前,要先从链上获取其他代理节点的信息才能获取连接地址,被连接方要在链上认证代理节点身份信息,凭证的传输也需要通过链上的哈希和凭证验签。
图4是根据本发明实施例的一种可选的各模块间的交互流程的示意图,如图4所示,交互流程如下:
步骤S401,机构客户端(即客户端1)向代理节点1请求颁发凭证;
步骤S402,代理节点1颁发凭证,生成凭证哈希,返回凭证至客户端1;
步骤S403,客户端1接收凭证后,将凭证进行分块加密,本地随机存储一部分,然后将所有的分块数据全部发送至存储集群;
步骤S404,存储集群根据客户端的证书信息,在所有存储节点上为客户端划分独立通道,然后备份冗余存储凭证的分块数据;
步骤S405,代理节点1将凭证哈希请求上链背书,区块链网络上存储凭证哈希、代理节点DID、以及凭证生成的交易日志;
步骤S406,验证机构客户端(即客户端2)请求代理节点2获取权威机构生成的凭证;
步骤S407,代理节点2根据验证机构提供的权威机构名,从链上获取该机构的代理节点地址;
步骤S408,区块链网络上验证代理节点2的DID的有效性之后,将所有代理节点的信息数据返回至验证机构的代理节点2;
步骤S409,验证机构的代理节点2申请与权威机构的代理节点1进行通信连接;
步骤S410,权威机构的代理节点1从链上获取验证机构的公钥数据,验证请求里的身份信息,然后申请获取凭证;
步骤S411,客户端1从本地的存储节点中获取凭证分块数据;
步骤S412,将本地存储的分块数据的哈希,去存储集群上获取完整的其他分块数据;
步骤S413,存储集群根据客户端1的分块数据的哈希,锚定寻找其他的分块数据;
步骤S414,客户端1将所有分块数据整合,然后传输至权威机构的代理节点1;
步骤S415,权威机构的代理节点1将凭证数据传输至验证机构的代理节点2;
步骤S416,验证机构根据凭证的数据验证凭证模板、凭证签名和凭证数据,之后,客户端2回去验证结果。
图5是根据本发明实施例的一种可选的权威机构颁发数字身份凭证流程的示意图,如图5所示,具体流程如下:
步骤S501:机构客户端申请颁发凭证;
步骤S502:代理节点根据客户端的用户,为客户注册DID,并生成密钥对,返回至客户端;
步骤S503:客户端本地加密存储私钥,公钥通过代理节点上链背书;
步骤S504:代理节点根据客户端的凭证申请要求,选择凭证模板,指定模板ID,将该凭证模板上链处理;
步骤S505:代理节点根据已上链的模板,生成客户要求的凭证数据,并在凭证的proof字段,使用代理节点的私钥进行签名;
步骤S506:凭证哈希和凭证生成的交易流程上链,同时凭证本体返回至客户端;
步骤S507:客户端将凭证交于本地存储节点进行RSA分块加密;
步骤S508:分块后的凭证,保留预设百分比(例如30%)的分块数据在本地,然后将所有的分块数据传输至存储集群;
步骤S509:存储集群接收到所有的分块数据之后,先获取客户端本地的存储节点信息,然后根据该信息数据在各个存储节点上就建立通道,将分块数据冗余备份存储;
步骤S510:完成凭证的生成和保存。
图6是根据本发明实施例的一种可选的验证机构验证数字身份凭证流程的示意图,如图6所示,具体流程如下:
步骤S601:验证机构申请验证凭证;
步骤S602:验证机构的代理节点先注册代理节点的DID,将自身代理节点的DID和公钥上链,代理节点加密保存私钥信息;
步骤S603:代理节点根据验证机构客户端要求连接的颁发机构,请求链上获取颁发机构的代理节点对外暴露地址;
步骤S604:链上根据代理节点的要求,以及代理节点所处的通道信息,将该通道下所有的代理节点数据全部查找,将查询结果返回至验证机构的代理节点;
步骤S605:验证机构的代理节点在本地缓存一份机构拥有的通道权限下所有代理节点的清单列表;
步骤S606:验证机构的代理节点根据颁发机构名称,请求连接通信,将自身的DID和时间戳使用私钥签名;
步骤S607:颁发机构的代理节点接收到连接请求后,先验证该请求中的DID的有效性,按照DID的公钥对请求信息进行验签,验证请求信息中的DID与链上的DID是否保持一致;
步骤S608:颁发机构的代理节点验证连接信息通过后,基于websocket协议建立连接;
步骤S609:验证机构的代理节点根据客户端的要求,请求颁发机构将指定凭证进行传输;
步骤S610:颁发机构的代理节点根据指定凭证的哈希,先上链验证哈希是否存在;
步骤S611:验证成功后,根据凭证哈希,获取本地存储节点存储的的分块数据,将该分块数据进行哈希计算,传输至存储集群;
步骤S612:存储集群接收到分块数据哈希,然后根据该哈希进行哈希锚定处理,将其他分块数据全部获取,返回至颁发机构的客户端;
步骤S613:颁发机构的客户端将文件拼接完成,将完整的凭证传输至颁发机构的代理节点;
步骤S614:颁发机构的代理节点计算凭证哈希,然后将凭证哈希和凭证通过AMOP的点对点通讯技术,传输至验证机构的代理节点;
步骤S615:颁发机构的代理节点将传输流程上链背书;
步骤S616:验证机构的代理节点收到颁发机构的代理节点传输的凭证和哈希之后,先上链验证凭证的有效性;
步骤S617:验证凭证的有效性之后,将接收到的凭证先使用颁发机构的公钥进行验签,验证该凭证是该颁发机构颁发的;
步骤S618:验证机构的代理节点解析凭证内容,对凭证属性进行验证;
步骤S619:完成验证机构与颁发机构的凭证传输与验证。
本发明实施例,通过结合AMOP和分散式存储技术,能够解决数字身份凭证传输的链路安全性,以及凭证存储的数据安全性问题,能够达到如下有益效果:
(1)通过分散式存储技术的公钥基础设施(PKI),将凭证进行分块加密,且分散到多个节点进行存储,可以解决凭证在存储节点存储的数据安全性问题;
(2)通过分散式存储技术的哈希锚定技术和区块链的不可篡改性,在验证请求方身份的同时,可以快速获取存储节点上的凭证;
(3)通过区块链建立数字身份凭证传输的代理节点公共访问信息库,使得验证机构和颁发机构之间可自主选择建立连接,进行凭证的传输;
(4)基于AMOP技术,可实现凭证的P2P快速传输,降低验证机构验证凭证的时效性,优化业务流程;
(5)通过链上背书所有的业务流程,能够保证整个数字身份的交易安全可信。
实施例四
本实施例中提供的一种基于区块链的凭证传输装置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
图7是根据本发明实施例的一种可选的基于区块链的凭证传输装置的示意图,如图7所示,该传输装置可以包括:第一接收单元70,获取单元71,建立单元72,其中,
第一接收单元70,用于接收第一客户端发起的凭证传输请求,其中,凭证传输请求中携带有第二客户端标识;
获取单元71,用于响应凭证传输请求,从区块链网络中获取与第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,其中,第二客户端用于颁发数字身份凭证;
建立单元72,用于基于代理节点地址,发起连接请求,与第二代理节点建立通信连接,其中,第二代理节点在与第一代理节点建立通信连接之后,向第二客户端发起凭证获取请求;第二客户端响应凭证获取请求,对预先保存的凭证分块数据进行哈希计算,得到分块数据哈希,并基于分块数据哈希确定所有分块数据,拼接所有分块数据,得到数字身份凭证;第二代理节点基于数字身份凭证计算凭证哈希,并将数字身份凭证以及凭证哈希传输至第一代理节点。
上述传输装置,可以通过第一接收单元70接收第一客户端发起的凭证传输请求,通过获取单元71响应凭证传输请求,从区块链网络中获取与第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,通过建立单元72基于代理节点地址,发起连接请求,与第二代理节点建立通信连接,其中,第二代理节点在与第一代理节点建立通信连接之后,向第二客户端发起凭证获取请求;第二客户端响应凭证获取请求,对预先保存的凭证分块数据进行哈希计算,得到分块数据哈希,并基于分块数据哈希确定所有分块数据,拼接所有分块数据,得到数字身份凭证;第二代理节点基于数字身份凭证计算凭证哈希,并将数字身份凭证以及凭证哈希传输至第一代理节点。在本发明实施例中,可以通过与第一客户端对接的第一代理节点响应第一客户端发起的凭证传输请求,从区块链网络中获取与第二客户端对接的第二代理节点的代理节点地址,从而建立第一代理节点与第二代理节点之间的通信连接,之后可以基于通信连接将第二客户端颁发的数字身份凭证发送到第一客户端,不仅可以实时传输数字身份凭证,而且可以实现颁发机构(即第二客户端)与验证机构(即第一客户端)的自主控制凭证传输流程,提高传输安全性,进而解决了相关技术中数字身份凭证的传输安全性较低的技术问题。
可选的,传输装置还包括:第一注册模块,用于在接收第一客户端发起的凭证传输请求之前,注册第一代理节点的分布式身份标识;第一传输模块,用于将第一代理节点的分布式身份标识以及第一代理节点的公钥传输至区块链网络中。
可选的,传输装置还包括:第一验证模块,用于在基于代理节点地址,发起连接请求,与第二代理节点建立通信连接之前,第二代理节点在接收到连接请求的情况下,通过第一代理节点的公钥,验证凭证传输请求中携带的分布式身份标识,得到第一验证结果;第一建立模块,用于在第一验证结果指示凭证传输请求中携带的分布式身份标识与区块链网络上的第一代理节点的分布式身份标识一致的情况下,第二代理节点响应连接请求,建立与第一代理节点之间的通信连接。
可选的,传输装置还包括:第一查询模块,用于在从区块链网络中获取与第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址之前,区块链网络响应第一代理节点发起的查询请求,查询第一代理节点所处通道下的所有代理节点数据,得到数据查询结果;第一返回模块,用于将数据查询结果返回至第一代理节点。
可选的,传输装置还包括:第二验证模块,用于在将数字身份凭证以及凭证哈希传输至第一代理节点之后,在接收到数字身份凭证以及凭证哈希的情况下,基于凭证哈希,通过区块链网络验证数字身份凭证;第一获取模块,用于在区块链网络验证数字身份凭证通过的情况下,获取第二客户端的公钥;第三验证模块,用于基于第二客户端的公钥,验证数字身份凭证是否是第二客户端颁发的;第一解析模块,用于在数字身份凭证是第二客户端颁发的情况下,解析数字身份凭证,得到凭证属性信息;第四验证模块,用于对凭证属性信息的信息内容的正确性进行验证,第二验证结果;第一结束模块,用于在第二验证结果指示凭证属性信息的信息内容为正确内容的情况下,结束凭证验证操作。
可选的,确定单元包括:第二传输模块,用于第二客户端通过第二代理节点将分块数据哈希传输至存储集群,其中,存储集群基于分块数据哈希进行哈希锚定处理,获取所有分块数据,并将所有分块数据返回至第二客户端;第一接收模块,用于接收存储集群返回的所有分块数据。
上述的传输装置还可以包括处理器和存储器,上述第一接收单元70,获取单元71,建立单元72等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来与第二代理节点建立通信连接。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收第一客户端发起的凭证传输请求,响应凭证传输请求,从区块链网络中获取与第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,基于代理节点地址,发起连接请求,与第二代理节点建立通信连接,其中,第二代理节点在与第一代理节点建立通信连接之后,向第二客户端发起凭证获取请求;第二客户端响应凭证获取请求,对预先保存的凭证分块数据进行哈希计算,得到分块数据哈希,并基于分块数据哈希确定所有分块数据,拼接所有分块数据,得到数字身份凭证;第二代理节点基于数字身份凭证计算凭证哈希,并将数字身份凭证以及凭证哈希传输至第一代理节点。
实施例五
本实施例中提供的另一种基于区块链的凭证传输装置包含了多个实施单元,每个实施单元对应于上述实施例二中的各个实施步骤。
图8是根据本发明实施例的另一种可选的基于区块链的凭证传输装置的示意图,如图8所示,该传输装置可以包括:第二接收单元80,选择单元81,生成单元82,其中,
第二接收单元80,用于接收第二客户端的颁发凭证请求,其中,颁发凭证请求携带有凭证模板标识;
选择单元81,用于选择凭证模板标识指示的凭证模板,并将凭证模板传输至区块链网络进行处理;
生成单元82,用于基于处理后的凭证模板,生成数字身份凭证,并将数字身份凭证返回至第二客户端,其中,第二客户端在接收到数字身份凭证后,对数字身份凭证进行分块加密,得到多个分块数据,保留预设块数的分块数据至本地存储节点中,并将所有分块数据传输至存储集群。
上述传输装置,可以通过第二接收单元80接收第二客户端的颁发凭证请求,通过选择单元81选择凭证模板标识指示的凭证模板,并将凭证模板传输至区块链网络进行处理,通过生成单元82基于处理后的凭证模板,生成数字身份凭证,并将数字身份凭证返回至第二客户端,其中,第二客户端在接收到数字身份凭证后,对数字身份凭证进行分块加密,得到多个分块数据,保留预设块数的分块数据至本地存储节点中,并将所有分块数据传输至存储集群。在本发明实施例中,与第二客户端对接的第二代理节点可以基于区块链网络处理后的凭证模板,生成数字身份凭证,第二客户端可以对数字身份凭证进行分块加密,随机保留得到的分块数据,并将所有分块数据传输至存储集群进行存储,从而不仅实现了数字身份凭证的安全存储,还可以快速获取数字身份凭证,完成颁发机构(即第二客户端)与验证机构(即第一客户端)之间的实时凭证传输,提高了传输安全性,进而解决了相关技术中数字身份凭证的传输安全性较低的技术问题。
可选的,传输装置还包括:第二注册模块,用于在接收第二客户端的颁发凭证请求之前,为第二客户端注册分布式身份标识,并生成密钥对,其中,密钥对包括:第二客户端的公钥、第二客户端的私钥;第二返回模块,用于将密钥对返回至第二客户端,其中,第二客户端对私钥进行加密,并将加密后的私钥存储至本地存储节点中;第一背书模块,用于将公钥发送至区块链网络中进行背书处理。
可选的,传输装置还包括:第二获取模块,用于在将所有分块数据传输至存储集群之后,存储集群在接收到所有分块数据之后,获取第二客户端的本地存储节点信息;第二建立模块,用于存储集群基于本地存储节点信息,在存储集群的各个存储节点上建立通道;第一存储模块,用于存储集群基于通道,将所有分块数据进行存储。
上述的传输装置还可以包括处理器和存储器,上述第二接收单元80,选择单元81,生成单元82等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来基于处理后的凭证模板,生成数字身份凭证,并将数字身份凭证返回至第二客户端。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收第二客户端的颁发凭证请求,选择凭证模板标识指示的凭证模板,并将凭证模板传输至区块链网络进行处理,基于处理后的凭证模板,生成数字身份凭证,并将数字身份凭证返回至第二客户端,其中,第二客户端在接收到数字身份凭证后,对数字身份凭证进行分块加密,得到多个分块数据,保留预设块数的分块数据至本地存储节点中,并将所有分块数据传输至存储集群。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的基于区块链的凭证传输方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的基于区块链的凭证传输方法。
图9是根据本发明实施例的一种用于基于区块链的凭证传输方法的电子设备(或移动设备)的硬件结构框图。如图9所示,电子设备可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、键盘、电源和/或相机。本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种基于区块链的凭证传输方法,其特征在于,应用于与第一客户端对接的第一代理节点,每个代理节点对接一个客户端,包括:
接收第一客户端发起的凭证传输请求,其中,所述凭证传输请求中携带有第二客户端标识;
响应所述凭证传输请求,从区块链网络中获取与所述第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,其中,所述第二客户端用于颁发数字身份凭证;
基于所述代理节点地址,发起连接请求,与所述第二代理节点建立通信连接,其中,所述第二代理节点在与所述第一代理节点建立通信连接之后,向所述第二客户端发起凭证获取请求;所述第二客户端响应所述凭证获取请求,对预先保存的凭证分块数据进行哈希计算,得到分块数据哈希,并基于所述分块数据哈希确定所有分块数据,拼接所述所有分块数据,得到所述数字身份凭证;所述第二代理节点基于所述数字身份凭证计算凭证哈希,并将所述数字身份凭证以及所述凭证哈希传输至所述第一代理节点。
2.根据权利要求1所述的凭证传输方法,其特征在于,在接收第一客户端发起的凭证传输请求之前,还包括:
注册所述第一代理节点的分布式身份标识;
将所述第一代理节点的分布式身份标识以及所述第一代理节点的公钥传输至所述区块链网络中。
3.根据权利要求2所述的凭证传输方法,其特征在于,在基于所述代理节点地址,发起连接请求,与所述第二代理节点建立通信连接之前,还包括:
所述第二代理节点在接收到所述连接请求的情况下,通过所述第一代理节点的公钥,验证所述凭证传输请求中携带的分布式身份标识,得到第一验证结果;
在所述第一验证结果指示所述凭证传输请求中携带的分布式身份标识与所述区块链网络上的所述第一代理节点的分布式身份标识一致的情况下,所述第二代理节点响应所述连接请求,建立与所述第一代理节点之间的通信连接。
4.根据权利要求1所述的凭证传输方法,其特征在于,在从区块链网络中获取与所述第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址之前,还包括:
所述区块链网络响应所述第一代理节点发起的查询请求,查询所述第一代理节点所处通道下的所有代理节点数据,得到数据查询结果;
将所述数据查询结果返回至所述第一代理节点。
5.根据权利要求1所述的凭证传输方法,其特征在于,在将所述数字身份凭证以及所述凭证哈希传输至所述第一代理节点之后,还包括:
在接收到所述数字身份凭证以及所述凭证哈希的情况下,基于所述凭证哈希,通过所述区块链网络验证所述数字身份凭证;
在所述区块链网络验证所述数字身份凭证通过的情况下,获取所述第二客户端的公钥;
基于所述第二客户端的公钥,验证所述数字身份凭证是否是所述第二客户端颁发的;
在所述数字身份凭证是所述第二客户端颁发的情况下,解析所述数字身份凭证,得到凭证属性信息;
对所述凭证属性信息的信息内容的正确性进行验证,第二验证结果;
在所述第二验证结果指示所述凭证属性信息的信息内容为正确内容的情况下,结束凭证验证操作。
6.根据权利要求1所述的凭证传输方法,其特征在于,所述第二客户端基于所述分块数据哈希确定所有分块数据的步骤,包括:
所述第二客户端通过所述第二代理节点将所述分块数据哈希传输至存储集群,其中,所述存储集群基于所述分块数据哈希进行哈希锚定处理,获取所有分块数据,并将所述所有分块数据返回至所述第二客户端;
接收所述存储集群返回的所述所有分块数据。
7.一种基于区块链的凭证传输方法,其特征在于,应用于与第二客户端对接的第二代理节点,每个代理节点对接一个客户端,包括:
接收所述第二客户端的颁发凭证请求,其中,所述颁发凭证请求携带有凭证模板标识;
选择所述凭证模板标识指示的凭证模板,并将所述凭证模板传输至区块链网络进行处理;
基于处理后的凭证模板,生成数字身份凭证,并将所述数字身份凭证返回至所述第二客户端,其中,所述第二客户端在接收到所述数字身份凭证后,对所述数字身份凭证进行分块加密,得到多个分块数据,保留预设块数的所述分块数据至本地存储节点中,并将所有所述分块数据传输至存储集群。
8.根据权利要求7所述的凭证传输方法,其特征在于,在接收所述第二客户端的颁发凭证请求之前,还包括:
为所述第二客户端注册分布式身份标识,并生成密钥对,其中,所述密钥对包括:所述第二客户端的公钥、所述第二客户端的私钥;
将所述密钥对返回至所述第二客户端,其中,所述第二客户端对所述私钥进行加密,并将加密后的私钥存储至所述本地存储节点中;
将所述公钥发送至所述区块链网络中进行背书处理。
9.根据权利要求7所述的凭证传输方法,其特征在于,在将所有所述分块数据传输至存储集群之后,还包括:
所述存储集群在接收到所有所述分块数据之后,获取所述第二客户端的本地存储节点信息;
所述存储集群基于所述本地存储节点信息,在所述存储集群的各个存储节点上建立通道;
所述存储集群基于所述通道,将所有所述分块数据进行存储。
10.一种基于区块链的凭证传输装置,其特征在于,应用于与第一客户端对接的第一代理节点,每个代理节点对接一个客户端,包括:
第一接收单元,用于接收第一客户端发起的凭证传输请求,其中,所述凭证传输请求中携带有第二客户端标识;
获取单元,用于响应所述凭证传输请求,从区块链网络中获取与所述第二客户端标识所指示的第二客户端对接的第二代理节点的代理节点地址,其中,所述第二客户端用于颁发数字身份凭证;
建立单元,用于基于所述代理节点地址,发起连接请求,与所述第二代理节点建立通信连接,其中,所述第二代理节点在与所述第一代理节点建立通信连接之后,向所述第二客户端发起凭证获取请求;所述第二客户端响应所述凭证获取请求,对预先保存的凭证分块数据进行哈希计算,得到分块数据哈希,并基于所述分块数据哈希确定所有分块数据,拼接所述所有分块数据,得到所述数字身份凭证;所述第二代理节点基于所述数字身份凭证计算凭证哈希,并将所述数字身份凭证以及所述凭证哈希传输至所述第一代理节点。
11.一种基于区块链的凭证传输装置,其特征在于,应用于与第二客户端对接的第二代理节点,每个代理节点对接一个客户端,包括:
第二接收单元,用于接收所述第二客户端的颁发凭证请求,其中,所述颁发凭证请求携带有凭证模板标识;
选择单元,用于选择所述凭证模板标识指示的凭证模板,并将所述凭证模板传输至区块链网络进行处理;
生成单元,用于基于处理后的凭证模板,生成数字身份凭证,并将所述数字身份凭证返回至所述第二客户端,其中,所述第二客户端在接收到所述数字身份凭证后,对所述数字身份凭证进行分块加密,得到多个分块数据,保留预设块数的所述分块数据至本地存储节点中,并将所有所述分块数据传输至存储集群。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至9中任意一项所述的基于区块链的凭证传输方法。
13.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至9中任意一项所述的基于区块链的凭证传输方法。
CN202210319592.8A 2022-03-29 2022-03-29 基于区块链的凭证传输方法及装置、电子设备及存储介质 Active CN114679269B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210319592.8A CN114679269B (zh) 2022-03-29 2022-03-29 基于区块链的凭证传输方法及装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210319592.8A CN114679269B (zh) 2022-03-29 2022-03-29 基于区块链的凭证传输方法及装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN114679269A true CN114679269A (zh) 2022-06-28
CN114679269B CN114679269B (zh) 2023-10-27

Family

ID=82075685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210319592.8A Active CN114679269B (zh) 2022-03-29 2022-03-29 基于区块链的凭证传输方法及装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN114679269B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116707962A (zh) * 2023-06-30 2023-09-05 北京中启赛博科技有限公司 网络接入控制与检测告警方法、装置及存储介质
CN116707962B (zh) * 2023-06-30 2024-06-07 北京中启赛博科技有限公司 网络接入控制与检测告警方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680324A (zh) * 2020-05-28 2020-09-18 中国工商银行股份有限公司 用于区块链的凭证验证方法、管理方法以及签发方法
CN113157648A (zh) * 2021-04-28 2021-07-23 中国工商银行股份有限公司 基于区块链的分布式数据存储方法、装置、节点及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111680324A (zh) * 2020-05-28 2020-09-18 中国工商银行股份有限公司 用于区块链的凭证验证方法、管理方法以及签发方法
CN113157648A (zh) * 2021-04-28 2021-07-23 中国工商银行股份有限公司 基于区块链的分布式数据存储方法、装置、节点及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116707962A (zh) * 2023-06-30 2023-09-05 北京中启赛博科技有限公司 网络接入控制与检测告警方法、装置及存储介质
CN116707962B (zh) * 2023-06-30 2024-06-07 北京中启赛博科技有限公司 网络接入控制与检测告警方法、装置及存储介质

Also Published As

Publication number Publication date
CN114679269B (zh) 2023-10-27

Similar Documents

Publication Publication Date Title
CN109067801B (zh) 一种身份认证方法、身份认证装置及计算机可读介质
CN109741039B (zh) 记账方法、矿池服务器、终端设备、挖矿节点及矿池
CN110086608B (zh) 用户认证方法、装置、计算机设备及计算机可读存储介质
TW201914254A (zh) 資料加密和解密的方法、裝置和系統
CN105701372A (zh) 一种区块链身份构建及验证方法
KR20200041148A (ko) 블록체인 기술을 이용한 전자문서 발급 시스템 및 그것의 제어 방법
US9722792B2 (en) Reading of an attribute from an ID token
US20220021521A1 (en) Secure consensus over a limited connection
CN103560887B (zh) 智能终端远程证明方法和系统
CN111753014B (zh) 基于区块链的身份认证方法及装置
KR102079354B1 (ko) 블록체인 기술을 이용한 사용자 인증 시스템 및 그것의 제어 방법
CN111989892B (zh) 认证系统及计算机可读取的记录介质
JP7280517B2 (ja) 権利者端末、利用者端末、権利者プログラム、利用者プログラム、コンテンツ利用システムおよびコンテンツ利用方法
CN113536329A (zh) 用于密码通信的电子设备及密码通信系统
US20220294647A1 (en) Distributed ledger-based methods and systems for certificate authentication
KR20200041163A (ko) 통합 인증을 위한 블록체인 시스템 및 그것의 제어 방법
US11683301B2 (en) Automatically obtaining a signed digital certificate from a trusted certificate authority
CN110166460B (zh) 业务帐号的注册方法和装置、存储介质、电子装置
CN114679269B (zh) 基于区块链的凭证传输方法及装置、电子设备及存储介质
CN114124515B (zh) 标书传输方法、密钥管理方法、用户验证方法及对应装置
CN112422534B (zh) 电子证书的信用评估方法以及设备
CN114238912A (zh) 数字证书的处理方法、装置、计算机设备和存储介质
CN109658104B (zh) 一种链上资产一致性确认的系统和方法
KR102343461B1 (ko) 스마트 컨트랙트의 외부 IoT 데이터 공급 방법 및 이를 위한 오라클 시스템
CN115396087B (zh) 基于临时身份证书的身份认证方法、装置、设备及介质

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
GR01 Patent grant
GR01 Patent grant