CN110519045A - 基于群组非对称密钥池的抗量子计算联盟链交易方法、***和设备 - Google Patents
基于群组非对称密钥池的抗量子计算联盟链交易方法、***和设备 Download PDFInfo
- Publication number
- CN110519045A CN110519045A CN201910591312.7A CN201910591312A CN110519045A CN 110519045 A CN110519045 A CN 110519045A CN 201910591312 A CN201910591312 A CN 201910591312A CN 110519045 A CN110519045 A CN 110519045A
- Authority
- CN
- China
- Prior art keywords
- label
- user
- confidential information
- alliance
- close
- 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
Links
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/0819—Key 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)
- H04L9/0825—Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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
- H04L9/0866—Generation 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
-
- 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
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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/3234—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 additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
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)
Abstract
本发明公开了一种基于群组非对称密钥池的抗量子计算联盟链交易方法、***和设备,参与方的用户U和联盟链服务端通过网络进行连接,用户U配置有用户密钥卡,用户密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、用户公钥指针随机数、CA公钥指针随机数和用户私钥。本发明使用签密对联盟链数据进行加密很大程度上缩短现有的联盟链的交易时间,同时对联盟链通信中的各类消息的长度也有显著缩减。
Description
技术领域
本申请属于联盟链领域,具体涉及一种基于群组非对称密钥池的抗量子计算联盟链交易方法、***和设备。
背景技术
区块链是一种全新的分布式基础架构与计算范式,利用有序的链式数据结构存储数据,利用共识算法更新数据,利用密码学技术保障数据安全。在基于区块链的交易中,确保交易的数据安全和客户的隐私是区块链能够进一步发展的必要条件。为此,密码学技术尤其是公钥密钥学在区块链中得到了广泛的应用。而联盟链是区块链的一个分支,所以它本身也是一个分布式的,去中心化的公共数据库,跟其他链的区别就是它是针对特定群体的成员和有限的第三方,其内部指定多个预选节点为记账人,其共识过程受到预选节点控制的区块链。
正如大多数人所了解的,量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。
现有技术存在的问题:
(1)现有技术中,联盟链的传输没有加密,将造成信息泄露。
(2)由于量子计算机能快速通过公钥得到对应的私钥,因此现有的联盟链交易方法容易被量子计算机破解。
(3)现有技术中,基于公私钥的数字签名的输入和输出均可被敌方所知,在量子计算机存在的情况下,可能被推导出私钥,导致联盟链***被量子计算机破解。
(4)现有技术中,联盟链对交易速度有较高需求,而联盟链中基于公私钥的数字签名的计算时间占据整个交易总时间中的大量时间,因此当前联盟链的数字签名的速度仍有待提升。
发明内容
基于此,有必要针对上述技术问题,提供一种基于群组非对称密钥池的抗量子计算联盟链交易方法、***和设备。
本申请公开了基于群组非对称密钥池的抗量子计算联盟链交易方法,实施在用户U,所述抗量子计算联盟链交易方法,包括:
生成参数proposal,对参数proposal进行签密得到第一签密信息;
向联盟链服务端发送包含第一签密信息的交易;所述第一签密信息用于供联盟链服务端解签密成功后得到参数proposal,所述参数proposal用于供联盟链服务端生成交易应答,所述交易应答用于供联盟链服务端签密后得到第二签密信息;
接收来自联盟链服务端的若干个包含第二签密信息的消息组合;
根据各第二签密信息解签密成功后得到若干个交易应答,对各交易应答验证通过后生成背书,对背书进行签密得到第三签密信息;
向联盟链服务端发送包含第三签密信息的消息组合;所述第三签密信息用于供联盟链解签密成功后得到所述背书,所述背书用于供联盟链服务端响应后生成交易结果,所述交易结果用于供联盟链服务端签密得到第四签密信息;
接收来自联盟链服务端的包含第四签密信息的消息组合;
根据第四签密信息解签密成功后得到并信任所述交易结果。
本申请公开了基于群组非对称密钥池的抗量子计算联盟链交易方法,实施在联盟链服务端,所述抗量子计算联盟链交易方法,包括:
接收来自用户U的包含第一签密信息的交易;所述第一签密信息由用户U对参数proposal进行签密得到,所述参数proposal由用户U生成;
根据第一签密信息解签密成功后得到参数proposal,根据参数proposal生成交易应答,对所述交易应答签密得到第二签密信息;
向用户U发送若干个包含第二签密信息的消息组合;所述第二签密信息用于供用户U解签密成功后得到若干个交易应答,所述交易应答用于供用户U验证通过后生成背书,所述背书用于供用户U签密后得到第三签密信息;
接收来自用户U的包含第三签密信息的消息组合;
根据第三签密信息解签密成功后得到所述背书,对背书响应后生成交易结果,对所述交易结果签密得到第四签密信息;
向用户U发送包含第四签密信息的消息组合;所述第四签密信息用户供用户U解签密成功后得到并信任所述交易结果。
本申请公开了基于群组非对称密钥池的抗量子计算联盟链交易方法,所述抗量子计算联盟链交易方法,包括:
用户U生成参数proposal,对参数proposal进行签密得到第一签密信息,向联盟链服务端发送包含第一签密信息的交易;
所述联盟链服务端根据接收的第一签密信息解签密成功后得到参数proposal,根据参数proposal生成交易应答,对所述交易应答签密得到第二签密信息,向用户U发送若干个包含第二签密信息的消息组合;
所述用户U根据接收的各第二签密信息解签密成功后得到若干个交易应答,对各交易应答验证通过后生成背书,对背书进行签密得到第三签密信息,向联盟链服务端发送包含第三签密信息的消息组合;
所述联盟链服务端根据接收的第三签密信息解签密成功后得到所述背书,对背书响应后生成交易结果,对所述交易结果签密得到第四签密信息,向用户U发送包含第四签密信息的消息组合;
所述用户U根据接收的第四签密信息解签密成功后得到并信任所述交易结果。
进一步的,所述用户U和联盟链服务端通过网络进行连接,所述用户U配置有用户密钥卡,所述用户密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、用户公钥指针随机数、CA公钥指针随机数和用户私钥。
进一步的,所述联盟链服务端包括若干个Endorser、Orderer和若干个Committer;在抗量子计算联盟链交易方法中,
若干个所述Endorser接收来自用户U的包含第一签密信息的交易,根据接收的第一签密信息解签密成功后得到参数proposal,根据参数proposal生成交易应答,对所述交易应答签密得到第二签密信息,向用户U发送包含第二签密信息的消息组合;
所述用户U根据接收的各第二签密信息解签密成功后得到若干个交易应答,对各交易应答验证通过后生成背书,对背书进行签密得到第三签密信息,向所述Orderer发送包含第三签密信息的消息组合;
所述Orderer根据接收的第三签密信息解签密成功后得到所述背书,对多个背书进行排序后生成背书集合,对所述背书集合进行签密得到第五签密信息,向若干个Committer发送包含第五签密信息的消息组合;
各Committer根据第五签密信息解签密成功后得到所述背书集合,对背书集合中的各背书响应后生成交易结果,对所述交易结果签密得到第四签密信息,向用户U发送包含第四签密信息的消息组合。
进一步的,所述用户U对各交易应答验证通过后生成背书,包括:
用户U收到多个交易应答后,对各交易应答进行验证,并在验证通过后将随机数RGeg和参数SCeg组合得到背书,所述随机数RGeg由Endorser生成,所述参数SCeg由Endorser利用随机数RGeg对交易应答签密得到。
进一步的,所述Committer对背书集合中的各背书响应后生成交易结果,包括:
所述Committer从背书集合中取出各背书,利用背书中的随机数RGeg对参数SCeg解签密后得到交易应答,对交易应答进行验证,并在验证通过后生成交易结果。
进一步的,所述用户U和联盟链服务端通过网络进行连接,该网络还连接有CA机构,所述CA机构配置有CA密钥卡,所述CA密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、CA公钥指针随机数和CA私钥,所述CA机构用于供用户U和联盟链服务端在交互前进行身份验证,所述身份验证包括:
所述用户U发起验证请求,所述验证请求包括用户公钥指针随机数和服务端公钥指针随机数,向联盟链服务端发送所述验证请求;
所述联盟链服务端接收验证请求,生成防重防攻击参数NONCE_REQE和查询请求,并将防重防攻击参数NONCE_REQE、查询请求和接收的用户公钥指针随机数组合得到参数REQE,对参数REQE进行签密后得到第六签密信息,并将包含所述第六签密信息的消息M1发送至CA机构;
所述CA机构接收消息M1,根据消息M1中的第六签密信息解签密成功后验证防重防攻击参数NONCE_REQE,验证通过后根据查询请求生成应答消息,该应答消息中包含用户U的用户公钥指针随机数是否有效,生成防重防攻击参数NONCE_RET,组合防重防攻击参数NONCE_RET、参数REQE和应答消息得到返回值RET,对返回值RET进行签密后得到第七签密信息,将包含所述第七签密信息的消息M2返回至所述联盟链服务端;
所述联盟链服务端接收消息M2,根据消息M2中的第七签密信息解签密成功后验证防重防攻击参数NONCE_RET,验证通过后根据消息M2中的应答消息得到用户U的用户公钥指针随机数的有效性。
本申请还公开了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述的基于群组非对称密钥池的抗量子计算联盟链交易方法的步骤。
本申请还公开了基于群组非对称密钥池的抗量子计算联盟链交易***,参与方包括用户U和联盟链服务端,所述用户U和联盟链服务端通过网络进行连接,所述用户U配置有用户密钥卡,所述用户密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、用户公钥指针随机数、CA公钥指针随机数和用户私钥;
所述用户U和联盟链服务端通过网络实现所述的基于群组非对称密钥池的抗量子计算联盟链交易方法的步骤。
本申请提供的基于群组非对称密钥池的抗量子计算联盟链交易方法、***和设备,使用签密对联盟链数据进行加密很大程度上缩短现有的联盟链的交易时间,同时对联盟链通信中的各类消息的长度也有显著缩减。
附图说明
图1为本发明实施例提供的***结构图;
图2(a)为本发明实施例提供的用户密钥卡密钥区的结构示意图;
图2(b)为本发明实施例提供的CA密钥卡密钥区的结构示意图;
图3为本发明实施例提供的公钥存储方式流程图;
图4为本发明实施例提供的公钥读取方式流程图;
图5为本发明实施例提供的群组非对称密钥池存取公/私钥方式流程图;
图6为向CA查询对方ID有效性的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
其中一实施例中,提供一种基于群组非对称密钥池的抗量子计算联盟链交易方法,实施在用户U,抗量子计算联盟链交易方法,包括:
生成参数proposal,对参数proposal进行签密得到第一签密信息;
向联盟链服务端发送包含第一签密信息的交易;第一签密信息用于供联盟链服务端解签密成功后得到参数proposal,参数proposal用于供联盟链服务端生成交易应答,交易应答用于供联盟链服务端签密后得到第二签密信息;
接收来自联盟链服务端的若干个包含第二签密信息的消息组合;
根据各第二签密信息解签密成功后得到若干个交易应答,对各交易应答验证通过后生成背书,对背书进行签密得到第三签密信息;
向联盟链服务端发送包含第三签密信息的消息组合;第三签密信息用于供联盟链解签密成功后得到背书,背书用于供联盟链服务端响应后生成交易结果,交易结果用于供联盟链服务端签密得到第四签密信息;
接收来自联盟链服务端的包含第四签密信息的消息组合;
根据第四签密信息解签密成功后得到并信任交易结果。
本实施例使用签密对联盟链数据进行加密很大程度上缩短现有的联盟链的交易时间,同时对联盟链通信中的各类消息的长度也有显著缩减。
其中一实施例中,提供一种基于群组非对称密钥池的抗量子计算联盟链交易方法,实施在联盟链服务端,抗量子计算联盟链交易方法,包括:
接收来自用户U的包含第一签密信息的交易;第一签密信息由用户U对参数proposal进行签密得到,参数proposal由用户U生成;
根据第一签密信息解签密成功后得到参数proposal,根据参数proposal生成交易应答,对交易应答签密得到第二签密信息;
向用户U发送若干个包含第二签密信息的消息组合;第二签密信息用于供用户U解签密成功后得到若干个交易应答,交易应答用于供用户U验证通过后生成背书,背书用于供用户U签密后得到第三签密信息;
接收来自用户U的包含第三签密信息的消息组合;
根据第三签密信息解签密成功后得到背书,对背书响应后生成交易结果,对交易结果签密得到第四签密信息;
向用户U发送包含第四签密信息的消息组合;第四签密信息用户供用户U解签密成功后得到并信任交易结果。
本实施例使用签密对联盟链数据进行加密很大程度上缩短现有的联盟链的交易时间,同时对联盟链通信中的各类消息的长度也有显著缩减。
其中一实施例中,提供一种基于群组非对称密钥池的抗量子计算联盟链交易方法,抗量子计算联盟链交易方法,包括:
用户U生成参数proposal,对参数proposal进行签密得到第一签密信息,向联盟链服务端发送包含第一签密信息的交易;
联盟链服务端根据接收的第一签密信息解签密成功后得到参数proposal,根据参数proposal生成交易应答,对交易应答签密得到第二签密信息,向用户U发送若干个包含第二签密信息的消息组合;
用户U根据接收的各第二签密信息解签密成功后得到若干个交易应答,对各交易应答验证通过后生成背书,对背书进行签密得到第三签密信息,向联盟链服务端发送包含第三签密信息的消息组合;
联盟链服务端根据接收的第三签密信息解签密成功后得到背书,对背书响应后生成交易结果,对交易结果签密得到第四签密信息,向用户U发送包含第四签密信息的消息组合;
用户U根据接收的第四签密信息解签密成功后得到并信任交易结果。
本实施例使用签密对联盟链数据进行加密很大程度上缩短现有的联盟链的交易时间,同时对联盟链通信中的各类消息的长度也有显著缩减。
在一实施例中,用户U和联盟链服务端通过网络进行连接,用户U配置有用户密钥卡,用户密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、用户公钥指针随机数、CA公钥指针随机数和用户私钥。
在一实施例中,联盟链服务端包括若干个Endorser、Orderer和若干个Committer;在抗量子计算联盟链交易方法中,
若干个Endorser接收来自用户U的包含第一签密信息的交易,根据接收的第一签密信息解签密成功后得到参数proposal,根据参数proposal生成交易应答,对交易应答签密得到第二签密信息,向用户U发送包含第二签密信息的消息组合;
用户U根据接收的各第二签密信息解签密成功后得到若干个交易应答,对各交易应答验证通过后生成背书,对背书进行签密得到第三签密信息,向Orderer发送包含第三签密信息的消息组合;
Orderer根据接收的第三签密信息解签密成功后得到背书,对多个背书进行排序后生成背书集合,对背书集合进行签密得到第五签密信息,向若干个Committer发送包含第五签密信息的消息组合;
各Committer根据第五签密信息解签密成功后得到背书集合,对背书集合中的各背书响应后生成交易结果,对交易结果签密得到第四签密信息,向用户U发送包含第四签密信息的消息组合。
本实施例中,签密应用到联盟链服务端的各方设备中,使Endorser、Orderer和Committer均使用签密对与用户U的交互数据进行加密,从而使签密在联盟链中具有更好的应用效果,进一步缩短联盟链的交易时间和各类消息的长度。
在一实施例中,用户U对各交易应答验证通过后生成背书,包括:
用户U收到多个交易应答后,对各交易应答进行验证,并在验证通过后将随机数RGeg和参数SCeg组合得到背书,随机数RGeg由Endorser生成,参数SCeg由Endorser利用随机数RGeg对交易应答签密得到。
本实施例中,背书采用随机数和签密参数得到,与现有技术中直接选取交易应答生成背书有所不同,本实施例的背书安全性更高。
进一步的,Committer对背书集合中的各背书响应后生成交易结果,包括:
Committer从背书集合中取出各背书,利用背书中的随机数RGeg对参数SCeg解签密后得到交易应答,对交易应答进行验证,并在验证通过后生成交易结果。
进一步的,用户U和联盟链服务端通过网络进行连接,该网络还连接有CA机构,CA机构配置有CA密钥卡,CA密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、CA公钥指针随机数和CA私钥,CA机构用于供用户U和联盟链服务端在交互前进行身份验证,身份验证包括:
用户U发起验证请求,验证请求包括用户公钥指针随机数和服务端公钥指针随机数,向联盟链服务端发送验证请求;
联盟链服务端接收验证请求,生成防重防攻击参数NONCE_REQE和查询请求,并将防重防攻击参数NONCE_REQE、查询请求和接收的用户公钥指针随机数组合得到参数REQE,对参数REQE进行签密后得到第六签密信息,并将包含第六签密信息的消息M1发送至CA机构;
CA机构接收消息M1,根据消息M1中的第六签密信息解签密成功后验证防重防攻击参数NONCE_REQE,验证通过后根据查询请求生成应答消息,该应答消息中包含用户U的用户公钥指针随机数是否有效,生成防重防攻击参数NONCE_RET,组合防重防攻击参数NONCE_RET、参数REQE和应答消息得到返回值RET,对返回值RET进行签密后得到第七签密信息,将包含第七签密信息的消息M2返回至联盟链服务端;
联盟链服务端接收消息M2,根据消息M2中的第七签密信息解签密成功后验证防重防攻击参数NONCE_RET,验证通过后根据消息M2中的应答消息得到用户U的用户公钥指针随机数的有效性。
本实施例中,通过CA机构进行联盟链交易前的身份认证,以确保交易的有效性,降低交易出错的风险。
在一实施例中,联盟链***结构如图1所示,联盟链中的每一个成员都配备有密钥卡,密钥卡均由CA颁发。联盟链成员的密钥卡的密钥区结构如图2(a)部分所示,密钥卡中存储有群组非对称密钥池(公钥)、群组非对称密钥池(私钥)、用户非对称密钥池(公钥),还存储有用户私钥、用户公钥指针随机数以及CA公钥指针随机数。联盟链成员还搭载有相应的区块链服务(即区块链服务端),每个服务有1个或多个公钥指针随机数。区块链服务包括Peer服务,Order服务等。其中Peer服务分为Committer和Endorser;Order服务由多个Orderer组成。每个成员的公钥指针随机数可以作为ID使用。
CA的密钥卡的密钥区结构如图2(b)部分所示,密钥卡中存储有群组非对称密钥池(公钥)、群组非对称密钥池(私钥)、用户非对称密钥池(公钥),还存储有CA的私钥和CA的公钥指针随机数。
公钥的存储方式如图3所示,具体步骤如下:对某个用户随机取公钥指针随机数rk(即公钥的存储位置参数,该公钥指针随机数可作为ID使用),结合特定的公钥指针函数FP得到公钥指针PPK并从相应的公钥池中的对应位置存入公钥PK。读取密钥方式如图4所示,方式与存储密钥方式相同。
群组非对称密钥池的存储方式如图5所示,文字描述如下:对某个公私钥指针随机数RG,RG结合特定的群组公钥指针函数FRG得到群组公钥指针PRG,PRG指向群组非对称密钥池(公钥)中的对应位置存入群组公钥PKG,PRG指向群组非对称密钥池(私钥)中的对应位置存入群组私钥SKG,PKG和SKG是成对的公私钥对。读取密钥方式与存储密钥方式相同。
本实施例的CA与经典的CA***不同。经典CA颁发数字证书,本实施例的CA不颁发数字证书,仅颁发前文的密钥卡。所有用户的密钥卡可以用公钥指针随机数或者ID来指代,CA维护关于各用户ID相关的信息。本实施例的CA与经典CA有一些共同点。例如,CA或者用户可以对某个ID的信息进行维护,例如进行作废处理,类似于CA证书的作废。例如,CA维护有某个ID的有效期,到期可以对ID进行作废处理,或者由用户向CA申请进行有效期的延续。由于经典CA颁发的数字证书中,含有明文的公钥和数字签名,因此难以抵抗量子计算机的攻击。经过如上设计,本实施例的CA未暴露明文的公钥和数字签名,因此可以抵抗量子计算机的攻击。
下文设User,Endorser,Orderer,Committer的标记如下:
1)公钥指针随机数即ID分别为IDU,IDE,IDO,IDC;
2)公钥分别为PKU,PKE,PKO,PKC;
3)私钥分别为SKU,SKE,SKO,SKC。
在未特殊说明的情况下,本申请中的各名称以字母和数字组合为准,例如随机数RG1,RG1在下文中表示同一含义,即随机数RG1;其余名称同理。且密文C1、交易应答rtx等表述中的C1、rtx仅仅是为了便于区分和叙述,并不对参数本身有额外限定,又如交易tx、背书etx中的tx、etx;其他同理。
区块链客户端又称为User,有1个或多个区块链账户,每个账户对应1个公钥/私钥/公钥指针随机数的组合。区块链客户端与区块链服务组成联盟链***。联盟链***各个部分通过网络进行连接。CA与网络进行连接。网络连接是用于网络成员向CA查询确定对方ID是否有效。
(1)以User(即用户U)向Endorser请求,Endorser检查User的有效性为例,具体流程如图6所示,文字描述如下:
步骤1:User发起请求。
User向Endorser发起请求REQU,内容包括IDU和IDE,可表示为M0={IDU,IDE,REQU}。REQU为业务请求,具体内容根据业务而定。例如,业务请求可以是登录业务、查询账户业务、转账业务、充值业务等等。
步骤2:Endorser向CA发起询问。
如果Endorser需要鉴定IDU是否有效用户,Endorser向CA发起查询ASK,询问IDU是否有效,并可以查询有效期等其他有用信息。其中有REQE={IDU,ASK,NONCE_REQE},NONCE_REQE是防重放攻击参数,例如当前时间。ASK为查询请求,具体内容根据Endorser的请求需求而定。例如,Endorser可以请求查询某ID的有效性、有效期、账户***息等。然后Endorser对REQE进行签密。
设签密算法为SIGNC(M,PKB,SKA)=SC=(c,r,s),其中SIGNC为签密算法,M为待签密的消息,PKB为接收方公钥,SKA为签密发送方私钥,SC为签密结果,也可以表示为(c,r,s)的形式,c为签密密文,r为签密认证码,s为签密签名。签密算法可以为参考文献《DigitalSigncryption or How to Achieve Cost(Signature&Encryption)<<Cost(Signature)+Cost(Encryption)》所描述的方法。
计算SIGNC(REQE,PKCA,SKE)=SC1,其中PKCA是CA公钥,SKE是Endorser的私钥。根据签密算法得到的签密结果为SC1=(C1,R1,S1)。取随机数RG1,从密钥卡的群组非对称密钥池中取出群组非对称私钥SKG1,将SKG1与Endorser的公钥PKE做异或运算得到PKE⊕SKG1,将其与RG1组合起来得到RG1||(PKE⊕SKG1),并对结果进行hash运算得到KRS1。用KRS1加密R1和S1得到{R1||S1}KRS1,并与RG1和C1组合起来得到RG1||C1||{R1||S1}KRS1,Endorser将RG1||C1||{R1||S1}KRS1作为最终的数字签密(即第六签密信息)。并将消息组合{IDE,IDCA,RG1||C1||{R1||S1}KRS1}命名为M1,发送给CA机构。
步骤3:CA返回应答消息。
CA收到Endorser的查询后,从消息{IDE,IDCA,RG1||C1||{R1||S1}KRS1}中取出各个部分,然后进行对密文C1进行解签密。设解签密算法为UNSIGNC(SC,PKA,SKB)={M||SCRESULT},UNSIGNC为解签密算法,SC为签密消息,SKB为接收方私钥,PKA为发送方公钥,M为签密原始消息(若解签密失败则无法得到),SCRESULT表示解签密成功或失败。解签密算法可以为参考文献《Digital Signcryption or How to Achieve Cost(Signature&Encryption)<<Cost(Signature)+Cost(Encryption)》所描述的方法。
CA机构根据RG1从密钥卡的群组非对称密钥池中取出群组非对称私钥SKG1,根据指针随机数IDE从密钥卡中取出Endorser的公钥PKE,再将SKG1与PKE做异或运算得到PKE⊕SKG1,将其与RG1组合起来得到RG1||(PKE⊕SKG1),并对结果进行hash运算得到KRS1。用KRS1解密{R1||S1}KRS1得到R1和S1,再结合前面得到的C1就可以得到SC1=(C1,R1,S1)。根据解签密算法可以得到UNSIGNC(SC1,PKE,SKCA)={REQE||SCRESULT},其中PKE为Endorser的公钥,SKCA为CA私钥,REQE为解签密得到的消息原文。如果得到的SCRESULT为解密成功,则进行下面的步骤,否则CA将忽略该消息。
CA得到NONCE_REQE判断该消息是否重放攻击。如果NONCE_REQE是当前时间,则判断当前时间是否合理,即与CA当前时间处于合理时间差范围内,例如在60秒之内。如果判断该消息不是重放攻击,则进行下面的步骤,否则CA将忽略该消息。
CA分析REQE,根据Endorser的请求查询本地记录后生成一份应答ANS(即应答消息),向Endorser告知IDU是否有效,还可以包含有效期及其他有用信息。CA根据匹配的密钥卡生成一个用于防重放攻击的数NONCE_RET,与收到的REQE以及ANS作为应答返回值RET发送给Endorser。即RET={REQE,ANS,NONCE_RET}。CA按照(1)中步骤2里的方法对RET进行签密,可以得到SIGNC(RET,PKE,SKCA)=SC2=(C2,R2,S2)。同样取随机数RG2,从密钥卡的群组非对称密钥池中取出群组非对称私钥SKG2,将SKG2与CA公钥PKCA做异或运算得到PKCA⊕SKG2,将其与RG2组合起来得到RG2||(PKCA⊕SKG2),并对结果进行hash运算得到KRS2。用KRS2加密R2和S2得到{R2||S2}KRS2,并与RG2和C2组合起来得到RG2||C2||{R2||S2}KRS2,CA机构将RG2||C2||{R2||S2}KRS2作为最终的数字签密(即第七签密信息)。并将消息组合{IDCA,IDE,RG2||C2||{R2||S2}KRS2}命名为M2,发送给Endorser。
步骤4:Endorser进行验证。
Endorser收到M2后,从消息{IDCA,IDE,RG2||C2||{R2||S2}KRS2}中取出各个部分,按照(1)中步骤3里的方法对密文C2进行解签密,可以得到UNSIGNC(SC2,PKCA,SKE)={RET||SCRESULT2}。如果得到的SCRESULT2为解密成功,则进行下面的步骤,否则Endorser将忽略该消息。
Endorser从解密得到的RET中取出NONCE_RET、REQE和ANS。
Endorser得到NONCE_RET判断该消息是否重放攻击。如果判断该消息不是重放攻击,则进行下面的步骤,否则Endorser将忽略该消息。
Endorser根据ANS的具体内容进行IDU有效性的验证,若验证通过则进行其他操作。例如,Endorser收到的ANS中还包括有IDU的有效期,则Endorser保存该有效期,以用于与IDU有效期相关的业务。
本实施例就每个步骤而言可视为针对前述相应的实施例,就所有步骤而言也可视为前述相应实施例的结合。
(2)联盟链交易的具体流程如下所示:
步骤1:User提出交易。
交易tx由User对申请proposal的签密信息和相关的指针随机数组成。其中,proposal包括链码chaincodeID,即使用智能合约函数的编号,还包括txPayload即函数的参数以及一个时间戳timestamp。
按照(1)中步骤2里的方法对proposal进行签密,可以得到SIGNC(proposal,PKE,SKU)=SCue=(Cue,Rue,Sue),其中SKU为User的私钥,PKE为Endorser的公钥,由User根据IDE从密钥卡的用户非对称密钥池(公钥)中取得。同样取随机数RGue,从密钥卡的群组非对称密钥池中取出群组非对称私钥SKGue,将SKGue与User的公钥PKU做异或运算得到PKU⊕SKGue,将其与RGue组合起来得到RGue||(PKU⊕SKGue),并对结果进行hash运算得到KRSue。用KRSue加密Rue和Sue得到{Rue||Sue}KRSue,并与RGue和Cue组合起来得到RGue||Cue||{Rue||Sue}KRSue,User将RGue||Cue||{Rue||Sue}KRSue作为最终的数字签密(即第一签密信息)。则交易tx实为消息组合{IDU,IDE,RGue||Cue||{Rue||Sue}KRSue},接着User将tx发送给Endorser。
步骤2:Endorser执行交易。
Endorser收到交易后,取出{IDU,IDE,RGue||Cue||{Rue||Sue}KRSue}中各个部分。按照(1)中步骤3里的方法对密文Cue进行解签密,可以得到UNSIGNC(SCue,PKU,SKE)={proposal||SCRESULTue},其中PKU为Endorser根据IDU从密钥卡的用户非对称密钥池(公钥)中取出的User的公钥。如果得到的SCRESULTue为解密成功,则进行下面的步骤,否则Endorser将忽略该消息。
Endorser信任该交易后,对该交易中的proposal进行处理,即根据chaincodeID执行chaincode,生成读写操作集readset和writeset。
步骤3:Endorser发送交易应答。
Endorser对包含读写操作集的交易应答rtx进行签密并返回给User。交易应答rtx包括申请应答tran-proposal和相关的指针随机数。其中,tran-proposal包括交易的序号tid(一般为交易tx的哈希值,可表示为tid=HASH(tx)),从User处收到的chaincodeID和txPayload,以及读写操作集readset和writeset。所以可以得到tran-proposal={tid,chaincodeID,txPayload,readset,writeset}和rtx={IDE,IDU,tran-proposal}。
按照(1)中步骤2里的方法对rtx进行签密。先取随机数RGeg,从密钥卡的群组非对称密钥池中取出群组非对称公钥PKGeg,接着可以得到SIGNC(rtx,PKGeg,SKE)=SCeg={Ceg||Reg||Seg},其中SKE为Endorser的私钥。
接着按照(1)中步骤2里的方法对RGeg||SCeg进行签密,可以得到SIGNC(RGeg||SCeg,PKU,SKE)=SCeu={Ceu||Reu||Seu}。同样取随机数RGeu,从密钥卡的群组非对称密钥池中取出群组非对称私钥SKGeu,将SKGue与Endorser的公钥PKE做异或运算得到PKE⊕SKGeu,将其与RGeu组合起来得到RGeu||(PKE⊕SKGeu),并对结果进行hash运算得到KRSeu。用KRSeu加密Reu和Seu得到{Reu||Seu}KRSeu,并与RGeu和Ceu组合起来得到RGeu||Ceu||{Reu||Seu}KRSeu,Endorser将RGeu||Ceu||{Reu||Seu}KRSeu作为最终的数字签密(即第二签密信息)。接着Endorser将{IDE,IDU,RGeu||Ceu||{Reu||Seu}KRSeu}发送给User。
步骤4:User发送背书(Endorsement)etx到Orderer。
User收到交易应答后,取出{IDE,IDU,RGeu||Ceu||{Reu||Seu}KRSeu}中各个部分。按照(1)中步骤3里的方法对密文Ceu进行解签密,可以得到UNSIGNC(SCeu,PKE,SKU)={{RGeg||SCeg}||SCRESULTeu},其中PKE为User根据IDE从密钥卡的用户非对称密钥池(公钥)中取出的Endorser的公钥。如果得到的SCRESULTeu为解密成功,则进行下面的步骤,否则User将忽略该消息。
User根据解签密得到的RGeg||SCeg继续对SCeg中的Ceg进行解签密,可以得到UNSIGNC(SCeg,PKE,SKGeg)={rtx||SCRESULTeg},其中SKGeg是根据RGeg从密钥卡的群组非对称密钥池中取出的。如果得到的SCRESULTeg为解密成功,则进行下面的步骤,否则User将忽略该消息。
User收到多个交易应答并分别验证通过后,将RGeg||SCeg组成一个集合etx即背书,可表示为etx=∑{RGeg||SCeg}。对背书进行签密。
按照(1)中步骤2里的方法对etx进行签密,可以得到SIGNC(etx,PKO,SKU)=SCuo={Cuo||Ruo||Suo},其中SKU为User的私钥,PKO为Orderer的公钥,由User根据IDO从密钥卡的用户非对称密钥池(公钥)中取得。同样取随机数RGuo,从密钥卡的群组非对称密钥池中取出群组非对称私钥SKGuo,将SKGuo与User的公钥PKU做异或运算得到PKU⊕SKGuo,将其与RGuo组合起来得到RGuo||(PKU⊕SKGuo),并对结果进行hash运算得到KRSuo。用KRSuo加密Ruo和Suo得到{Ruo||Suo}KRSuo,并与RGuo和Cuo组合起来得到RGuo||Cuo||{Ruo||Suo}KRSuo,User将RGuo||Cuo||{Ruo||Suo}KRSuo作为最终的数字签密(即第三签密信息)。接着User将消息组合{IDU,IDO,RGuo||Cuo||{Ruo||Suo}KRSuo}发送给Orderer。
步骤5:Orderer发送排序后的etx集合到Committer。
Orderer收到背书后,取出{IDU,IDO,RGuo||Cuo||{Ruo||Suo}KRSuo}中各个部分。按照(1)中步骤3里的方法对密文Cuo进行解签密,可以得到UNSIGNC(SCuo,PKU,SKO)={etx||SCRESULTuo},其中PKU为Orderer根据IDU从密钥卡的用户非对称密钥池(公钥)中取出的User的公钥。如果得到的SCRESULTuo为解密成功,则进行下面的步骤,否则Orderer将忽略该消息。
Orderer得到解签密后的etx。在积累到一定数量的etx后,Orderer对etx进行排序(背书集合)。排序完成后Orderer将序列号seqno、上个联盟链区块的哈希值prevhash、∑etx、IDO和IDU组合起来,可以得到Setx={IDO,IDC,{seqno,prevhash,∑etx},接着对Setx进行签密。
按照(1)中步骤2里的方法对Setx进行签密,可以得到SIGNC(Setx,PKC,SKO)=SCoc={Coc||Roc||Soc},其中SKO为Orderer的私钥,PKC为Committer的公钥,由Orderer根据IDC从密钥卡的用户非对称密钥池(公钥)中取得。同样取随机数RGoc,从密钥卡的群组非对称密钥池中取出群组非对称私钥SKGoc,将SKGoc与Orderer的公钥PKO做异或运算得到PKO⊕SKGoc,将其与RGoc组合起来得到RGoc||(PKO⊕SKGoc),并对结果进行hash运算得到KRSoc。用KRSoc加密Roc和Soc得到{Roc||Soc}KRSoc,并与RGoc和Coc组合起来得到RGoc||Coc||{Roc||Soc}KRSoc,User将RGoc||Coc||{Roc||Soc}KRSoc作为最终的数字签密(即第五签密信息)。接着Orderer将消息组合{IDO,IDC,RGoc||Coc||{Roc||Soc}KRSoc}发送给Committer。
步骤6:每个Committer验证交易。
每个Committer收到消息后,取出{IDO,IDC,RGoc||Coc||{Roc||Soc}KRSoc}中各个部分。按照(1)中步骤3里的方法对密文Coc进行解签密,可以得到UNSIGNC(SCoc,PKO,SKC)={Setx||SCRESULToc},其中PKO为Committer根据IDO从密钥卡的用户非对称密钥池(公钥)中取出的Orderer的公钥。如果得到的SCRESULToc为解密成功,则进行下面的步骤,否则Committer将忽略该消息。
Committer从Setx中,即{IDO,IDC,{seqno,prevhash,∑etx}中取出etx,从etx中取出SCeg部分,再对SCeg中的Ceg进行解签密,可以得到UNSIGNC(SCeg,PKE,SKGeg)={rtx||SCRESULTeg},其中SKGeg是根据RGeg从密钥卡的群组非对称密钥池中取出的。如果得到的SCRESULTeg为解密成功,则进行下面的步骤,否则Committer将忽略该消息。
每个Committer解签密得到rtx集合后,根据背书策略对rtx集合进行验证,包括对读写操作集进行检查等。检查完成后,Committer对本地的联盟链数据库进行读写操作集的实际执行,并记录每一笔交易的交易结果到区块链中。完成后即表示Committer执行完毕。
步骤7:Committer发送交易通知。
Committer执行完毕后,需要将交易结果(成功或失败)的通知发送至User。Committer生成result,其中包括tid、交易结果(成功/失败)和其他必要信息,即可得到result={tid||交易结果(成功/失败)||其他必要信息}。
按照(1)中步骤2里的方法对result进行签密,可以得到SIGNC(result,PKU,SKC)=SCcu={Ccu||Rcu||Scu},其中SKC为Committer的私钥,PKU为User的公钥,由Committer根据IDU从密钥卡的用户非对称密钥池(公钥)中取得。同样取随机数RGcu,从密钥卡的群组非对称密钥池中取出群组非对称私钥SKGcu,将SKGcu与Committer的公钥PKC做异或运算得到PKC⊕SKGcu,将其与RGcu组合起来得到RGcu||(PKC⊕SKGcu),并对结果进行hash运算得到KRScu。用KRScu加密Rcu和Scu得到{Rcu||Scu}KRScu,并与RGcu和Ccu组合起来得到RGcu||Ccu||{Rcu||Scu}KRScu,Committer将RGcu||Ccu||{Rcu||Scu}KRScu作为最终的数字签密(即第四签密信息)。接着Committer将消息组合{IDC,IDU,RGcu||Ccu||{Rcu||Scu}KRScu}作为交易通知ntx发送给User。
User收到后,取出{IDC,IDU,RGcu||Ccu||{Rcu||Scu}KRScu}中各个部分。按照(1)中步骤3里的方法对密文Ccu进行解签密,可以得到UNSIGNC(SCcu,PKC,SKU)={result||SCRESULTcu},其中PKC为User根据IDC从密钥卡的用户非对称密钥池(公钥)中取出的Committer的公钥。如果得到的SCRESULTcu为解密成功,则信任该交易通知中的result,否则User将忽略该消息。
本实施例就每个步骤而言可视为针对前述相应的实施例,就所有步骤而言也可视为前述相应实施例的结合。
本实施例使用公钥指针随机数,存储在密钥卡中。密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。由于量子计算机无法得到用户公钥,于是也无法得到对应的私钥。另外,本实施例中,基于公私钥和群组非对称密钥的抗量子计算签密也保证了所传输消息的安全性,即使在量子计算机存在的情况下,也难以被推导出私钥。因此该方案不容易被量子计算机破解。
按照当前联盟链技术的签名方法,为抗量子计算及对联盟链信息进行保护,一般采用经典的签名+加密的方法,例如Schnorr签名+ElGamal加密。本发明中使用签密方法对联盟链数据进行签密,取代现有技术中先签名后加密的方式,在交易过程中所用的签名时间和各类传输的消息长度都减少了很多。按照参考资料《Digital Signcryption or Howto Achieve Cost(Signature&Encryption)<<Cost(Signature)+Cost(Encryption)》,在Schnorr签名+ElGamal加密的情况下(见Table 3),签密方法将对签名+加密的总时间有50%的缩短,对新增消息长度有76.8%~96%的缩短。所以本实施例中使用签密对联盟链数据进行加密可以很大程度上缩短现有技术中联盟链的交易时间,同时对联盟链通信中的各类消息的长度也有所缩减。
在一实施例中,提供了一种计算机设备,即一种基于群组非对称密钥池的抗量子计算联盟链交易***,该计算机设备可以是终端,其内部结构可以包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述基于群组非对称密钥池的抗量子计算联盟链交易方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
其中一实施例中,提供一种基于群组非对称密钥池的抗量子计算联盟链交易***,其特征在于,参与方包括用户U和联盟链服务端,用户U和联盟链服务端通过网络进行连接,用户U配置有用户密钥卡,用户密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、用户公钥指针随机数、CA公钥指针随机数和用户私钥;
用户U和联盟链服务端通过网络实现的基于群组非对称密钥池的抗量子计算联盟链交易方法的步骤。
关于基于群组非对称密钥池的抗量子计算联盟链交易***的具体限定可以参见上文中对于基于群组非对称密钥池的抗量子计算联盟链交易方法的限定,在此不再赘述。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.基于群组非对称密钥池的抗量子计算联盟链交易方法,实施在用户U,其特征在于,所述抗量子计算联盟链交易方法,包括:
生成参数proposal,对参数proposal进行签密得到第一签密信息;
向联盟链服务端发送包含第一签密信息的交易;所述第一签密信息用于供联盟链服务端解签密成功后得到参数proposal,所述参数proposal用于供联盟链服务端生成交易应答,所述交易应答用于供联盟链服务端签密后得到第二签密信息;
接收来自联盟链服务端的若干个包含第二签密信息的消息组合;
根据各第二签密信息解签密成功后得到若干个交易应答,对各交易应答验证通过后生成背书,对背书进行签密得到第三签密信息;
向联盟链服务端发送包含第三签密信息的消息组合;所述第三签密信息用于供联盟链解签密成功后得到所述背书,所述背书用于供联盟链服务端响应后生成交易结果,所述交易结果用于供联盟链服务端签密得到第四签密信息;
接收来自联盟链服务端的包含第四签密信息的消息组合;
根据第四签密信息解签密成功后得到并信任所述交易结果。
2.基于群组非对称密钥池的抗量子计算联盟链交易方法,实施在联盟链服务端,其特征在于,所述抗量子计算联盟链交易方法,包括:
接收来自用户U的包含第一签密信息的交易;所述第一签密信息由用户U对参数proposal进行签密得到,所述参数proposal由用户U生成;
根据第一签密信息解签密成功后得到参数proposal,根据参数proposal生成交易应答,对所述交易应答签密得到第二签密信息;
向用户U发送若干个包含第二签密信息的消息组合;所述第二签密信息用于供用户U解签密成功后得到若干个交易应答,所述交易应答用于供用户U验证通过后生成背书,所述背书用于供用户U签密后得到第三签密信息;
接收来自用户U的包含第三签密信息的消息组合;
根据第三签密信息解签密成功后得到所述背书,对背书响应后生成交易结果,对所述交易结果签密得到第四签密信息;
向用户U发送包含第四签密信息的消息组合;所述第四签密信息用户供用户U解签密成功后得到并信任所述交易结果。
3.基于群组非对称密钥池的抗量子计算联盟链交易方法,其特征在于,所述抗量子计算联盟链交易方法,包括:
用户U生成参数proposal,对参数proposal进行签密得到第一签密信息,向联盟链服务端发送包含第一签密信息的交易;
所述联盟链服务端根据接收的第一签密信息解签密成功后得到参数proposal,根据参数proposal生成交易应答,对所述交易应答签密得到第二签密信息,向用户U发送若干个包含第二签密信息的消息组合;
所述用户U根据接收的各第二签密信息解签密成功后得到若干个交易应答,对各交易应答验证通过后生成背书,对背书进行签密得到第三签密信息,向联盟链服务端发送包含第三签密信息的消息组合;
所述联盟链服务端根据接收的第三签密信息解签密成功后得到所述背书,对背书响应后生成交易结果,对所述交易结果签密得到第四签密信息,向用户U发送包含第四签密信息的消息组合;
所述用户U根据接收的第四签密信息解签密成功后得到并信任所述交易结果。
4.如权利要求1至3任一项所述的基于群组非对称密钥池的抗量子计算联盟链交易方法,其特征在于,所述用户U和联盟链服务端通过网络进行连接,所述用户U配置有用户密钥卡,所述用户密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、用户公钥指针随机数、CA公钥指针随机数和用户私钥。
5.如权利要求4所述的基于群组非对称密钥池的抗量子计算联盟链交易方法,其特征在于,所述联盟链服务端包括若干个Endorser、Orderer和若干个Committer;在抗量子计算联盟链交易方法中,
若干个所述Endorser接收来自用户U的包含第一签密信息的交易,根据接收的第一签密信息解签密成功后得到参数proposal,根据参数proposal生成交易应答,对所述交易应答签密得到第二签密信息,向用户U发送包含第二签密信息的消息组合;
所述用户U根据接收的各第二签密信息解签密成功后得到若干个交易应答,对各交易应答验证通过后生成背书,对背书进行签密得到第三签密信息,向所述Orderer发送包含第三签密信息的消息组合;
所述Orderer根据接收的第三签密信息解签密成功后得到所述背书,对多个背书进行排序后生成背书集合,对所述背书集合进行签密得到第五签密信息,向若干个Committer发送包含第五签密信息的消息组合;
各Committer根据第五签密信息解签密成功后得到所述背书集合,对背书集合中的各背书响应后生成交易结果,对所述交易结果签密得到第四签密信息,向用户U发送包含第四签密信息的消息组合。
6.如权利要求5所述的基于群组非对称密钥池的抗量子计算联盟链交易方法,其特征在于,所述用户U对各交易应答验证通过后生成背书,包括:
用户U收到多个交易应答后,对各交易应答进行验证,并在验证通过后将随机数RGeg和参数SCeg组合得到背书,所述随机数RGeg由Endorser生成,所述参数SCeg由Endorser利用随机数RGeg对交易应答签密得到。
7.如权利要求6所述的基于群组非对称密钥池的抗量子计算联盟链交易方法,其特征在于,所述Committer对背书集合中的各背书响应后生成交易结果,包括:
所述Committer从背书集合中取出各背书,利用背书中的随机数RGeg对参数SCeg解签密后得到交易应答,对交易应答进行验证,并在验证通过后生成交易结果。
8.如权利要求1至3任一项所述的基于群组非对称密钥池的抗量子计算联盟链交易方法,其特征在于,所述用户U和联盟链服务端通过网络进行连接,该网络还连接有CA机构,所述CA机构配置有CA密钥卡,所述CA密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、CA公钥指针随机数和CA私钥,所述CA机构用于供用户U和联盟链服务端在交互前进行身份验证,所述身份验证包括:
所述用户U发起验证请求,所述验证请求包括用户公钥指针随机数和服务端公钥指针随机数,向联盟链服务端发送所述验证请求;
所述联盟链服务端接收验证请求,生成防重防攻击参数NONCE_REQE和查询请求,并将防重防攻击参数NONCE_REQE、查询请求和接收的用户公钥指针随机数组合得到参数REQE,对参数REQE进行签密后得到第六签密信息,并将包含所述第六签密信息的消息M1发送至CA机构;
所述CA机构接收消息M1,根据消息M1中的第六签密信息解签密成功后验证防重防攻击参数NONCE_REQE,验证通过后根据查询请求生成应答消息,该应答消息中包含用户U的用户公钥指针随机数是否有效,生成防重防攻击参数NONCE_RET,组合防重防攻击参数NONCE_RET、参数REQE和应答消息得到返回值RET,对返回值RET进行签密后得到第七签密信息,将包含所述第七签密信息的消息M2返回至所述联盟链服务端;
所述联盟链服务端接收消息M2,根据消息M2中的第七签密信息解签密成功后验证防重防攻击参数NONCE_RET,验证通过后根据消息M2中的应答消息得到用户U的用户公钥指针随机数的有效性。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至2中任一项所述的基于群组非对称密钥池的抗量子计算联盟链交易方法的步骤。
10.基于群组非对称密钥池的抗量子计算联盟链交易***,其特征在于,参与方包括用户U和联盟链服务端,所述用户U和联盟链服务端通过网络进行连接,所述用户U配置有用户密钥卡,所述用户密钥卡内存储有群组非对称公钥池、群组非对称私钥池、用户非对称公钥池、用户公钥指针随机数、CA公钥指针随机数和用户私钥;
所述用户U和联盟链服务端通过网络实现权力要求3所述的基于群组非对称密钥池的抗量子计算联盟链交易方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910591312.7A CN110519045B (zh) | 2019-07-02 | 2019-07-02 | 基于群组非对称密钥池的抗量子计算联盟链交易方法、*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910591312.7A CN110519045B (zh) | 2019-07-02 | 2019-07-02 | 基于群组非对称密钥池的抗量子计算联盟链交易方法、*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110519045A true CN110519045A (zh) | 2019-11-29 |
CN110519045B CN110519045B (zh) | 2023-09-01 |
Family
ID=68623805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910591312.7A Active CN110519045B (zh) | 2019-07-02 | 2019-07-02 | 基于群组非对称密钥池的抗量子计算联盟链交易方法、*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110519045B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110830254A (zh) * | 2019-12-24 | 2020-02-21 | 电子科技大学 | 一种基于身份与属性的签密方法 |
CN110929290A (zh) * | 2019-12-04 | 2020-03-27 | 南京如般量子科技有限公司 | 基于联盟链的私钥门限备份、挂失及恢复***及其方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108678B1 (en) * | 2003-02-10 | 2012-01-31 | Voltage Security, Inc. | Identity-based signcryption system |
CN106897879A (zh) * | 2017-03-06 | 2017-06-27 | 广东工业大学 | 基于pki‑clc异构聚合签密算法的区块链加密方法 |
CN109687963A (zh) * | 2019-01-15 | 2019-04-26 | 如般量子科技有限公司 | 基于公钥池的抗量子计算联盟链交易方法和*** |
CN109743172A (zh) * | 2018-12-06 | 2019-05-10 | 国网山东省电力公司电力科学研究院 | 基于联盟区块链v2g网络跨域认证方法、信息数据处理终端 |
CN109905229A (zh) * | 2019-01-17 | 2019-06-18 | 如般量子科技有限公司 | 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和*** |
-
2019
- 2019-07-02 CN CN201910591312.7A patent/CN110519045B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108678B1 (en) * | 2003-02-10 | 2012-01-31 | Voltage Security, Inc. | Identity-based signcryption system |
CN106897879A (zh) * | 2017-03-06 | 2017-06-27 | 广东工业大学 | 基于pki‑clc异构聚合签密算法的区块链加密方法 |
CN109743172A (zh) * | 2018-12-06 | 2019-05-10 | 国网山东省电力公司电力科学研究院 | 基于联盟区块链v2g网络跨域认证方法、信息数据处理终端 |
CN109687963A (zh) * | 2019-01-15 | 2019-04-26 | 如般量子科技有限公司 | 基于公钥池的抗量子计算联盟链交易方法和*** |
CN109905229A (zh) * | 2019-01-17 | 2019-06-18 | 如般量子科技有限公司 | 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和*** |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929290A (zh) * | 2019-12-04 | 2020-03-27 | 南京如般量子科技有限公司 | 基于联盟链的私钥门限备份、挂失及恢复***及其方法 |
CN110830254A (zh) * | 2019-12-24 | 2020-02-21 | 电子科技大学 | 一种基于身份与属性的签密方法 |
CN110830254B (zh) * | 2019-12-24 | 2021-02-02 | 电子科技大学 | 一种基于身份与属性的签密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110519045B (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11861606B2 (en) | Blockchain system for confidential and anonymous smart contracts | |
Di Pietro et al. | A blockchain-based trust system for the internet of things | |
Desai et al. | A hybrid blockchain architecture for privacy-enabled and accountable auctions | |
Bellare et al. | A modular approach to the design and analysis of authentication and key exchange protocols | |
Asokan | Fairness in electronic commerce | |
CN109687963A (zh) | 基于公钥池的抗量子计算联盟链交易方法和*** | |
CN110147994A (zh) | 一种基于同态加密的区块链的即时执行方法 | |
CN108681965A (zh) | 离线节点的区块链网络交易处理方法和接收方节点 | |
CN111046352A (zh) | 一种基于区块链的身份信息安全授权***与方法 | |
CN110059494A (zh) | 一种区块链交易数据的隐私保护方法及区块链*** | |
CN107483212A (zh) | 一种双方协作生成数字签名的方法 | |
CN107666388A (zh) | 基于完全同态加密方法的区块链信息加密方法 | |
Unruh | Everlasting multi-party computation | |
CN110086626A (zh) | 基于非对称密钥池对的量子保密通信联盟链交易方法和*** | |
CN107545414A (zh) | 匿名交易方法、装置及计算机可读存储介质 | |
CN105959115B (zh) | 面向多方容错授权的公开可验证大数据交易方法 | |
Harikrishnan et al. | Secure digital service payments using zero knowledge proof in distributed network | |
CN109741068A (zh) | 网银跨行签约方法、装置及*** | |
CN110380845A (zh) | 基于群组对称密钥池的量子保密通信联盟链交易方法、***、设备 | |
CN109919619A (zh) | 一种区块链交易中身份隐私保护方法 | |
CN109767218A (zh) | 区块链证书处理方法及*** | |
CN113393225B (zh) | 数字货币加密支付方法及*** | |
CN110380859A (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和*** | |
CN109728905A (zh) | 基于非对称密钥池的抗量子计算mqv密钥协商方法和*** | |
CN116703593A (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 |