CN110880969B - 基于联盟链和隐式证书的qkd网络认证密钥生成方法及系统 - Google Patents
基于联盟链和隐式证书的qkd网络认证密钥生成方法及系统 Download PDFInfo
- Publication number
- CN110880969B CN110880969B CN201910991412.9A CN201910991412A CN110880969B CN 110880969 B CN110880969 B CN 110880969B CN 201910991412 A CN201910991412 A CN 201910991412A CN 110880969 B CN110880969 B CN 110880969B
- Authority
- CN
- China
- Prior art keywords
- key
- public key
- client
- transaction
- server
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- 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
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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
- H04L63/0853—Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
-
- 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
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- 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/3236—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 using cryptographic hash functions
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3265—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
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)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种基于联盟链和隐式证书的QKD网络认证密钥生成方法及系统,实施在相互通信的联盟链成员之间,所述联盟链成员包括客户端成员及服务端成员,其特征在于,各成员均配置有密钥卡,所述服务端密钥卡中存储有服务端公钥池、服务端秘密共享私钥池以及客户端公钥池,所述客户端密钥卡均存储有客户端私钥、私钥参数、服务端公钥以及客户端公钥指针随机数,所述服务端公钥包括第一公钥以及第二公钥;所述客户端公钥池中存储有与各所述客户端成员一一对应的公钥单元,所述公钥单元中存储有身份标识以及隐式证书。各方通信时利用密钥卡基于联盟链和隐式证书进行加密通信,进一步提高了安全性。
Description
技术领域
本申请涉及联盟链领域,特别是涉及一种基于联盟链和隐式证书的QKD网络认证密钥生成方法及系统。
背景技术
区块链是一种全新的分布式基础架构与计算范式,利用有序的链式数据结构存储数据,利用共识算法更新数据,利用密码学技术保障数据安全。在基于区块链的交易中,确保交易的数据安全和客户的隐私是区块链能够进一步发展的必要条件。为此,密码学技术尤其是公钥密钥学在区块链中得到了广泛的应用。而联盟链是区块链的一个分支,所以它本身也是一个分布式的,去中心化的公共数据库,跟其他链的区别就是它是针对特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,其共识过程受到预选节点控制的区块链。
量子通信技术是基于量子物理学建立起来的新兴安全通信技术。我国的量子通信技术已经进入了实用化的阶段,其应用前景和战略意义也引起了地方政府和重要行业对其产业发展的广泛关注。除建立量子通信干线以外,一些规模化城域量子通信网络也已经建设成功并运行。基于城域量子通信网络,量子通信技术也有了初步的应用,可实现高保密性的视频语音通信等应用。量子通信干线和量子通信城域网等量子通信网络,组成量子通信网络,其本质是量子密钥分发(QKD)。因此以QKD技术为基础建立起来的量子通信网络可称为QKD网络。
正如大多数人所了解的,量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。
现有技术存在的问题:
1.当前QKD网络组网繁琐,其中的一个表现为:组网后需要给相邻的两个QKD设备人工颁发一对绝密的对称密钥作为QKD设备的认证密钥。由于QKD设备的成对关系数量巨大,人工颁发认证密钥的工作量也非常巨大。
2.当前QKD网络由一个密钥管理中心统一管理和控制密钥分发。该密钥管理中心容易遭受攻击导致整个QKD网络瘫痪。该密钥管理中心独立于QKD网络之外,增加了部署和维护的成本。该密钥管理中心记录QKD网络的密钥使用情况以用于计费等业务活动,但记录的防篡改、防抵赖能力不高。
发明内容
基于此,有必要针对上述技术问题,提供一种基于联盟链和隐式证书的QKD网络认证密钥生成方法及系统。
一种基于联盟链和隐式证书的QKD网络认证密钥生成及获取方法,实施在相互通信的联盟链成员之间,所述联盟链成员包括客户端成员及服务端成员,其各成员均配置有密钥卡,所述服务端密钥卡中存储有服务端公钥池、服务端秘密共享私钥池以及客户端公钥池,所述客户端密钥卡均存储有客户端私钥、私钥参数、服务端公钥以及客户端公钥指针随机数,所述服务端公钥包括第一公钥以及第二公钥;所述客户端公钥池中存储有与各所述客户端成员一一对应的公钥单元,所述公钥单元中存储有身份标识以及隐式证书;
所述User为QKD网络设备,任意两个User,分别为User1及User2,两者之间的QKD网络认证密钥生成方法包括:
所述User1向多个Endorser提出交易,所述交易信息中包含有User2的身份标识;
多个所述Endorser接收到交易后,均生成一组认证密钥分量,并将所述认证密钥分量进行加密,得到第一加密偏移密文以及第二加密偏移密文,并将所述第一加密偏移密文以及第二加密偏移密文写入交易应答发送至User1;
User1接收多个交易应答后,对各交易应答进行验证,从验证为有效的交易应答中获取第一加密偏移密文,还利用有效的交易应答制作背书并经由Orderer发送给Committer;
Committer收到背书后,相应生成交易通知发送给User1,还根据所述第一加密偏移密文以及第二加密偏移密文对世界状态进行更新;
User1接收交易通知后将多个所述第一加密偏移密文进行解密后,得到多组认证密钥分量,并根据多组认证密钥分量基于秘密共享的理论生成与User2之间的QKD网络认证密钥。
可选的,所述User1接收交易通知后将多个所述第一加密偏移密文进行解密后,得到多组认证密钥分量,并根据多组认证密钥分量基于秘密共享的理论生成与User2之间的QKD网络认证密钥之后,所述User2获取所述QKD网络认证密钥,获取方法包括:
所述User2向多个Endorser提出交易,所述交易信息中包含有User1的身份标识;
多个所述Endorser接收到交易后,根据所述User1以及User2的身份标识读取世界状态,获取所述第二加密偏移密文,并将所述第二加密偏移密文写入交易应答发送至User2;
User2接收多个交易应答后,对各交易应答进行验证,从验证为有效的交易应答中获取第二加密偏移密文,将多个所述第二加密偏移密文进行解密后,得到多组认证密钥分量,并根据多组认证密钥分量基于秘密共享的理论获取与User1之间的QKD网络认证密钥。
可选的,User向Endorser提出交易,Endorser响应于该交易并进行相应操作,再将与交易结果相应的交易通知发送给User的过程中,交互的消息中携带有供验证时使用的签名,所述签名根据偏移量进行偏移加密。
可选的,所述User向Endorser提出交易时,所述偏移量的生成方式包括述偏移量的生成方式具体包括:
根据所述User1身份标识、User2身份标识,第一公钥、第二公钥以及时间戳进行哈希计算生成。
可选的,所述Endorser响应于该交易并进行相应操作,再将与交易结果相应的交易通知发送给User时,所述偏移量的生成方式包括述偏移量的生成方式具体包括:
根据所述Endorser身份标识,第一公钥、第二公钥以及交易序号进行哈希计算生成。
可选的,所述多个所述Endorser接收到交易后,均生成一组认证密钥分量,并将所述认证密钥分量进行加密,得到第一加密偏移密文以及第二加密偏移密文,并将所述第一加密偏移密文以及第二加密偏移密文写入交易应答发送至User1,其中将所述认证密钥分量进行加密,得到第一加密偏移密文的方法包括:
根据User1的隐式证书获取与User1相关的第一服务端公钥;
根据User1的公钥对所述认证密钥分量进行加密,得到第一密文;
根据Endorser的隐式证书、交易序号以及第一服务端公钥进行哈希计算得到第一偏移量;
根据所述第一偏移量对第一密文进行偏移加密,得到第一加密偏移密文。
可选的,其中将所述认证密钥分量进行加密,得到第二加密偏移密文的方法包括:
根据User2的隐式证书获取与User2相关的第二服务端公钥;
根据User2的公钥对所述认证密钥分量进行加密,得到第二密文;
根据Endorser的隐式证书、交易序号以及第二服务端公钥进行哈希计算得到第二偏移量;
根据所述第二偏移量对第二密文进行偏移加密,得到第二加密偏移密文。
可选的,所述客户端的密钥卡由服务端生成并颁发。
可选的,所客户端的密钥卡由服务端生成并颁发具体包括在服务端进行如下步骤:
生成客户端私钥以及客户端公钥指针随机数,所述客户端公钥指针随机数包括第一随机数以及第二随机数;
根据所述客户端公钥指针随机数进行哈希计算,得到随机数哈希值;
根据所述客户端私钥以及算法参数进行计算,得到客户端私钥参数;
根据所述第一随机数在所述客户端公钥池中取出第一公钥;
根据所述客户端私钥参数以及第一公钥进行计算,得到客户端公钥参数;
根据所述客户端公钥参数、客户端的身份标识以及客户端公钥指针随机数进行计算,得到客户端的隐式证书;
根据所述第一随机数、第二随机数以及隐式证书进行计算,得私钥参数;
根据所述第二随机数在所述客户端公钥池中取出第二公钥,所述第一公钥以及第二公钥为服务端公钥;
将所述服务端公钥池、客户端公钥指针随机数、服务端公钥、客户端私钥以及私钥参数存入相应客户端密钥卡的对应存储区,完成对客户端的密钥卡颁发。
本发明还提供了一种基于联盟链和隐式证书的QKD网络认证密钥生成及获取系统,包括相互通信的联盟链成员,所述联盟链成员包括客户端成员及服务端成员,各成员均配置有密钥卡,所述服务端密钥卡中存储有服务端公钥池、服务端秘密共享私钥池以及客户端公钥池,所述客户端密钥卡均存储有客户端私钥、私钥参数、服务端公钥以及客户端公钥指针随机数,所述服务端公钥包括第一公钥以及第二公钥;所述客户端公钥池中存储有与各所述客户端成员一一对应的公钥单元,所述公钥单元中存储有身份标识以及隐式证书;
所述联盟链和用户包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现权利要求1~10任一项所述的基于联盟链和隐式证书的QKD网络认证密钥生成方法。
本发明还提供了一种基于联盟链和隐式证书的QKD网络认证密钥生成系统,包括相互通信的联盟链成员,所述联盟链成员包括User以及多个提供相应服务的Endorser,Orderer和Committer,各方均配置有密钥卡,所有密钥卡均存储有各自的私钥、公钥池以及系统管理公钥;所述公钥池中存储有与各所述联盟链成员一一对应的公钥单元,所述公钥单元中存储有公钥随机数;所述User为QKD网络设备,任意两个User,分别为User1及User2;
所述联盟链和用户包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述的基于联盟链和隐式证书的QKD网络认证密钥生成方法。
上述基于联盟链和隐式证书的QKD网络认证密钥生成方法及系统,通过使用联盟链为两个QKD设备颁发一对绝密的对称密钥作为QKD设备的认证密钥。由于QKD设备的成对关系数量巨大,因此减少了大量人工颁发认证密钥的工作量。在本发明中,2个QKD设备之间的认证密钥是通过秘密共享进行分布式存储并生成的,敌方通过各种手段获取少于秘密共享阈值t个秘密,均无法得到最终的认证密钥,因此提升了认证密钥网络分发的安全性。
附图说明
图1为一个实施例中QKD网络认证密钥生成系统的结构示意图;
图2为一个实施例中服务端密钥卡的内部结构图;
图3为一个实施例中客户密钥卡的内部结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地描述和说明本申请的实施例,可参考一幅或多幅附图,但用于描述附图的附加细节或示例不应当被认为是对本申请的发明创造、目前所描述的实施例或优选方式中任何一者的范围的限制。
应该理解的是,除非本文中有明确的说明,各步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如图1所示,提供了一种基于联盟链和隐式证书的QKD网络认证密钥生成方法,实施在相互通信的联盟链成员之间,所述联盟链成员包括客户端成员及服务端成员,其特征在于,各成员均配置有密钥卡,所述服务端密钥卡中存储有服务端公钥池、服务端秘密共享私钥池以及客户端公钥池,所述客户端密钥卡均存储有客户端私钥、私钥参数、服务端公钥以及客户端公钥指针随机数,所述服务端公钥包括第一公钥以及第二公钥;所述客户端公钥池中存储有与各所述客户端成员一一对应的公钥单元,所述公钥单元中存储有身份标识以及隐式证书。
在本实施例中,基于非对称密钥池体系中,对任意1个用户端与联盟链服务之间进行通信。下文中联盟链服务简称为服务端。本发明的密钥池体系中每个对象都具有密钥卡,可存储大数据量的密钥,也具备处理信息的能力。本发明中,用户端和服务端的本地系统中都存在相应需求的算法。
如图1所示,联盟链成员均配备有密钥卡。
在本实施例中,密钥卡分为服务端密钥卡和客户端密钥卡。服务端密钥卡密钥区结构如图2所示,主要存储有服务端公钥池、服务端秘密共享私钥池和客户端公钥池。秘密共享私钥池中存储的内容为对s进行(t,n)秘密共享,n为私钥拆分共享秘密的碎片数,t为恢复私钥的最小碎片数,每个为si。客户端密钥卡密钥区结构如图3所示,主要存储有服务端公钥、客户端公钥指针随机数、客户端私钥以及私钥参数。其中服务端公钥包括两个公钥,pkU和pkSU。所述密钥卡均由服务端颁发。
QKD网络包括城际网QKD服务站和城域网QKD服务站。前者属于QKD骨干网络,由骨干网运营商负责运营;后者为非骨干网络,由非骨干网运营商负责运营,或由用户机构自行负责运营。
服务端在密钥卡注册时,先由服务端选择椭圆曲线的域参数包含q,a,b,G和n。q代表有限域Fq的大小;变量a和b是椭圆曲线y2=x3+ax+b的系数,这里4a3+27b2≠0;G是基点生成元。服务端生成椭圆曲线后,选择基点生成元G,满足它的阶是整数n。服务端生成的私钥sk和公钥pk满足pk=sk*G。算法的相关参数{q,a,b,G,n}写入到密钥卡指定区域。
在本实施例中,联盟链成员搭载有相应的区块链服务,每个服务有1个ID。
其中,由n个Endorser组成分布式私钥生成服务,n个Endorser对应n个城际网QKD服务站。即对s进行(t,n)的秘密共享,n为私钥拆分共享秘密的碎片数,t为恢复私钥的最小碎片数,2≤t≤n。n个Endorser秘密共享了服务器的s,每个Ei得到的秘密为(xi,si),其中的任意t个Endorser可以恢复服务器的s。恢复具体步骤如下:
作为客户端:公钥PKE;私钥SKE;获取方式同PKU/SKU。Endorser的ID即IDE=HASH(PKE)。
作为服务端:服务端公钥S=s*P,组成服务端公钥池;服务端秘密共享私钥si,组成服务端秘密共享私钥池;客户端公钥池,每个单元组成如图:
IDU | CertU |
单元内包括用户ID和用户证书CertU。
每个Committer同时拥有客户端密钥卡和服务端密钥卡(但此服务端密钥卡没有秘密共享私钥池):
作为客户端:公钥PKC;私钥SKC;获取方式同PKU/SKU。Committer的ID即IDC=HASH(PKC)。
作为服务端:服务端公钥池;客户端公钥池。
在本实施例中,用户搭载有相应的区块链客户端,有1个ID,没有区块链服务。客户端分为两种:
(1)n个城际网QKD服务站中,均有区块链客户端,或称为区块链服务客户端;
(2)所有城域网QKD服务站中,均有区块链客户端,或称为区块链客户客户端。
在本实施例中,密钥卡私钥由t个Endorser颁发。见下文“非对称密钥颁发”部分。
区块链服务包括Peer服务,Order服务等。其中Peer服务分为Committer和Endorser;Order服务由多个Orderer组成。区块链服务均带有Committer功能;保存有区块链以及智能合约,智能合约运行于密钥卡内;密钥卡中的世界状态WorldState包含客户端之间最新的所有加密会话密钥的记录。
下文设User,Endorser,Orderer,Committer的标记如下:
(0)各自的简称分别为U,E,O,C;
(1)各自的ID分别为IDU,IDE,IDO,IDC;
(2)各自的公钥分别为PKU,PKE,PKO,PKC;
(3)各自的私钥分别为SKU,SKE,SKO,SKC。
根据交易流程,其中一用户可称为User,有1个或多个区块链账户,每个账户对应1个公钥/私钥的组合。提供相应服务的联盟链成员可作为Endorser,Orderer或Committer。
在本实施例中,所述User为QKD网络设备,任意两个User,分别为User1及User2,两者之间的QKD网络认证密钥生成方法包括:
所述User1向多个Endorser提出交易,所述交易信息中包含有User2的身份标识;
多个所述Endorser接收到交易后,均生成一组认证密钥分量,并将所述认证密钥分量进行加密,得到第一加密偏移密文以及第二加密偏移密文,并将所述第一加密偏移密文以及第二加密偏移密文写入交易应答发送至User1;
User1接收多个交易应答后,对各交易应答进行验证,从验证为有效的交易应答中获取第一加密偏移密文,还利用有效的交易应答制作背书并经由Orderer发送给Committer;
Committer收到背书后,相应生成交易通知发送给User1,还根据所述第一加密偏移密文以及第二加密偏移密文对世界状态进行更新;
User1接收交易通知后将多个所述第一加密偏移密文进行解密后,得到多组认证密钥分量,并根据多组认证密钥分量基于秘密共享的理论生成与User2之间的QKD网络认证密钥。
在本实施例中,所述User1接收交易通知后将多个所述第一加密偏移密文进行解密后,得到多组认证密钥分量,并根据多组认证密钥分量基于秘密共享的理论生成与User2之间的QKD网络认证密钥之后,所述User2获取所述QKD网络认证密钥,获取方法包括:
所述User2向多个Endorser提出交易,所述交易信息中包含有User1的身份标识;
多个所述Endorser接收到交易后,根据所述User1以及User2的身份标识读取世界状态,获取所述第二加密偏移密文,并将所述第二加密偏移密文写入交易应答发送至User2;
User2接收多个交易应答后,对各交易应答进行验证,从验证为有效的交易应答中获取第二加密偏移密文,将多个所述第二加密偏移密文进行解密后,得到多组认证密钥分量,并根据多组认证密钥分量基于秘密共享的理论获取与User1之间的QKD网络认证密钥。
进一步的,User向Endorser提出交易,Endorser响应于该交易并进行相应操作,再将与交易结果相应的交易通知发送给User的过程中,交互的消息中携带有供验证时使用的签名,所述签名根据偏移量进行偏移加密。
具体的,所述User向Endorser提出交易时,所述偏移量的生成方式包括述偏移量的生成方式具体包括:根据所述User1身份标识、User2身份标识,第一公钥、第二公钥以及时间戳进行哈希计算生成。
具体的,所述Endorser响应于该交易并进行相应操作,再将与交易结果相应的交易通知发送给User时,所述偏移量的生成方式包括述偏移量的生成方式具体包括:根据所述Endorser身份标识,第一公钥、第二公钥以及交易序号进行哈希计算生成。
在本实施例中,所述多个所述Endorser接收到交易后,均生成一组认证密钥分量,并将所述认证密钥分量进行加密,得到第一加密偏移密文以及第二加密偏移密文,并将所述第一加密偏移密文以及第二加密偏移密文写入交易应答发送至User1,其中将所述认证密钥分量进行加密,得到第一加密偏移密文的方法包括:根据User1的隐式证书获取与User1相关的第一服务端公钥;根据User1的公钥对所述认证密钥分量进行加密,得到第一密文;根据Endorser的隐式证书、交易序号以及第一服务端公钥进行哈希计算得到第一偏移量;根据所述第一偏移量对第一密文进行偏移加密,得到第一加密偏移密文。
进一步的,其中将所述认证密钥分量进行加密,得到第二加密偏移密文的方法包括:根据User2的隐式证书获取与User2相关的第二服务端公钥;根据User2的公钥对所述认证密钥分量进行加密,得到第二密文;根据Endorser的隐式证书、交易序号以及第二服务端公钥进行哈希计算得到第二偏移量;根据所述第二偏移量对第二密文进行偏移加密,得到第二加密偏移密文。
在本实施例中,所述客户端的密钥卡由服务端生成并颁发。
进一步的,所客户端的密钥卡由服务端生成并颁发具体包括在服务端进行如下步骤:生成客户端私钥以及客户端公钥指针随机数,所述客户端公钥指针随机数包括第一随机数以及第二随机数;根据所述客户端公钥指针随机数进行哈希计算,得到随机数哈希值;根据所述客户端私钥以及算法参数进行计算,得到客户端私钥参数;根据所述第一随机数在所述客户端公钥池中取出第一公钥;根据所述客户端私钥参数以及第一公钥进行计算,得到客户端公钥参数;根据所述客户端公钥参数、客户端的身份标识以及客户端公钥指针随机数进行计算,得到客户端的隐式证书;根据所述第一随机数、第二随机数以及隐式证书进行计算,得私钥参数;根据所述第二随机数在所述客户端公钥池中取出第二公钥,所述第一公钥以及第二公钥为服务端公钥;将所述服务端公钥池、客户端公钥指针随机数、服务端公钥、客户端私钥以及私钥参数存入相应客户端密钥卡的对应存储区,完成对客户端的密钥卡颁发。
就各步骤细节进一步描述基于联盟链和隐式证书的QKD网络认证密钥生成方法的具体流程如下所示:
生成QKD网络认证密钥
非对称密钥颁发:
非对称密钥颁发即密钥卡颁发,此流程全部在服务端进行。
设ID为IDU的客户端为客户端CU,客户端CU的密钥卡内客户端私钥为kU,客户端公钥指针随机数为rkU和rkSU。随机生成公钥指针随机数,如当前服务端公钥池单元已被使用,则换一个公钥指针随机数继续尝试。尝试成功后,标记当前服务端公钥池单元已被使用。
根据客户端私钥kU以及G计算得到RU=kU*G。
将rkU结合指针函数frk得到指针rkpU,通过rkpU在服务端公钥池中取出公钥pkU。
计算PU=RU+pkU。
计算得到客户端CU的隐式证书CertU=Encode(PU,IDU,rkU,rkSU)。Encode(*)是指一种包括了*信息的证书的组成和实际编码方式,具体根据应用而定。再对CertU进行哈希计算得到eU=H(CertU)。
设第i个Endorser为Ei,Ei根据rkU、rkSU结合指针函数frk得到指针rkpU、rkpSU,通过rkpU、rkpSU在服务端秘密共享私钥池取出私钥skUi和私钥skSUi。
计算私钥参数rUi=eU*skUi+skSUi(mod n)。
Ei将rUi发给客户端密钥卡,客户端密钥卡计算rU=eU*skU+skSU=eU*(∑λi*skUi)+(∑λi*skSUi)=∑λi*(eU*skUi+skSUi)=∑λi*rUi。即客户端密钥卡得到rU=∑λi*rUi。
将服务端公钥pkU和pkSU、客户端公钥指针随机数rkU和rkSU、客户端私钥kU以及私钥参数rU存入客户端密钥卡的对应存储区,完成对客户端的非对称密钥颁发即密钥卡颁发。
客户端获取非对称密钥:
客户端根据密钥卡内客户端私钥kU以及G计算得到RU=kU*G。
客户端取出公钥pkU。
计算PU=RU+pkU。
计算得到客户端CU的隐式证书CertU=Encode(PU,IDU,rkU,rkSU)。再对CertU进行哈希计算得到eU=H(CertU)。
计算得到实际的私钥SKU=eU*kU+rU(mod n)
客户端取出公钥pkSU。
计算得到实际的公钥PKU=eU*PU+pkSU。也可以用PKU=SKU*G计算得到实际的公钥PKU。
客户端CU将CertU公布。CertU不含有密码相关信息,因此无需加密即可抵抗量子计算。
服务端获取某客户端公钥:
服务端可得到客户端CU的隐式证书CertU后,对CertU进行哈希计算得到eU=H(CertU)。
由客户端CU的CertU中得到得到rkSU,将rkSU结合指针函数frk得到指针rkpSU,通过rkpSU在服务端公钥池中取出公钥pkSU。
计算得到实际公钥PKU=eU*PU+pkSU。
任意2个QKD设备,设双方分别为User和User2,ID分别为IDU和IDU2。只要二者之间存在QKD线路(量子线路)且想要通过QKD方式获取密钥,则二者之间需要首先获得认证密钥AK。本发明中,2个QKD设备之间的认证密钥AK是通过秘密共享进行分布式生成并存储的,由其中的n个Endorser组成基于隐式证书的分布式密钥生成服务。
一、生成认证密钥:
步骤1:User提出交易。
User向N个Endorser发送交易,交易tx可表示为{proposal,userSig'}。
proposal可表示为{IDU,chaincodeID,txPayload,timestamp}。链码chaincodeID即使用智能合约函数的编号;txPayload即函数的参数,可表示为txPayload=IDU2。timestamp即为交易的发起时间。
userSig即User对proposal的签名。令SIGN=ECDSA,得到userSig=SIGN(proposal,SKU)={UR,US}。
User在密钥卡内提取服务端公钥pkU和pkSU,计算用于进行偏移量计算的PKUR,可表示为PKUR=H(IDU||IDU2||timestamp||pkU||pkSU)。H(*)是一种将整数映射到椭圆曲线点的哈希函数。
对UR进行偏移量计算后得到userSig'={UR-PKUR,US}。
步骤2:Endorser执行交易。
Endorser根据CertU获取rkU||rkSU,根据rkU||rkSU从密钥池获取pkU||pkSU,计算得到PKUR=H(IDU||IDU2||timestamp||pkU||pkSU),对(UR-PKUR)加上PKUR得到UR,即恢复了userSig。Endorser根据User的CertU使用上文所述方法得到PKU,使用PKU对userSig进行验证。验证通过后,判断IDU是否具有生成认证密钥的权限,并查看proposal中的timestamp与本地时间的差异是否位于合理范围内。若所有判断通过,则认可该交易;若有判断不通过,则不认可该交易。
步骤3:Endorser发送交易应答。
验证通过后,对该交易进行处理,即根据chaincodeID执行chaincode,生成读写操作集readset和writeset并将包含读写操作集的交易应答rtx返回给User。交易应答rtx可表示为{tran-proposal,rtxdata,epSig'}。
tran-proposal即申请应答可表示为{IDEi,tid,chaincodeID,txPayload,readset,writeset}。包括交易的序号tid(可表示为tid=HASH(proposal)),chaincodeID和txPayload,以及读写操作集readset=IDU2和writeset=EAKi'||EAKi2'。如不认可该交易,readset/writeset为无效值。其中,writeset的生成方式如下:
Ei取随机数Aki作为认证密钥的秘密共享分量,使用User的公钥PKU对Aki进行加密得到EAKi,可表示为EAKi=ENC(AKi,PKU)={EAKRi,EAKci,EAKti}。ENC(m,PK)表示使用公钥PK对消息m进行加密,使用ECIES算法。
Ei使用User2的公钥PKU2对Aki进行加密得到EAKi2,可表示为EAKi2=ENC(AKi,PKU2)={EAKRi2,EAKci2,EAKti2}。
计算偏移量PKEAKRi和PKEAKRi2,可表示为PKEAKRi=H(CertE||tid||pkU||pkSU)以及PKEAKRi2=H(CertE||tid||pkU2||pkSU2)。
使用PKEAKRi和PKEAKRi2分别对EAKi和EAKi2进行偏移量计算得到EAKi'和EAKi2',可表示为EAKi'={EAKRi-PKEAKRi,EAKci,EAKti},EAKi2'={EAKRi2-PKEAKRi2,EAKci2,EAKti2}。
rtxdata可表示为(pkSE-H(tid||IDE||pkU||pkSU))||CertE。
epSig即使用Endorser的私钥SKE对tran-proposal和rtxdata签名,可表示为SIGN(tran-proposal||rtxdata,SKE)={ER,ES}。
Endorser计算偏移量PKER,可表示为PKER=H(IDE||tid||pkU||pkSU)。
对ER进行偏移量计算后得到epSig'={ER-PKER,ES}。
步骤4:User发送背书(Endorsement)etx到Orderer。
User收到交易应答后,筛选出被Endorser认可的交易。根据密钥卡内服务端公钥pkU和pkSU计算得到PKER=H(IDE||tid||pkU||pkSU),对(ER-PKER)加上PKER得到ER,即恢复了epSig。对(pkSE-H(tid||IDE||pkU||pkSU))加上H(tid||IDE||pkU||pkSU)得到pkSE。User根据pkSE和Endorser的CertE使用上文所述方法得到PKE,得到PKE的具体过程为:得到服务端E的隐式证书CertE=Encode(PE,IDE,rkE,rkSE);再对CertE进行哈希计算得到eE=H(CertE);取出计算得到的公钥pkSE;计算得到实际的公钥PKE=eE*PE+pkSE。检查HASH(PKE)是否等于IDE,然后使用公钥PKE对签名epSig进行验证。
若User收到达到秘密共享要求的个数(>=t个)的交易应答并分别验证通过后,本地保留多个EAKi’,并将选择得到的rtx集合组成背书etx,可表示为etx=∑rtx。将etx发送至Orderer。
步骤5:Orderer发送排序后的etx集合到Committer。
Orderer在积累到一定数量的etx后,Orderer对各个User递交过来的etx进行排序。在达到bolck的最大大小或者达到超时时间后,Orderer将多个etx排序好并打包成区块即etxs,etxs包括序列号seqno以及上个联盟链区块的哈希值prevhash。背书集合etxs可表示为{seqno,prevhash,∑etx}。Orderer将etxs发送给Committer。
步骤6:每个Committer验证交易。
每个Committer收到排序后的背书集合后,Committer根据背书策略对etx集合进行验证,验证方式如下:
查看每个rtx,使用上文所述方法验证其数字签名epSig'。具体为:根据CertU获取rkU||rkSU,根据rkU||rkSU从密钥池获取pkU||pkSU。根据pkU和pkSU计算得到PKER=H(IDE||tid||pkU||pkSU),对(ER-PKER)加上PKER得到ER,即恢复了epSig。对(pkSE-H(tid||IDE||pkU||pkSU))加上H(tid||IDE||pkU||pkSU)得到pkSE。Committer根据pkSE和Endorser的CertE使用上文所述方法得到PKE,得到PKE的具体过程为:得到服务端E的隐式证书CertE=Encode(PE,IDE,rkE,rkSE);再对CertE进行哈希计算得到eE=H(CertE);取出计算得到的公钥pkSE;计算得到实际的公钥PKE=eE*PE+pkSE。检查HASH(PKE)是否等于IDE,然后用公钥PKE对签名epSig进行验证。
验证readset:读取IDU2,检验是否存在IDU2。
查看通过验证的rtx是否达到秘密共享要求(>=t个)。
验证通过后Committer认可该etx为有效背书,并作出标记以示有效,否则Committer不认可该etx为有效背书,并作出标记以示无效。
验证完成后,Committer将区块写入区块链。Committer根据区块链中的有效背书,更新本地的世界状态,即存储IDU与IDU2之间的加密会话密钥∑{EAKi'||EAKi2'}。如之前已存在加密会话密钥,则删除原有的加密会话密钥后,存储本次更新的加密会话密钥。
步骤7:Committer发送交易通知。
多个Committer执行完毕后,将交易结果(成功或失败)的通知发送至User。Committer根据CertU获取rkU||rkSU,根据rkU||rkSU从密钥池获取pkU||pkSU。生成交易通知ntx,包括tid,result(即成功或失败),ntxdata以及签committerSig。ntxdata可表示为(pkSC-H(tid||IDC||pkU||pkSU))||CertC。committerSig即Committer使用私钥SKC对(result||ntxdata)的签名,可表示为SIGN(result||ntxdata,SKC)={CR,CS}。Committer计算用于进行偏移量计算的PKCR。可表示为PKCR=H(IDC||tid||pkU||pkSU)。
对CR进行偏移量计算后得到committerSig'={CR-PKCR,CS}。
User收到后,根据密钥卡内服务端公钥pkU和pkSU计算得到PKCR=H(IDC||tid||pkU||pkSU),对(CR-PKCR)加上PKCR得到CR,即恢复了committerSig。对(pkSC-H(tid||IDC||pkU||pkSU))加上H(tid||IDC||pkU||pkSU)得到pkSC。User根据pkSC和Committer的CertC使用上文所述方法得到PKC,得到PKC的具体过程为:得到服务端C的隐式证书CertC=Encode(PC,IDC,rkC,rkSC);再对CertC进行哈希计算得到eC=H(CertC);取出计算得到的公钥pkSC;计算得到实际的公钥PKC=eC*PC+pkSC。检查HASH(PKC)是否等于IDC,然后使用PKC并对签名SIGN(result,SKC)进行验证,通过后信任该交易通知。
若交易通知中result=成功,则解密多个EAKi’得到多个Aki。具体过程为:解析EAKi'={EAKRi-PKEAKRi,EAKci,EAKti};计算PKEAKRi=H(CertE||tid||pkU||pkSU);对(EAKRi-PKEAKRi)加上PKEAKRi得到EAKRi,即得到EAKi={EAKRi,EAKci,EAKti};根据本地私钥SKU对EAKi进行ECIES解密,得到AKi。
组成多组(xi,AKi),作为(t,n)秘密共享的秘密,选取前t组用于计算AK。
User计算AK=∑λi*Aki,至此生成认证密钥完成。
二、获取认证密钥:
步骤1:User2提出交易。
User2向N个Endorser发送交易,交易tx可表示为{proposal,userSig'}。
proposal可表示为{IDU2,chaincodeID,txPayload,timestamp}。链码chaincodeID即使用智能合约函数的编号;txPayload即函数的参数,可表示为txPayload=IDU。timestamp即为交易的发起时间。
userSig即User2对proposal的签名。令SIGN=ECDSA,得到userSig=SIGN(proposal,SKU2)={UR,US}。
User2在密钥卡内提取服务端公钥pkU2和pkSU2,计算用于进行偏移量计算的PKUR,可表示为PKUR=H(IDU2||IDU||timestamp||pkU2||pkSU2)。
对UR进行偏移量计算后得到userSig'={UR-PKUR,US}。
步骤2:Endorser执行交易。
Endorser根据CertU2获取rkU2||rkSU2,根据rkU2||rkSU2从密钥池获取pkU2||pkSU2,计算得到PKUR=H(IDU2||IDU||timestamp||pkU2||pkSU2),对(UR-PKUR)加上PKUR得到UR,即恢复了userSig。Endorser根据User2的CertU2使用上文所述方法得到PKU2,使用PKU2对userSig进行验证。验证通过后,判断IDU2是否具有获取认证密钥的权限,判断IDU2与IDU的会话密钥是否存在,并查看proposal中的timestamp与本地时间的差异是否位于合理范围内。若所有判断通过,则认可该交易;若有判断不通过,则不认可该交易。
步骤3:Endorser发送交易应答。
验证通过后,对该交易进行处理,即根据chaincodeID执行chaincode,生成读写操作集readset和writeset并将包含读写操作集的交易应答rtx返回给User。交易应答rtx可表示为{tran-proposal,rtxdata,epSig'}。
tran-proposal即申请应答可表示为{IDEi,tid,chaincodeID,txPayload,readset,writeset}。包括交易的序号tid(可表示为tid=HASH(proposal)),chaincodeID和txPayload,以及读写操作集readset=∑{EAKi2'}和writeset=空。如不认可该交易,readset/writeset为无效值。
rtxdata可表示为(pkSE-H(tid||IDE||pkU2||pkSU2))||CertE。
epSig即使用Endorser的私钥SKEi对tran-proposal和rtxdata签名,可表示为SIGN(tran-proposal||rtxdata,SKEi)={ER,ES}。
Endorser计算用于进行偏移量计算的PKER,可表示为PKER=H(IDE||tid||pkU2||pkSU2)。
对ER进行偏移量计算后得到epSig'={ER-PKER,ES}。
步骤4:User收到结果。
User2收到交易应答后,筛选出被Endorser认可的交易。根据密钥卡内服务端公钥pkU2和pkSU2计算得到PKER=H(IDE||tid||pkU2||pkSU2),对(ER-PKER)加上PKER得到ER,即恢复了epSig。对(pkSE-H(tid||IDE||pkU2||pkSU2))加上H(tid||IDE||pkU2||pkSU2)得到pkSE。User根据pkSE和Endorser的CertE使用上文所述方法得到PKE,检查HASH(PKE)是否等于IDE,然后并使用公钥PKE对签名epSig进行验证。
对验证成功的rtx,查看其readset是否一致。
解密多个EAKi2'得到多个AKi。具体过程为:解析EAKi2'={EAKRi2-PKEAKRi2,EAKci2,EAKti2};计算PKEAKRi2=H(CertE||tid||pkU2||pkSU2);对(EAKRi2-PKEAKRi2)加上PKEAKRi2得到EAKRi2,即得到EAKi2={EAKRi2,EAKci2,EAKti2};根据本地私钥SKU2对EAKi2进行ECIES解密,得到AKi。
组成多组(xi,AKi),作为(t,n)秘密共享的秘密。
User2计算AK=∑λi*Aki,至此获取认证密钥完成。
三、QKD设备相互认证:
2个QKD设备使用AK作为认证密钥,互相认证,并进行QKD流程。
上述基于联盟链和隐式证书的QKD网络认证密钥生成方法及系统,通过使用密钥卡存储公钥和私钥,其中公钥存储在密钥卡的公钥池中。密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。由于量子计算机无法得到用户公钥,于是也无法得到对应的私钥。另外,本发明中,基于公私钥的抗量子计算签名和加密也保证了所传输消息的安全性,即使在量子计算机存在的情况下,也难以被推导出私钥。因此该方案不容易被量子计算机破解。
在本方法中将基于隐式证书密码学中的隐式证书改为了隐式证书加上公钥随机数的形式。并且私钥服务器的私钥通过秘密共享的方式进行分布式存储,而相关的私钥分量又分别存储在多个Endorser的密钥卡中,使得私钥被窃取的风险很大程度的降低。没有一个或少数几个Endorser掌握整个私钥也就没有一个或少数几个失控的Endorser非法对用户数据进行解密,使得整体的安全得到了提高。
在本方法中,使用联盟链为两个QKD设备颁发一对绝密的对称密钥作为QKD设备的认证密钥。由于QKD设备的成对关系数量巨大,因此减少了大量人工颁发认证密钥的工作量。
在2个QKD设备之间的认证密钥AK是通过秘密共享进行分布式存储并生成的,敌方通过各种手段获取少于秘密共享阈值t个秘密,均无法得到最终的认证密钥,因此提升了认证密钥网络分发的安全性。
同时,本方法在流程中的不同场合用到了偏移量,这些偏移量都需要密钥卡中的公钥的参与才能计算得到,没有密钥卡的其他方将无法破解这些被偏移量保护的数据。偏移量的使用对数据进行了加密,使得传输过程更加安全,具有抗量子计算的特性;并且该加密方式比普通加密方式的计算量更小,因此避免了使用普通加密方式来抵抗量子计算机的攻击,降低了各方的设备负担。
本方法不存在密钥管理中心来统一管理和控制密钥分发,而由QKD设备自主发起认证密钥的生成。由于不存在密钥管理中心,因此整个系统不容易遭受攻击而导致整个QKD网络瘫痪。由于联盟链服务可以分布式存在于多个QKD机房中,因此密钥管理功能不需要独立于QKD网络之外,减少了部署和维护的成本。由于使用联盟链来记录QKD网络的密钥使用情况以用于计费等业务活动,因此记录的防篡改、防抵赖能力比传统的密钥管理中心有所提高。
在其中一个实施例中,提供了一种计算机设备,即一种基于联盟链和隐式证书的QKD网络认证密钥生成系统,该计算机设备可以是终端,其内部结构可以包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述基于联盟链和隐式证书的QKD网络认证密钥生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在其中一个实施例中,提供了一种基于联盟链和隐式证书的QKD网络认证密钥生成系统,包括相互通信的联盟链成员,所述联盟链成员包括客户端成员及服务端成员,各成员均配置有密钥卡,所述服务端密钥卡中存储有服务端公钥池、服务端秘密共享私钥池以及客户端公钥池,所述客户端密钥卡均存储有客户端私钥、私钥参数、服务端公钥以及客户端公钥指针随机数,所述服务端公钥包括第一公钥以及第二公钥;所述客户端公钥池中存储有与各所述客户端成员一一对应的公钥单元,所述公钥单元中存储有身份标识以及隐式证书;
所述联盟链和用户包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述的基于联盟链和隐式证书的QKD网络认证密钥生成方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。
Claims (8)
1.基于联盟链和隐式证书的QKD网络认证密钥生成方法,实施在相互通信的联盟链成员之间,所述联盟链成员包括客户端成员及服务端成员,其特征在于,各成员均配置有密钥卡,所述服务端密钥卡中存储有服务端公钥池、服务端秘密共享私钥池以及客户端公钥池,所述客户端密钥卡均存储有客户端私钥、私钥参数、服务端公钥以及客户端公钥指针随机数,所述服务端公钥包括第一公钥以及第二公钥;所述客户端公钥池中存储有与各所述客户端成员一一对应的公钥单元,所述公钥单元中存储有身份标识以及隐式证书;
其中一客户端成员为User,所述User为QKD网络设备,任意两个User,分别为User1及User2,两者之间的QKD网络认证密钥生成方法包括:
所述User1向多个Endorser提出交易,所述交易信息中包含有User2的身份标识;
多个所述Endorser接收到交易后,均生成一组认证密钥分量,并将所述认证密钥分量进行加密,得到第一加密偏移密文以及第二加密偏移密文,并将所述第一加密偏移密文以及第二加密偏移密文写入交易应答发送至User1,其中将所述认证密钥分量进行加密,得到第一加密偏移密文的方法包括:
根据User1的隐式证书获取与User1相关的第一服务端公钥;
根据User1的公钥对所述认证密钥分量进行加密,得到第一密文;
根据Endorser的隐式证书、交易序号以及第一服务端公钥进行哈希计算得到第一偏移量;
根据所述第一偏移量对第一密文进行偏移加密,得到第一加密偏移密文;
其中将所述认证密钥分量进行加密,得到第二加密偏移密文的方法包括:
根据User2的隐式证书获取与User2相关的第二服务端公钥;
根据User2的公钥对所述认证密钥分量进行加密,得到第二密文;
根据Endorser的隐式证书、交易序号以及第二服务端公钥进行哈希计算得到第二偏移量;
根据所述第二偏移量对第二密文进行偏移加密,得到第二加密偏移密文;
User1接收多个交易应答后,根据Endorser的隐式证书得到实际的公钥,并根据该公钥对各交易应答进行验证,从验证为有效的交易应答中获取第一加密偏移密文,还利用有效的交易应答制作背书并经由Orderer发送给Committer;
Committer收到背书后,根据Endorser的隐式证书得到实际的公钥,并根据该公钥对背书进行验证,验证后相应生成交易通知发送给User1,还根据所述第一加密偏移密文以及第二加密偏移密文对世界状态进行更新;
User1接收交易通知后,根据Committer的隐式证书得到实际的公钥,并根据该公钥对背书进行验证,验证后将多个所述第一加密偏移密文进行解密,得到多组认证密钥分量,并根据多组认证密钥分量基于秘密共享的理论生成与User2之间的QKD网络认证密钥。
2.根据权利要求1所述的QKD网络认证密钥生成方法,其特征在于,所述User1接收交易通知后将多个所述第一加密偏移密文进行解密后,得到多组认证密钥分量,并根据多组认证密钥分量基于秘密共享的理论生成与User2之间的QKD网络认证密钥之后,所述User2获取所述QKD网络认证密钥,获取方法包括:
所述User2向多个Endorser提出交易,所述交易信息中包含有User1的身份标识;
多个所述Endorser接收到交易后,根据所述User1以及User2的身份标识读取世界状态,获取所述第二加密偏移密文,并将所述第二加密偏移密文写入交易应答发送至User2;
User2接收多个交易应答后,对各交易应答进行验证,从验证为有效的交易应答中获取第二加密偏移密文,将多个所述第二加密偏移密文进行解密后,得到多组认证密钥分量,并根据多组认证密钥分量基于秘密共享的理论获取与User1之间的QKD网络认证密钥。
3.根据权利要求1所述的QKD网络认证密钥生成方法,其特征在于,User向Endorser提出交易,Endorser响应于该交易并进行相应操作,再将与交易结果相应的交易通知发送给User的过程中,交互的消息中携带有供验证时使用的签名,所述签名根据偏移量进行偏移加密。
4.根据权利要求3所述的QKD网络认证密钥生成方法,其特征在于,所述User向Endorser提出交易时,所述偏移量的生成方式包括述偏移量的生成方式具体包括:
根据所述User1身份标识、User2身份标识,第一公钥、第二公钥以及时间戳进行哈希计算生成。
5.根据权利要求3所述的QKD网络认证密钥生成方法,其特征在于,所述Endorser响应于该交易并进行相应操作,再将与交易结果相应的交易通知发送给User时,所述偏移量的生成方式包括述偏移量的生成方式具体包括:
根据所述Endorser身份标识,第一公钥、第二公钥以及交易序号进行哈希计算生成。
6.根据权利要求1所述的QKD网络认证密钥生成方法,其特征在于,所述客户端的密钥卡由服务端生成并颁发。
7.根据权利要求6所述的QKD网络认证密钥生成方法,其特征在于,所客户端的密钥卡由服务端生成并颁发具体包括在服务端进行如下步骤:
生成客户端私钥以及客户端公钥指针随机数,所述客户端公钥指针随机数包括第一随机数以及第二随机数;
根据所述客户端公钥指针随机数进行哈希计算,得到随机数哈希值;
根据所述客户端私钥以及算法参数进行计算,得到客户端私钥参数;
根据所述第一随机数在所述客户端公钥池中取出第一公钥;
根据所述客户端私钥参数以及第一公钥进行计算,得到客户端公钥参数;
根据所述客户端公钥参数、客户端的身份标识以及客户端公钥指针随机数进行计算,得到客户端的隐式证书;
根据所述第一随机数、第二随机数以及隐式证书进行计算,得私钥参数;
根据所述第二随机数在所述客户端公钥池中取出第二公钥,所述第一公钥以及第二公钥为服务端公钥;
将所述服务端公钥池、客户端公钥指针随机数、服务端公钥、客户端私钥以及私钥参数存入相应客户端密钥卡的对应存储区,完成对客户端的密钥卡颁发。
8.基于联盟链和隐式证书的QKD网络认证密钥生成及获取系统,包括相互通信的联盟链成员,所述联盟链成员包括客户端成员及服务端成员,其特征在于,各成员均配置有密钥卡,所述服务端密钥卡中存储有服务端公钥池、服务端秘密共享私钥池以及客户端公钥池,所述客户端密钥卡均存储有客户端私钥、私钥参数、服务端公钥以及客户端公钥指针随机数,所述服务端公钥包括第一公钥以及第二公钥;所述客户端公钥池中存储有与各所述客户端成员一一对应的公钥单元,所述公钥单元中存储有身份标识以及隐式证书;
所述联盟链和用户包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现权利要求1~7任一项所述的基于联盟链和隐式证书的QKD网络认证密钥生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910991412.9A CN110880969B (zh) | 2019-10-18 | 2019-10-18 | 基于联盟链和隐式证书的qkd网络认证密钥生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910991412.9A CN110880969B (zh) | 2019-10-18 | 2019-10-18 | 基于联盟链和隐式证书的qkd网络认证密钥生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110880969A CN110880969A (zh) | 2020-03-13 |
CN110880969B true CN110880969B (zh) | 2021-10-22 |
Family
ID=69727985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910991412.9A Active CN110880969B (zh) | 2019-10-18 | 2019-10-18 | 基于联盟链和隐式证书的qkd网络认证密钥生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110880969B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113992325B (zh) * | 2021-10-09 | 2023-07-11 | 深圳前海微众银行股份有限公司 | 一种隐私数据共享方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905207A (zh) * | 2014-04-23 | 2014-07-02 | 福建联迪商用设备有限公司 | 一种统一apk签名的方法及其系统 |
CN103944903A (zh) * | 2014-04-23 | 2014-07-23 | 福建联迪商用设备有限公司 | 一种多方授权的apk签名方法及系统 |
CN109672537A (zh) * | 2019-01-18 | 2019-04-23 | 如般量子科技有限公司 | 基于公钥池的抗量子证书获取系统及获取方法 |
CN109687963A (zh) * | 2019-01-15 | 2019-04-26 | 如般量子科技有限公司 | 基于公钥池的抗量子计算联盟链交易方法和系统 |
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
-
2019
- 2019-10-18 CN CN201910991412.9A patent/CN110880969B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103905207A (zh) * | 2014-04-23 | 2014-07-02 | 福建联迪商用设备有限公司 | 一种统一apk签名的方法及其系统 |
CN103944903A (zh) * | 2014-04-23 | 2014-07-23 | 福建联迪商用设备有限公司 | 一种多方授权的apk签名方法及系统 |
CN109687963A (zh) * | 2019-01-15 | 2019-04-26 | 如般量子科技有限公司 | 基于公钥池的抗量子计算联盟链交易方法和系统 |
CN109672537A (zh) * | 2019-01-18 | 2019-04-23 | 如般量子科技有限公司 | 基于公钥池的抗量子证书获取系统及获取方法 |
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110880969A (zh) | 2020-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111639361B (zh) | 一种区块链密钥管理方法、多人共同签名方法及电子装置 | |
CN109687963B (zh) | 基于公钥池的抗量子计算联盟链交易方法和系统 | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
CN114730420A (zh) | 用于生成签名的系统和方法 | |
CN110969431B (zh) | 区块链数字币私钥的安全托管方法、设备和系统 | |
CN110690957B (zh) | 抗量子计算私钥备份、挂失及恢复方法及系统 | |
CN110830244B (zh) | 基于身份秘密共享和联盟链的抗量子计算车联网方法及系统 | |
CN110930251B (zh) | 基于联盟链和隐式证书的抗量子计算云存储方法及系统 | |
CN111416715B (zh) | 基于秘密共享的量子保密通信身份认证系统及方法 | |
CN112187798B (zh) | 一种应用于云边数据共享的双向访问控制方法及系统 | |
CN111404664B (zh) | 基于秘密共享和多个移动设备的量子保密通信身份认证系统和方法 | |
CN110661613B (zh) | 基于联盟链的抗量子计算隐式证书颁发方法及系统 | |
US20220021526A1 (en) | Certificateless public key encryption using pairings | |
CN110380845B (zh) | 基于群组对称密钥池的量子保密通信联盟链交易方法、系统、设备 | |
CN110138548B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统 | |
CN110737915B (zh) | 基于隐式证书的抗量子计算匿名身份识别方法及系统 | |
CN111327419B (zh) | 基于秘密共享的抗量子计算区块链的方法及系统 | |
CN111416712B (zh) | 基于多个移动设备的量子保密通信身份认证系统及方法 | |
CN111181718A (zh) | 一种基于联盟链的抗量子计算ike系统和协商通信方法 | |
CN110098925B (zh) | 基于非对称密钥池对和随机数的量子通信服务站密钥协商方法和系统 | |
CN110740034B (zh) | 基于联盟链的qkd网络认证密钥生成方法及系统 | |
CN111245611B (zh) | 基于秘密共享和可穿戴设备的抗量子计算身份认证方法及系统 | |
CN110737907B (zh) | 基于联盟链的抗量子计算云存储方法及系统 | |
CN110266483B (zh) | 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备 | |
CN110880969B (zh) | 基于联盟链和隐式证书的qkd网络认证密钥生成方法及系统 |
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 |