CN110545169B - 基于非对称密钥池和隐式证书的区块链方法和系统 - Google Patents
基于非对称密钥池和隐式证书的区块链方法和系统 Download PDFInfo
- Publication number
- CN110545169B CN110545169B CN201910642490.8A CN201910642490A CN110545169B CN 110545169 B CN110545169 B CN 110545169B CN 201910642490 A CN201910642490 A CN 201910642490A CN 110545169 B CN110545169 B CN 110545169B
- Authority
- CN
- China
- Prior art keywords
- key
- transaction
- receiving end
- random number
- public key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- 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/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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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/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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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
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)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请涉及一种基于非对称密钥池和隐式证书的区块链方法和系统,本发明中,用户将签名信息传递给其他成员的过程中,使用公钥池中的公钥作为偏移量对签名信息进行加密,则量子计算机无法通过签名信息破解出私钥。而常规做法是,对签名进行对称加密计算,其计算量大大高于本专利的偏移量计算。因此本专利的偏移量计算是一种更优的抗量子计算方式。而区块链系统中,对数字签名的计算众多,因此本发明可以大大降低整个区块链系统在数字签名加解密方面的计算量。
Description
技术领域
本申请涉及安全通信技术领域,特别是涉及基于非对称密钥池和隐式证书的区块链方法和系统。
背景技术
区块链是一种全新的分布式基础架构与计算范式,利用有序的链式数据结构存储数据,利用共识算法更新数据,利用密码学技术保障数据安全。在基于区块链的交易中,确保交易的数据安全和客户的隐私是区块链能够进一步发展的必要条件。为此,密码学技术尤其是公钥密钥学在区块链中得到了广泛的应用。
自公钥加密问世以来,学者们提出了许多种公钥加密方法,它们的安全性都是基于复杂的数学难题。但是在传统的公钥密码学中,公钥是与身份无关的字符串,存在如何确认公钥真实性的问题。公钥基础设施PKI运用可信任第三方——认证中心(CertificationAuthority,CA)颁发公钥证书的方式来绑定公钥和身份信息。但是PKI证书办理复杂,需搭建复杂的CA系统,证书发布、吊销、验证和保存需求占用较多资源,这就限制PKI在实时和低带宽环境中的广泛应用。
基于ECQV(Elliptic Curve Qu-Vanstone)自签名隐式证书机制设计了一种双向认证密钥协商协议,该ECQV隐式证书的生成基于ECC算法,它的证书更小,计算速度更快,可以显著提高认证效率。传统证书中,公钥和数字签名是分开的,而在ECQV自签名隐式证书中,数字签名是嵌入到公钥中的,这也是“自签名”的含义,接收方可以从中提取公钥来验证其身份。
但是随着量子计算机的发展,经典非对称密钥加密算法将不再安全,无论加解密还是密钥交换方法,量子计算机都可以通过公钥计算得到私钥,因此目前常用的非对称密钥将在量子时代变得不堪一击。
由于量子计算机的潜在威胁,现有基于对称密钥池进行保密通信的方案,利用服务端与客户端之间的对称密钥池进行保密通信,放弃使用公钥密码学,以避免保密通信系统被量子计算机破解。
由于量子计算机的潜在威胁,现有基于群组对称密钥池进行群组内的保密通信的方案,利用客户端之间的群组对称密钥池进行保密通信,放弃使用公钥密码学,以避免保密通信系统被量子计算机破解。
现有技术存在的问题:
1.现有技术中,区块链的传输和存储均未加密;
2.由于量子计算机能快速通过公钥得到对应的私钥,因此现有的区块链交易方法容易被量子计算机破解;
3.现有技术中,基于公私钥的数字签名的输入和输出均可被敌方所知,在量子计算机存在的情况下,可能被推导出私钥,导致区块链系统被量子计算机破解。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少服务站存储数据量的基于非对称密钥池和隐式证书的区块链方法。
本申请公开了基于非对称密钥池和隐式证书的区块链方法,所述区块链方法包括密钥颁发过程和通信过程,所述密钥颁发过程如下:
颁发服务器生成第一随机数、第二随机数、接受密钥端A公钥和接受密钥端A私钥,其中接受密钥端A公钥是利用基点生成元和所述接受密钥端A私钥生成,利用所述第一随机数从自身存储中取出第一颁发服务器公钥和第一颁发服务器私钥,利用所述第一颁发服务器公钥和所述接受密钥端A公钥生成隐式证书参数,利用所述隐式证书参数和接受密钥端A设备信息生成隐式证书;利用所述隐式证书进行哈希计算得到第一哈希值;利用所述第二随机数从自身存储中取出第二颁发服务器公钥和第二颁发服务器私钥,利用所述第一哈希值,第一颁发服务器私钥以及第二颁发服务器私钥生成私钥参数;将颁发服务器公钥池、所述第一随机数、所述第二随机数、所述接受密钥端A私钥以及私钥参数写入接受密钥端A密钥卡内;
所述接受密钥端A从接受密钥端A密钥卡中读取颁发服务器公钥池、第一随机数、第二随机数、接受密钥端A私钥以及私钥参数;利用所述接受密钥端A私钥和基点生成元得到接受密钥端A公钥,利用所述第一随机数、第二随机数分别从所述颁发服务器公钥池得到第一颁发服务器公钥和第二颁发服务器公钥,利用所述隐式证书参数,第一颁发服务器公钥,接受密钥端A设备信息得到所述第一哈希值;利用所述第一哈希值、接受密钥端A私钥以及私钥参数生成工作私钥,利用所述第一哈希值、隐式证书参数以及第二颁发服务器公钥生成工作公钥,生成密钥信息,所述密钥信息包括接受密钥端A设备信息,隐式证书参数以及所述第二随机数;
接受密钥端B获取接受密钥端A发送的密钥信息,所述密钥信息包括接受密钥端A设备信息,隐式证书参数以及第二随机数;利用所述接受密钥端A设备信息,隐式证书参数生成隐式证书,对所述隐式证书进行哈希计算得到第一哈希值,利用所述第二随机数从接受密钥端B密钥卡中的服务端公钥池中取得第二服务端公钥,利用所述第一哈希值、隐式证书参数以及第二服务端公钥生成接受密钥端A公钥;
所述接受密钥端A公钥用于接受密钥端A和接受密钥端B之间的通信加密;
所述通信过程如下:
交易发起方生成未签名交易,第一交易随机数和第二交易随机数,利用所述第一交易随机数在自身存储的服务站公钥池中得到第一服务站公钥,利用所述第二交易随机数和基点生成元得到第一交易参数和第二交易参数,利用所述第二交易随机数和第一服务站公钥以及基点生成元得到交易信息,利用所述密钥信息计算得到对应的隐式证书并计算得到交易私钥;利用所述未签名交易的输出资金的第一转入地址进行哈希运算得到第一哈希值,利用所述第一哈希值,所述交易私钥,所述第一交易参数以及第二交易随机数获得签名密钥,利用所述签名密钥对所述交易信息签名计算得到第一签名,将所述第一签名,所述第一交易随机数以及密钥信息填入所述未签名交易得到已签名交易,将所述已签名交易广播至同一群组的区块链网络的各节点;
所述节点获取并计算验证所述第一签名。
优选的,所述区块链方法还包括:
矿工收集所述已签名交易,生成挖矿交易后计算挖矿随机数,获得记账权并利用所述挖矿交易得到挖矿区块,将所述挖矿区块广播至同一群组的区块链网络的各节点;
所述节点获取所述挖矿区块,验证通过后接受所述挖矿区块。
优选的,所述未签名交易包括若干条交易信息,每条交易信息包括输入资金的序号,输入资金在其来源的身份信息,输入资金在其来源的序号,输出资金在所述未签名交易的序号,输出资金的转入地址以及输出资金的数额。
本申请公开了一种交易发起方设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述区块链方法的中的交易发起方的步骤。
优选的,所述交易发起方设备能够作为所述节点和/或矿工。
本申请公开了一种节点设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述区块链方法的中的节点的步骤。
优选的,所述节点设备能够作为所述交易发起方和/或矿工。
本申请公开了一种矿工设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求2中所述区块链方法的中的矿工的步骤。
优选的,所述矿工设备能够作为所述交易发起方和/或节点。
本申请公开了基于身份的抗量子计算区块链系统,包括客户端和通信网络,所述客户端能够作为交易发起方,节点以及矿工;所述客户端配置有密钥卡,所述密钥卡内存储有服务端公钥池,自身的客户端私钥;
所述客户端通过所述通信网络实现上述技术方案中所述区块链方法的步骤。
本发明中,使用的密钥卡是独立的硬件隔离设备。公钥、私钥和其他相关参数均存储在密钥卡中的数据安全区,被恶意软件或恶意操作窃取密钥的可能性大大降低,也不会被量子计算机获取并破解。由于在经典网络中均无涉及公私钥及算法参数的明文传递,因此非对称密钥被破解的风险很低。密钥卡保障了通信双方的通信安全,也极大的提高了身份认证的安全性。
同时非对称密钥池解决了对称密钥池给服务端带来密钥存储压力,降低了存储成本。例如,原先用户的对称密钥池大小均为1G,用户个数为N,则服务端需要存储N G的密钥池;而如果存储非对称密钥池,客户端存储服务端公钥池大小为1G,服务端同样只需要存储1G大小的服务端私钥池。由于密钥量大大下降,所有密钥可以存储在安全性更高的密钥卡内,且给密钥备份和在线更新提供了便利。
本专利对基于隐式证书的保密通信方法,使用隐式证书隐式地对公钥的可信度进行证明,使用非对称密钥和数字签名对用户的身份进行证明,保密通信的收发双方都能明确对方的身份,其他任何人均无法对保密通信进行干预或仿冒。由于非对称密钥均未公开,而公开的用户信息中无法获取密钥,因此本文的非对称密钥使用方式具有抗量子计算的特性。
本发明中,用户将签名信息传递给其他成员的过程中,使用公钥池中的公钥作为偏移量对签名信息进行加密,则量子计算机无法通过签名信息破解出私钥。而常规做法是,对签名进行对称加密计算,其计算量大大高于本专利的偏移量计算。因此本专利的偏移量计算是一种更优的抗量子计算方式。而区块链系统中,对数字签名的计算众多,因此本发明可以大大降低整个区块链系统在数字签名加解密方面的计算量。
附图说明
图1为本发明实施例提供的通信系统结构图;
图2为本发明中服务端密钥卡的密钥池分布示意图;
图3为本发明中客户端密钥卡的密钥池分布示意图;
图4为未签名交易的结构示意图;
图5为第m次签名过程中交易结构示意图;
图6为已签名交易的结构示意图;
图7为区块与交易的关系;
图8为挖矿交易的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。其中本申请中的服务站在未做特殊说明的情况下均为量子通信服务站,本申请中的各名称以字母和数字组合为准,例如Q,服务站Q,服务站在下文表示同一含义,即服务站Q;再例如第一密钥KR1,KR1,真随机数KR1,第一密钥在下文中表示同一含义,即第一密钥KR1,其余名称同理。
本申请公开了基于非对称密钥池和隐式证书的区块链方法,所述区块链方法包括密钥颁发过程和通信过程,所述密钥颁发过程如下:
颁发服务器生成第一随机数、第二随机数、接受密钥端A公钥和接受密钥端A私钥,其中接受密钥端A公钥是利用基点生成元和所述接受密钥端A私钥生成,利用所述第一随机数从自身存储中取出第一颁发服务器公钥和第一颁发服务器私钥,利用所述第一颁发服务器公钥和所述接受密钥端A公钥生成隐式证书参数,利用所述隐式证书参数和接受密钥端A设备信息生成隐式证书;利用所述隐式证书进行哈希计算得到第一哈希值;利用所述第二随机数从自身存储中取出第二颁发服务器公钥和第二颁发服务器私钥,利用所述第一哈希值,第一颁发服务器私钥以及第二颁发服务器私钥生成私钥参数;将颁发服务器公钥池、所述第一随机数、所述第二随机数、所述接受密钥端A私钥以及私钥参数写入接受密钥端A密钥卡内;
所述接受密钥端A从接受密钥端A密钥卡中读取颁发服务器公钥池、第一随机数、第二随机数、接受密钥端A私钥以及私钥参数;利用所述接受密钥端A私钥和基点生成元得到接受密钥端A公钥,利用所述第一随机数、第二随机数分别从所述颁发服务器公钥池得到第一颁发服务器公钥和第二颁发服务器公钥,利用所述隐式证书参数,第一颁发服务器公钥,接受密钥端A设备信息得到所述第一哈希值;利用所述第一哈希值、接受密钥端A私钥以及私钥参数生成工作私钥,利用所述第一哈希值、隐式证书参数以及第二颁发服务器公钥生成工作公钥,生成密钥信息,所述密钥信息包括接受密钥端A设备信息,隐式证书参数以及所述第二随机数;
接受密钥端B获取接受密钥端A发送的密钥信息,所述密钥信息包括接受密钥端A设备信息,隐式证书参数以及第二随机数;利用所述接受密钥端A设备信息,隐式证书参数生成隐式证书,对所述隐式证书进行哈希计算得到第一哈希值,利用所述第二随机数从接受密钥端B密钥卡中的服务端公钥池中取得第二服务端公钥,利用所述第一哈希值、隐式证书参数以及第二服务端公钥生成接受密钥端A公钥;
所述接受密钥端A公钥用于接受密钥端A和接受密钥端B之间的通信加密;
所述通信过程如下:
交易发起方生成未签名交易,第一交易随机数和第二交易随机数,利用所述第一交易随机数在自身存储的服务站公钥池中得到第一服务站公钥,利用所述第二交易随机数和基点生成元得到第一交易参数和第二交易参数,利用所述第二交易随机数和第一服务站公钥以及基点生成元得到交易信息,利用所述密钥信息计算得到对应的隐式证书并计算得到交易私钥;利用所述未签名交易的输出资金的第一转入地址进行哈希运算得到第一哈希值,利用所述第一哈希值,所述交易私钥,所述第一交易参数以及第二交易随机数获得签名密钥,利用所述签名密钥对所述交易信息签名计算得到第一签名,将所述第一签名,所述第一交易随机数以及密钥信息填入所述未签名交易得到已签名交易,将所述已签名交易广播至同一群组的区块链网络的各节点;
所述节点获取并计算验证所述第一签名。
优选的,所述区块链方法还包括:
矿工收集所述已签名交易,生成挖矿交易后计算挖矿随机数,获得记账权并利用所述挖矿交易得到挖矿区块,将所述挖矿区块广播至同一群组的区块链网络的各节点;
所述节点获取所述挖矿区块,验证通过后接受所述挖矿区块。
优选的,所述未签名交易包括若干条交易信息,每条交易信息包括输入资金的序号,输入资金在其来源的身份信息,输入资金在其来源的序号,输出资金在所述未签名交易的序号,输出资金的转入地址以及输出资金的数额。
本申请公开了一种交易发起方设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述区块链方法的中的交易发起方的步骤。
优选的,所述交易发起方设备能够作为所述节点和/或矿工。
本申请公开了一种节点设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述区块链方法的中的节点的步骤。
优选的,所述节点设备能够作为所述交易发起方和/或矿工。
本申请公开了一种矿工设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求2中所述区块链方法的中的矿工的步骤。
优选的,所述矿工设备能够作为所述交易发起方和/或节点。
本申请公开了基于身份的抗量子计算区块链系统,包括客户端和通信网络,所述客户端能够作为交易发起方,节点以及矿工;所述客户端配置有密钥卡,所述密钥卡内存储有服务端公钥池,自身的客户端私钥;
所述客户端通过所述通信网络实现上述技术方案中所述区块链方法的步骤。
系统说明
本发明在一个基于非对称密钥池体系中,对区块链任意1个用户端与其他所有用户端之间进行通信。本发明的密钥池体系中每个对象都具有密钥卡,可存储大数据量的密钥,也具备处理信息的能力。本发明中的每个对象的本地系统中都存在相应需求的算法。
密钥卡的描述可见申请号为“201610843210.6”的专利。当为移动终端时,密钥卡优选为密钥SD卡;当为固定终端时,密钥卡优选为密钥USBkey或主机密钥板卡。
密钥卡从智能卡技术上发展而来,是结合了密码学技术、硬件安全隔离技术、量子物理学技术(搭载量子随机数发生器的情况下)的身份认证和加解密产品。密钥卡的内嵌芯片和操作系统可以提供密钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,密钥卡成为私钥和密钥池的安全载体。每一个密钥卡都有硬件PIN码保护,PIN码和硬件构成了用户使用密钥卡的两个必要因素。即所谓“双因子认证”,用户只有同时取得保存了相关认证信息的密钥卡和用户PIN码,才可以登录系统。即使用户的PIN码被泄露,只要用户持有的密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的密钥卡遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。总之,密钥卡使得密钥等绝密信息不以明文形式出现在主机的磁盘及内存中,从而能有效保证绝密信息的安全。
本发明中,密钥卡分为服务端密钥卡和客户端密钥卡。服务端密钥卡密钥区结构如图2所示,主要存储有客户端公钥池、服务端公钥池和服务端私钥池。客户端密钥卡密钥区结构如图3所示,主要存储有服务端公钥池、客户端公钥指针随机数、客户端私钥以及私钥参数。所述密钥卡均由服务端颁发。
服务端在密钥卡注册时,先由服务端选择椭圆曲线的域参数包含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}写入到密钥卡指定区域。
非对称密钥颁发:
非对称密钥颁发即密钥卡颁发,此流程全部在服务端进行。
设ID为U的客户端为客户端CU,客户端CU的密钥卡内客户端私钥为kU。设客户端CU对应的服务端为SU,则U内包含SU的信息,代表CU的密钥卡由SU颁发。服务端根据匹配的密钥卡内的随机数发生器生成客户端公钥指针随机数rkU/rkSU。
根据客户端私钥kU以及G计算得到RU=kU*G。
将rkU结合指针函数frk得到指针rkpU,通过rkpU在服务端公钥池中取出公钥pkU,在服务端私钥池中取出私钥skU。
计算PU=RU+pkU。
根据PU和U得到客户端CU的隐式证书CertU=Encode(PU,U)。Encode(*)是指一种包括了*信息的证书的组成和实际编码方式,具体根据应用而定。再对CertU进行哈希计算得到eU=H(CertU)。
将rkSU结合指针函数frk得到指针rkpSU,通过rkpSU在服务端公钥池中取出公钥pkSU,在服务端私钥池中取出私钥skSU。
计算私钥参数rU=eU*skU+skSU(mod n)。
将服务端公钥池、客户端公钥指针随机数rkU/rkSU、客户端私钥kU以及私钥参数rU存入客户端密钥卡的对应存储区,完成对客户端的非对称密钥颁发即密钥卡颁发。
客户端获取非对称密钥:
客户端根据密钥卡内客户端私钥kU以及G计算得到RU=kU*G。
客户端提取卡内公钥指针随机数rkU,将rkU结合指针函数frk得到指针rkpU,通过rkpU在服务端公钥池中取出公钥pkU。
计算PU=RU+pkU。
根据PU和U得到客户端CU的隐式证书CertU=Encode(PU,U)。再对CertU进行哈希计算得到eU=H(CertU)。
计算得到实际的私钥dU=eU*kU+rU(mod n)
客户端提取卡内公钥指针随机数rkSU,将rkSU结合指针函数frk得到指针rkpSU,通过rkpSU在服务端公钥池中取出公钥pkSU。
计算得到实际的公钥QU=eU*PU+pkSU。也可以用QU=dU*G计算得到实际的公钥QU。
客户端将U、PU以及rkSU作为公开信息UINFO公布,UINFO可表示为U||PU||rkSU。U和rkSU不含有密码相关信息;由于PU=RU+pkU,敌方无法获取RU或pkU任意一者的信息。因此UINFO无需加密即可抵抗量子计算。
其他客户端获取公钥:
其他客户端可根据UINFO中U和PU得到客户端CU的隐式证书CertU=Encode(PU,U)。再对CertU进行哈希计算得到eU=H(CertU)。
根据UINFO中的rkSU结合指针函数frk得到指针rkpSU,通过rkpSU在服务端公钥池中取出公钥pkSU。
计算得到实际公钥QU=eU*PU+pkSU。
实施例
本系统结构如图1所示,每个用户作为区块链的一个节点,都有相应的区块链应用,并配有客户端密钥卡。密钥卡被区块链应用调用,密钥不出密钥卡。服务端不联网,因此不在区块链通信系统之内。
交易的具体步骤描述如下:
1.生成未签名交易RTx:发起交易前,交易发起人即用户端A需生成一个未签名交易RTx,结构如图4所示。图4中,InN表示某笔输入资金在本Tx中的序号;TxID表示某笔输入资金在其来源所在的Tx的ID。一般可取TxID=Hash(Tx);N表示某笔输入资金在其来源所在的Tx中作为输出资金的序号;OutN表示某笔输出资金在本Tx中的序号;Dest表示某笔输出资金的转入地址,本专利为ID的形式;Value表示某笔输出资金的数额。
2.生成交易签名Txs:以第m次签名为例。第m次签名时,获取第m笔输入金额在其来源所在的Tx中对应的Dest值。将该Dest值作为PreDestm加入RTx得到图5所示的RTxm。
根据匹配的密钥卡生成随机数rkUm,使用指针函数frk对rkUm进行计算得到指针rkpUm,根据rkpUm在服务站公钥池中取出公钥pkUm。
根据匹配的密钥卡生成随机数Rm,计算点Rm*G=(xm,ym),进一步计算得到rm’=Rm*G-pkUm。此处pkUm作为Rm*G的偏移量,对Rm*G进行了加密。
根据UINFOm获得隐式证书并进一步获得私钥skm,对RTxm进行哈希得到Txhm,计算sm=(Txhm+skm*xm)/Rm。
计算签名Txsm=(rm’,sm)。然后将rkUm与Txsm一起填入Tx中,同时填入的还有UINFOm。
3.发送Tx:将已签名的交易Tx广播至区块链网络的所有节点。
4.验证Tx:区块链网络中的每个节点对该交易进行验证。
交易验证过程中,区块链网络中的每个节点均可作为验证节点。以验证第m笔输入金额为例。
验证方使用函数frk对rkUm进行计算得到指针rkpUm,根据rkpUm在服务站公钥池中取出公钥pkUm。计算点rm=rm’+pkUm=(xm,ym)。
验证方使用与上文相同的方式形成一个未签名交易RTxm。对RTxm进行哈希得到Txhm。
根据UINFOm获得隐式证书并进一步获得公钥pkm。计算Txhm*G/sm+xm*pkm/sm。将计算得到的值与rm比较,如相等即验签成功。
5.将该交易加入区块:区块与交易的关系如图7所示。
5.1矿工收集交易:矿工对所有尚未确认的交易进行收集,区块链中存储的交易的最终形态如图6所示。
5.2矿工形成挖矿交易:矿工形成一个如图8所示的挖矿交易,输入部分填充一些矿工所属矿池或者其他必要信息,输出部分与普通交易相同,输出金额总量与生成区块的奖励金额相同。
5.3矿工计算挖矿随机数:矿工计算出一个满足规则的随机数,即获得本次记账权,将自己生成的挖矿交易加入到区块中。
5.4矿工广播成功挖矿区块:矿工获取成功挖矿区块后,将该区块广播,其余节点对区块进行验证。主要是验证挖矿随机数是否满足规则。如验证成功,则接受该区块为新区块。
结论
本发明中,使用的密钥卡是独立的硬件隔离设备。公钥、私钥和其他相关参数均存储在密钥卡中的数据安全区,被恶意软件或恶意操作窃取密钥的可能性大大降低,也不会被量子计算机获取并破解。由于在经典网络中均无涉及公私钥及算法参数的明文传递,因此非对称密钥被破解的风险很低。密钥卡保障了通信双方的通信安全,也极大的提高了身份认证的安全性。
同时非对称密钥池解决了对称密钥池给服务端带来密钥存储压力,降低了存储成本。例如,原先用户的对称密钥池大小均为1G,用户个数为N,则服务端需要存储N G的密钥池;而如果存储非对称密钥池,客户端存储服务端公钥池大小为1G,服务端同样只需要存储1G大小的服务端私钥池。由于密钥量大大下降,所有密钥可以存储在安全性更高的密钥卡内,且给密钥备份和在线更新提供了便利。
本专利对基于隐式证书的保密通信方法,使用隐式证书隐式地对公钥的可信度进行证明,使用非对称密钥和数字签名对用户的身份进行证明,保密通信的收发双方都能明确对方的身份,其他任何人均无法对保密通信进行干预或仿冒。由于非对称密钥均未公开,而公开的用户信息中无法获取密钥,因此本文的非对称密钥使用方式具有抗量子计算的特性。
本发明中,用户将签名信息传递给其他成员的过程中,使用公钥池中的公钥作为偏移量对签名信息进行加密,则量子计算机无法通过签名信息破解出私钥。而常规做法是,对签名进行对称加密计算,其计算量大大高于本专利的偏移量计算。因此本专利的偏移量计算是一种更优的抗量子计算方式。而区块链系统中,对数字签名的计算众多,因此本发明可以大大降低整个区块链系统在数字签名加解密方面的计算量。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.基于非对称密钥池和隐式证书的区块链方法,其特征在于,所述区块链方法包括密钥颁发过程和通信过程,所述密钥颁发过程如下:
颁发服务器生成第一随机数、第二随机数、接受密钥端A公钥和接受密钥端A私钥,其中接受密钥端A公钥是利用基点生成元和所述接受密钥端A私钥生成,利用所述第一随机数从自身存储中取出第一颁发服务器公钥和第一颁发服务器私钥,利用所述第一颁发服务器公钥和所述接受密钥端A公钥生成隐式证书参数,利用所述隐式证书参数和接受密钥端A设备信息生成隐式证书;利用所述隐式证书进行哈希计算得到第一哈希值;利用所述第二随机数从自身存储中取出第二颁发服务器公钥和第二颁发服务器私钥,利用所述第一哈希值,第一颁发服务器私钥以及第二颁发服务器私钥生成私钥参数;将颁发服务器公钥池、所述第一随机数、所述第二随机数、所述接受密钥端A私钥以及私钥参数写入接受密钥端A密钥卡内;
所述接受密钥端A从接受密钥端A密钥卡中读取颁发服务器公钥池、第一随机数、第二随机数、接受密钥端A私钥以及私钥参数;利用所述接受密钥端A私钥和基点生成元得到接受密钥端A公钥,利用所述第一随机数、第二随机数分别从所述颁发服务器公钥池得到第一颁发服务器公钥和第二颁发服务器公钥,利用所述隐式证书参数,第一颁发服务器公钥,接受密钥端A设备信息得到所述第一哈希值;利用所述第一哈希值、接受密钥端A私钥以及私钥参数生成工作私钥,利用所述第一哈希值、隐式证书参数以及第二颁发服务器公钥生成工作公钥,生成密钥信息,所述密钥信息包括接受密钥端A设备信息,隐式证书参数以及所述第二随机数;
接受密钥端B获取接受密钥端A发送的密钥信息,所述密钥信息包括接受密钥端A设备信息,隐式证书参数以及第二随机数;利用所述接受密钥端A设备信息,隐式证书参数生成隐式证书,对所述隐式证书进行哈希计算得到第一哈希值,利用所述第二随机数从接受密钥端B密钥卡中的服务端公钥池中取得第二服务端公钥,利用所述第一哈希值、隐式证书参数以及第二服务端公钥生成接受密钥端A公钥;
所述接受密钥端A公钥用于接受密钥端A和接受密钥端B之间的通信加密;
所述通信过程如下:
交易发起方生成未签名交易,第一交易随机数和第二交易随机数,利用所述第一交易随机数在自身存储的服务站公钥池中得到第一服务站公钥,利用所述第二交易随机数和基点生成元得到第一交易参数和第二交易参数,利用所述第二交易随机数和第一服务站公钥以及基点生成元得到交易信息,利用所述密钥信息计算得到对应的隐式证书并计算得到交易私钥;利用所述未签名交易的输出资金的第一转入地址进行哈希运算得到第一哈希值,利用所述第一哈希值,所述交易私钥,所述第一交易参数以及第二交易随机数获得签名密钥,利用所述签名密钥对所述交易信息签名计算得到第一签名,将所述第一签名,所述第一交易随机数以及密钥信息填入所述未签名交易得到已签名交易,将所述已签名交易广播至同一群组的区块链网络的各节点;
所述节点获取并计算验证所述第一签名。
2.如权利要求1所述的区块链方法,其特征在于,所述区块链方法还包括:
矿工收集所述已签名交易,生成挖矿交易后计算挖矿随机数,获得记账权并利用所述挖矿交易得到挖矿区块,将所述挖矿区块广播至同一群组的区块链网络的各节点;
所述节点获取所述挖矿区块,验证通过后接受所述挖矿区块。
3.如权利要求1所述的区块链方法,其特征在于,所述未签名交易包括若干条交易信息,每条交易信息包括输入资金的序号,输入资金在其来源的身份信息,输入资金在其来源的序号,输出资金在所述未签名交易的序号,输出资金的转入地址以及输出资金的数额。
4.一种交易发起方设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1中所述区块链方法的中的交易发起方的步骤。
5.如权利要求4所述的交易发起方设备,其特征在于,所述交易发起方设备能够作为所述节点和/或矿工。
6.一种节点设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1中所述区块链方法的中的节点的步骤。
7.如权利要求6所述的节点设备,其特征在于,所述节点设备能够作为所述交易发起方和/或矿工。
8.一种矿工设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求2中所述区块链方法的中的矿工的步骤。
9.如权利要求8所述的矿工设备,其特征在于,所述矿工设备能够作为所述交易发起方和/或节点。
10.基于身份的抗量子计算区块链系统,其特征在于,包括客户端和通信网络,所述客户端能够作为交易发起方,节点以及矿工;所述客户端配置有密钥卡,所述密钥卡内存储有服务端公钥池,自身的客户端私钥;
所述客户端通过所述通信网络实现权利要求1中所述区块链方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910642490.8A CN110545169B (zh) | 2019-07-16 | 2019-07-16 | 基于非对称密钥池和隐式证书的区块链方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910642490.8A CN110545169B (zh) | 2019-07-16 | 2019-07-16 | 基于非对称密钥池和隐式证书的区块链方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110545169A CN110545169A (zh) | 2019-12-06 |
CN110545169B true CN110545169B (zh) | 2022-08-12 |
Family
ID=68709716
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910642490.8A Active CN110545169B (zh) | 2019-07-16 | 2019-07-16 | 基于非对称密钥池和隐式证书的区块链方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110545169B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112910660B (zh) * | 2021-03-25 | 2023-02-24 | 中国工商银行股份有限公司 | 区块链系统的证书颁发方法、添加方法及交易处理方法 |
CN114065253B (zh) * | 2021-11-22 | 2023-03-24 | 上海旺链信息科技有限公司 | 一种证书及成果可匿名共享和验证的方法 |
CN114785527B (zh) * | 2022-06-17 | 2022-09-16 | 深圳市深圳通有限公司 | 数据传输方法、装置、设备及存储介质 |
CN116319072B (zh) * | 2023-05-11 | 2023-07-21 | 西华大学 | 一种基于区块链技术的认证和分级访问控制一体化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109660345A (zh) * | 2019-01-17 | 2019-04-19 | 如般量子科技有限公司 | 基于非对称密钥池服务器的抗量子计算区块链交易方法和系统 |
CN109660344A (zh) * | 2019-01-17 | 2019-04-19 | 如般量子科技有限公司 | 基于非对称密钥池路由装置的抗量子计算区块链交易方法和系统 |
CN109670826A (zh) * | 2018-11-29 | 2019-04-23 | 如般量子科技有限公司 | 基于非对称密钥池的抗量子计算区块链交易方法 |
CN109687963A (zh) * | 2019-01-15 | 2019-04-26 | 如般量子科技有限公司 | 基于公钥池的抗量子计算联盟链交易方法和系统 |
CN109919610A (zh) * | 2019-01-14 | 2019-06-21 | 如般量子科技有限公司 | 基于p2p公钥池的抗量子计算区块链保密交易方法和系统 |
-
2019
- 2019-07-16 CN CN201910642490.8A patent/CN110545169B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109670826A (zh) * | 2018-11-29 | 2019-04-23 | 如般量子科技有限公司 | 基于非对称密钥池的抗量子计算区块链交易方法 |
CN109919610A (zh) * | 2019-01-14 | 2019-06-21 | 如般量子科技有限公司 | 基于p2p公钥池的抗量子计算区块链保密交易方法和系统 |
CN109687963A (zh) * | 2019-01-15 | 2019-04-26 | 如般量子科技有限公司 | 基于公钥池的抗量子计算联盟链交易方法和系统 |
CN109660345A (zh) * | 2019-01-17 | 2019-04-19 | 如般量子科技有限公司 | 基于非对称密钥池服务器的抗量子计算区块链交易方法和系统 |
CN109660344A (zh) * | 2019-01-17 | 2019-04-19 | 如般量子科技有限公司 | 基于非对称密钥池路由装置的抗量子计算区块链交易方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110545169A (zh) | 2019-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10903991B1 (en) | Systems and methods for generating signatures | |
CN110545169B (zh) | 基于非对称密钥池和隐式证书的区块链方法和系统 | |
US6125185A (en) | System and method for encryption key generation | |
US9705683B2 (en) | Verifiable implicit certificates | |
CN101931529B (zh) | 一种数据加密方法、数据解密方法及节点 | |
EP3664360B1 (en) | Certificateless public key encryption using pairings | |
CN109919611B (zh) | 基于对称密钥池服务器的抗量子计算区块链交易方法和系统 | |
CN110519226B (zh) | 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统 | |
Bai et al. | Elliptic curve cryptography based security framework for Internet of Things (IoT) enabled smart card | |
CN109068322A (zh) | 解密方法、系统、移动终端、服务器及存储介质 | |
CN111211910A (zh) | 基于秘密共享公钥池的抗量子计算ca及证书颁发系统及其颁发和验证方法 | |
US20140082361A1 (en) | Data encryption | |
US20150006900A1 (en) | Signature protocol | |
CN110519040B (zh) | 基于身份的抗量子计算数字签名方法和系统 | |
US20220038267A1 (en) | Methods and devices for secured identity-based encryption systems with two trusted centers | |
CN109687961B (zh) | 基于对称密钥池路由装置的抗量子计算区块链交易方法和系统 | |
CN110557247A (zh) | 基于身份的抗量子计算区块链方法和系统 | |
CN111526131B (zh) | 基于秘密共享和量子通信服务站的抗量子计算的电子公文传输方法和系统 | |
CN110048852B (zh) | 基于非对称密钥池的量子通信服务站数字签密方法和系统 | |
CN112737783A (zh) | 一种基于sm2椭圆曲线的解密方法及设备 | |
CN110572788B (zh) | 基于非对称密钥池和隐式证书的无线传感器通信方法和系统 | |
CN109784917B (zh) | 基于对称密钥池的抗量子计算区块链保密交易系统和方法 | |
CN109787772B (zh) | 基于对称密钥池的抗量子计算签密方法和系统 | |
EP3883178A1 (en) | Encryption system and method employing permutation group-based encryption technology | |
JP4856933B2 (ja) | 署名装置、検証装置、復号装置、平文復元装置、情報提供装置、署名システム、通信システム、鍵生成装置及び署名方法 |
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 |