CN111327419A - 基于秘密共享的抗量子计算区块链的方法及系统 - Google Patents
基于秘密共享的抗量子计算区块链的方法及系统 Download PDFInfo
- Publication number
- CN111327419A CN111327419A CN202010073008.6A CN202010073008A CN111327419A CN 111327419 A CN111327419 A CN 111327419A CN 202010073008 A CN202010073008 A CN 202010073008A CN 111327419 A CN111327419 A CN 111327419A
- Authority
- CN
- China
- Prior art keywords
- key
- identity
- transaction
- serial number
- pseudo
- 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
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/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- 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
-
- 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/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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
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
本发明公开了一种基于秘密共享的抗量子计算区块链的方法及系统,本发明中,对密钥卡的伪身份标识在交易过程中实时更新,不会有相同身份多次出现在区块链中,敌方无法追踪;采用伪身份标识和存储于私有部分的算法参数哈希运算获得对称密钥,敌方无法破解对称密钥;交易的签名内容包括敌方无法获知的真实身份,因此数字签名可以直接传输,无需加密以应对量子计算机的破解,避免了加密过程从而减低了各方设备负担;密钥卡内私有部分内容存储于安全性能更高的TPM芯片存储,TPM芯片存储带有防拆解功能,即一旦拆解则进行自毁,只要私有部分不被破解,则身份不会暴露。
Description
技术领域
本发明涉及区块链领域,尤其涉及一种基于秘密共享的抗量子计算区块链的方法及系统。
背景技术
区块链是一种全新的分布式基础架构与计算范式,利用有序的链式数据结构存储数据,利用共识算法更新数据,利用密码学技术保障数据安全。在基于区块链的交易中,确保交易的数据安全和客户的隐私是区块链能够进一步发展的必要条件。为此,密码学技术尤其是公钥密钥学在区块链中得到了广泛的应用。非对称密钥算法的安全性决定了区块链的安全性。
但是,正如大多数人所了解的,量子计算机在密码破解上有着巨大潜力。1994年AT&T Bell实验室的Shor演示了两个及其重要的问题——整数的质因子分解问题和求解离散对数问题可以用量子计算机有效解决(“Algorithms for Quantum Computation:Discrete Logarithms and Factoring”,SHOR,P.)。
正因此,当今主流的非对称(公钥)加密算法,如RSA加密算法、基于身份标识的密码算法、离散对数密码算法和椭圆曲线密码算法等。大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。
目前,抗量子计算的方式主要通过QKD(Quantum Key Distribution,量子密钥分发)设备或者加密卡实现,但是目前的QKD设备价格高,并不适用于大规模铺设,而加密卡方面,主要依靠类加密狗的硬件加密锁实现。这类硬件加密锁存在较大的安全隐患,主要可以通过硬件克隆或复制、通过SoftICE等Debug工具调试跟踪解密和通过编写拦截程序修改软件和加密狗之间的通讯三种方法进行破解。因此,密钥卡内存储的密钥并非是绝对安全的,第三方完全可能在破解一个密钥卡后,对整个密钥卡系统造成更大安全威胁。
目前,公有链的每一个参与者能够获得完整的数据备份,所有交易数据都是公开和透明的,这是区块链的优势特点。然而,对区块链应用方来说,这却是一个缺点,因为在很多情况下,不仅用户希望保护自己的账户隐私和交易信息,企业更是不想把这些商业机密公开分享给同行。
在公布号为CN109005036A的一种基于标识密码算法的区块链成员管理方法和系统的发明专利中,通过区块链客户端进行区块链网络用户注册,使用标识密码算法根据用户身份信息生成签名私钥;用户通过区块链客户端登录区块链网络;用户发起区块链网络交易,使用标识密码算法对用户的区块链客户端计算交易的数字摘要进行签名,生成签名信息;对用户发起的区块链网络交易进行验证,使用标识密码算法验证区块链网络交易签名的正确性。但是在交易过程中标识密码算法对用户的真实身份信息进行处理,同时传输和存储的信息中也都包含用户的真实身份信息,相同的身份信息将多次出现在区块链中,而密钥卡也存在着被硬件被破解的风险,敌方可以追踪甚至获取用户身份信息。
结合以上说明,可以总结出现有技术存在的问题如下:
1.相同身份信息多次出现在区块链中,敌方可以追踪;
2.抗量子计算的数字签名主要是通过非对称密钥加密签名的方式保护签名,但是在计算量上是经典数字签名计算量的2倍,在验签的时候,也是原签名验证计算量的2倍;现有抗量子计算区块链系统中,签名数量众多,因此签名及验证的计算量较大,对设备的负载较大;
3.现有抗量子计算区块链系统中,如果密钥卡硬件方面被破解,则身份会暴露。
发明内容
发明目的:针对现有技术中数字签名及验证的计算量大、身份信息多次出现在区块链中及密钥卡硬件存在被破解的可能性从而造成客户端身份泄露的缺陷,本发明公开了一种基于秘密共享的抗量子计算区块链的方法及系统,对客户端密钥卡的伪身份标识在交易过程中实时更新,不会有相同身份多次出现在区块链中,敌方无法追踪;交易的签名内容包括敌方无法获知的真实身份,因此数字签名可以直接传输,无需加密以应对量子计算机的破解,避免了加密过程从而减低了各方设备负担;密钥卡内私有部分内容存储于安全性能更高的TPM芯片存储,TPM芯片存储带有防拆解功能,即一旦拆解则进行自毁,只要私钥区不被破解,则身份不会暴露。
技术方案:本发明公开了一种基于秘密共享的抗量子计算区块链的方法及系统,所述方法包括:
交易发起方生成未签名交易,计算本次交易的交易序列号,直至满足交易发起方更换伪身份标识,利用自身密钥卡内私有部分存储的伪身份标识和密钥参数中相关信息进行哈希运算得到对称密钥,利用所述对称密钥对自身密钥卡真实身份秘密共享得到的第一身份分量进行加密,将所述加密后的第一身份分量与自身伪身份标识结合为第一参数,利用自身密钥卡内公共信息池存储的上一次交易序列号进行哈希计算,将所述哈希计算值与本次交易中增加的交易序列号增长步长的个数存入第二参数,将自身伪身份标识赋值给第三参数,将请求更换伪身份标识的智能合约地址赋值给第四参数;
将所述的第一参数、第二参数、第三参数和第四参数作为未签名交易的消息,将第一参数、第二参数、第四参数和交易发起方密钥卡真实身份作为待签名消息,利用自身密钥卡内私有部分存储的私钥对所述待签名消息生成第一签名,将所述第一签名填入所述未签名交易得到已签名交易,将所述已签名交易广播至区块链的各节点;
所述节点获取所述已签名交易后从根据交易发起方的伪身份标识从自身密钥卡内获取对应的密钥参数,利用所述密钥参数和交易发起方的伪身份标识哈希运算得到对称密钥,利用所述对称密钥解密第一参数;利用密钥卡内密钥信息和待签名消息验证所述已签名交易内的第一签名。
优选地,所述方法基于RSA算法,包括:
将RSA算法参数作为所述密钥参数存储于交易发起方密钥卡内私有部分,将交易发起方的伪身份标识和所述RSA算法参数运算获得的哈希值作为所述交易发起方的对称密钥;将所有节点密钥卡的私钥对应的公钥作为所述各节点验证时的密钥信息存储于所有密钥卡内的公共信息池。
优选地,所述方法基于身份标识的密码算法,包括:
密钥管理服务器为区块链各节点的密钥卡颁发私钥,颁发完成后不参与网络通信,将包含公共密钥的密码算法的系统参数作为所述密钥参数存储于交易发起方密钥卡内私有部分;将交易发起方的伪身份标识和所述公共密钥运算获得的哈希值作为所述交易发起方的对称密钥,利用所述交易发起方的身份分量计算获得真实身份,利用所述交易发起方的真实身份计算得到的公钥作为所述各节点验证时的密钥信息。
优选地,所述对自身密钥卡真实身份进行秘密共享包括:
各节点密钥卡的真实身份通过(2,2)秘密共享得到第一秘密分量和第二秘密分量,第一秘密分量包括第一秘密分量随机数和第一身份分量,第二秘密分量包括第二秘密分量随机数和第二身份分量;利用所述真实身份、第二身份分量和第二身份分量哈希运算得到各节点密钥卡的初始伪身份标识。
优选地,所述计算本次交易的交易序列号,直至满足交易发起方更换伪身份标识,内容包括:
取出自身密钥卡的公共信息池中获取交易序列号增长步长和上一次交易序列号,将上一次交易序列号与一个交易序列号增长步长之和作为交易序列号,利用第一秘密分量随机数和交易序列号计算得到两个哈希值,并将所述哈希值作为新的秘密分量随机数,若第一秘密分量随机数和两个哈希值中任意二者相等,则此次计算得出的交易序列号不满足更换伪身份标识的条件,在交易序列号中增加一个交易序列号增长步长,重新计算两个哈希值,直至第一秘密分量随机数和两个哈希值中任意二者不相等,记录当前交易序列号与若干个的交易序列号增长步长之和作为本次交易序列号。
优选地,所述抗量子计算区块链系统的方法还包括:
矿工收集验证成功的已签名交易,对若干所述已签名交易计算POW证明,获取挖矿区块,将所述区块广播至区块链的各节点。
优选地,所述抗量子计算区块链系统的方法还包括:
根据区块更新各节点密钥卡内的公共信息池,根据所述交易发起方的本次交易序列号作为更新后的上一次交易序列号,根据所述交易序列号和第一身份分量哈希计算获得两个哈希值,根据所述哈希值计算更新后的第一秘密分量随机数和第二秘密分量;
根据区块更新交易发起方密钥卡内的私有部分,根据所述哈希值计算更新后的自身伪身份标识和第一秘密分量;
根据区块更新区块链监管端的密钥卡,将所述伪身份标识及其对应的交易发起方真实身份存储于监管端的密钥卡,同时记录本区块的区块号和更新后的上一次交易序列号。
优选地,基于秘密共享的抗量子计算区块链系统,包括区块链客户端、区块链监管端和通信网络;
所述区块链客户端能够作为交易发起方、区块链节点以及矿工;所述区块链客户端配置有密钥卡,所述密钥卡设有存储于密钥卡存储器的公有部分和私有部分;所述公有部分设有公共信息池,公共信息池存储若干公共信息组,每组公共信息组包括伪身份标识、第一秘密分量随机数、第二秘密分量、上一次交易序列号和交易序列号增长步长;所述私有部分存储自身的伪身份标识、第一秘密分量和自身私钥;
所述区块链监管端配置的密钥卡包含区块链客户端密钥卡相同的结构和功能,区块链监管端配置的密钥卡还存有区块链节点密钥卡真实身份ID与初始伪身份标识的对应关系和伪身份标识变化的历史记录;
所述客户端通过所述通信网络实现所述抗量子计算区块链方法的步骤。
有益效果:
1、本发明中,签名的内容无法全部获知,而且公钥不对外公开,计算所得的数字签名可以抵抗量子计算机对公钥密码学的攻击,因此数字签名可以直接传输,无需加密以应对量子计算机的破解,且避免了使用加密的方式来抵抗量子计算机的攻击,降低了各方的设备负担;
2、本发明用秘密共享的方式对身份ID进行分布式存储,对ID进行了隐藏,在投票的过程中保护了投票者的隐私安全,让外界无法得知投票者的真正身份,同时不会有相同身份多次出现在区块链中,敌方无法追踪;
3、本发明用于加解密秘密碎片的对称密钥由伪身份标识和存储在私有存储区的算法参数进行哈希计算得到,无法被敌方计算得到,且会根据伪身份标识改变而改变,因此,更加难以被破解;
4、即使密钥卡硬件被破解,而私钥区存储于安全性能更高的TPM芯片存储,TPM芯片存储带有防拆解功能,即一旦拆解则进行自毁,只要私钥区不被破解,则身份不会暴露。
附图说明
图1为本发明的区块链系统的通信系统结构图;
图2为本发明的密钥卡存储的分布示意图。
具体实施方式
以下结合附图对本发明做进一步的说明。
区块链是一种按照时间顺序将数据区块用类似链表的方式组成的数据结构,并以密码学方式保证不可篡改和不可伪造的分布式去中心化账本,能够安全存储简单的、有先后关系的、能在系统内进行验证的数据。其中,密码学主要用到公钥密码学。本专利处理区块链中的交易过程,总体思路是隐藏用户ID,并对区块链交易中的数字签名进行抗量子计算的计算。
本发明中涉及到密钥卡,密钥卡的描述可见申请号为“201610843210.6”的专利。密钥卡不仅可以存储大量的数据,还具有处理信息的能力。本发明中,密钥卡内存在相应的算法以满足发明的需求。当为移动终端时,密钥卡优选为密钥SD卡;当为固定终端时,密钥卡优选为密钥USBkey或主机密钥板卡。在本专利中,区块链中的每一个节点都匹配有对应的密钥卡。
密钥卡从智能卡技术上发展而来,是结合了真随机数发生器(优选为量子随机数发生器)、密码学技术、硬件安全隔离技术的身份认证和加解密产品。密钥卡的内嵌芯片和操作系统可以提供密钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,密钥卡成为私钥和密钥池的安全载体。每一个密钥卡都有硬件PIN码保护,PIN码和硬件构成了用户使用密钥卡的两个必要因素。即所谓“双因子认证”,用户只有同时取得保存了相关认证信息的密钥卡和用户PIN码,才可以登录系统。即使用户的PIN码被泄露,只要用户持有的密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的密钥卡遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。
实施例1
本实施例中所用的非对称算法为RSA算法。设算法的非对称密钥对为E/D,其中两者都可以作为公钥,剩下一方为私钥。即可以令公钥/私钥为E/D,也可以令公钥/私钥为D/E。
密钥卡生成:
本实施例中,为保证ID的安全,将ID进行(2,2)的秘密共享,得到2块秘密碎片,可表示为(x1,ID1)和(x2,ID2)。秘密共享的计算方式如下,根据f(x)=ID+RAND*x公式得到ID1=ID+RAND*x1和ID2=ID+RAND*x2,以上公式中RAND表示为随机数,优选为量子随机数。
本实施例中密钥卡的存储结构如图2所示,密钥卡内主要分为公有部分和私有部分。公有部分存有公共信息池,由密钥卡存储器存储。公共信息池由多组公共信息组组成。公共信息组可表示为PID||x1||(x2,ID2)||N||DN||PK。其中PID为伪身份标识,由ID||ID1||ID2进行哈希算法计算得到的哈希值,可表示为PID=HASH(ID||ID1||ID2),其中HASH()为既定的哈希算法。N表示区块链交易中的交易序列号。DN为交易序列号的增长的步长,即交易序列号的增长规律为每次增加DN。PK为PID对应密钥卡的基于RSA算法的公钥。设第n个用户的密钥卡内的私有部分存储有PIDn||(xn1,IDn1)||SKn||ModN。其中带有n的参数为该密钥卡对应的参数,如SKn为该密钥卡的私钥。ModN为RSA算法参数,即两个大质素的乘积,将其存储于私有部分,使之不被敌方获取,即可使得RSA算法抵抗量子计算的攻击。所有密钥卡的基于RSA算法的非对称密钥对基于相同的算法参数,即所有密钥卡私有部分存储的ModN这一算法参数相同。私有部分采用比密钥卡存储器安全性更高的TPM芯片或类似功能的芯片进行存储,且带有防拆解的功能,即一旦被拆解则进行自毁。即使有密钥卡的公有部分被破解,那么只要私有部分不被破解,敌方也无法获取到真实ID。
相应的,区块链监管端的密钥卡除拥有上述结构与功能外,还记录各区块链节点密钥卡的实际ID及初始PID的对应关系,以及该实际ID的PID变化的历史记录,包括记录PID变化的区块号及交易号,方便区块链监管机构进行追溯。历史记录存储于区块链监管端密钥卡,或由区块链监管端密钥卡加密存储于区块链监管端密钥卡外部。
交易流程:
本系统结构如图1所示,每个用户作为区块链的一个节点,都有相应的区块链应用,并配有密钥卡。密钥卡被区块链应用调用,密钥不出密钥卡。本实施例中的交易为第n个用户更换PID的交易。第n个用户的密钥卡上电后,根据私有部分中的PIDn从公有部分中找到对应的公共信息组条目,凑齐(xn1,IDn1)和(xn2,IDn2),从而可以恢复得到IDn,并将其存储于内存中,如密钥卡掉电则IDn消失。
交易的具体步骤描述如下:
1生成交易并验证交易
1.1生成未签名交易
交易发起方为区块链中第n个用户,交易Tx的FROM参数为PIDn,即交易发起方对应密钥卡的伪身份标识;TO参数为更换伪身份标识的智能合约地址;DATA参数为PIDn||{IDn1}K,交易发起人对PIDn||ModN哈希计算得到K=HASH(PIDn||ModN),利用K对IDn1进行对称加密得到{IDn1}K;NONCE参数为HASH(N)||u。其中N表示为上一个交易序列号,设x0=N+DN,计算得到xn1′=HASH(xn1||x0)和xn2′=HASH(x0||xn1)。对比xn1、xn1'和xn2′,如果任意两个数相等,则当前x0不满足更换PID的条件,将对N加2*DN得到新的x0,并重新执行上述步骤,查看是否满足更换PID的条件,以此类推,设执行u次后,满足更换PID的条件,此时x0=N+u*DN。
1.2生成交易签名
对交易进行签名得到SIGSKn=SIGN(TO||NONCE||DATA||IDn,SKn)。SIGN(m,k)表示以m为签名内容、以k为密钥的RSA签名。其中,由于签名的对象中的IDn无法被敌方所知,因此敌方无法通过签名破解签名私钥。
1.3发送交易
交易发起方将交易FROM||TO||NONCE||DATA||SIGSKn广播至区块链网络的所有节点。
1.4验证交易
区块链网络中的每个节点对该交易进行验证。各节点根据PIDn搜索本地公共信息列表中的伪身份标识项,如找不到PIDn,则交易验证失败;如找到对应的交易发起方公共信息组,则计算得到K=HASH(PIDn||ModN),利用K对DATA中的{IDn1}K解密得到IDn1。根据(xn1,IDn1)和(xn2,IDn2)恢复得到交易发起方的身份标识IDn。利用交易发起方公钥PKn和签名内容TO||NONCE||DATA||IDn对签名SIGSKn进行验证,如签名验证失败,则交易验证失败;否则就表示交易验证成功。
2将该交易加入区块
矿工搜集一定数量的有效交易,并计算得到POW证明,发布区块。
3将该交易加入区块执行交易
3.1更新所有成员的密钥卡
根据区块更新密钥卡的公共信息池中交易发起人对应的公共信息组。各成员根据区块解密得到交易发起人的身份标识IDn,并计算得到x0=N+u*DN,再计算得到xn1′=HASH(xn1||x0)和xn2′=HASH(x0||xn1)。利用xn1'和xn2′再次对IDn进行秘密共享计算得到秘密碎片(xn1′,IDn1')和(xn2′,IDn2′)。计算得到PIDn′=HASH(IDn||IDn1'||IDn2′)。在本地的公共信息池中交易发起人对应的公共信息组中,PIDn更新为PIDn′,xn1更新为xn1',(xn2,IDn2)更新为(xn2′,IDn2′),N更新为x0。
3.2更新交易发起方的密钥卡
交易发起方的密钥卡除更新上述步骤3.1中的内容外,还将更新密钥卡私有部分的内容,将私有部分PIDn||(xn1,IDn1)||SKn中的PIDn更新为PIDn′,(xn1,IDn1)更新为(xn1′,IDn1')。
3.3更新区块链监管端密钥卡
除了执行上述步骤3.1的内容,还记录下实际ID在本次交易更换伪身份标识PID的记录,包括记录本区块的区块号及交易号,方便区块链监管机构进行追溯。
基于RSA的签名能够抗量子计算的原理:设签名为SIGN(m,SK)=m^SK mod ModN;由于本专利的ModN不公开,敌方无法通过大数分解得到SK;由于签名的对象m中带有ID,ID无法被敌方所知,因此敌方无法得知m;由于签名公式中的三个变量均无法被敌方所知,因此敌方无法根据签名的值推算得到SK。综上所述,公开的数字签名能抵抗敌方量子计算机对RSA密码学的攻击。
其他类型的交易,也可以将上述更换PID的交易合并在内,即同时执行其他类型的交易以及更换PID,即可实现其他类型的交易的ID隐藏和签名的抗量子计算。
实施例2
本实施例中,为方便描述,存在与实施例1相同的符号,但是与实施例1中的符号无任何关联。本实施例中所用的非对称算法为基于身份标识的密码算法。由密钥管理服务器为区块链各节点的密钥卡颁发私钥,颁发完毕后不参与网络通信。密钥管理服务器创建一个素数q阶的有限循环群G,群G的生成元为P。随机选择一个数s∈Zq。计算得到密钥管理服务器的公共密钥PPub=s*P。选择得到两个加密的哈希函数H1:{0,1}*×G→Zq和H2:{0,1}*→G。密钥管理服务器将s作为主密钥保存在服务器内,将{G,q,P,PPub,H1,H2}作为该群组数字签名的系统参数。
密钥卡生成:
本实施例中,为保证ID的安全,将ID进行(2,2)的秘密共享,得到2块秘密碎片,可表示为(x1,ID1)和(x2,ID2)。秘密共享的计算方式如下,根据f(x)=ID+RAND*x公式得到ID1=ID+RAND*x1和ID2=ID+RAND*x2,以上公式中RAND表示为随机数,优选为量子随机数。
本实施例中密钥卡的存储结构如图2所示,密钥卡内主要分为公有部分和私有部分。公有部分存有公共信息池,由密钥卡存储器存储。公共信息池由多组公共信息组组成。公共信息组可表示为PID||x1||(x2,ID2)||N||DN。其中PID为伪身份标识,由ID||ID即D2进行哈希算法计算得到的哈希值,可表示为PID=HASH(ID||ID1||ID2),其中HASH()为既定的哈希算法。N表示区块链交易中的交易序列号。DN为交易序列号的增长的步长,即交易序列号的增长规律为每次增加DN。设第n个用户的密钥卡内的私有部分存储有PIDn||(xn1,IDn1)||PKn||SKn和算法参数{G,q,P,PPub,H1,H2},所有密钥卡的基于身份标识的密钥算法基于相同的算法参数,即所有密钥卡私有部分存储的算法参数{G,q,P,PPub,H1,H2}相同。其中带有n的参数为该密钥卡对应的参数,如PKn为该密钥卡的公钥,SKn为该密钥卡的私钥。私有部分采用比密钥卡存储器安全性更高的TPM芯片或类似功能的芯片进行存储,且带有防拆解的功能,即一旦被拆解则进行自毁。即使有密钥卡的公有部分被破解,那么只要私有部分不被破解,敌方也无法获取到真实ID。
相应的,区块链监管端的密钥卡除拥有上述结构与功能外,还记录各区块链节点密钥卡的实际ID及初始PID的对应关系,以及该实际ID的PID变化的历史记录,包括记录PID变化的区块号及交易号,方便区块链监管机构进行追溯。历史记录存储于区块链监管端密钥卡,或由区块链监管端密钥卡加密存储于区块链监管端密钥卡外部。
交易流程:
本系统结构如图1所示,每个用户作为区块链的一个节点,都有相应的区块链应用,并配有密钥卡。密钥卡被区块链应用调用,密钥不出密钥卡。本实施例中的交易为第n个用户更换PID的交易。第n个用户的密钥卡上电后,根据私有部分中的PIDn从公有部分中找到对应的公共信息组条目,凑齐(xn1,IDn1)和(xn2,IDn2),从而可以恢复得到IDn,并将其存储于内存中,如密钥卡掉电则IDn消失。
交易的具体步骤请参照实施例1。其中,用于加解密DATA中IDn1的K计算方式为K=HASH(PIDn||PPub),且在交易签名时,使用的签名算法为基于身份标识的签名算法;在验证交易时,则通过IBS算法(即基于ID的签名算法)计算得到的交易发起方的身份标识计算得到交易发起方的公钥PKn=H2(IDn)。IDn为各节点计算得到的交易发起方的身份分量。
基于ID密码学的签名能够抗量子计算的原理:设签名为SIGN(m,SK)=(U,V)=(r*PK,(r+h)*SK);由于本专利的用户ID不公开,敌方无法得到PK,因此敌方无法通过U和PK得到随机数r;由于签名的对象m中带有ID,ID无法被敌方所知,因此敌方无法通过m得到h;由于敌方无法得到r和h,因此敌方无法通过V=(r+h)*SK得到SK。综上所述,公开的数字签名能抵抗敌方量子计算机对基于身份的公钥密码学的攻击。
其他类型的交易,也可以将上述更换PID的交易合并在内,即同时执行其他类型的交易以及更换PID,即可实现其他类型的交易的ID隐藏和签名的抗量子计算。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.基于秘密共享的抗量子计算区块链的方法,其特征在于,所述方法包括:
交易发起方生成未签名交易,计算本次交易的交易序列号,直至满足交易发起方更换伪身份标识,利用自身密钥卡内私有部分存储的伪身份标识和密钥参数中相关信息进行哈希运算得到对称密钥,利用所述对称密钥对自身密钥卡真实身份秘密共享得到的第一身份分量进行加密,将所述加密后的第一身份分量与自身伪身份标识结合为第一参数,利用自身密钥卡内公共信息池存储的上一次交易序列号进行哈希计算,将所述哈希计算值与本次交易中增加的交易序列号增长步长的个数存入第二参数,将自身伪身份标识赋值给第三参数,将请求更换伪身份标识的智能合约地址赋值给第四参数;
将所述的第一参数、第二参数、第三参数和第四参数作为未签名交易的消息,将第一参数、第二参数、第四参数和交易发起方密钥卡真实身份作为待签名消息,利用自身密钥卡内私有部分存储的私钥对所述待签名消息生成第一签名,将所述第一签名填入所述未签名交易得到已签名交易,将所述已签名交易广播至区块链的各节点;
所述节点获取所述已签名交易后从根据交易发起方的伪身份标识从自身密钥卡内获取对应的密钥参数,利用所述密钥参数和交易发起方的伪身份标识哈希运算得到对称密钥,利用所述对称密钥解密第一参数;利用密钥卡内密钥信息和待签名消息验证所述已签名交易内的第一签名。
2.根据权利要求1所述的基于秘密共享的抗量子计算区块链的方法,其特征在于,所述方法基于RSA算法,包括:
将RSA算法参数作为所述密钥参数存储于交易发起方密钥卡内私有部分,将交易发起方的伪身份标识和所述RSA算法参数运算获得的哈希值作为所述交易发起方的对称密钥;将所有节点密钥卡的私钥对应的公钥作为所述各节点验证时的密钥信息存储于所有密钥卡内的公共信息池。
3.根据权利要求1所述的基于秘密共享的抗量子计算区块链的方法,其特征在于,所述方法基于身份标识的密码算法,包括:
密钥管理服务器为区块链各节点的密钥卡颁发私钥,颁发完成后不参与网络通信,将包含公共密钥的密码算法的系统参数作为所述密钥参数存储于交易发起方密钥卡内私有部分;将交易发起方的伪身份标识和所述公共密钥运算获得的哈希值作为所述交易发起方的对称密钥,利用所述交易发起方的身份分量计算获得真实身份,利用所述交易发起方的真实身份计算得到公钥作为所述各节点验证时的密钥信息。
4.根据权利要求1所述的一种基于秘密共享的抗量子计算区块链的方法,其特征在于,所述对自身密钥卡真实身份进行秘密共享包括:
各节点密钥卡的真实身份通过(2,2)秘密共享得到第一秘密分量和第二秘密分量,第一秘密分量包括第一秘密分量随机数和第一身份分量,第二秘密分量包括第二秘密分量随机数和第二身份分量;利用所述真实身份、第二身份分量和第二身份分量哈希运算得到各节点密钥卡的初始伪身份标识。
5.根据权利要求1所述的基于秘密共享的抗量子计算区块链的方法,其特征在于,所述计算本次交易的交易序列号,直至满足交易发起方更换伪身份标识,内容包括:
取出自身密钥卡的公共信息池中获取交易序列号增长步长和上一次交易序列号,将上一次交易序列号与一个交易序列号增长步长之和作为交易序列号,利用第一秘密分量随机数和交易序列号计算得到两个哈希值,并将所述哈希值作为新的秘密分量随机数,若第一秘密分量随机数和两个哈希值中任意二者相等,则此次计算得出的交易序列号不满足更换伪身份标识的条件,在交易序列号中增加一个交易序列号增长步长,重新计算两个哈希值,直至第一秘密分量随机数和两个哈希值中任意二者不相等,记录当前交易序列号与若干个的交易序列号增长步长之和作为本次交易序列号。
6.根据权利要求1所述的基于秘密共享的抗量子计算区块链的方法,其特征在于,所述抗量子计算区块链系统的方法还包括:
矿工收集验证成功的已签名交易,对若干所述已签名交易计算POW证明,获取挖矿区块,将所述区块广播至区块链的各节点。
7.根据权利要求1所述的基于秘密共享的抗量子计算区块链的方法,其特征在于,所述抗量子计算区块链系统的方法还包括:
根据区块更新各节点密钥卡内的公共信息池,根据所述交易发起方的本次交易序列号作为更新后的上一次交易序列号,根据所述交易序列号和第一身份分量哈希计算获得两个哈希值,根据所述哈希值计算更新后的第一秘密分量随机数和第二秘密分量;
根据区块更新交易发起方密钥卡内的私有部分,根据所述哈希值计算更新后的自身伪身份标识和第一秘密分量;
根据区块更新区块链监管端的密钥卡,将所述伪身份标识及其对应的交易发起方真实身份存储于监管端的密钥卡,同时记录本区块的区块号和更新后的上一次交易序列号。
8.基于秘密共享的抗量子计算区块链系统,其特征在于,包括区块链客户端、区块链监管端和通信网络;
所述区块链客户端能够作为交易发起方、区块链节点以及矿工;所述区块链客户端配置有密钥卡,所述密钥卡设有存储于密钥卡存储器的公有部分和私有部分;所述公有部分设有公共信息池,公共信息池存储若干公共信息组,每组公共信息组包括伪身份标识、第一秘密分量随机数、第二秘密分量、上一次交易序列号和交易序列号增长步长;所述私有部分存储自身的伪身份标识、第一秘密分量和自身私钥;
所述区块链监管端配置的密钥卡包含区块链客户端密钥卡相同的结构和功能,区块链监管端配置的密钥卡还存有区块链节点密钥卡真实身份ID与初始伪身份标识的对应关系和伪身份标识变化的历史记录;
所述客户端通过所述通信网络实现所述抗量子计算区块链方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010073008.6A CN111327419B (zh) | 2020-01-21 | 2020-01-21 | 基于秘密共享的抗量子计算区块链的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010073008.6A CN111327419B (zh) | 2020-01-21 | 2020-01-21 | 基于秘密共享的抗量子计算区块链的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111327419A true CN111327419A (zh) | 2020-06-23 |
CN111327419B CN111327419B (zh) | 2022-11-01 |
Family
ID=71172524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010073008.6A Active CN111327419B (zh) | 2020-01-21 | 2020-01-21 | 基于秘密共享的抗量子计算区块链的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111327419B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112039893A (zh) * | 2020-08-31 | 2020-12-04 | 成都质数斯达克科技有限公司 | 私密交易处理方法、装置、电子设备及可读存储介质 |
CN113691376A (zh) * | 2021-08-04 | 2021-11-23 | 深圳前海微众银行股份有限公司 | 一种密钥管理方法及装置 |
CN114450917A (zh) * | 2020-08-18 | 2022-05-06 | 量子特性技术有限公司 | 一种高度安全的网络通信方法及系统 |
CN116992798A (zh) * | 2023-09-25 | 2023-11-03 | 苏州元脑智能科技有限公司 | 一种量子芯片设计调度方法、系统、电子设备及存储介质 |
CN114450917B (zh) * | 2020-08-18 | 2024-05-10 | 量子特性技术有限公司 | 一种安全的数据网络通信方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713326A (zh) * | 2016-12-28 | 2017-05-24 | 上海电机学院 | 一种车载网消息认证协议 |
CN108964919A (zh) * | 2018-05-02 | 2018-12-07 | 西南石油大学 | 基于车联网的具有隐私保护的轻量级匿名认证方法 |
-
2020
- 2020-01-21 CN CN202010073008.6A patent/CN111327419B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713326A (zh) * | 2016-12-28 | 2017-05-24 | 上海电机学院 | 一种车载网消息认证协议 |
CN108964919A (zh) * | 2018-05-02 | 2018-12-07 | 西南石油大学 | 基于车联网的具有隐私保护的轻量级匿名认证方法 |
Non-Patent Citations (1)
Title |
---|
朱晓玲等: "一种公平有效的假名管理模型", 《计算机科学》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114450917A (zh) * | 2020-08-18 | 2022-05-06 | 量子特性技术有限公司 | 一种高度安全的网络通信方法及系统 |
CN114450917B (zh) * | 2020-08-18 | 2024-05-10 | 量子特性技术有限公司 | 一种安全的数据网络通信方法及系统 |
CN112039893A (zh) * | 2020-08-31 | 2020-12-04 | 成都质数斯达克科技有限公司 | 私密交易处理方法、装置、电子设备及可读存储介质 |
CN112039893B (zh) * | 2020-08-31 | 2023-04-18 | 成都质数斯达克科技有限公司 | 私密交易处理方法、装置、电子设备及可读存储介质 |
CN113691376A (zh) * | 2021-08-04 | 2021-11-23 | 深圳前海微众银行股份有限公司 | 一种密钥管理方法及装置 |
CN113691376B (zh) * | 2021-08-04 | 2022-04-26 | 深圳前海微众银行股份有限公司 | 一种密钥管理方法及装置 |
CN116992798A (zh) * | 2023-09-25 | 2023-11-03 | 苏州元脑智能科技有限公司 | 一种量子芯片设计调度方法、系统、电子设备及存储介质 |
CN116992798B (zh) * | 2023-09-25 | 2024-01-16 | 苏州元脑智能科技有限公司 | 一种量子芯片设计调度方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111327419B (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111475796B (zh) | 基于秘密共享和量子通信服务站的抗量子计算身份认证方法及系统 | |
CN106548345B (zh) | 基于密钥分割实现区块链私钥保护的方法及系统 | |
EP3841702B1 (en) | Method, user device, management device, storage medium and computer program product for key management | |
CN109919611B (zh) | 基于对称密钥池服务器的抗量子计算区块链交易方法和系统 | |
CN110969431B (zh) | 区块链数字币私钥的安全托管方法、设备和系统 | |
CN111327419B (zh) | 基于秘密共享的抗量子计算区块链的方法及系统 | |
CN110868295B (zh) | 基于秘密共享的抗量子计算联盟链系统及通信方法 | |
CN107171796A (zh) | 一种多kmc密钥恢复方法 | |
CN109921905B (zh) | 基于私钥池的抗量子计算密钥协商方法和系统 | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统 | |
CN109861956B (zh) | 基于状态通道的数据验证系统、方法、装置及设备 | |
CN110737915B (zh) | 基于隐式证书的抗量子计算匿名身份识别方法及系统 | |
CN110690957A (zh) | 基于联盟链和隐式证书的抗量子计算私钥备份、挂失及恢复方法及系统 | |
CN110661613A (zh) | 基于联盟链的抗量子计算隐式证书颁发方法及系统 | |
CN110930251A (zh) | 基于联盟链和隐式证书的抗量子计算云存储方法及系统 | |
CN110557248A (zh) | 基于无证书密码学的抗量子计算签密的密钥更新方法和系统 | |
CN110557247B (zh) | 基于身份的区块链方法和系统 | |
CN116830523A (zh) | 阈值密钥交换 | |
JP2010231404A (ja) | 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム | |
CN109687961B (zh) | 基于对称密钥池路由装置的抗量子计算区块链交易方法和系统 | |
CN110365472B (zh) | 基于非对称密钥池对的量子通信服务站数字签名方法、系统 | |
CN109660344B (zh) | 基于非对称密钥池路由装置的抗量子计算区块链交易方法和系统 | |
CN110971403A (zh) | 一种基于秘密共享公钥池的抗量子计算区块链系统和交易方法 | |
CN111343160B (zh) | 基于秘密共享和路由装置的抗量子计算区块链交易方法和系统 | |
CN111245611B (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 |