CN114493556A - 基于id密码学的接收方离线的数字货币抗量子计算匿名交易方法 - Google Patents

基于id密码学的接收方离线的数字货币抗量子计算匿名交易方法 Download PDF

Info

Publication number
CN114493556A
CN114493556A CN202011244382.4A CN202011244382A CN114493556A CN 114493556 A CN114493556 A CN 114493556A CN 202011244382 A CN202011244382 A CN 202011244382A CN 114493556 A CN114493556 A CN 114493556A
Authority
CN
China
Prior art keywords
digital currency
currency system
key
transaction
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.)
Pending
Application number
CN202011244382.4A
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 CN202011244382.4A priority Critical patent/CN114493556A/zh
Publication of CN114493556A publication Critical patent/CN114493556A/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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, 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/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • 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
    • 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/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/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)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Electromagnetism (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明提出一种基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,包括以下步骤:S1:商业银行数字货币系统与中央银行数字货币系统进行身份认证;S2:在线用户与商业银行数字货币系统进行身份认证;S3:接收方离线,发送方为在线用户,双方进行数字货币匿名交易。该方法能实现抗量子计算的接收方离线和基于ID密码学的数字货币匿名交易,并且安全度高,便于管理,能够节约系统改造成本。

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密码学的数字货币匿名交易,并且安全度高,便于管理,能够节约系统改造成本。
为实现上述目的,本发明的基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,包括以下步骤:
S1:商业银行数字货币系统与中央银行数字货币系统进行身份认证,该步骤包括以下子步骤:
S101:商业银行数字货币系统将己方身份发送给中央银行数字货币系统;
S102:中央银行数字货币系统进行认证,并发送认证结果给商业银行数字货币系统;
S103:商业银行数字货币系统收到认证结果,如认证成功则认证结果中包含会话密钥;
S2:在线用户与商业银行数字货币系统进行身份认证,该步骤包括以下子步骤:
S201:在线用户发送己方身份信息给商业银行数字货币系统,并申请更新生成新的匿名身份;
S202:商业银行数字货币系统进行认证并发送认证结果给在线用户;
S203:在线用户收到认证结果,如验证成功则认证结果中包含会话密钥;
S3:接收方离线,发送方为在线用户,双方进行数字货币匿名交易,该步骤包括以下子步骤:
S301:接收方与发送方近距离通信互换双方信息,发送方向其所属的商业银行数字货币系统发送加密的签名交易;
S302:商业银行数字货币系统收到签名交易,解密后进行验证,验证成功则将签名交易发送给中央银行数字货币系统;
S303:中央银行数字货币系统收到签名交易,解密后进行验证,验证成功则将消息发送给接收方所属的商业银行数字货币系统,验证失败则通知发送方所属的商业银行数字货币系统;
S304:接收方所属的商业银行数字货币系统收到消息,解密后验证交易,交易验证失败则通知中央银行数字货币系统,交易验证成功则进入下一步;
S305:接收方所属的商业银行数字货币系统在本地记录交易并进行签名,然后为接收方生成新的匿名身份,加密后发送消息给中央银行数字货币系统;
S305:中央银行数字货币系统接收消息,解密并进行验证,验证成功后记录数字货币的归属变化,并将交易成功的消息发送给发送方所属的商业银行数字货币系统,
S306:发送方所属的商业银行数字货币系统收到消息后,解密后进行验证,验证成功后为发送方生成新的匿名身份,并将新的匿名身份和交易成功的消息发送给发送方;
S307:发送方收到信息后,解密确认交易结束并删除相应的数字货币,保存新的身份信息,发送消息给接收方,接收方接收消息后,解密并验证,确认交易结束,如交易成功则存储收到的数字货币,并保存新的身份信息。
进一步地,中央银行数字货币系统、商业银行数字货币系统及用户分别具有抗量子计算装置,中央银行数字货币系统、商业银行数字货币系统分别具有密钥管理服务器;
中央银行数字货币系统的系统私钥通过随机选取,其仅保存在中央银行数字货币系统的抗量子计算装置中,基于此系统私钥计算中央银行数字货币系统的系统公钥,中央银行数字货币系统的密钥管理服务器对商业银行数字货币系统的系统私钥基于中央银行数字货币系统的系统私钥对该商业银行数字货币系统身份计算的消息认证码,基于中央银行数字货币系统的密钥管理服务器对商业银行数字货币系统的系统私钥计算相应的系统公钥,基于中央银行数字货币系统的密钥管理服务器的系统私钥保存在中央银行数字货币系统的抗量子计算装置中,基于中央银行数字货币系统的密钥管理服务器的系统公钥保存在对应商业银行数字货币系统的抗量子计算装置中;
中央银行数字货币系统的密钥管理服务器调用哈希函数计算为中央银行数字货币系统颁发的公钥,再根据此公钥计算为中央银行数字货币系统颁发的私钥,中央银行数字货币系统的密钥管理服务器调用哈希函数计算为商业银行数字货币系统颁发的公钥,再根据为此公钥计算相应的私钥,并且每个商业银行数字货币系统的公钥和私钥均不同,中央银行数字货币系统的身份、公钥和私钥均保存在其抗量子计算装置中,商业银行数字货币系统的身份、公钥和私钥均保存在其抗量子计算装置中。
进一步地,商业银行数字货币系统的系统私钥通过随机选取,其仅保存在该商业银行数字货币系统的抗量子计算装置中,基于此系统私钥计算商业银行数字货币系统的系统公钥,商业银行数字货币系统的密钥管理服务器对用户的系统私钥基于商业银行数字货币系统的系统私钥对该用户身份计算的消息认证码,基于商业银行数字货币系统的密钥管理服务器对用户的系统私钥计算相应的系统公钥;
商业银行数字货币系统的密钥管理服务器调用哈希函数计算为用户颁发的公钥,再根据此公钥计算为用户的私钥,商业银行数字货币系统的密钥管理服务器调用哈希函数计算为用户颁发的公钥,再根据此公钥计算相应的私钥,并且每个用户的公钥和私钥均不同,同时由商业银行数字货币系统的密钥管理服务器记录用户的真实身份与匿名身份的对应关系。
进一步地,在步骤S1中,商业银行数字货币系统通过中央银行数字货币系统的身份计算中央银行数字货币系统的公钥,取出己方基于中央银行数字货币系统密钥管理服务器的私钥,获取时间戳,计算两者间的对称密钥,计算消息认证码并签名,再通过对称密钥加密,将商业银行数字货币系统身份、中央银行数字货币系统和时间戳一同发给中央银行数字货币系统,中央银行数字货币系统计算其对该商业银行数字货币系统的系统私钥,结合两者间的对称密钥计算解密消息认证码,得到所有信息,然后以商业银行数字货币系统的公钥和系统公钥计算来验证签名,成功则中央银行数字货币系统生成会话密钥,和时间戳一同加入新的消息并加密发送回商业银行数字货币系统,使用对称密钥解密消息,验证签名成功,得到会话密钥。
进一步地,在步骤S2中,在线用户通过商业银行数字货币系统的身份计算出商业银行数字货币系统的公钥,取出己方基于商业银行数字货币系统密钥管理服务器的私钥,获取时间戳,计算两者间的对称密钥,计算消息认证码并签名,再通过对称密钥加密,将在线用户的匿名身份、商业银行数字货币系统身份和时间戳一同发给商业银行数字货币系统,商业银行数字货币系统的密码管理服务器计算其对该在线用户的系统私钥,结合两者间的对称密钥计算解密消息认证码,得到在线用户的身份和所有信息,然后以用户的公钥和系统公钥计算来验证签名,验证成功则为用户生成新的匿名身份,并生成新的公钥、系统公钥、私钥和系统私钥,和时间戳一同加入新的消息并加密发送回在线用户,在线用户使用对称密钥解密消息,验证签名成功,得到会话密钥,取得并替换新的匿名身份、系统公钥和私钥。
进一步地,在步骤S3中,发送方和接收方通过近距离通信互换匿名身份,发送方使用私钥将自己匿名身份、交易和时间戳组成的信息签名,通过与商业银行数字货币系统的会话密钥加密后发送给商业银行数字货币系统,商业银行数字货币系统以会话密钥解密后验证,验证成功后以与中央银行数字货币系统之间的会话密钥加密包括发送方真实身份、交易和时间戳的消息并发送给中央银行数字货币系统。
进一步地,在步骤S3中,中央银行数字货币系统接收消息后以与发送方所属商业银行数字货币系统之间的会话密钥解密得到发送方的真实身份、交易和时间戳,验证通过后以与接收方所属商业银行数字货币系统之间的会话密钥加密交易和时间戳,并发送至接收方所属商业银行数字货币系统,接收方所属商业银行数字货币系统接收消息后解密,验证成功后在本地进行记录交易和时间戳。
进一步地,在步骤S3中,接收方所属商业银行数字货币系统计算与接收方之间的对称密钥和交易密钥,并计算接收方所属商业银行数字货币系统的另一私钥,为接收方生成新的匿名身份、系统私钥、系统公钥、私钥和公钥,以接收方所属商业银行数字货币系统的另一私钥对交易、交易时间和成功消息签名,以交易密钥加密然后再以对称密钥加密后发送给中央银行数字货币系统。
进一步地,在步骤S3中,中央银行数字货币系统以与接收方所属商业银行数字货币系统的对称密钥解密消息,验证成功后记录交易成功后的数字货币的归属变化,并将交易成功的消息以与发送方所属商业银行数字货币系统的对称密码加密发送至发送方所属商业银行数字货币系统,发送方所属商业银行数字货币系统以与中央银行数字货币系统的对称密码解密消息,为发送方生成新的匿名身份、系统私钥、系统公钥、私钥和公钥,并与交易成功的信息打包,以消息认证码加密后再与发送方的对称密码加密后发送给发送方。
进一步地,在步骤S3中,发送方收到消息后以与所属商业银行数字货币系统的对称密码解密得到成功信息,确认交易结束,删除交易中的数字货币,并保存新的匿名身份、公钥和系统私钥,然后将交易和交易成功消息发送给接收方;
接收方接收消息后计算与其所属商业银行数字货币系统的对称密码,并计算得到消息认证码,解密消息,验证后存储收到的数字货币,并保存接收方新的匿名身份、公钥和系统私钥。
本发明的基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法具有以下优点:
1.可以实现抗量子计算的接收方离线和基于ID密码学的数字货币匿名交易;
2.不需要将所有成员的公钥生成非对称密钥池后存储到各密钥卡中,客户端密钥卡只需要存储与自己有关的密钥,因此密钥卡的存储成本和操作工作量小;
3.没有改变传统数字货币系统身份认证及交易通信的整体流程和数据结构,只是在现有技术的基础上增加了基于ID密码学对称密钥的保护,因此数字货币通信系统切换到抗量子计算方案的成本较低;以基于ID密码学的密钥颁发服务取代了无法抗量子计算的CA通信系统,既减轻了系统搭建、升级的复杂度,又增强了央行对商业银行的控制能力;
4.密钥管理服务器为用户颁发匿名身份,用户使用经常更新的匿名身份与商业银行数字货币系统进行通信,可以保护用户的隐私信息,使得交易更加安全。
5.基于ID密码学的密钥颁发服务器对每个不同用户的系统公私钥均不同,即使某个用户的系统公钥丢失导致其对应的系统私钥被量子计算机破解,也不会危及到其他用户的系统公私钥。
附图说明
下面结合附图对本发明作进一步描写和阐述。
图1是本发明首选实施方式中的中央银行数字货币系统的基本结构图。
图2是本发明首选实施方式中基于ID密码学和接收方离线的数字货币匿名交易的流程图。
具体实施方式
下面将结合附图、通过对本发明的优选实施方式的描述,更加清楚、完整地阐述本发明的技术方案。
实施例:
本实施例提出一种基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,由中央银行数字货币系统、商业银行数字货币系统以及用户端所共同实施。
以中央银行数字货币的运行实例来说,如图1所示,数字货币系统基本结构主要包括中央银行数字货币系统、商业银行数字货币系统(在实际中可以是多个商业银行数字货币系统)和用户,其中中央银行数字货币系统与商业银行数字货币系统进行身份认证、商业银行数字货币系统与用户进行身份认证都是基于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通信,或者抗量子计算装置是密码机或网关与同一内网的用户主机双方进行安全的内网通信。
KMS为某个成员颁发公私钥时,首先需要建立一套基于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密码学的身份认证流程以及如图2所示的用户基于ID密码学和接收方离线的数字货币匿名交易的流程:
步骤S1:商业银行数字货币系统与中央银行数字货币系统S进行身份认证
以下以商业银行数字货币系统A与中央银行数字货币系统S进行身份认证为例。其他商业银行数字货币系统与中央银行数字货币系统S进行身份认证的流程与此类似。
S101: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
S102: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
S103: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可以使用该会话密钥进行保密通信;其他情况则不能得到会话密钥。
同理B和S可以依此方法进行身份认证并协商得到两者之间的会话密钥KSB-S
由上面的流程可以看到,基于ID密码学的系统公钥没有被公开,且基于ID密码学的数字签名被对称密钥保护,因此该流程可以抵抗量子计算机对基于ID密码学的攻击。另外,基于ID密码学的KMS对A、B、C等不同用户的系统公私钥均不同,即使A的系统公钥PKMSA(KMS)丢失导致其对应的系统私钥SKMSA(KMS)被量子计算机破解,也不会危及到B、C等其他用户的系统公私钥。
步骤S2:用户与商业银行数字货币系统进行身份认证
以下以在线用户B1与商业银行数字货币系统B进行身份认证为例。其他在线用户与对应的商业银行数字货币系统进行身份认证的流程与此类似。
S201:B1发送己方身份信息给B,并申请更新生成新的匿名身份
B1根据IDB计算得到PKB=H1(IDB),取出己方基于KMSB的私钥SKB1计算B1与B之间的对称密钥KB1-B=e(SKB1,PKB)。获取时间戳T3,使用KB1-B对T3计算消息认证码得到K3=MAC(T3,KB1-B)。将组合IDB1||IDB||T3||B1INFO作为MSGB1,其中B1INFO为将要用来认证的B1的身份信息。
用SKB1对MSGB1作基于ID密码学的数字签名,过程如下:取随机数参数r3,求得r3和PKB1的乘积r3*PKB1,再用函数H1作用于MSGB1和r3*PKB1,可得到签名参数h3=H1(MSGB1,r3*PKB1)。则可以得到MSGB1的签名SIGN(MSGB1,SKB1)=(r3*PKB1,(r3+h3)*SKB1)。
使用K3对B1INFO和SIGN(MSGB1,SKB1)加密得到{B1INFO||SIGN(MSGB1,SKB1)}K3,连同B1的匿名身份IDB1、IDB以及T3一起发送至B,发送的消息可表示为IDB1||IDB||T3|{B1INFO||SIGN(MSGB1,SKB1)}K3
S202:B发送认证结果(认证成功则包含会话密钥)给B1
B收到来自B1的消息IDB1||IDB||T3|{B1INFO||SIGN(MSGB1,SKB1)}K3。B中的KMSB计算其对B1的私钥为SKMSB1=MBC(IDB1,SKMSB),根据PKB=H1(IDB)得到SKB(MSB1)=SKMSB1*PKB。进一步得到B与B1之间的对称密钥KB-B1=e(SKB(MSB1),PKB1)。根据ID密码学可得:KB1-B=e(SKB1,PKB)=e(SKMSB1*PKB1,PKB)=e(PKB1,SKMSB1*PKB)=e(PKB1,SKB(MSB1))=e(SKB(MSB1),PKB1)=KB-B1。使用KB-B1对T3计算消息认证码得到K′3=MAC(T3,KB-B1)。使用K′3解密{B1INFO||SIGN(MSGB1,SKB1)}K3,得到B1的身份信息B1INFO和SIGN(MSGB1,SKB1)。B验证B1INFO是否是IDB1所对应的真实身份。
B根据IDB1计算得到PKB1=H1(IDB1),根据前面算出的SKMSB1计算KMSB对B1的系统公钥为PKMSB1=SKMSB1*P,用PKB1和PKMSB1来验证签名SIGN(MSGB1,SKB1)。要验证该签名,只需要验证(P,PKMSB1,r3*PKB1+h3*PKB1,(r3+h3)*SKB1)是一个有效的Diffie-Hellman元组。
如果验证成功,B为B1生成新的匿名身份IDB1new,计算KMSB对IDB1new的系统私钥SKMSB1new=MAC(IDB1new,SKMSB),系统公钥PKMSB1new=SKMSB1new*P,计算IDB1new的公钥PKB1new=H1(IDB1new),私钥SKB1new=SKMSB1new*PKB1new,并且B生成会话密钥KSB-B1并将KSB-B1、认证成功的消息和IDB1new||PKMSB1new||SKB1new组合起来称为RETB,同时KMSB记录B1的真实身份与其匿名身份IDB1new的对应关系;如果验证失败则将认证失败的消息称为RETB。获取时间戳T4,将组合IDB||IDB1||T4||RETB作为MSGB
用SKB(MSB1)对MSGB作基于ID密码学的数字签名,过程如下:取随机数参数r4,求得r4和PKB的乘积r4*PKB,再用函数H1作用于MSGB和r4*PKB,可得到签名参数h4=H1(MSGB,r4*PKB)。则可以得到MSGB的签名SIGN(MSGB,SKB(MSB1))=(r4*PKB,(r4+h4)*SKB(MSB1))。
使用KB-B1对T4计算消息认证码得到K4=MAC(T4,KB-B1),使用K4对RETB和SIGN(MSGB,SKB(MSB1))加密得到{RETB||SIGN(MSGB,SKB(MSB1))}K4,连同IDB、IDB1以及T4一起发送至B1,发送的消息可表示为IDB||IDB1||T4||{RETB||SIGN(MSGB,SKB(MSB1))}K4
S203:B1收到认证结果(认证成功则包含会话密钥)
B1收到来自B的消息IDB||IDB1||T4||{RETB||SIGN(MSGB,SKB(MSB1))}K4。使用KB1-B对T4计算消息认证码得到K′4=MAC(T4,KB1-B),使用K′4解密{RETB||SIGN(MSGB,SKB(MSB1))}K4,得到RETB和SIGN(MSGB,SKB(MSB1))。
B1用PKB和从TB1中取出的PKMSB1来验证签名SIGN(MSGB,SKB(MSB1))。要验证该签名,只需要验证(P,PKMSB1,r4*PKB+h4*PKB,(r4+h4)*SKB(MSB1))是一个有效的Diffie-Hellman元组。若B1验证签名成功,并且RETB中携带的也是B验证签名成功的消息,则可以取出RETB中的会话密钥KSB-B1和IDB1new||PKMSB1new||SKB1new,B1将新的匿名身份、系统公钥和私钥即IDB1new||PKMSB1new||SKB1new替换抗量子计算装置TB1中原来存储的IDB1||PKMSB1||SKB1,并使用IDB1new作为新的匿名身份;并且B1和B可以使用会话密钥KSB-B1进行保密通信。其他情况则不能得到会话密钥。
由上面的流程可以看到,基于ID密码学的系统公钥没有被公开,且基于ID密码学的数字签名被对称密钥保护,因此该流程可以抵抗量子计算机对基于ID密码学的攻击。另外,基于ID密码学的KMSB对B1、B2、B3等不同用户的系统公私钥均不同,即使B1的系统公钥PKMSB1丢失导致其对应的系统私钥SKMSB1被量子计算机破解,也不会危及到B2、B3等其他用户的系统公私钥。并且用户的匿名身份经常更新,然后用户使用匿名身份进行通信可以使得通信更加安全。
步骤S3:接收方A1离线的数字货币交易
接收方A1离线,发送方B1在线,现在以双方进行数字货币匿名交易为例,流程图如图2所示。
S301:B1向B发送签名交易
A1与B1进行近距离通信互换双方信息。其中发送方信息包括发送方匿名ID;接收方信息包括接收方匿名ID。
B1使用私钥SKB1对IDB1、T和TX组成的消息MSG′B1计算基于ID密码学的签名得到SIGB1=SIGN(MSG′B1,SKB1),其中T为签名时间,TX为待签名消息即交易,包括发送方信息、接收方信息、数字货币等交易信息。签名过程如下:
取随机数参数r5,求得r5和PKB1的乘积r5*PKB1,再用函数H1作用于MSG′B1和r5*PKB1,可得到签名参数h5=H1(MSG′B1,r5*PKB1)。则可以得到MSG′B1的签名SIGN(MSG′B1,SKB1)=(r5*PKB1,(r5+h5)*SKB1)。
B1使用B1与B之间的会话密钥KSB-B1加密MSG′B1和SIGB1并发送给B1所属的商业银行数字货币系统B。
S302:B收到签名交易,并发送给央行
B收到消息后用KSB-B1解密得到MSG′B1和SIGB1,然后用PKB1和PKMSB1来验证签名SIGB1。要验证该签名,只需要验证(P,PKMSB1,r5*PKB1+h5*PKB1,(r5+h5)*SKB1)是一个有效的Diffie-Hellman元组。
如果验证成功,则说明消息确实来自B1。接着B用B与S之间的会话密钥KSS-B对MSG′B1中的T、TX和B1的真实身份进行加密并发送给中央银行数字货币系统S。
S303:S收到消息后用KSS-B解密得到T、TX和B1的真实身份。S验证交易TX,如果交易失败则通知B,如果交易成功则使用S与A之间的会话密钥KSS-A对T和TX进行加密得到{T||TX}KSS-A,并使用KSS-A对T||TX计算消息认证码得到MAC(T||TX,KSS-A),然后将{T||TX}KSS-A和MAC(T||TX,KSS-A)发送给A1所属的商业银行数字货币系统A。
S304:A对交易进行签名,并为A1生成新的匿名身份,
A收到消息后用KSS-A解密{T||TX}KSS-A得到T和TX,并对MAC(T||TX,KSS-A)进行验证。A验证交易TX,如果交易失败则通知S,交易成功则继续后面的步骤。
S305:A在本地记录T||TX,然后按照S202中的方法计算得到A与A1之间的对称密钥KA-A1,用KA-A1对T计算消息认证码得到KT=MAC(T,KA-A1)。按照2.2中的方法计算A的另一种私钥SKA(MSA1),A为A1生成新的匿名身份IDA1new,计算KMSA对IDA1new的系统私钥SKMSA1new=MAC(IDA1new,SKMSA),系统公钥PKMSA1new=SKMSA1new*P,计算IDA1new的公钥PKA1new=H1(IDA1new),私钥SKA1new=SKMSA1new*PKA1new。组合A1新的匿名身份信息IDA1new||PKMSA1new||SKA1new和交易成功的消息为RET,并使用SKA(MSA1)对T||TX||RET作基于ID密码学的数字签名得到SIGA=SIGN(T||TX||RET,SKA(MSA1))。A用KT加密得到{TX||RET||SIGA}KT并命名为RETA。然后用KSS-A加密RETA得到{RETA}KSS-A,用KSS-A对RETA计算消息认证码得到MAC(RETA,KSS-A),并将{RETA}KSS-A和MAC(RETA,KSS-A)发送给S。
S306:S发送交易结果给B,B转发给B1,B1转发给A1
S收到消息后,如果是交易失败的消息则将该消息命名为RET′;否则用KSS-A解密{RETA}KSS-A得到RETA,并对MAC(RETA,KSS-A)进行验证。如果验证成功则说明交易成功,则S记录交易成功后数字货币的归属变化,并将交易成功的消息命名为RET′。S用KSS-B加密RET′||RETA并发送给B。
S307:B收到消息后用KSS-B解密得到RET′||RETA,确认RET′包含的为交易成功的消息后,B按照2.2中的方法为B1生成新的匿名身份IDB1new,并计算KMSB对IDB1new的系统私钥SKMSB1new、系统公钥PKMSB1new、公钥PKB1new和私钥SKB1new。B将B1新的身份信息IDB1new||PKMSB1new||SKB1new和数字货币交易成功的信息组成RET′B,并用KSB-B1加密RET′B||RETA然后发送给B1。
S308:B1收到消息后用KSB-B1解密得到RET′B||RETA,B1确认RET′B后,确认交易结束,然后删除TX中的数字货币,保存B1新的身份信息IDB1new||PKMSB1new||SKB1new。B1将T||RETA发送给A1,A1得到T||RETA。A1按照2.1中的方法计算得到A1与A之间的对称密钥KA1-A,再用KA1-A对T计算消息认证码得到KT′=MAC(T,KA1-A),用KT′解密得到TX||RET||SIGA。A1按照2.2中的方法对签名SIGA进行验证,然后A1确认交易结束,如果成功则存储收到的数字货币,并保存A1的新的匿名身份信息IDA1new||PKMSA1new||SKA1new
由上面的流程可以看到,基于ID密码学的系统公钥没有被公开,且基于ID密码学的数字签名被对称密钥保护,因此该流程可以抵抗量子计算机对基于ID密码学的攻击。同时,A1和B1每次交易之后可以从各自的商业银行分别获得新的匿名身份;并且在每次的基于接收方离线的数字货币交易过程中,交易的实际内容均被对称密钥加密。因此该流程可以保护用户隐私,使得用户的交易更加安全。
上述具体实施方式仅仅对本发明的优选实施方式进行描述,而并非对本发明的保护范围进行限定。在不脱离本发明设计构思和精神范畴的前提下,本领域的普通技术人员根据本发明所提供的文字描述、附图对本发明的技术方案所作出的各种变形、替代和改进,均应属于本发明的保护范畴。本发明的保护范围由权利要求确定。

Claims (10)

1.一种基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,其特征在于,包括以下步骤:
S1:商业银行数字货币系统与中央银行数字货币系统进行身份认证,该步骤包括以下子步骤:
S101:商业银行数字货币系统将己方身份发送给中央银行数字货币系统;
S102:中央银行数字货币系统进行认证,并发送认证结果给商业银行数字货币系统;
S103:商业银行数字货币系统收到认证结果,如认证成功则认证结果中包含会话密钥;
S2:在线用户与商业银行数字货币系统进行身份认证,该步骤包括以下子步骤:
S201:在线用户发送己方身份信息给商业银行数字货币系统,并申请更新生成新的匿名身份;
S202:商业银行数字货币系统进行认证并发送认证结果给在线用户;
S203:在线用户收到认证结果,如验证成功则认证结果中包含会话密钥;
S3:接收方离线,发送方为在线用户,双方进行数字货币匿名交易,该步骤包括以下子步骤:
S301:接收方与发送方近距离通信来互换双方信息,发送方向其所属的商业银行数字货币系统发送加密的签名交易;
S302:商业银行数字货币系统收到签名交易,解密后进行验证,验证成功则将签名交易发送给中央银行数字货币系统;
S303:中央银行数字货币系统收到签名交易,解密后进行验证,验证成功则将消息发送给接收方所属的商业银行数字货币系统,验证失败则通知发送方所属的商业银行数字货币系统;
S304:接收方所属的商业银行数字货币系统收到消息,解密后验证交易,交易验证失败则通知中央银行数字货币系统,交易验证成功则进入下一步;
S305:接收方所属的商业银行数字货币系统在本地记录交易并进行签名,然后为接收方生成新的匿名身份,加密后发送消息给中央银行数字货币系统;
S305:中央银行数字货币系统接收消息,解密并进行验证,验证成功后记录数字货币的归属变化,并将交易成功的消息发送给发送方所属的商业银行数字货币系统,
S306:发送方所属的商业银行数字货币系统收到消息后,解密后进行验证,验证成功后为发送方生成新的匿名身份,并将新的匿名身份和交易成功的消息发送给发送方;
S307:发送方收到信息后,解密确认交易结束并删除相应的数字货币,保存新的身份信息,发送消息给接收方,接收方接收消息后,解密并验证,确认交易结束,如交易成功则存储收到的数字货币,并保存新的身份信息。
2.根据权利要求1所述的基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,其特征在于,所述中央银行数字货币系统、商业银行数字货币系统及用户分别具有抗量子计算装置,所述中央银行数字货币系统、商业银行数字货币系统分别具有密钥管理服务器;
所述中央银行数字货币系统的系统私钥通过随机选取,其仅保存在中央银行数字货币系统的抗量子计算装置中,基于此系统私钥计算所述中央银行数字货币系统的系统公钥,所述中央银行数字货币系统的密钥管理服务器对商业银行数字货币系统的系统私钥基于中央银行数字货币系统的系统私钥对该商业银行数字货币系统身份计算的消息认证码,基于所述中央银行数字货币系统的密钥管理服务器对商业银行数字货币系统的系统私钥计算相应的系统公钥,基于所述中央银行数字货币系统的密钥管理服务器的系统私钥保存在中央银行数字货币系统的抗量子计算装置中,基于所述中央银行数字货币系统的密钥管理服务器的系统公钥保存在对应商业银行数字货币系统的抗量子计算装置中;
所述中央银行数字货币系统的密钥管理服务器调用哈希函数计算为中央银行数字货币系统颁发的公钥,再根据此公钥计算为中央银行数字货币系统颁发的私钥,所述中央银行数字货币系统的密钥管理服务器调用哈希函数计算为商业银行数字货币系统颁发的公钥,再根据为此公钥计算相应的私钥,并且每个所述商业银行数字货币系统的公钥和私钥均不同,所述中央银行数字货币系统的身份、公钥和私钥均保存在其抗量子计算装置中,所述商业银行数字货币系统的身份、公钥和私钥均保存在其抗量子计算装置中。
3.根据权利要求2所述的基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,其特征在于,所述商业银行数字货币系统的系统私钥通过随机选取,其仅保存在该商业银行数字货币系统的抗量子计算装置中,基于此系统私钥计算所述商业银行数字货币系统的系统公钥,所述商业银行数字货币系统的密钥管理服务器对用户的系统私钥基于商业银行数字货币系统的系统私钥对该用户身份计算的消息认证码,基于所述商业银行数字货币系统的密钥管理服务器对用户的系统私钥计算相应的系统公钥;
所述商业银行数字货币系统的密钥管理服务器调用哈希函数计算为用户颁发的公钥,再根据此公钥计算为用户颁发的私钥,所述商业银行数字货币系统的密钥管理服务器调用哈希函数计算为用户颁发的公钥,再根据此公钥计算相应的私钥,并且每个所述用户的公钥和私钥均不同,同时由商业银行数字货币系统的密钥管理服务器记录用户的真实身份与匿名身份的对应关系。
4.根据权利要求3所述的基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,其特征在于,在步骤S1中,所述商业银行数字货币系统通过中央银行数字货币系统的身份计算中央银行数字货币系统的公钥,取出己方基于中央银行数字货币系统密钥管理服务器的私钥,获取时间戳,计算两者间的对称密钥,计算消息认证码并签名,再通过对称密钥加密,将商业银行数字货币系统身份、中央银行数字货币系统身份和时间戳一同发给中央银行数字货币系统,中央银行数字货币系统计算其对该商业银行数字货币系统的系统私钥,结合两者间的对称密钥计算解密消息认证码,得到所有信息,然后以商业银行数字货币系统的公钥和系统公钥计算来验证签名,成功则中央银行数字货币系统生成会话密钥,和时间戳一同加入新的消息并加密发送回商业银行数字货币系统,使用对称密钥解密消息,验证签名成功,得到会话密钥。
5.根据权利要求4所述的基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,其特征在于,在步骤S2中,所述在线用户通过商业银行数字货币系统的身份计算出商业银行数字货币系统的公钥,取出己方基于商业银行数字货币系统密钥管理服务器的私钥,获取时间戳,计算两者间的对称密钥,计算消息认证码并签名,再通过对称密钥加密,将在线用户的匿名身份、商业银行数字货币系统身份和时间戳一同发给商业银行数字货币系统,商业银行数字货币系统的密码管理服务器计算其对该在线用户的系统私钥,结合两者间的对称密钥计算解密消息认证码,得到在线用户的身份和所有信息,然后以用户的公钥和系统公钥计算来验证签名,验证成功则为用户生成新的匿名身份,并生成新的公钥、系统公钥、私钥和系统私钥,和时间戳一同加入新的消息并加密发送回在线用户,在线用户使用对称密钥解密消息,验证签名成功,得到会话密钥,取得并替换新的匿名身份、系统公钥和私钥。
6.根据权利要求5所述的基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,其特征在于,在步骤S3中,发送方和接收方通过近距离通信互换匿名身份,发送方使用私钥将自己匿名身份、交易和时间戳组成的信息签名,通过与商业银行数字货币系统的会话密钥加密后发送给商业银行数字货币系统,商业银行数字货币系统以会话密钥解密后验证,验证成功后以与中央银行数字货币系统之间的会话密钥加密包括发送方真实身份、交易和时间戳的消息并发送给中央银行数字货币系统。
7.根据权利要求1所述的基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,其特征在于,在步骤S3中,所述中央银行数字货币系统接收消息后以与发送方所属商业银行数字货币系统之间的会话密钥解密得到发送方的真实身份、交易和时间戳,验证通过后以与接收方所属商业银行数字货币系统之间的会话密钥加密交易和时间戳,并发送至接收方所属商业银行数字货币系统,接收方所属商业银行数字货币系统接收消息后解密,验证成功后在本地进行记录交易和时间戳。
8.根据权利要求7所述的基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,其特征在于,在步骤S3中,所述接收方所属商业银行数字货币系统计算与接收方之间的对称密钥和交易密钥,并计算接收方所属商业银行数字货币系统的另一私钥,为接收方生成新的匿名身份、系统私钥、系统公钥、私钥和公钥,以接收方所属商业银行数字货币系统的另一私钥对交易、交易时间和成功消息签名,以交易密钥加密然后再以对称密钥加密后发送给中央银行数字货币系统。
9.根据权利要求8所述的基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,其特征在于,在步骤S3中,所述中央银行数字货币系统以与接收方所属商业银行数字货币系统的对称密钥解密消息,验证成功后记录交易成功后的数字货币的归属变化,并将交易成功的消息以与发送方所属商业银行数字货币系统的对称密码加密发送至发送方所属商业银行数字货币系统,发送方所属商业银行数字货币系统以与中央银行数字货币系统的对称密码解密消息,为发送方生成新的匿名身份、系统私钥、系统公钥、私钥和公钥,并与交易成功的信息打包,以消息认证码加密后再与发送方的对称密码加密后发送给发送方。
10.根据权利要求9所述的基于ID密码学的接收方离线的数字货币抗量子计算匿名交易方法,其特征在于,在步骤S3中,所述发送方收到消息后以与所属商业银行数字货币系统的对称密码解密得到成功信息,确认交易结束,删除交易中的数字货币,并保存新的匿名身份、公钥和系统私钥,然后将交易和交易成功消息发送给接收方;
接收方接收消息后计算与其所属商业银行数字货币系统的对称密码,并计算得到消息认证码,解密消息,验证后存储收到的数字货币,并保存接收方新的匿名身份、公钥和系统私钥。
CN202011244382.4A 2020-11-10 2020-11-10 基于id密码学的接收方离线的数字货币抗量子计算匿名交易方法 Pending CN114493556A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011244382.4A CN114493556A (zh) 2020-11-10 2020-11-10 基于id密码学的接收方离线的数字货币抗量子计算匿名交易方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011244382.4A CN114493556A (zh) 2020-11-10 2020-11-10 基于id密码学的接收方离线的数字货币抗量子计算匿名交易方法

Publications (1)

Publication Number Publication Date
CN114493556A true CN114493556A (zh) 2022-05-13

Family

ID=81489912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011244382.4A Pending CN114493556A (zh) 2020-11-10 2020-11-10 基于id密码学的接收方离线的数字货币抗量子计算匿名交易方法

Country Status (1)

Country Link
CN (1) CN114493556A (zh)

Similar Documents

Publication Publication Date Title
CN108418680B (zh) 一种基于安全多方计算技术的区块链密钥恢复方法、介质
US10903991B1 (en) Systems and methods for generating signatures
CN111475796B (zh) 基于秘密共享和量子通信服务站的抗量子计算身份认证方法及系统
US9065637B2 (en) System and method for securing private keys issued from distributed private key generator (D-PKG) nodes
CN110519046B (zh) 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统
US20050105735A1 (en) Information processing system and method, information processing device and method, recording medium, and program
CN101640590A (zh) 一种获取标识密码算法私钥的方法和密码中心
CN113225302B (zh) 一种基于代理重加密的数据共享系统及方法
CN111416712B (zh) 基于多个移动设备的量子保密通信身份认证系统及方法
US20210158444A1 (en) Method and Apparatus for a Blockchain-Agnostic Safe Multi-Signature Digital Asset Management
CN116599659B (zh) 无证书身份认证与密钥协商方法以及系统
CN110266483B (zh) 基于非对称密钥池对和qkd的量子通信服务站密钥协商方法、系统、设备
CN112529573A (zh) 一种组合式区块链门限签名方法及系统
CN116340331A (zh) 一种基于区块链的大型仪器实验结果存证方法和系统
CN116232578A (zh) 一种融合量子密钥分发的多方协同签名系统、方法及设备
CN113746645B (zh) 基于可计费数字证书的公共场景匿名通信计费系统和方法
CN110048852A (zh) 基于非对称密钥池的量子通信服务站数字签密方法和系统
CN110880969B (zh) 基于联盟链和隐式证书的qkd网络认证密钥生成方法及系统
CN114448636A (zh) 基于数字证书的抗量子计算数字货币系统及匿名通信方法
CN114493556A (zh) 基于id密码学的接收方离线的数字货币抗量子计算匿名交易方法
CN114362952B (zh) 一种发送方离线的数字货币抗量子计算交易方法及系统
CN111585756A (zh) 一种适用于多副本-多云情形下的无证书云审计方法
CN114529273A (zh) 基于id密码学的抗量子计算数字货币匿名通信方法及系统
CN114422158B (zh) 一种基于id密码学的抗量子计算数字货币通信方法及系统
CN114529275A (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