CN114422158B - 一种基于id密码学的抗量子计算数字货币通信方法及系统 - Google Patents
一种基于id密码学的抗量子计算数字货币通信方法及系统 Download PDFInfo
- Publication number
- CN114422158B CN114422158B CN202011082527.5A CN202011082527A CN114422158B CN 114422158 B CN114422158 B CN 114422158B CN 202011082527 A CN202011082527 A CN 202011082527A CN 114422158 B CN114422158 B CN 114422158B
- Authority
- CN
- China
- Prior art keywords
- digital currency
- bank digital
- key
- currency system
- commercial bank
- 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
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004891 communication Methods 0.000 title claims abstract description 42
- 238000012795 verification Methods 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000010276 construction Methods 0.000 abstract description 3
- 230000002708 enhancing effect Effects 0.000 abstract description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 108010057081 Merozoite Surface Protein 1 Proteins 0.000 description 42
- 208000020997 susceptibility to multiple system atrophy 1 Diseases 0.000 description 42
- 238000005336 cracking Methods 0.000 description 6
- APCLRHPWFCQIMG-UHFFFAOYSA-N 4-(5,6-dimethoxy-1-benzothiophen-2-yl)-4-oxobutanoic acid Chemical compound C1=C(OC)C(OC)=CC2=C1SC(C(=O)CCC(O)=O)=C2 APCLRHPWFCQIMG-UHFFFAOYSA-N 0.000 description 5
- 101150092365 MSA2 gene Proteins 0.000 description 5
- 101100240989 Schizosaccharomyces pombe (strain 972 / ATCC 24843) nrd1 gene Proteins 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 101100500421 Chlamydomonas reinhardtii DHC1 gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008033 biological extinction Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
-
- 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
-
- 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/0869—Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/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
-
- 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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于ID密码学的抗量子计算数字货币通信方法及系统,该方法包括以下步骤:S1、使用密钥管理服务器分别为用户、商业银行数字货币系统和中央银行数字货币系统颁发系统公私钥和公私钥;S2、利用身份认证方法实现所述商业银行数字货币系统与所述中央银行数字货币系统之间的身份认证;S3、依据身份认证方法实现所述商业银行数字货币系统与所述用户之间的身份认证;S4、通过数字货币交易方法实现不同用户之间的数字货币交易。有益效果:本发明采用基于ID密码学的密钥颁发服务来代替无法抗量子计算的CA通信系统,既减轻了系统搭建、升级的复杂度,又增强了央行对商业银行的控制能力。
Description
技术领域
本发明涉及身份认证领域,尤其涉及一种基于ID密码学的抗量子计算数字货币通信方法及系统。
背景技术
中国人民银行的数字货币D-RMB体系的核心要素为一种币、两类库和三个中心。一种币,即“D-RMB”(DC/EP),简称D币,特指一串由央行签名的代表具体金额的加密数字串。两类库:分别是D-RMB的发行库和银行库(中央银行数字货币数据库、商业银行数字货币数据库)。数字货币在发行库中即表现为央行的数字货币基金;数字货币在银行库中即表现为商业银行的库存数字现金。三个中心:一是登记中心(记录货币产生、流通、清点核对及消亡全过程);另外两个是认证中心,即CA认证中心(基于PKI体系,对机构和用户证书进行集中管理,如CFCA)和IBC认证中心[即基于标识的密码技术建立的认证中心(Identity-BasedCryptograph)]。在登记中心可设计两张表,一为数字货币权属登记表,记录数字货币的归属,另一张为交易流水表。
D-RMB系统是一种分级式的体系,即由中央银行与各商业银行共建,中央银行数字货币系统是由中央银行或中央银行指定机构运行维护的用来处理关于数字货币的信息的计算机系统,其主要功能包括负责数字货币的发行与验证监测,商业银行数字货币系统是由商业银行或商业银行指定机构运行维护的用来处理关于数字货币的信息的计算机系统,其执行现有银行的有关货币的各种功能,即银行功能,主要包括从中央银行申请到数字货币后,负责直接面向社会,满足提供数字货币流通服务的各项需求。
正如大多数人所了解的,量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。
现有技术存在的问题:
1、现有数字货币系统中的CA认证及IBC认证均无法抗量子计算;
2、现有基于量子保密通信的抗量子计算身份认证系统中,对用户来说成本过高、对称密钥管理复杂;
3、现有基于非对称密钥池的抗量子计算身份认证系统中,需要将所有成员的公钥生成非对称密钥池后存储到各密钥卡中,增加了客户端密钥卡的存储成本和操作工作量;
4、现有基于非对称密钥池的抗量子计算身份认证系统中,改变了传统CA认证及IBC认证系统的整体流程和数据结构,导致CA认证及IBC认证系统,及其对应的用户应用系统切换到抗量子计算方案的成本过高。
发明内容
针对相关技术中的问题,本发明提出一种基于ID密码学的抗量子计算数字货币通信方法及系统,以克服现有相关技术所存在的上述技术问题。
为此,本发明采用的具体技术方案如下:
根据本发明的一个方面,提供了一种基于ID密码学的抗量子计算数字货币通信方法,该方法包括以下步骤:
S1、使用密钥管理服务器分别为用户、商业银行数字货币系统和中央银行数字货币系统颁发系统公私钥和公私钥;
S2、利用身份认证方法实现所述商业银行数字货币系统与所述中央银行数字货币系统之间的身份认证;
S3、依据身份认证方法实现所述商业银行数字货币系统与所述用户之间的身份认证;
S4、通过数字货币交易方法实现不同用户之间的数字货币交易;
其中,所述中央银行数字货币系统对应的密钥管理服务器为所述中央银行数字货币系统颁发系统公私钥时,取随机数作为系统私钥,再根据该系统私钥计算得到系统公钥,并将该系统私钥和该系统公钥保存在所述中央银行数字货币系统的抗量子计算装置里;
所述中央银行数字货币系统对应的密钥管理服务器为所述中央银行数字货币系统颁发公私钥时,调用哈希函数计算得到公钥,再根据该公钥计算得到对应的私钥,并将所述中央银行数字货币系统的ID和该公私钥存入所述中央银行数字货币系统的抗量子计算装置;
所述中央银行数字货币系统对应的密钥管理服务器为所述商业银行数字货币系统颁发系统公私钥时,计算消息认证码得到对应的系统私钥,再根据该系统私钥计算得到系统公钥,并将该系统私钥保存在所述中央银行数字货币系统的抗量子计算装置里,将该系统公钥保存在对应用户端的抗量子计算装置里;
所述中央银行数字货币系统对应的密钥管理服务器为所述商业银行数字货币系统颁发公私钥时,调用哈希函数计算得到公钥,再根据该公钥计算得到基于所述中央银行数字货币系统对应的密钥管理服务器的私钥,并将所述商业银行数字货币系统的ID和该公私钥存入所述商业银行数字货币系统的抗量子计算装置;
所述商业银行数字货币系统对应的密钥管理服务器为所述用户颁发系统公私钥时,计算消息认证码得到对应的系统私钥,再根据该系统私钥计算得到系统公钥,并将该系统私钥保存在所述商业银行数字货币系统的抗量子计算装置里,将该系统公钥保存在对应用户端的抗量子计算装置里;
所述商业银行数字货币系统对应的密钥管理服务器为所述用户颁发公私钥时,调用哈希函数计算得到公钥,再根据该公钥计算得到基于所述商业银行数字货币系统对应的密钥管理服务器的的私钥,并将所述商业银行数字货币系统的ID和该公私钥存入所述商业银行数字货币系统的抗量子计算装置。
进一步的,所述S2利用身份认证方法实现所述商业银行数字货币系统与所述中央银行数字货币系统之间的身份认证包括以下步骤:
S21、将待认证的所述商业银行数字货币系统的身份信息发送给所述中央银行数字货币系统;
S22、所述中央银行数字货币系统接收所述身份信息并进行认证,同时将所述认证结果返回给所述商业银行数字货币系统,且当所述认证结果成功时,则包含会话密钥;
S23、所述商业银行数字货币系统接收所述认证结果并对该认证结果进行验证,其中,当所述认证结果成功时,则接收到所述会话密钥。
进一步的,所述S21中还包括利用基于所述中央银行数字货币系统对应密钥管理服务器的私钥对第一发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第一随机数参数,并计算所述第一随机数参数与所述商业银行数字货币系统的公钥之间的第一乘积,再利用预设函数作用于第一发送消息和所述第一乘积得到第一签名参数,并利用所述第一签名参数得到所述第一发送信息的第一签名。
进一步的,所述S22中还包括利用所述中央银行数字货币系统的另一私钥对第二发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第二随机数参数,并计算所述第二随机数参数与所述中央银行数字货币系统的公钥之间的第二乘积,再利用预设函数作用于第二发送消息和所述第二乘积得到第二签名参数,并利用所述第二签名参数得到所述第二发送信息的第二签名。
进一步的,所述S3依据身份认证方法实现所述商业银行数字货币系统与所述用户之间的身份认证具体包括以下步骤:
S31、将待认证的所述用户的身份信息发送给所述商业银行数字货币系统;
S32、所述商业银行数字货币系统接收所述身份信息并进行认证,同时将所述认证结果返回给所述用户,且当所述认证结果成功时,则包含会话密钥;
S33、所述用户接收所述认证结果并对该认证结果进行验证,其中,当所述认证结果成功时,则接收到所述会话密钥。
进一步的,所述S31中还包括利用基于所述商业银行数字货币系统对应密钥管理服务器的私钥对第三发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第三随机数参数,并计算所述第三随机数参数与所述用户的公钥之间的第三乘积,再利用预设函数作用于第三发送消息和所述第三乘积得到第三签名参数,并利用所述第三签名参数得到所述第三发送信息的第三签名。
进一步的,所述S32中还包括利用所述商业银行数字货币系统的另一私钥对第四发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第四随机数参数,并计算所述第四随机数参数与所述商业银行数字货币系统的公钥之间的第四乘积,再利用预设函数作用于第四发送消息和所述第四乘积得到第四签名参数,并利用所述第四签名参数得到所述第四发送信息的第四签名。
进一步的,所述S4通过数字货币交易方法实现不同用户之间的数字货币交易具体包括以下步骤:
S41、付款方的所述用户发起支付请求,并对所述支付请求做基于ID密码学的签名,同时使用该用户与第一所述商业银行数字货币系统之间协商的会话密钥对其进行加密,随后将加密后的支付请求信息发送给第一所述商业银行数字货币系统;
S42、第一所述商业银行数字货币系统接收所述支付请求信息,使用该用户与第一所述商业银行数字货币系统之间协商的会话密钥对其进行解密并进行验证,验证通过后对付款方所述用户的支付金额进行校验,校验通过后将需支付的数字货币字串信息与支付请求组合得到新的支付请求,并对新的支付请求做基于ID密码学的签名,同时使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行加密,随后将加密后的新的支付请求的信息发送给所述中央银行数字货币系统;
S43、所述中央银行数字货币系统接收新的支付请求的信息,使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行解密验证,验证通过后所述中央银行数字货币系统对新的支付请求信息进行解析并进行数字货币的转移、登记,完成后生成支付结果,同时对所述支付结果做基于ID密码学的签名,并使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行加密得到第一结果消息,随后该第一结果消息发送给第一所述商业银行数字货币系统,同理,生成所述中央银行数字货币系统与第二所述商业银行数字货币系统之间的第二结果消息,并发送给第二所述商业银行数字货币系统;
S44、第一所述商业银行数字货币系统接收所述第一结果信息,使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥对该第一结果信息进行解密验证,验证通过后记录本次交易信息,同时对支付结果做基于ID密码学的签名,并使用付款方的所述用户与第一所述商业银行数字货币系统之间协商的会话密钥进行加密,随后将加密后的信息发送给付款方的所述用户,同理,第二所述商业银行数字货币系统接收第二结果信息后也先验证签名,并记录本次交易信息,然后生成消息发送给收款方的所述用户;
S45、付款方的所述用户和收款方的所述用户分别接收对应的消息并进行解密验证便可得到对应的数字货币交易的结果信息。
根据本发明的另一个方面,提供了一种基于ID密码学的抗量子计算数字货币通信系统,该系统包括中央银行数字货币系统、商业银行数字货币系统和用户,所述中央银行数字货币系统与所述商业银行数字货币系统之间的身份认证、所述商业银行数字货币系统与所述用户之间的身份认证均基于ID密码学的理论进行认证;
其中,所述中央银行数字货币系统用于生产和发行数字货币,还用于对所述数字货币进行权属登记;
所述商业银行数字货币系统用于针对数字货币执行银行功能;
所述用户为所述数字货币的使用主体。
进一步的,所述中央银行数字货币系统和所述商业银行数字货币系统中均配置有相应的抗量子计算装置,所述抗量子计算装置中均部署有对应的基于ID密码学的密钥管理服务器,且所述用户也配置有相应的抗量子计算装置。
本发明的有益效果为:
1)、本发明可以实现抗量子计算的基于ID密码学的数字货币通信系统;
2)、本发明不需要将所有成员的公钥生成非对称密钥池后存储到各密钥卡中,客户端密钥卡只需要存储与自己有关的密钥,因此密钥卡的存储成本和操作工作量小;
3)、本发明没有改变传统数字货币系统身份认证及交易通信的整体流程和数据结构,只是在现有技术的基础上增加了基于ID密码学对称密钥的保护,因此数字货币通信系统切换到抗量子计算方案的成本不高;本发明不采用无法抗量子计算的CA通信系统,代之以基于ID密码学的密钥颁发服务,既减轻了系统搭建、升级的复杂度,又增强了央行对商业银行的控制能力;
4)、本发明基于ID密码学的密钥颁发服务器对每个不同用户的系统公私钥均不同,即使某个用户的系统公钥丢失导致其对应的系统私钥被量子计算机破解,也不会危及到其他用户的系统公私钥。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种基于ID密码学的抗量子计算数字货币通信方法的流程图;
图2是根据本发明实施例的一种基于ID密码学的抗量子计算数字货币通信方法中涉及的商业银行数字货币系统和用户之间的数字货币交易的流程图;
图3是根据本发明实施例的一种基于ID密码学的抗量子计算数字货币通信系统的基本结构图。
具体实施方式
为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
根据本发明的实施例,提供了一种基于ID密码学的抗量子计算数字货币通信方法及系统。
现结合附图和具体实施方式对本发明进一步说明,如图1-2所示,根据本发明的一个实施例,提供了一种基于ID密码学的抗量子计算数字货币通信方法,该方法包括以下步骤:
S1、使用密钥管理服务器分别为用户、商业银行数字货币系统和中央银行数字货币系统颁发系统公私钥和公私钥;
其中,所述中央银行数字货币系统对应的密钥管理服务器KMS为所述中央银行数字货币系统S颁发系统公私钥时,取随机数作为系统私钥SKMS,再根据该系统私钥SKMS计算得到系统公钥PKMS=SKMS*P,并将该系统私钥SKMS和该系统公钥PKMS保存在所述中央银行数字货币系统S的抗量子计算装置TS里;
所述中央银行数字货币系统对应的密钥管理服务器KMS为所述中央银行数字货币系统S颁发公私钥时,调用哈希函数H1计算得到公钥PKS=H1(IDS),再根据该公钥PKS计算得到对应的私钥SKS=SKMS*PKS,并将所述中央银行数字货币系统的ID和该公私钥即IDS、PKS、SKS存入所述中央银行数字货币系统S的抗量子计算装置TS;
所述中央银行数字货币系统对应的密钥管理服务器KMS为所述商业银行数字货币系统A颁发系统公私钥时,计算消息认证码得到对应的系统私钥SKMSA(KMS)=MAC(IDA,SKMS)[MAC(m,k)为使用密钥k对消息m计算消息认证码],再根据该系统私钥SKMSA(KMS)计算得到系统公钥PKMSA(KMS)=SKMSA(KMS)*P,并将该系统私钥SKMSA(KMS)保存在所述中央银行数字货币系统的抗量子计算装置里,将该系统公钥PKMSA(KMS)保存在对应用户端的抗量子计算装置里,即PKMSA(KMS)保存在TA中,PKMSB(KMS)保存在TB中;
所述中央银行数字货币系统对应的密钥管理服务器KMS为所述商业银行数字货币系统A颁发公私钥时,调用哈希函数H1计算得到公钥PKA=H1(IDA),再根据该公钥PKA计算得到基于所述中央银行数字货币系统对应的密钥管理服务器KMS的私钥SKA(KMS)=SKMSA(KMS)*PKA,并将所述商业银行数字货币系统A的ID和该公私钥即IDA、PKA、SKA(KMS)存入所述商业银行数字货币系统A的抗量子计算装置TA;
所述商业银行数字货币系统对应的密钥管理服务器KMSA为所述用户A1颁发系统公私钥时,计算消息认证码得到对应的系统私钥SKMSA1=MAC(IDA1,SKMSA),再根据该系统私钥SKMSA1计算得到系统公钥PKMSA1=SKMSA1*P,并将该系统私钥SKMSA1保存在所述商业银行数字货币系统的抗量子计算装置里,将该系统公钥PKMSA1保存在对应用户端的抗量子计算装置里,即PKMSA1保存在TA1中,PKMSA2保存在TA2中;
所述商业银行数字货币系统对应的密钥管理服务器KMSA为所述用户A1颁发公私钥时,调用哈希函数H1计算得到公钥PKA1=H1(IDA1),再根据该公钥PKA1计算得到基于所述商业银行数字货币系统对应的密钥管理服务器KMSA的的私钥SKA1=SKMSA1*PKA1,并将所述商业银行数字货币系统的ID和该公私钥即IDA1、PKA1、SKA1存入所述商业银行数字货币系统A1的抗量子计算装置TA1;
S2、商业银行数字货币系统与中央银行数字货币系统S进行身份认证(利用身份认证方法实现所述商业银行数字货币系统与所述中央银行数字货币系统S之间的身份认证);
以下以商业银行数字货币系统A与中央银行数字货币系统S进行身份认证为例。其他商业银行数字货币系统与中央银行数字货币系统S进行身份认证的流程与此类似。
S21、A发送己方身份信息给S(将待认证的所述商业银行数字货币系统的身份信息发送给所述中央银行数字货币系统);
A根据IDS计算得到PKS=H1(IDS),取出己方基于KMS的私钥SKA(KMS)计算A与S之间的对称密钥KA-S=e(SKA(KMS),PKS)。获取时间戳T1,使用KA-S对T1计算消息认证码得到K1=MAC(T1,KA-S)。将组合IDA||IDS||T1||AINFO作为MSGA,其中AINFO为将要用来认证的A的身份信息。
用SKA(KMS)对MSGA作基于ID密码学的数字签名,过程如下:取随机数参数r1,求得r1和PKA的乘积r1*PKA,再用函数H1作用于MSGA和r1*PKA,可得到签名参数h1=H1(MSGA,r1*PKA)。则可以得到MSGA的签名:
SIGN(MSGA,SKA(KMS))=(r1*PKA,(r1+h1)*SKA(KMS))。
使用K1对AINFO和SIGN(MSGA,SKA(KMS))加密得到{AINFO||SIGN(MSGA,SKA(KMS))}K1,连同IDA、IDS以及T1一起发送至S,发送的消息可表示为IDA||IDS||T1|{AINFO||SIGN(MSGA,SKA(KMS))}K1。
S22、S发送认证结果(认证成功则包含会话密钥)给A(所述中央银行数字货币系统接收所述身份信息并进行认证,同时将所述认证结果返回给所述商业银行数字货币系统);
S收到来自A的消息IDA||IDS||T1|{AINFO||SIGN(MSGA,SKA(KMS))}K1。S中的KMS计算其对A的系统私钥为SKMSA(KMS)=MAC(IDA,SKMS),根据PKS=H1(IDS)得到SKS(KMS)=SKMSA(KMS)*PKS。进一步得到S与A之间的对称密钥KS-A=e(SKS(KMS),PKA)。根据ID密码学可得:KA-S=e(SKA(KMS),PKS)=e(SKMSA(KMS)*PKA,PKS)=e(PKA,SKMSA(KMS)*PKS)=e(PKA,SKS(KMS))=e(SKS(KMS),PKA)=KS-A。使用KS-A对T1计算消息认证码得到K′1=MAC(T1,KS-A)。使用K′1解密{AINFO||SIGN(MSGA,SKA(KMS))}K1,得到A的身份信息AINFO和SIGN(MSGA,SKA(KMS))。
S根据IDA计算得到PKA=H1(IDA),根据前面算出的SKMSA(KMS)计算KMS对A的系统公钥为PKMSA(KMS)=SKMSA(KMS)*P,用PKA和PKMSA(KMS)来验证签名SIGN(MSGA,SKA(KMS))。要验证该签名,只需要验证(P,PKMSA(KMS),r1*PKA+h1*PKA,(r1+h1)*SKA(KMS))是一个有效的Diffie-Hellman元组。如果验证成功,S生成会话密钥KSS-A并将其与认证成功的消息组合起来称为RETS;如果验证失败则将认证失败消息称为RETS。获取时间戳T2,将组合IDS||IDA||T2||RETS作为MSGS。
用SKS(KMS)对MSGS作基于ID密码学的数字签名,过程如下:取随机数参数r2,求得r2和PKS的乘积r2*PKS,再用函数H1作用于MSGS和r2*PKS,可得到签名参数h2=H1(MSGS,r2*PKS)。则可以得到MSGS的签名:
SIGN(MSGS,SKS(KMS))=(r2*PKS,(r2+h2)*SKS(KMS))。
使用KS-A对T2计算消息认证码得到K2=MAC(T2,KS-A),使用K2对RETS和SIGN(MSGS,SKS(KMS))加密得到{RETS||SIGN(MSGS,SKS(KMS))}K2,连同IDS、IDA以及T2一起发送至A,发送的消息可表示为IDS||IDA||T2|{RETS||SIGN(MSGS,SKS(KMS))}K2。
S23、A收到认证结果(所述商业银行数字货币系统接收所述认证结果并对该认证结果进行验证);
A收到来自S的消息IDS||IDA||T2|{RETS||SIGN(MSGS,SKS(KMS))}K2。使用KA-S对T2计算消息认证码得到K′2=MAC(T2,KA-S),使用K′2解密{RETS||SIGN(MSGS,SKS(KMS))}K2,得到RETS和SIGN(MSGS,SKS(KMS))。
A用PKS和从TA中取出的PKMSA(KMS)来验证签名SIGN(MSGS,SKS(KMS))。要验证该签名,只需要验证(P,PKMSA(KMS),r2*PKS+h2*PKS,(r2+h2)*SKS(KMS))是一个有效的Diffie-Hellman元组。若A验证签名成功,并且RETS中携带的也是S验证签名成功的消息,则可以取出RETS中的会话密钥KSS-A,由此A和S可以使用该会话密钥进行保密通信;其他情况则不能得到会话密钥。
由上面的流程可以看到,基于ID密码学的系统公钥没有被公开,且基于ID密码学的数字签名被对称密钥保护,因此该流程可以抵抗量子计算机对基于ID密码学的攻击。另外,基于ID密码学的KMS对A、B、C等不同用户的系统公私钥均不同,即使A的系统公钥PKMSA(KMS)丢失导致其对应的系统私钥SKMSA(KMS)被量子计算机破解,也不会危及到B、C等其他用户的系统公私钥。
S3、用户与商业银行数字货币系统进行身份认证(依据身份认证方法实现所述商业银行数字货币系统与所述用户之间的身份认证);
以下以用户A1与商业银行数字货币系统A进行身份认证为例。其他用户与对应的商业银行数字货币系统进行身份认证的流程与此类似。
S31、A1发送己方身份信息给A(将待认证的所述用户的身份信息发送给所述商业银行数字货币系统);
A1根据IDA计算得到PKA=H1(IDA),取出己方基于KMSA的私钥SKA1计算A1与A之间的对称密钥KA1-A=e(SKA1,PKA)。获取时间戳T3,使用KA1-A对T3计算消息认证码得到K3=MAC(T3,KA1-A)。将组合IDA1||IDA||T3||A1INFO作为MSGA1,其中A1INFO为将要用来认证的A1的身份信息。
用SKA1对MSGA1作基于ID密码学的数字签名,过程如下:取随机数参数r3,求得r3和PKA1的乘积r3*PKA1,再用函数H1作用于MSGA1和r3*PKA1,可得到签名参数h3=H1(MSGA1,r3*PKA1)。则可以得到MSGA1的签名:
SIGN(MSGA1,SKA1)=(r3*PKA1,(r3+h3)*SKA1)。
使用K3对A1INFO和SIGN(MSGA1,SKA1)加密得到{A1INFO||SIGN(MSGA1,SKA1)}K3,连同IDA1、IDA以及T3一起发送至A,发送的消息可表示为IDA1||IDA||T3|{A1INFO||SIGN(MSGA1,SKA1)}K3。
S32、A发送认证结果(认证成功则包含会话密钥)给A1(所述商业银行数字货币系统接收所述身份信息并进行认证,同时将所述认证结果返回给所述用户);
A收到来自A1的消息IDA1||IDA||T3|{A1INFO||SIGN(MSGA1,SKA1)}K3。A中的KMSA计算其对A1的私钥为SKMSA1=MAC(IDA1,SKMSA),根据PKA=H1(IDA)得到SKA(MSA1)=SKMSA1*PKA。进一步得到A与A1之间的对称密钥KA-A1=e(SKA(MSA1),PKA1)。根据ID密码学可得:KA1-A=e(SKA1,PKA)=e(SKMSA1*PKA1,PKA)=e(PKA1,SKMSA1*PKA)=e(PKA1,SKA(MSA1))=e(SKA(MSA1),PKA1)=KA-A1。使用KA-A1对T3计算消息认证码得到K′3=MAC(T3,KA-A1)。使用K′3解密{A1INFO||SIGN(MSGA1,SKA1)}K3,得到A1的身份信息A1INFO和SIGN(MSGA1,SKA1)。
A根据IDA1计算得到PKA1=H1(IDA1),根据前面算出的SKMSA1计算KMSA对A1的系统公钥为PKMSA1=SKMSA1*P,用PKA1和PKMSA1来验证签名SIGN(MSGA1,SKA1)。要验证该签名,只需要验证(P,PKMSA1,r3*PKA1+h3*PKA1,(r3+h3)*SKA1)是一个有效的Diffie-Hellman元组。如果验证成功,A生成会话密钥KSA-A1并将其与认证成功的消息组合起来称为RETA;如果验证失败则将认证失败消息称为RETA。获取时间戳T4,将组合IDA||IDA1||T4||RETA作为MSG′A。
用SKA(MSA1)对MSG′A作基于ID密码学的数字签名,过程如下:取随机数参数r4,求得r4和PKA的乘积r4*PKA,再用函数H1作用于MSG′A和r4*PKA,可得到签名参数h4=H1(MSG′A,r4*PKA)。则可以得到MSG′A的签名:
SIGN(MSG′A,SKA(MSA1))=(r4*PKA,(r4+h4)*SKA(MSA1))。
使用KA-A1对T4计算消息认证码得到K4=MAC(T4,KA-A1),使用K4对RETA和SIGN(MSG′A,SKA(MSA1))加密得到{RETA||SIGN(MSG′A,SKA(MSA1))}K4,连同IDA、IDA1以及T4一起发送至A1,发送的消息可表示为IDA||IDA1||T4||{RETA||SIGN(MSG′A,SKA(MSA1))}K4。
S33、A1收到认证结果(所述用户接收所述认证结果并对该认证结果进行验证);
A1收到来自A的消息IDA||IDA1||T4||{RETA||SIGN(MSG′A,SKA(MSA1))}K4。使用KA1-A对T4计算消息认证码得到K′4=MAC(T4,KA1-A),使用K′4解密{RETA||SIGN(MSG′A,SKA(MSA1))}K4,得到RETA和SIGN(MSG′A,SKA(MSA1))。
A1用PKA和从TA1中取出的PKMSA1来验证签名SIGN(MSG′A,SKA(MSA1))。要验证该签名,只需要验证(P,PKMSA1,r4*PKA+h4*PKA,(r4+h4)*SKA(MSA1))是一个有效的Diffie-Hellman元组。若A1验证签名成功,并且RETA中携带的也是A验证签名成功的消息,则可以取出RETA中的会话密钥KSA-A1,由此A1和A可以使用该会话密钥进行保密通信;其他情况则不能得到会话密钥。
由上面的流程可以看到,基于ID密码学的系统公钥没有被公开,且基于ID密码学的数字签名被对称密钥保护,因此该流程可以抵抗量子计算机对基于ID密码学的攻击。另外,基于ID密码学的KMSA对A1、A2、A3等不同用户的系统公私钥均不同,即使A1的系统公钥PKMSA1丢失导致其对应的系统私钥SKMSA1被量子计算机破解,也不会危及到A2、A3等其他用户的系统公私钥。
S4、不同用户之间进行数字货币交易(通过数字货币交易方法实现不同用户之间的数字货币交易);
以下以用户A1与用户B1进行数字货币交易为例。其他不同用户之间进行数字货币交易的的流程与此类似。
S41、A1发送支付请求信息给A(付款方的所述用户将带有支付请求的信息发送给第一所述商业银行数字货币系统);
A1作为付款方,发起支付请求REQA1,其中包括付款方信息A1INFO、付款方数字货币钱包标识WALLETA1、支付金额Payment、收款方数字货币钱包标识WALLETB1,即REQA1=A1INFO||WALLETA1||Payment||WALLETB1。然后按照S31中的方法,使用SKA1对REQA1做基于ID密码学的签名,得到SIGNA1-A。用A和A1之间的会话密钥KSA-A1对REQA1||SIGNA1-A进行加密得到(REQA1||SIGNA1-A)KSA-A1。然后将支付请求信息(REQA1||SIGNA1-A)KSA-A1发送给A。
S42、A发送支付请求信息给S(第一所述商业银行数字货币系统将所述带有支付请求的信息发送给所述中央银行数字货币系统);
A收到来自A1的支付请求信息(REQA1||SIGNA1-A)KSA-A1。首先用KSA-A1进行解密得到REQA1和SIGNA1-A,然后按照S32中的方法,使用PKA1对SIGNA1-A进行验证。验证通过的话,可以信任消息发送者A1的身份,从而得到REQA1即A1INFO||WALLETA1||Payment||WALLETB1。
A根据A1INFO和WALLETA1提供的信息,查看用户A1银行账户对应的数字货币保管箱,对支付金额Payment进行校验,即确认数字货币保管箱内数字货币余额需大于等于Payment,否则支付失败。校验通过后,A拿到需支付的数字货币字串信息Word,将Word与REQA1组合起来得到支付请求REQA=REQA1||Word。然后按照S21中的方法,使用SKA(KMS)对REQA做基于ID密码学的签名,得到SIGNA-S。用S和A之间的会话密钥KSS-A对REQA||SIGNA-S进行加密得到(REQA||SIGNA-S)KSS-A,然后将请求信息(REQA||SIGNA-S)KSS-A发送给S。
S43、S进行数字货币的交易处理并返回结果给A和B(所述中央银行数字货币系统接收所述带有支付请求的信息并进行数字货币的交易处理,同时将所述处理结果返回给第一所述商业银行数字货币系统和第二所述商业银行数字货币系统);
S收到A的请求信息(REQA||SIGNA-S)KSS-A,用KSS-A进行解密得到REQA和SIGNA-S,然后按照S22中的方法,使用PKA对SIGNA-S进行验证,验证通过的话,可以信任消息发送者A的身份,从而得到REQA即A1INFO||WALLETA1||Payment||WALLETB1||Word。S对请求信息中的付款方、收款方、支付信息包括Payment和Word进行解析并进行数字货币的转移、登记,完成后生成支付结果Result。
S按照S22中的方法,使用SKS(KMS)对支付结果Result做基于ID密码学的签名得到SIGNS-A,然后用KSS-A对Result||SIGNS-A进行加密得到(Result||SIGNS-A)KSS-A,并将结果消息(Result||SIGNS-A)KSS-A发送给A。同理,生成结果消息(Result||SIGNS-B)KSS-B并发送给商业银行数字货币系统B。
S44、A将交易结果返回给A1,B将交易结果返回给B1(第一所述商业银行数字货币系统将所述交易结果返回给付款方的所述用户,第二所述商业银行数字货币系统将所述交易结果返回给收款方的所述用户);
A收到来自S的消息(Result||SIGNS-A)KSS-A,用KSS-A进行解密后得到Result和SIGNS-A。按照S23中的方法,使用PKS对SIGNS-A进行验证。验证通过后,记录本次交易信息,按照S32中方法,使用SKA(MSA1)对Result做基于ID密码学的签名得到SIGNA-A1,然后用KSA-A1对Result||SIGNA-A1进行加密得到(Result||SIGNA-A1)KSA-A1,并将该消息(Result||SIGNA-A1)KSA-A1发送给A1。同理,B收到消息后也先验证签名,记录本次交易信息,然后生成消息(Result||SIGNB-B1)KSB-B1并发送给B1。
S45、A1和B1收到数字货币交易的结果信息(付款方的所述用户和收款方的所述用户同时接收数字货币交易的结果信息)。
A1收到来自A的消息(Result||SIGNA-A1)KSA-A1,用KSA-A1进行解密后得到Result和SIGNA-A1。按照S33中的方法,使用PKA对SIGNA-A1进行验证。验证通过后,得到数字货币交易的结果Result。同理,B1收到消息后,在验证签名后也可以得到数字货币交易的结果。
由上面的流程可以看到,基于ID密码学的系统公钥没有被公开,且基于ID密码学的数字签名被对称密钥保护,因此该流程可以抵抗量子计算机对基于ID密码学的攻击。
根据本发明的另一个方面,如图3所示,提供了一种基于ID密码学的抗量子计算数字货币通信系统,该数字货币系统基本结构主要包括中央银行数字货币系统、商业银行数字货币系统(在实际中可以是多个商业银行数字货币系统)和用户,其中中央银行数字货币系统与商业银行数字货币系统进行身份认证、商业银行数字货币系统与用户进行身份认证都是基于ID密码学的理论。中央银行数字货币系统用于产生和发行数字货币,以及对数字货币进行权属登记;商业银行数字货币系统用于针对数字货币执行银行功能;用户则是数字货币使用的主体。
假设中央银行数字货币系统的ID为S,S具有抗量子计算装置TS,TS中部署有基于ID密码学的密钥管理服务器KMS;商业银行数字货币系统的ID为A、B、C...,各自具有抗量子计算装置TA、TB、TC...,而TA、TB、TC...上又分别部署有基于ID密码学的密钥管理服务器KMSA、KMSB、KMSC...;商业银行数字货币系统A包括用户A1、A2、A3...,商业银行数字货币系统B包括用户B1、B2、B3...,商业银行数字货币系统C包括用户C1、C2、C3...,所有用户也都拥有抗量子计算装置TA1、TA2、TA3、TB1、TB2、TB3、TC1、TC2、TC3...。
抗量子计算装置可以是密钥卡、移动终端、密码机、网关等,可与银行货币系统或各个用户端分别进行主板接口通信、近距离无线通信、可控的内网通信等,可保证通信范围内不会被量子计算机窃取信息,例如抗量子计算装置可以是密钥卡插接在银行货币系统的主机主板上,或者抗量子计算装置可以是移动终端与同样是移动终端的双方进行NFC通信,或者抗量子计算装置是密码机或网关与同一内网的用户主机双方进行安全的内网通信。
为了方便理解本发明的上述技术方案,以下就本发明在实际过程中建立一套基于ID密钥学的系统参数的方法进行详细说明。
(1)G1,G2是阶为q的GDH(Diffie-Hellman群)群,q是一个大素数,G1是由椭圆曲线上的点构成的加法循环群,P是群G1的生成元;G2是一个乘法循环群;双线性映射e:G1×G1→G2。
(2)随机地取SKMS∈Zp *作为中央银行数字货币系统的系统私钥,SKMS仅保存在中央银行数字货币系统的抗量子计算装置中,计算中央银行数字货币系统的系统公钥PKMS=SKMS*P,PKMS保存在中央银行数字货币系统的抗量子计算装置TS中。KMS对每个不同商业银行数字货币系统的系统公私钥均不同,对A的系统私钥为SKMSA(KMS)=MAC(IDA,SKMS)(MAC(m,k)为使用密钥k对消息m计算消息认证码),对A的系统公钥为PKMSA(KMS)=SKMSA(KMS)*P;对B的系统私钥为SKMSB(KMS)=MAC(IDB,SKMS),对B的系统公钥为PKMSB(KMS)=SKMSB(KMS)*P,KMS对其他商业银行数字货币系统的系统公私钥的计算方法与此类似。其中基于KMS的系统私钥保存在中央银行数字货币系统的抗量子计算装置中,基于KMS的系统公钥保存在对应用户端的抗量子计算装置中,即PKMSA(KMS)保存在TA中,PKMSB(KMS)保存在TB中。
(3)KMS为S颁发公私钥时,调用哈希函数H1计算公钥PKS=H1(IDS),再根据公钥PKS计算私钥SKS=SKMS*PKS,将S的ID和公私钥即IDS、PKS、SKS存储于S的抗量子计算装置TS中。KMS为A颁发公私钥时,调用哈希函数H1计算公钥PKA=H1(IDA),再根据公钥PKA计算基于KMS的私钥SKA(KMS)=SKMSA(KMS)*PKA,将A的ID和公私钥即IDA、PKA、SKA(KMS)存储于A的抗量子计算装置TA中。KMS为其他商业银行比如B、C...颁发公私钥的过程与此类似。
(4)随机地取SKMSA∈Zp *作为商业银行数字货币系统的系统私钥,SKMSA仅保存在A的抗量子计算装置中,计算商业银行数字货币系统的系统公钥PKMSA=SKMSA*P,PKMSA保存在商业银行数字货币系统的抗量子计算装置TA中。KMSA对每个不同用户的系统公私钥均不同,对A1的系统私钥为SKMSA1=MAC(IDA1,SKMSA),对A1的系统公钥为PKMSA1=SKMSA1*P;对A2的系统私钥为SKMSA2=MAC(IDA2,SKMSA),对A2的系统公钥为PKMSA2=SKMSA2*P,KMSA对其他用户的系统公私钥的计算方法与此类似。其中基于KMSA的系统私钥保存在A的抗量子计算装置中,基于KMSA的系统公钥保存在对应用户端的抗量子计算装置中,即PKMSA1保存在TA1中,PKMSA2保存在TA2中。KMSB、KMSC...对它们所属不同用户的系统公私钥的计算方法与此类似。
(5)KMSA为用户A1颁发公私钥时,调用哈希函数H1计算公钥PKA1=H1(IDA1),再根据公钥PKA1计算基于KMSA的私钥SKA1=SKMSA1*PKA1,将A1的ID和公私钥即IDA1、PKA1、SKA1存储于A1的抗量子计算装置TA1中。KMSA为其他用户比如A1、A2...颁发公私钥的过程与此类似。其他密钥管理服务器KMSB、KMSC...等为各自所属用户颁发公私钥的方法与此类似。
综上所述,借助于本发明的上述技术方案,通过本发明的使用,可以实现抗量子计算的基于ID密码学的数字货币通信系统;此外,本发明不需要将所有成员的公钥生成非对称密钥池后存储到各密钥卡中,客户端密钥卡只需要存储与自己有关的密钥,因此密钥卡的存储成本和操作工作量小;此外,本发明没有改变传统数字货币系统身份认证及交易通信的整体流程和数据结构,只是在现有技术的基础上增加了基于ID密码学对称密钥的保护,因此数字货币通信系统切换到抗量子计算方案的成本不高;本发明不采用无法抗量子计算的CA通信系统,代之以基于ID密码学的密钥颁发服务,既减轻了系统搭建、升级的复杂度,又增强了央行对商业银行的控制能力;此外,本发明基于ID密码学的密钥颁发服务器对每个不同用户的系统公私钥均不同,即使某个用户的系统公钥丢失导致其对应的系统私钥被量子计算机破解,也不会危及到其他用户的系统公私钥
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于ID密码学的抗量子计算数字货币通信方法,其特征在于,该方法包括以下步骤:
S1、使用密钥管理服务器分别为用户、商业银行数字货币系统和中央银行数字货币系统颁发系统公私钥和公私钥;
S2、利用身份认证方法实现所述商业银行数字货币系统与所述中央银行数字货币系统之间的身份认证;
S3、依据身份认证方法实现所述商业银行数字货币系统与所述用户之间的身份认证;
S4、通过数字货币交易方法实现不同用户之间的数字货币交易;
其中,所述中央银行数字货币系统对应的密钥管理服务器为所述中央银行数字货币系统颁发系统公私钥时,取随机数作为系统私钥,再根据该系统私钥计算得到系统公钥,并将该系统私钥和该系统公钥保存在所述中央银行数字货币系统的抗量子计算装置里;
所述中央银行数字货币系统对应的密钥管理服务器为所述中央银行数字货币系统颁发公私钥时,调用哈希函数计算得到公钥,再根据该公钥计算得到对应的私钥,并将所述中央银行数字货币系统的ID和该公私钥存入所述中央银行数字货币系统的抗量子计算装置;
所述中央银行数字货币系统对应的密钥管理服务器为所述商业银行数字货币系统颁发系统公私钥时,计算消息认证码得到对应的系统私钥,再根据该系统私钥计算得到系统公钥,并将该系统私钥保存在所述中央银行数字货币系统的抗量子计算装置里,将该系统公钥保存在对应用户端的抗量子计算装置里;
所述中央银行数字货币系统对应的密钥管理服务器为所述商业银行数字货币系统颁发公私钥时,调用哈希函数计算得到公钥,再根据该公钥计算得到基于所述中央银行数字货币系统对应的密钥管理服务器的私钥,并将所述商业银行数字货币系统的ID和该公私钥存入所述商业银行数字货币系统的抗量子计算装置;
所述商业银行数字货币系统对应的密钥管理服务器为所述用户颁发系统公私钥时,计算消息认证码得到对应的系统私钥,再根据该系统私钥计算得到系统公钥,并将该系统私钥保存在所述商业银行数字货币系统的抗量子计算装置里,将该系统公钥保存在对应用户端的抗量子计算装置里;
所述商业银行数字货币系统对应的密钥管理服务器为所述用户颁发公私钥时,调用哈希函数计算得到公钥,再根据该公钥计算得到基于所述商业银行数字货币系统对应的密钥管理服务器的的私钥,并将所述商业银行数字货币系统的ID和该公私钥存入所述商业银行数字货币系统的抗量子计算装置。
2.根据权利要求1所述的一种基于ID密码学的抗量子计算数字货币通信方法,其特征在于,所述S2利用身份认证方法实现所述商业银行数字货币系统与所述中央银行数字货币系统之间的身份认证包括以下步骤:
S21、将待认证的所述商业银行数字货币系统的身份信息发送给所述中央银行数字货币系统;
S22、所述中央银行数字货币系统接收所述身份信息并进行认证,同时将认证结果返回给所述商业银行数字货币系统,且当所述认证结果成功时,则包含会话密钥;
S23、所述商业银行数字货币系统接收所述认证结果并对该认证结果进行验证,其中,当所述认证结果成功时,则接收到所述会话密钥。
3.根据权利要求2所述的一种基于ID密码学的抗量子计算数字货币通信方法,其特征在于,所述S21中还包括利用基于所述中央银行数字货币系统对应密钥管理服务器的私钥对第一发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第一随机数参数,并计算所述第一随机数参数与所述商业银行数字货币系统的公钥之间的第一乘积,再利用预设函数作用于第一发送消息和所述第一乘积得到第一签名参数,并利用所述第一签名参数得到所述第一发送信息的第一签名。
4.根据权利要求2所述的一种基于ID密码学的抗量子计算数字货币通信方法,其特征在于,所述S22中还包括利用所述中央银行数字货币系统的另一私钥对第二发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第二随机数参数,并计算所述第二随机数参数与所述中央银行数字货币系统的公钥之间的第二乘积,再利用预设函数作用于第二发送消息和所述第二乘积得到第二签名参数,并利用所述第二签名参数得到所述第二发送信息的第二签名。
5.根据权利要求1所述的一种基于ID密码学的抗量子计算数字货币通信方法,其特征在于,所述S3依据身份认证方法实现所述商业银行数字货币系统与所述用户之间的身份认证具体包括以下步骤:
S31、将待认证的所述用户的身份信息发送给所述商业银行数字货币系统;
S32、所述商业银行数字货币系统接收所述身份信息并进行认证,同时将认证结果返回给所述用户,且当所述认证结果成功时,则包含会话密钥;
S33、所述用户接收所述认证结果并对该认证结果进行验证,其中,当所述认证结果成功时,则接收到所述会话密钥。
6.根据权利要求5所述的一种基于ID密码学的抗量子计算数字货币通信方法,其特征在于,所述S31中还包括利用基于所述商业银行数字货币系统对应密钥管理服务器的私钥对第三发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第三随机数参数,并计算所述第三随机数参数与所述用户的公钥之间的第三乘积,再利用预设函数作用于第三发送消息和所述第三乘积得到第三签名参数,并利用所述第三签名参数得到所述第三发送信息的第三签名。
7.根据权利要求5所述的一种基于ID密码学的抗量子计算数字货币通信方法,其特征在于,所述S32中还包括利用所述商业银行数字货币系统的另一私钥对第四发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第四随机数参数,并计算所述第四随机数参数与所述商业银行数字货币系统的公钥之间的第四乘积,再利用预设函数作用于第四发送消息和所述第四乘积得到第四签名参数,并利用所述第四签名参数得到所述第四发送信息的第四签名。
8.根据权利要求1所述的一种基于ID密码学的抗量子计算数字货币通信方法,其特征在于,所述S4通过数字货币交易方法实现不同用户之间的数字货币交易具体包括以下步骤:
S41、付款方的所述用户发起支付请求,并对所述支付请求做基于ID密码学的签名,同时使用该用户与第一所述商业银行数字货币系统之间协商的会话密钥对其进行加密,随后将加密后的支付请求信息发送给第一所述商业银行数字货币系统;
S42、第一所述商业银行数字货币系统接收所述支付请求信息,使用该用户与第一所述商业银行数字货币系统之间协商的会话密钥对其进行解密并进行验证,验证通过后对付款方所述用户的支付金额进行校验,校验通过后将需支付的数字货币字串信息与支付请求组合得到新的支付请求,并对新的支付请求做基于ID密码学的签名,同时使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行加密,随后将加密后的新的支付请求的信息发送给所述中央银行数字货币系统;
S43、所述中央银行数字货币系统接收新的支付请求的信息,使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行解密验证,验证通过后所述中央银行数字货币系统对新的支付请求信息进行解析并进行数字货币的转移、登记,完成后生成支付结果,同时对所述支付结果做基于ID密码学的签名,并使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行加密得到第一结果消息,随后该第一结果消息发送给第一所述商业银行数字货币系统,同理,生成所述中央银行数字货币系统与第二所述商业银行数字货币系统之间的第二结果消息,并发送给第二所述商业银行数字货币系统;
S44、第一所述商业银行数字货币系统接收所述第一结果消息,使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥对该第一结果信息进行解密验证,验证通过后记录本次交易信息,同时对支付结果做基于ID密码学的签名,并使用付款方的所述用户与第一所述商业银行数字货币系统之间协商的会话密钥进行加密,随后将加密后的信息发送给付款方的所述用户,同理,第二所述商业银行数字货币系统接收第二结果信息后也先验证签名,并记录本次交易信息,然后生成消息发送给收款方的所述用户;
S45、付款方的所述用户和收款方的所述用户分别接收对应的消息并进行解密验证便可得到对应的数字货币交易的结果信息。
9.一种基于ID密码学的抗量子计算数字货币通信系统,以实现权利要求1-8中任一项所述的基于ID密码学的抗量子计算数字货币通信方法的步骤,其特征在于,该系统包括中央银行数字货币系统、商业银行数字货币系统和用户,所述中央银行数字货币系统与所述商业银行数字货币系统之间的身份认证、所述商业银行数字货币系统与所述用户之间的身份认证均基于ID密码学的理论进行认证;
其中,所述中央银行数字货币系统用于生产和发行数字货币,还用于对所述数字货币进行权属登记;
所述商业银行数字货币系统用于针对数字货币执行银行功能;
所述用户为所述数字货币的使用主体。
10.根据权利要求9所述的一种基于ID密码学的抗量子计算数字货币通信系统,其特征在于,所述中央银行数字货币系统和所述商业银行数字货币系统中均配置有相应的抗量子计算装置,所述抗量子计算装置中均部署有对应的基于ID密码学的密钥管理服务器,且所述用户也配置有相应的抗量子计算装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011082527.5A CN114422158B (zh) | 2020-10-12 | 2020-10-12 | 一种基于id密码学的抗量子计算数字货币通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011082527.5A CN114422158B (zh) | 2020-10-12 | 2020-10-12 | 一种基于id密码学的抗量子计算数字货币通信方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114422158A CN114422158A (zh) | 2022-04-29 |
CN114422158B true CN114422158B (zh) | 2024-04-09 |
Family
ID=81260584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011082527.5A Active CN114422158B (zh) | 2020-10-12 | 2020-10-12 | 一种基于id密码学的抗量子计算数字货币通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114422158B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102811125A (zh) * | 2012-08-16 | 2012-12-05 | 西北工业大学 | 基于多变量密码体制的无证书多接收者签密方法 |
US8719952B1 (en) * | 2011-03-25 | 2014-05-06 | Secsign Technologies Inc. | Systems and methods using passwords for secure storage of private keys on mobile devices |
WO2017049790A1 (zh) * | 2015-09-22 | 2017-03-30 | 华南理工大学 | 一种基于多变量密码技术的在线离线签名系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9350548B2 (en) * | 2014-05-30 | 2016-05-24 | Tokenym, LLC | Two factor authentication using a protected pin-like passcode |
-
2020
- 2020-10-12 CN CN202011082527.5A patent/CN114422158B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8719952B1 (en) * | 2011-03-25 | 2014-05-06 | Secsign Technologies Inc. | Systems and methods using passwords for secure storage of private keys on mobile devices |
CN102811125A (zh) * | 2012-08-16 | 2012-12-05 | 西北工业大学 | 基于多变量密码体制的无证书多接收者签密方法 |
WO2017049790A1 (zh) * | 2015-09-22 | 2017-03-30 | 华南理工大学 | 一种基于多变量密码技术的在线离线签名系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114422158A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6724249B2 (ja) | 情報保護用のシステム及び方法 | |
CN110337665B (zh) | 用于信息保护的系统和方法 | |
JP6841911B2 (ja) | 情報保護用のシステム及び方法 | |
EP3549082B1 (en) | System and method for information protection | |
CN114422158B (zh) | 一种基于id密码学的抗量子计算数字货币通信方法及系统 | |
CN114448636B (zh) | 基于数字证书的抗量子计算数字货币系统及匿名通信方法 | |
CN114529273A (zh) | 基于id密码学的抗量子计算数字货币匿名通信方法及系统 | |
EP4379631A1 (en) | Digital wallet device and dual offline transaction method thereof | |
AU2019101590A4 (en) | System and method for information protection | |
CN114362952B (zh) | 一种发送方离线的数字货币抗量子计算交易方法及系统 | |
AU2019101582A4 (en) | System and method for information protection | |
CN114529275A (zh) | 一种接收方离线的数字货币抗量子计算交易方法及系统 | |
CN114331422A (zh) | 一种基于数字证书的抗量子计算数字货币通信方法及系统 | |
CN114493556A (zh) | 基于id密码学的接收方离线的数字货币抗量子计算匿名交易方法 | |
CN114511308A (zh) | 发款方匿名的抗量子计算数字货币双离线交易方法及系统 | |
CN114529274A (zh) | 基于数字货币的发送方离线抗量子计算交易方法及系统 | |
CN114529276A (zh) | 基于抗量子计算的发送方离线匿名交易方法及系统 | |
CN114529272A (zh) | 一种接收方离线的数字货币抗量子计算交易方法及系统 | |
CN114529280A (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 |