CN110557247B - 基于身份的区块链方法和系统 - Google Patents
基于身份的区块链方法和系统 Download PDFInfo
- Publication number
- CN110557247B CN110557247B CN201910642849.1A CN201910642849A CN110557247B CN 110557247 B CN110557247 B CN 110557247B CN 201910642849 A CN201910642849 A CN 201910642849A CN 110557247 B CN110557247 B CN 110557247B
- Authority
- CN
- China
- Prior art keywords
- key
- transaction
- random number
- blockchain
- node
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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/002—Countermeasures against attacks on cryptographic mechanisms
-
- 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/0852—Quantum cryptography
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Electromagnetism (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Power Engineering (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请涉及一种基于身份的区块链方法和系统,本发明中,由于数字签名基于含密钥的ID和含密钥的消息,计算所得的数字签名可以抵抗对基于身份的公钥密码学的攻击。因此数字签名可以直接传输,无需加密以应对量子计算机的破解。因此本专利方法避免了使用对称密钥加密的方式来抵抗攻击,降低了各方的设备负担。
Description
技术领域
本申请涉及安全通信技术领域,特别是涉及基于身份的区块链方法和系统。
背景技术
区块链是一种全新的分布式基础架构与计算范式,利用有序的链式数据结构存储数据,利用共识算法更新数据,利用密码学技术保障数据安全。在基于区块链的交易中,确保交易的数据安全和客户的隐私是区块链能够进一步发展的必要条件。为此,密码学技术尤其是公钥密钥学在区块链中得到了广泛的应用。
正如大多数人所了解的,量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。
现有技术存在的问题:
(1)现有技术中,区块链的公钥和签名均未加密。由于量子计算机能快速通过公钥得到对应的私钥,因此现有的区块链交易方法容易被量子计算机破解;签名的输入和输出均可被敌方所知,在量子计算机存在的情况下,可能被推导出私钥,导致区块链系统被量子计算机破解。
(2)现有技术中,区块链的公钥和签名要实现需要涉及到用对称密钥算法加密签名,加密的计算会增加设备端的负担,尤其是一些低性能的设备或者用电池供电的设备。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少节点存储数据量的基于身份的区块链方法。
本申请公开了基于身份的区块链方法,所述区块链方法包括:
交易发起方生成未签名交易,利用所述未签名交易的输出资金的第一转入地址进行哈希运算得到第一哈希值,利用所述第一哈希值,利用所述第一哈希值作为密钥指针随机数进行运算得到第一密钥指针,根据所述第一密钥指针在自身存储的群组对称密钥池内找到第一随机数序列,利用所述第一转入地址和所述第一随机数序列得到第一密钥,利用所述第一密钥进行计算得到第一公钥;
将所述第一转入地址对应的未签名交易作为第一消息,对需要发送的第一消息进行哈希运算得到第二哈希值,利用所述第二哈希值作为密钥指针随机数进行运算得到第二密钥指针,根据所述第二密钥指针在自身存储的群组对称密钥池内找到第二随机数序列,按预设条件生成第一随机数,利用所述第一随机数和所述第一公钥得到第三密钥;利用所述第一消息和所述第二随机数序列生成第一验证码,利用所述第一验证码和所述第三密钥生成第三哈希值,利用所述第一随机数、所述第三哈希值以及自身存储的交易发起方私钥生成密钥消息,利用所述密钥消息和第三密钥生成第一签名;将所述第一签名填入所述未签名交易得到已签名交易,将所述已签名交易广播至同一群组的区块链网络的各节点;
所述节点获取所述已签名交易后从区块链的历史记录中获取所述第一转入地址,并计算得到所述第一公钥,利用自身存储的群组对称密钥池验证所述已签名交易内的第一签名。
优选的,所述区块链方法还包括:
矿工收集所述已签名交易,生成挖矿交易后计算挖矿随机数,获得记账权并利用所述挖矿交易得到挖矿区块,将所述挖矿区块广播至同一群组的区块链网络的各节点;
所述节点获取所述挖矿区块,验证通过后接受所述挖矿区块。
优选的,所述未签名交易包括若干条交易信息,每条交易信息包括输入资金的序号,输入资金在其来源的身份信息,输入资金在其来源的序号,输出资金在所述未签名交易的序号,输出资金的转入地址以及输出资金的数额。
本申请公开了一种交易发起方设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述区块链方法的中的交易发起方的步骤。
优选的,所述交易发起方设备能够作为所述节点和/或矿工。
本申请公开了一种节点设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述区块链方法的中的节点的步骤。
优选的,所述节点设备能够作为所述交易发起方和/或矿工。
本申请公开了一种矿工设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述区块链方法的中的矿工的步骤。
优选的,所述矿工设备能够作为所述交易发起方和/或节点。
本申请公开了基于身份的区块链系统,包括客户端和通信网络,所述客户端能够作为交易发起方,节点以及矿工;所述客户端配置有密钥卡,所述密钥卡内存储有群组对称密钥池、自身私钥以及签名算法参数;
所述客户端通过所述通信网络实现上述技术方案中所述区块链方法的步骤。
本发明中,由于数字签名基于含密钥的ID和含密钥的消息,计算所得的数字签名可以抵抗对基于身份的公钥密码学的攻击。因此数字签名可以直接传输,无需加密以应对量子计算机的破解。因此本专利方法避免了使用对称密钥加密的方式来抵抗攻击,降低了各方的设备负担。
本专利使用加密的公钥,用于加密公钥的密钥存储在密钥卡中。密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。由于量子计算机无法得到用户公钥,于是也无法得到对应的私钥。因此该方案不容易被量子计算机破解。
最后,现有技术中,交易的输入部分除了需要填写签名,还需要填写该签名对应的公钥。本专利由于采用基于身份的密码学,由ID代替钱包地址,而用户公钥可以根据ID计算所得,因此在交易的输入部分无需填写签名对应的公钥。因此本专利的另一个优势是,通过消除对公钥的存储,大大减小了区块链的存储量。
附图说明
图1为本发明实施例提供的通信系统结构图;
图2为本发明身份ID的处理流程图;
图3为本发明的密钥卡密钥区的分布示意图。
图4为未签名交易的结构示意图;
图5为第m次签名过程中交易结构示意图;
图6为已签名交易的结构示意图;
图7为区块与交易的关系;
图8为挖矿交易的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。其中本申请中的节点在未做特殊说明的情况下均为量子通信节点,本申请中的各名称以字母和数字组合为准,例如Q,节点Q,节点在下文表示同一含义,即节点Q;再例如第一密钥KR1,KR1,真随机数KR1,第一密钥在下文中表示同一含义,即第一密钥KR1,其余名称同理。
本申请公开了基于身份的区块链方法,所述区块链方法包括:
交易发起方生成未签名交易,利用所述未签名交易的输出资金的第一转入地址进行哈希运算得到第一哈希值,利用所述第一哈希值,利用所述第一哈希值作为密钥指针随机数进行运算得到第一密钥指针,根据所述第一密钥指针在自身存储的群组对称密钥池内找到第一随机数序列,利用所述第一转入地址和所述第一随机数序列得到第一密钥,利用所述第一密钥进行计算得到第一公钥;
将所述第一转入地址对应的未签名交易作为第一消息,对需要发送的第一消息进行哈希运算得到第二哈希值,利用所述第二哈希值作为密钥指针随机数进行运算得到第二密钥指针,根据所述第二密钥指针在自身存储的群组对称密钥池内找到第二随机数序列,按预设条件生成第一随机数,利用所述第一随机数和所述第一公钥得到第三密钥;利用所述第一消息和所述第二随机数序列生成第一验证码,利用所述第一验证码和所述第三密钥生成第三哈希值,利用所述第一随机数、所述第三哈希值以及自身存储的交易发起方私钥生成密钥消息,利用所述密钥消息和第三密钥生成第一签名;将所述第一签名填入所述未签名交易得到已签名交易,将所述已签名交易广播至同一群组的区块链网络的各节点;
所述节点获取所述已签名交易后从区块链的历史记录中获取所述第一转入地址,并计算得到所述第一公钥,利用自身存储的群组对称密钥池验证所述已签名交易内的第一签名。
优选的,所述区块链方法还包括:
矿工收集所述已签名交易,生成挖矿交易后计算挖矿随机数,获得记账权并利用所述挖矿交易得到挖矿区块,将所述挖矿区块广播至同一群组的区块链网络的各节点;
所述节点获取所述挖矿区块,验证通过后接受所述挖矿区块。
优选的,所述未签名交易包括若干条交易信息,每条交易信息包括输入资金的序号,输入资金在其来源的身份信息,输入资金在其来源的序号,输出资金在所述未签名交易的序号,输出资金的转入地址以及输出资金的数额。
本申请公开了一种交易发起方设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述区块链方法的中的交易发起方的步骤。
优选的,所述交易发起方设备能够作为所述节点和/或矿工。
本申请公开了一种节点设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述区块链方法的中的节点的步骤。
优选的,所述节点设备能够作为所述交易发起方和/或矿工。
本申请公开了一种矿工设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述技术方案中所述区块链方法的中的矿工的步骤。
优选的,所述矿工设备能够作为所述交易发起方和/或节点。
本申请公开了基于身份的区块链系统,包括客户端和通信网络,所述客户端能够作为交易发起方,节点以及矿工;所述客户端配置有密钥卡,所述密钥卡内存储有群组对称密钥池、自身私钥以及签名算法参数;
所述客户端通过所述通信网络实现上述技术方案中所述区块链方法的步骤。
区块链是一种按照时间顺序将数据区块用类似链表的方式组成的数据结构,并以密码学方式保证不可篡改和不可伪造的分布式去中心化账本,能够安全存储简单的、有先后关系的、能在系统内进行验证的数据。其中,密码学主要用到公钥密码学。本专利处理区块链中的交易过程,总体思路是对区块链交易中的数字签名进行的计算。
本发明中密钥卡的密钥区结构如图3所示,存储有群组对称密钥池,还存储有用户私钥及算法参数。关于群组对称密钥池的说明可见申请号为“201810385109.X”的专利。群组对称密钥池由大数据量的真随机数组成,存储大小大于等于1GB。作为优选,真随机数为量子随机数。密钥卡不仅可以存储大量的数据,还具有处理信息的能力。本发明中,密钥卡内存在相应的算法以满足发明的需求。
密钥卡的描述可见申请号为“201610843210.6”的专利。当为移动终端时,密钥卡优选为密钥SD卡;当为固定终端时,密钥卡优选为密钥USBkey或主机密钥板卡。
本专利中,区块链中的每一个节点都有匹配的密钥卡,密钥卡的颁发方为密钥卡的主管方,一般为群组的管理部门,例如某企业或事业单位的管理部门;密钥卡的被颁发方为密钥卡的主管方所管理的成员,一般为某企业或事业单位的各级员工。用户端首先到密钥卡的主管方申请开户。当用户端进行注册登记获批后,将得到密钥卡(具有唯一的密钥卡ID)。密钥卡存储了客户注册登记信息。同一群组下的客户端密钥卡中的群组对称密钥池都下载自同一个密钥管理服务器,且其颁发的每个客户端密钥卡中存储的群组对称密钥池是完全一致的。优选为,密钥卡中存储的密钥池大小可以是1G、2G、4G、8G、16G、32G、64G、128G、256G、512G、1024G、2048G、4096G等等。其容量取决于主管方对安全的要求,容量越大安全性越高。
密钥卡从智能卡技术上发展而来,是结合了真随机数发生器(优选为量子随机数发生器)、密码学技术、硬件安全隔离技术的身份认证和加解密产品。密钥卡的内嵌芯片和操作系统可以提供密钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,密钥卡成为私钥和密钥池的安全载体。每一个密钥卡都有硬件PIN码保护,PIN码和硬件构成了用户使用密钥卡的两个必要因素。即所谓“双因子认证”,用户只有同时取得保存了相关认证信息的密钥卡和用户PIN码,才可以登录系统。即使用户的PIN码被泄露,只要用户持有的密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的密钥卡遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。
实施例
密钥卡生成:
密钥卡内密钥池由密钥管理服务器颁发所得。密钥管理服务器创建一个群组时,需要为该群组创建密码系统。
密钥管理服务器产生大数据量的真随机数,所述真随机数优选为量子随机数。密钥管理服务器将真随机数写入到一个文件内形成密钥池文件,即为群组对称密钥池。
下文涉及的算法所有数学系统及函数可参考《An Identity-Based Signaturefrom Gap Diffie-Hellman Groups》。密钥管理服务器创建一个素数q阶的有限循环群G,群G的生成元为P。随机选择一个数s∈Zq。计算得到密钥管理服务器的公共密钥Ppub=sP。选择得到两个加密的哈希函数H1:{0,1}*×G→Zq和H2:{0,1}*→G。密钥管理服务器将s作为主密钥保存在服务器内,将{G,q,P,Ppub,H1,H2}作为该群组数字签名的系统参数。为密钥卡颁发密钥时,密钥管理服务器会将数字签名的算法参数{G,q,P,Ppub,H1,H2}写入到密钥卡的数据安全区内,并为密钥卡赋予一个身份ID。
密钥管理服务器根据密钥卡的ID进行哈希运算得到HID=HASH(ID)。将HID作为密钥指针随机数,进行密钥指针函数Fp计算得到密钥指针PID=Fp(HID)。密钥管理服务器根据密钥指针PID去本地密钥卡内的群组对称密钥池内找到对应的随机数序列KID。密钥管理服务器利用指定算法FC计算ID和KID得到含密钥的ID即CID=FC(ID,KID),FC算法可以为异或、HMAC、拼接等小计算量的运算方式。密钥管理服务器计算得到对应的私钥DID=sH2(CID)。并将计算得到私钥DID存入到对应ID密钥卡的安全区内。
下文签名和验证签名的过程发生在对应的密钥卡内。
本系统结构如图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次签名为例,对RTx作如图5所示改动得到RTxm。第m次签名时,获取第m笔输入金额在其来源所在的Tx中对应的Dest值。
将该Dest值作为PreDestm加入RTx得到RTxm。设该Dest的值为IDm,由ID提取密钥的过程如图2所示,文字描述如下:
对ID进行哈希运算得到HID=HASH(ID),将HID作为密钥指针随机数,进行密钥指针函数Fp计算得到PID=Fp(HID)。根据密钥指针PID在密钥卡内的群组对称密钥池内找到对应的随机数序列KID。利用指定算法FC对ID和KID进行计算得到具有唯一性的含密钥的ID即CID=FC(ID,KID)。
通过IDm得到CIDm后,对CIDm进行计算得到公钥QIDm=H2(CIDm)。使用密钥卡内私钥DIDm和算法参数对RTxm进行签名。对RTxm进行Hash,得到Hash值Txhm=HASH(RTxm)。将Txhm作为密钥指针随机数,进行密钥指针函数Fp计算得到密钥指针Pm=Fp(Txhm)。根据密钥指针Pm在密钥卡内的群组对称密钥池内找到对应的随机数序列Km。选择一个随机数rm∈Zq,计算Um=rmQIDm,含密钥的消息Mm=MAC(RTxm,Km),hm=H1(Mm,Um)和Vm=(rm+hm)DIDm(所述MAC(a,b)表示MAC算法,即消息认证码算法,a为消息内容,b为本次计算使用的密钥)。计算得到签名Txsm=(Um,Vm)。用相同的方法得到所有Txs。
由于量子计算机作为非群组成员,不拥有群组对称密钥池,因此无法得到含密钥的ID即CIDm;由于QIDm=H2(CIDm),因此量子计算机无法得到QIDm;因此量子计算机无法通过Um和QIDm得到随机数rm。同样地,量子计算机无法得到含密钥的消息Mm;因此量子计算机无法通过Mm得到hm;由于量子计算机无法得到rm和hm,因此量子计算机无法通过Vm=(rm+hm)DIDm得到DIDm。综上所述,公开的ID和数字签名能抵抗对基于身份的公钥密码学的攻击。
3.发送Tx:将已签名的交易Tx广播至区块链网络的所有节点。
4.验证Tx:区块链网络中的每个节点对该交易进行验证。
交易验证过程中,区块链网络中的每个节点均可作为验证节点。验证节点根据Tx输入部分的内容,从区块链的历史记录中获取各个Dest值,经过一系列计算得到签名方的各个公钥QID。计算过程参考前文描述。验证节点用与上文相同的方式形成一个验证方的RTx,对各个RTxm进行Hash得到Hash值Txhm=HASH(RTxm)。将Txhm作为密钥指针随机数,进行密钥指针函数Fp计算得到Pm=Fp(Txhm)。验签方根据密钥指针Pm去密钥卡内的群组对称密钥池内找到对应的随机数序列Km。验签方取密钥卡内的算法参数,计算得到Mm=
MAC(RTxm,Km)和hm=H1(Mm,Um)。检查{P,Ppub,Um+hmQIDm,Vm}是否为一个有效的Diffie-Hellman元组。若有效,则验证通过。
5.将该交易加入区块:区块与交易的关系如图7所示。
5.1矿工收集交易:矿工对所有尚未确认的交易进行收集,区块链中存储的交易的最终形态如图6所示。
5.2矿工形成挖矿交易:矿工形成一个如图8所示的挖矿交易,输入部分填充一些矿工所属矿池或者其他必要信息,输出部分与普通交易相同,输出金额总量与生成区块的奖励金额相同。
5.3矿工计算挖矿随机数:矿工计算出一个满足规则的随机数,即获得本次记账权,将自己生成的挖矿交易加入到区块中。
5.4矿工广播成功挖矿区块:矿工获取成功挖矿区块后,将该区块广播,其余节点对区块进行验证。主要是验证挖矿随机数是否满足规则。如验证成功,则接受该区块为新区块。
总结:
本发明中,由于数字签名基于含密钥的ID和含密钥的消息,计算所得的数字签名可以抵抗对基于身份的公钥密码学的攻击。因此数字签名可以直接传输,无需加密以应对量子计算机的破解。因此本专利方法避免了使用对称密钥加密的方式来抵抗攻击,降低了各方的设备负担。
本专利使用加密的公钥,用于加密公钥的密钥存储在密钥卡中。密钥卡是独立的硬件隔离设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。由于量子计算机无法得到用户公钥,于是也无法得到对应的私钥。因此该方案不容易被量子计算机破解。
最后,现有技术中,交易的输入部分除了需要填写签名,还需要填写该签名对应的公钥。本专利由于采用基于身份的密码学,由ID代替钱包地址,而用户公钥可以根据ID计算所得,因此在交易的输入部分无需填写签名对应的公钥。因此本专利的另一个优势是,通过消除对公钥的存储,大大减小了区块链的存储量。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.基于身份的区块链方法,其特征在于,所述区块链方法包括:
交易发起方生成未签名交易,利用所述未签名交易的输出资金的第一转入地址进行哈希运算得到第一哈希值,利用所述第一哈希值作为密钥指针随机数进行运算得到第一密钥指针,根据所述第一密钥指针在自身存储的群组对称密钥池内找到第一随机数序列,利用所述第一转入地址和所述第一随机数序列得到第一密钥,利用所述第一密钥进行计算得到第一公钥;
将所述第一转入地址对应的未签名交易作为第一消息,对需要发送的第一消息进行哈希运算得到第二哈希值,利用所述第二哈希值作为密钥指针随机数进行运算得到第二密钥指针,根据所述第二密钥指针在自身存储的群组对称密钥池内找到第二随机数序列,按预设条件生成第一随机数,利用所述第一随机数和所述第一公钥得到第三密钥;利用所述第一消息和所述第二随机数序列生成第一验证码,利用所述第一验证码和所述第三密钥生成第三哈希值,利用所述第一随机数、所述第三哈希值以及自身存储的交易发起方私钥生成密钥消息,利用所述密钥消息和第三密钥生成第一签名;将所述第一签名填入所述未签名交易得到已签名交易,将所述已签名交易广播至同一群组的区块链网络的各节点;
所述节点获取所述已签名交易后从区块链的历史记录中获取所述第一转入地址,并计算得到所述第一公钥,利用自身存储的群组对称密钥池验证所述已签名交易内的第一签名。
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 |
---|---|---|---|
CN201910642849.1A CN110557247B (zh) | 2019-07-16 | 2019-07-16 | 基于身份的区块链方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910642849.1A CN110557247B (zh) | 2019-07-16 | 2019-07-16 | 基于身份的区块链方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110557247A CN110557247A (zh) | 2019-12-10 |
CN110557247B true CN110557247B (zh) | 2023-05-09 |
Family
ID=68736490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910642849.1A Active CN110557247B (zh) | 2019-07-16 | 2019-07-16 | 基于身份的区块链方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110557247B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110868295B (zh) * | 2019-12-12 | 2023-03-14 | 南京如般量子科技有限公司 | 基于秘密共享的抗量子计算联盟链系统及通信方法 |
CN111464544B (zh) * | 2020-04-01 | 2022-08-23 | 中国联合网络通信集团有限公司 | 一种区块链账本生成方法和装置 |
CN111539729A (zh) * | 2020-05-21 | 2020-08-14 | 北京俩撇科技有限公司 | 一种基于区块链的交易验签方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109756877A (zh) * | 2018-12-05 | 2019-05-14 | 西安电子科技大学 | 一种海量NB-IoT设备的抗量子快速认证与数据传输方法 |
-
2019
- 2019-07-16 CN CN201910642849.1A patent/CN110557247B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109756877A (zh) * | 2018-12-05 | 2019-05-14 | 西安电子科技大学 | 一种海量NB-IoT设备的抗量子快速认证与数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110557247A (zh) | 2019-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11936774B2 (en) | Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys | |
US10659223B2 (en) | Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system | |
JP6908700B2 (ja) | 情報保護のためのシステム及び方法 | |
EP3841702B1 (en) | Method, user device, management device, storage medium and computer program product for key management | |
CN109919611B (zh) | 基于对称密钥池服务器的抗量子计算区块链交易方法和系统 | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
CN109670826B (zh) | 基于非对称密钥池的抗量子计算区块链交易方法 | |
TWI807125B (zh) | 用以分配數位簽署資料之份額的電腦實施系統及方法 | |
CN109660338B (zh) | 基于对称密钥池的抗量子计算数字签名方法和系统 | |
CN110557247B (zh) | 基于身份的区块链方法和系统 | |
CN109921905B (zh) | 基于私钥池的抗量子计算密钥协商方法和系统 | |
KR20200108343A (ko) | 디지털로 서명된 데이터를 획득하기 위한 컴퓨터 구현된 방법 및 시스템 | |
CN111327419B (zh) | 基于秘密共享的抗量子计算区块链的方法及系统 | |
CN109687961B (zh) | 基于对称密钥池路由装置的抗量子计算区块链交易方法和系统 | |
CN109660344B (zh) | 基于非对称密钥池路由装置的抗量子计算区块链交易方法和系统 | |
CN110971403A (zh) | 一种基于秘密共享公钥池的抗量子计算区块链系统和交易方法 | |
CN110519040B (zh) | 基于身份的抗量子计算数字签名方法和系统 | |
CN109670827B (zh) | 基于对称密钥池的抗量子计算区块链交易方法 | |
CN109784917B (zh) | 基于对称密钥池的抗量子计算区块链保密交易系统和方法 | |
CN110768782B (zh) | 基于非对称密钥池和ibs的抗量子计算rfid认证方法及系统 | |
CN110113152B (zh) | 基于非对称密钥池对和数字签名的量子通信服务站密钥协商方法和系统 | |
CN113159767A (zh) | 基于区块链的转账处理方法、装置和系统 | |
KR102546762B1 (ko) | 블룸 필터를 이용한 블록체인에서의 다중 서명 지갑 시스템 | |
EP4304130A1 (en) | Verifying authenticity of a transaction message | |
CN110838918B (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 |