CN114529273A - 基于id密码学的抗量子计算数字货币匿名通信方法及系统 - Google Patents

基于id密码学的抗量子计算数字货币匿名通信方法及系统 Download PDF

Info

Publication number
CN114529273A
CN114529273A CN202011204483.9A CN202011204483A CN114529273A CN 114529273 A CN114529273 A CN 114529273A CN 202011204483 A CN202011204483 A CN 202011204483A CN 114529273 A CN114529273 A CN 114529273A
Authority
CN
China
Prior art keywords
digital currency
currency system
user
bank digital
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.)
Pending
Application number
CN202011204483.9A
Other languages
English (en)
Inventor
富尧
钟一民
汪仲祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruban Quantum Technology Co Ltd
Nanjing Ruban Quantum Technology Co Ltd
Original Assignee
Ruban Quantum Technology Co Ltd
Nanjing Ruban Quantum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ruban Quantum Technology Co Ltd, Nanjing Ruban Quantum Technology Co Ltd filed Critical Ruban Quantum Technology Co Ltd
Priority to CN202011204483.9A priority Critical patent/CN114529273A/zh
Publication of CN114529273A publication Critical patent/CN114529273A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了基于ID密码学的抗量子计算数字货币匿名通信方法及系统,该方法包括以下步骤:S1、使用密钥管理服务器分别为用户、商业银行数字货币系统和中央银行数字货币系统颁发公私钥及系统公私钥;S2、利用身份认证方法对商业银行数字货币系统与中央银行数字货币系统进行身份认证;S3、采用身份认证方法对用户与商业银行数字货币系统进行身份认证,并获取用户新的匿名身份;S4、通过数字货币交易方法实现不同用户之间数字货币的匿名交易。有益效果:本发明建立了抗量子计算的数字货币通信系统,且本发明的用户通过使用经常更新的匿名身份与商业银行数字货币系统进行通信,可以保护用户的隐私信息,使得交易更加安全。

Description

基于ID密码学的抗量子计算数字货币匿名通信方法及系统
技术领域
本发明涉及身份认证领域,尤其涉及基于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认证系统,及其对应的用户应用系统切换到抗量子计算方案的成本过高;
5、现有数字货币通信系统中,发款方和收款方的身份都是公开的,容易造成用户隐私泄露问题。
发明内容
针对相关技术中的问题,本发明提出一种基于ID密码学的抗量子计算数字货币匿名通信方法及系统,以克服现有相关技术所存在的上述技术问题。
为此,本发明采用的具体技术方案如下:
根据本发明的一个方面,提供了一种基于ID密码学的抗量子计算数字货币匿名通信方法,该方法包括以下步骤:
S1、使用密钥管理服务器分别为用户、商业银行数字货币系统和中央银行数字货币系统颁发公私钥及系统公私钥;
S2、利用身份认证方法对所述商业银行数字货币系统与所述中央银行数字货币系统进行身份认证;
S3、采用身份认证方法对所述用户与所述商业银行数字货币系统进行身份认证,并获取所述用户新的匿名身份;
S4、通过数字货币交易方法实现不同用户之间数字货币的匿名交易;
其中,所述中央银行数字货币系统对应的密钥管理服务器为所述中央银行数字货币系统颁发系统公私钥时,取随机数作为系统私钥,再根据该系统私钥计算得到系统公钥,并将该系统私钥和该系统公钥保存在所述中央银行数字货币系统的抗量子计算装置里;
所述中央银行数字货币系统对应的密钥管理服务器为所述中央银行数字货币系统颁发公私钥时,调用哈希函数计算得到公钥,再根据该公钥计算得到对应的私钥,并将所述中央银行数字货币系统的ID和该公私钥存入所述中央银行数字货币系统的抗量子计算装置;
所述中央银行数字货币系统对应的密钥管理服务器为所述商业银行数字货币系统颁发系统公私钥时,计算消息认证码得到对应的系统私钥,再根据该系统私钥计算得到系统公钥,并将该系统私钥保存在所述中央银行数字货币系统的抗量子计算装置里,将该系统公钥保存在对应所述商业银行数字货币系统的抗量子计算装置里;
所述中央银行数字货币系统对应的密钥管理服务器为所述商业银行数字货币系统颁发公私钥时,调用哈希函数计算得到公钥,再根据该公钥计算得到基于所述中央银行数字货币系统对应的密钥管理服务器的私钥,并将所述商业银行数字货币系统的ID和该公私钥存入所述商业银行数字货币系统的抗量子计算装置;
所述商业银行数字货币系统对应的密钥管理服务器为所述用户颁发系统公私钥时,计算消息认证码得到对应的系统私钥,再根据该系统私钥计算得到系统公钥,并将该系统私钥保存在所述商业银行数字货币系统的抗量子计算装置里,将该系统公钥保存在对应用户端的抗量子计算装置里;
所述商业银行数字货币系统对应的密钥管理服务器为所述用户颁发公私钥时,调用哈希函数计算得到公钥,再根据该公钥计算得到基于所述商业银行数字货币系统对应的密钥管理服务器的私钥,并将所述用户的匿名身份和该公私钥存入所述用户的抗量子计算装置,同时所述商业银行数字货币系统对应的密钥管理服务器记录所述用户的真实身份与其匿名身份的对应关系。
进一步的,所述S2利用身份认证方法对所述商业银行数字货币系统与所述中央银行数字货币系统进行身份认证包括以下步骤:
S21、将待认证的所述商业银行数字货币系统的身份信息发送给所述中央银行数字货币系统;
S22、所述中央银行数字货币系统接收所述身份信息并进行认证,同时将所述认证结果返回给所述商业银行数字货币系统,且当所述认证结果成功时,则包含会话密钥;
S23、所述商业银行数字货币系统接收所述认证结果并对该认证结果进行验证,其中,当所述认证结果成功时,则接收到所述会话密钥。
进一步的,所述S21中还包括利用基于所述中央银行数字货币系统对应密钥管理服务器的私钥对第一发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第一随机数参数,并计算所述第一随机数参数与所述商业银行数字货币系统的公钥之间的第一乘积,再利用预设函数作用于第一发送消息和所述第一乘积得到第一签名参数,并利用所述第一签名参数得到所述第一发送信息的第一签名。
进一步的,所述S22中还包括利用所述中央银行数字货币系统的另一私钥对第二发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第二随机数参数,并计算所述第二随机数参数与所述中央银行数字货币系统的公钥之间的第二乘积,再利用预设函数作用于第二发送消息和所述第二乘积得到第二签名参数,并利用所述第二签名参数得到所述第二发送信息的第二签名。
进一步的,所述S3采用身份认证方法对所述用户与所述商业银行数字货币系统进行身份认证,并获取所述用户新的匿名身份具体包括以下步骤:
S31、将待认证的所述用户的匿名身份信息发送给所述商业银行数字货币系统,并申请更新生成该用户新的匿名身份;
S32、所述商业银行数字货币系统接收所述用户带有匿名身份的信息,并验证待认证身份信息是否是所述匿名身份所对应的真实身份,同时将所述认证结果返回给所述用户;
其中,当验证成功时,所述商业银行数字货币系统为所述用户生成新的匿名身份,并计算得到所述用户新的匿名身份的系统公私钥及公私钥,且所述商业银行数字货币系统生成会话密钥,并将该会话密钥、认证成功消息、新的匿名身份和系统公钥以及私钥的信息组合得到变更信息,同时所述商业银行数字货币系统对应的密钥管理服务器记录所述用户的真实身份与新的匿名身份之间的对应关系;当验证失败时则将认证失败的消息称为变更信息,并获取时间戳得到第三发送消息;
S33、所述用户接收所述认证结果并对该认证结果进行验证,当所述用户的签名验证成功,且所述变更信息中携带的是所述商业银行数字货币系统验证签名成功的消息,则取出是该变更信息中的会话密钥、新的匿名身份和系统公钥以及私钥的信息,所述用户将新的匿名身份、系统公钥和私钥替换抗量子计算装置中原本存储的匿名身份、系统公钥和私钥,并使用新的匿名身份作为下次使用的匿名身份。
进一步的,所述S31中还包括利用基于所述商业银行数字货币系统对应密钥管理服务器的私钥对第三发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第三随机数参数,并计算所述第三随机数参数与所述用户的公钥之间的第三乘积,再利用预设函数作用于第三发送消息和所述第三乘积得到第三签名参数,并利用所述第三签名参数得到所述第三发送信息的第三签名。
进一步的,所述S32中还包括利用所述商业银行数字货币系统的另一私钥对第四发送信息进行基于ID密码学的数字签名,该数字签名具体包括以下步骤:
选取第四随机数参数,并计算所述第四随机数参数与所述商业银行数字货币系统的公钥之间的第四乘积,再利用预设函数作用于第四发送消息和所述第四乘积得到第四签名参数,并利用所述第四签名参数得到所述第四发送信息的第四签名。
进一步的,所述S4通过数字货币交易方法实现不同用户之间数字货币的匿名交易具体包括以下步骤:
S41、付款方的所述用户发起支付请求,并对所述支付请求做基于ID密码学的签名,同时使用该用户与第一所述商业银行数字货币系统之间协商的会话密钥对其进行加密,随后将加密后的支付请求信息发送给第一所述商业银行数字货币系统;
S42、第一所述商业银行数字货币系统接收所述支付请求信息,使用该用户与第一所述商业银行数字货币系统之间协商的会话密钥对其进行解密并进行验证,验证通过后,信任付款方所述用户的匿名身份,并得到其真实身份,同时对付款方所述用户的支付金额进行校验,校验通过后将需支付的数字货币字串信息与支付请求组合得到新的支付请求,并对新的支付请求做基于ID密码学的签名,同时使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行加密,随后将加密后的新的支付请求的信息及第一所述商业银行数字货币系统的ID发送给所述中央银行数字货币系统;
S43、所述中央银行数字货币系统接收新的支付请求的信息,使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行解密验证,验证通过后所述中央银行数字货币系统对新的支付请求信息进行解析并进行数字货币的转移、登记,完成后生成支付结果,同时对所述支付结果做基于ID密码学的签名,并使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行加密得到第一结果消息,随后该第一结果消息发送给第一所述商业银行数字货币系统,同理,生成所述中央银行数字货币系统与第二所述商业银行数字货币系统之间的第二结果消息,并发送给第二所述商业银行数字货币系统;
S44、第一所述商业银行数字货币系统接收所述第一结果信息,使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥对该第一结果信息进行解密验证,验证通过后记录本次交易信息,同时对支付结果做基于ID密码学的签名,并使用付款方的所述用户与第一所述商业银行数字货币系统之间协商的会话密钥进行加密,随后将加密后的信息及第一所述商业银行数字货币系统的ID发送给付款方的所述用户,同理,第二所述商业银行数字货币系统接收第二结果信息后也先验证签名,并记录本次交易信息,然后生成消息并将该消息及第二所述商业银行数字货币系统的ID发送给收款方的所述用户;
S45、付款方的所述用户和收款方的所述用户分别接收对应的消息并进行解密验证便可得到对应的数字货币交易的结果信息。
根据本发明的另一个方面,提供了基于ID密码学的抗量子计算数字货币通信系统,该系统包括中央银行数字货币系统、商业银行数字货币系统和用户,所述中央银行数字货币系统与所述商业银行数字货币系统之间的身份认证、所述商业银行数字货币系统与所述用户之间的身份认证均基于ID密码学的理论进行认证;
其中,所述中央银行数字货币系统用于生产和发行数字货币,还用于对所述数字货币进行权属登记;
所述商业银行数字货币系统用于针对数字货币执行银行功能;
所述用户为所述数字货币的使用主体。
进一步的,所述中央银行数字货币系统和所述商业银行数字货币系统中均配置有相应的抗量子计算装置,所述抗量子计算装置中均部署有对应的基于ID密码学的密钥管理服务器,所述用户也配置有相应的抗量子计算装置,且所述用户拥有可由对应所述商业银行数字货币系统为其更新的匿名身份。
本发明的有益效果为:
1)、本发明中密钥管理服务器为用户颁发匿名身份,用户使用经常更新的匿名身份与商业银行数字货币系统进行通信可以保护用户的隐私信息,使得交易更加安全;
2)、本发明可以实现抗量子计算的基于ID密码学的数字货币通信系统;
3)、本发明不需要将所有成员的公钥生成非对称密钥池后存储到各密钥卡中,客户端密钥卡只需要存储与自己有关的密钥,因此密钥卡的存储成本和操作工作量小;
4)、本发明没有改变传统数字货币系统身份认证及交易通信的整体流程和数据结构,只是在现有技术的基础上增加了基于ID密码学对称密钥的保护,因此数字货币通信系统切换到抗量子计算方案的成本不高;本发明不采用无法抗量子计算的CA通信系统,代之以基于ID密码学的密钥颁发服务,既减轻了系统搭建、升级的复杂度,又增强了央行对商业银行的控制能力;
5)、本发明基于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)保存在对应所述商业银行数字货币系统A的抗量子计算装置里,即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保存在所述商业银行数字货币系统A的抗量子计算装置TA里,将该系统公钥PKMSA1保存在对应用户端的抗量子计算装置里,即PKMSA1保存在TA1中,PKMSA2保存在TA2中;
所述商业银行数字货币系统对应的密钥管理服务器KMSA为所述用户A1颁发公私钥时,调用哈希函数H1计算得到公钥PKA1=H1(IDA1),再根据该公钥PKA1计算得到基于所述商业银行数字货币系统对应的密钥管理服务器KMSA的私钥SKA1=SKMSA1*PKA1,并将所述用户A1的匿名身份和该公私钥即IDA1、PKA1、SKA1存入所述用户A1的抗量子计算装置TA1,同时所述商业银行数字货币系统对应的密钥管理服务器KMSA记录所述用户A1的真实身份与其匿名身份IDA1的对应关系;
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,连同A1的匿名身份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验证A1INFO是否是IDA1所对应的真实身份。
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为A1生成新的匿名身份IDA1new,计算KMSA对IDA1new的系统私钥SKMSA1new=MAC(IDA1new,SKMSA),系统公钥PKMSA1new=SKMSA1new*P,计算IDA1new的公钥PKA1new=H1(IDA1new),私钥SKA1new=SKMSA1new*PKA1new,并且A生成会话密钥KSA-A1并将KSA-A1、认证成功的消息和IDA1new||PKMSA1new||SKA1new组合起来称为RETA,同时KMSA记录A1的真实身份与其匿名身份IDA1new的对应关系;如果验证失败则将认证失败的消息称为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和IDA1new||PKMSA1new||SKA1new,A1将新的匿名身份、系统公钥和私钥即IDA1new||PKMSA1new||SKA1new替换抗量子计算装置TA1中原来存储的IDA1||PKMSA1||SKA1,并使用IDA1new作为新的匿名身份;并且A1和A可以使用会话密钥KSA-A1进行保密通信。其他情况则不能得到会话密钥。
由上面的流程可以看到,基于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。然后将IDA1及支付请求信息(REQA1||SIGNA1-A)KSA-A1发送给A。
S42、A发送支付请求信息给S(第一所述商业银行数字货币系统将所述带有支付请求的信息及第一所述商业银行数字货币系统的ID发送给所述中央银行数字货币系统);
A收到来自A1的支付请求信息(REQA1||SIGNA1-A)KSA-A1。首先用KSA-A1进行解密得到REQA1和SIGNA1-A,然后按照S32中的方法,使用PKA1对SIGNA1-A进行验证。验证通过的话,可以信任消息发送者A1的匿名身份IDA1,并得到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,然后将IDA及请求信息(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,并将IDA及该消息(Result||SIGNA-A1)KSA-A1发送给A1。同理,B收到消息后也先验证签名,记录本次交易信息,然后将IDB及消息(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密码学的攻击。
同时,A1和B1每次交易后可以与各自的商业银行分别进行步骤S3的身份认证,从而获得新的匿名身份,这样在下次交易时,就可以使用新的匿名身份进行交易,最终实现每次交易的身份均不同。因此该流程可以保护用户隐私,使得用户的交易更加安全。
根据本发明的另一个方面,如图3所示,提供了基于ID密码学的抗量子计算数字货币通信系统,该数字货币系统基本结构主要包括中央银行数字货币系统、商业银行数字货币系统(在实际中可以是多个商业银行数字货币系统)和用户,其中中央银行数字货币系统与商业银行数字货币系统进行身份认证、商业银行数字货币系统与用户进行身份认证都是基于ID密码学的理论。中央银行数字货币系统用于产生和发行数字货币,以及对数字货币进行权属登记;商业银行数字货币系统用于针对数字货币执行银行功能;用户则是数字货币使用的主体。
假设中央银行数字货币系统S的ID为IDS,S具有抗量子计算装置TS,TS中部署有基于ID密码学的密钥管理服务器KMS;商业银行数字货币系统A、B、C...的ID为IDA、IDB、IDC...,各自具有抗量子计算装置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...。其中,用户A1、A2、A3、B1、B2、B3、C1、C2、C3...拥有可变的匿名身份IDA1、IDA2、IDA3、IDB1、IDB2、IDB3、IDC1、IDC2、IDC3...,这些匿名身份可以由用户对应的商业银行数字货币系统为其更新,以达到保密通信的目的。
抗量子计算装置可以是密钥卡、移动终端、密码机、网关等,可与银行货币系统或各个用户端分别进行主板接口通信、近距离无线通信、可控的内网通信等,可保证通信范围内不会被量子计算机窃取信息,例如抗量子计算装置可以是密钥卡插接在银行货币系统的主机主板上,或者抗量子计算装置可以是移动终端与同样是移动终端的双方进行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仅保存在商业银行数字货币系统的抗量子计算装置TA中,计算商业银行数字货币系统的系统公钥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的系统私钥保存在商业银行数字货币系统的抗量子计算装置TA中,基于KMSA的系统公钥保存在对应用户端的抗量子计算装置中,即PKMSA1保存在TA1中,PKMSA2保存在TA2中。KMSB、KMSC...对它们所属不同用户的系统公私钥的计算方法与此类似。
(5)KMSA为用户A1颁发公私钥时,调用哈希函数H1计算公钥PKA1=H1(IDA1),再根据公钥PKA1计算基于KMSA的私钥SKA1=SKMSA1*PKA1,将A1的匿名身份和公私钥即IDA1、PKA1、SKA1存储于A1的抗量子计算装置TA1中,同时KMSA记录A1的真实身份与其匿名身份IDA1的对应关系。KMSA为其他用户比如A1、A2...颁发公私钥的过程与此类似。其他密钥管理服务器KMSB、KMSC...等为各自所属用户颁发公私钥的方法与此类似。
综上所述,借助于本发明的上述技术方案,本发明中密钥管理服务器为用户颁发匿名身份,用户使用经常更新的匿名身份与商业银行数字货币系统进行通信可以保护用户的隐私信息,使得交易更加安全;此外,本发明可以实现抗量子计算的基于ID密码学的数字货币通信系统;本发明不需要将所有成员的公钥生成非对称密钥池后存储到各密钥卡中,客户端密钥卡只需要存储与自己有关的密钥,因此密钥卡的存储成本和操作工作量小;此外,本发明没有改变传统数字货币系统身份认证及交易通信的整体流程和数据结构,只是在现有技术的基础上增加了基于ID密码学对称密钥的保护,因此数字货币通信系统切换到抗量子计算方案的成本不高;本发明不采用无法抗量子计算的CA通信系统,代之以基于ID密码学的密钥颁发服务,既减轻了系统搭建、升级的复杂度,又增强了央行对商业银行的控制能力;此外,本发明基于ID密码学的密钥颁发服务器对每个不同用户的系统公私钥均不同,即使某个用户的系统公钥丢失导致其对应的系统私钥被量子计算机破解,也不会危及到其他用户的系统公私钥。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.基于ID密码学的抗量子计算数字货币匿名通信方法,其特征在于,该方法包括以下步骤:
S1、使用密钥管理服务器分别为用户、商业银行数字货币系统和中央银行数字货币系统颁发公私钥及系统公私钥;
S2、利用身份认证方法对所述商业银行数字货币系统与所述中央银行数字货币系统进行身份认证;
S3、采用身份认证方法对所述用户与所述商业银行数字货币系统进行身份认证,并获取所述用户新的匿名身份;
S4、通过数字货币交易方法实现不同用户之间数字货币的匿名交易;
其中,所述中央银行数字货币系统对应的密钥管理服务器为所述中央银行数字货币系统颁发系统公私钥时,取随机数作为系统私钥,再根据该系统私钥计算得到系统公钥,并将该系统私钥和该系统公钥保存在所述中央银行数字货币系统的抗量子计算装置里;
所述中央银行数字货币系统对应的密钥管理服务器为所述中央银行数字货币系统颁发公私钥时,调用哈希函数计算得到公钥,再根据该公钥计算得到对应的私钥,并将所述中央银行数字货币系统的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密码学的签名,同时使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行加密,随后将加密后的新的支付请求的信息及第一所述商业银行数字货币系统的ID发送给所述中央银行数字货币系统;
S43、所述中央银行数字货币系统接收新的支付请求的信息,使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行解密验证,验证通过后所述中央银行数字货币系统对新的支付请求信息进行解析并进行数字货币的转移、登记,完成后生成支付结果,同时对所述支付结果做基于ID密码学的签名,并使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥进行加密得到第一结果消息,随后该第一结果消息发送给第一所述商业银行数字货币系统,同理,生成所述中央银行数字货币系统与第二所述商业银行数字货币系统之间的第二结果消息,并发送给第二所述商业银行数字货币系统;
S44、第一所述商业银行数字货币系统接收所述第一结果信息,使用所述中央银行数字货币系统与第一所述商业银行数字货币系统之间协商的会话密钥对该第一结果信息进行解密验证,验证通过后记录本次交易信息,同时对支付结果做基于ID密码学的签名,并使用付款方的所述用户与第一所述商业银行数字货币系统之间协商的会话密钥进行加密,随后将加密后的信息及第一所述商业银行数字货币系统的ID发送给付款方的所述用户,同理,第二所述商业银行数字货币系统接收第二结果信息后也先验证签名,并记录本次交易信息,然后生成消息并将该消息及第二所述商业银行数字货币系统的ID发送给收款方的所述用户;
S45、付款方的所述用户和收款方的所述用户分别接收对应的消息并进行解密验证便可得到对应的数字货币交易的结果信息。
9.基于ID密码学的抗量子计算数字货币通信系统,以实现权利要求1-8中任一项所述的基于ID密码学的抗量子计算数字货币匿名通信方法的步骤,其特征在于,该系统包括中央银行数字货币系统、商业银行数字货币系统和用户,所述中央银行数字货币系统与所述商业银行数字货币系统之间的身份认证、所述商业银行数字货币系统与所述用户之间的身份认证均基于ID密码学的理论进行认证;
其中,所述中央银行数字货币系统用于生产和发行数字货币,还用于对所述数字货币进行权属登记;
所述商业银行数字货币系统用于针对数字货币执行银行功能;
所述用户为所述数字货币的使用主体。
10.根据权利要求9所述的基于ID密码学的抗量子计算数字货币通信系统,其特征在于,所述中央银行数字货币系统和所述商业银行数字货币系统中均配置有相应的抗量子计算装置,所述抗量子计算装置中均部署有对应的基于ID密码学的密钥管理服务器,所述用户也配置有相应的抗量子计算装置,且所述用户拥有可由对应所述商业银行数字货币系统为其更新的匿名身份。
CN202011204483.9A 2020-11-02 2020-11-02 基于id密码学的抗量子计算数字货币匿名通信方法及系统 Pending CN114529273A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011204483.9A CN114529273A (zh) 2020-11-02 2020-11-02 基于id密码学的抗量子计算数字货币匿名通信方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011204483.9A CN114529273A (zh) 2020-11-02 2020-11-02 基于id密码学的抗量子计算数字货币匿名通信方法及系统

Publications (1)

Publication Number Publication Date
CN114529273A true CN114529273A (zh) 2022-05-24

Family

ID=81619394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011204483.9A Pending CN114529273A (zh) 2020-11-02 2020-11-02 基于id密码学的抗量子计算数字货币匿名通信方法及系统

Country Status (1)

Country Link
CN (1) CN114529273A (zh)

Similar Documents

Publication Publication Date Title
JP6724249B2 (ja) 情報保護用のシステム及び方法
US10903991B1 (en) Systems and methods for generating signatures
JP6714156B2 (ja) 情報保護のためのシステム及び方法
JP6515246B2 (ja) 情報及び階層的で決定性の暗号化鍵のセキュアな交換のための共通秘密の決定
CN111475796B (zh) 基于秘密共享和量子通信服务站的抗量子计算身份认证方法及系统
US9065637B2 (en) System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
EP0979496B1 (en) Two way authentication protocol
CN113556237B (zh) 基于聚合多签的阈值签名方法、系统、装置及存储介质
US20050105735A1 (en) Information processing system and method, information processing device and method, recording medium, and program
CA2886849A1 (en) A secure mobile electronic payment system where only the bank has the key, distributed key handshakes, one way and two way authentication distributed key processes and setting up a dynamic distributed key server
CN113225302B (zh) 一种基于代理重加密的数据共享系统及方法
CN114866323B (zh) 一种用户可控的隐私数据授权共享系统及方法
US9641333B2 (en) Authentication methods, systems, devices, servers and computer program products, using a pairing-based cryptographic approach
CN116599659B (zh) 无证书身份认证与密钥协商方法以及系统
CN110266483B (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备
CN116232578A (zh) 一种融合量子密钥分发的多方协同签名系统、方法及设备
CN114448636A (zh) 基于数字证书的抗量子计算数字货币系统及匿名通信方法
CN114422158B (zh) 一种基于id密码学的抗量子计算数字货币通信方法及系统
CN114529273A (zh) 基于id密码学的抗量子计算数字货币匿名通信方法及系统
CN114362952B (zh) 一种发送方离线的数字货币抗量子计算交易方法及系统
CN114493556A (zh) 基于id密码学的接收方离线的数字货币抗量子计算匿名交易方法
CN114529275A (zh) 一种接收方离线的数字货币抗量子计算交易方法及系统
EP4181457A1 (en) Quantum based method and system for performing cryptocurrency asset transactions
CN114696997B (zh) 一种基于ca和国密算法的抗量子计算通信方法及系统
CN115314208B (zh) 一种安全可控的sm9数字签名生成方法及系统

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