CN112104453B - 一种基于数字证书的抗量子计算数字签名系统及签名方法 - Google Patents
一种基于数字证书的抗量子计算数字签名系统及签名方法 Download PDFInfo
- Publication number
- CN112104453B CN112104453B CN202010781236.9A CN202010781236A CN112104453B CN 112104453 B CN112104453 B CN 112104453B CN 202010781236 A CN202010781236 A CN 202010781236A CN 112104453 B CN112104453 B CN 112104453B
- Authority
- CN
- China
- Prior art keywords
- client
- key
- public
- signature
- certificate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- 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/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Abstract
本发明提出一种基于数字证书的抗量子计算数字签名系统及签名方法,所述系统包括客户端和部署有密钥管理服务器的CA机构;密钥管理服务器基于ID密码学为CA机构和客户端分配密钥,以使在根证书和数字证书颁发阶段和数字签名阶段中,客户端和CA机构都能根据分配到的密钥基于ID密码学与所通信的对象之间进行密钥协商,以实现整个数字签名过程的抗量子计算保密通信。本发明能够在不改变传统CA及基于数字证书的数字签名系统的整体流程和数据结构、不需要在客户端存储密钥池的前提下,实现数字签名过程中的抗量子计算保密通信。基于ID密码学的密钥颁发服务器对每个不同用户的系统公私钥均不同,提高了系统安全性。
Description
技术领域
本发明涉及数字证书领域,尤其涉及基于数字证书的抗量子计算数字签名系统及签名方法。
背景技术
CA(Certification Authority)是证书的签发机构,它是公钥基础设施(PublicKey Infrastructure,PKI)的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。CA拥有一个证书(内含CA公钥)。网上的公众用户通过验证CA的签字从而信任CA,任何人都可以得到CA的证书,用以验证它所签发的证书。证书的格式和验证方法普遍遵循X.509国际标准。
数字签名又称公钥数字签名,是只有信息的发送者才能产生的别人无法伪造的数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。现有的数字签名在信息传输过程中往往使用的都是基于数学算法复杂度的加密方式,如当今主流的非对称加密算法,如RSA加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为RSA、离散对数加密算法的破解提供可能。
为了使数字签名系统能够抗量子计算,行业内提出了基于量子保密通信的抗量子计算数字签名系统,如专利CN109861813A提出一种基于非对称密钥池的抗量子计算HTTPS通信方法和系统,并具体公开了一种通信方法,该方法的参与方包括服务器、证书授权中心及客户端,客户端配置密钥卡,密钥卡内存储有非对称密钥池;所述抗量子计算HTTPS通信方法,包括以下步骤:服务器端获取证书授权中心颁发的数字证书,并向客户端发送该数字证书,所述数字证书中记载有服务器的公钥指针随机数;客户端获取证书授权中心颁发的与所述数字证书相匹配的根数字证书,依据所述根数字证书对服务器发送的数字证书进行验证,根据验证通过的数字证书中记载的服务器的公钥指针随机数,在所述非对称密钥池中获取服务器公钥;利用服务器公钥对随机生成的共享密钥进行加密,向服务器发送加密结果以进行密钥协商;与服务器利用所述共享密钥进行HTTPS通信。
专利CN109861813A提出的方案虽然能够实现基于量子保密通信的抗量子计算,但是存在以下缺陷:
1、专利CN109861813A所提出的技术方案中,客户端需要配置存储了所有成员的公钥的量子密钥卡,增加了客户端密钥卡的存储成本和操作工作量,且用户端密钥管理工作较为复杂;
2、专利CN109861813A所提出的技术方案中,改变了传统CA及基于数字证书的数字签名系统的整体流程和数据结构,例如导致数字证书的格式和使用方式的改变,导致CA及用户应用系统切换到抗量子计算方案的成本过高。
发明内容
发明目的:为克服现有技术的缺陷,本发明提出一种基于数字证书的抗量子计算数字签名系统及签名方法,能够在不改变传统CA及基于数字证书的数字签名系统的整体流程和数据结构、不需要在客户端存储密钥池的前提下,实现数字签名过程中的抗量子计算保密通信。
发明内容:为实现上述目的,本发明一方面提出一种基于数字证书的抗量子计算数字签名系统,包括CA机构和客户端;所述CA机构部署有密钥管理服务器,密钥管理服务器为CA机构和客户端分别生成一个唯一的ID,并为CA机构和客户端配置密钥数据,包括:CA机构的系统公私钥、客户端的系统公私钥、CA机构的公私钥、客户端的公私钥;所述各公私钥遵循ID密码学,客户端与CA机构之间能够根据所持有的公私钥计算出彼此间的对称密钥;
密钥管理服务器保存CA机构的系统公私钥和客户端的系统私钥,将CA机构的公私钥和ID颁发给CA机构,将客户端的公私钥和ID颁发给客户端;
在根证书和数字证书颁发阶段:客户端与CA机构根据自己分配到的ID和公私钥进行对称密钥计算,并根据计算出的对称密钥进行保密通信;
在签名阶段:签名方客户端首先用自己的证书私钥对待发送的原始文件和数字证书进行加密,得到数字签名;然后计算与CA机构的第一对称密钥,用计算出的第一对称密钥分别加密数字签名和数字证书,最后将签名方客户端ID、原始文件、加密后的数字签名、加密后的数字证书一起作为签名文件公开;
签名认证方客户端接收到公开的签名文件后,将签名方客户端ID、自己的ID和加密后的数字证书一并发送给CA机构;
CA机构接收到来自签名认证方客户端的消息后,根据消息中携带的签名方客户端ID计算出与签名方客户端之间的第一对称密钥,用计算出的第一对称密钥对加密后的数字证书进行解密,得到签名方客户端的数字证书;CA机构对签名方客户端的数字证书进行证书有效验证,得到验证结果;CA机构计算与签名认证方客户端的第二对称密钥,并用计算出的第二对称密钥加密第一对称密钥和验证结果,将加密后的消息返回给签名认证方客户端;
签名认证方客户端接收到CA机构的反馈消息后,计算出与CA机构之间的第二对称密钥以解密反馈消息,得到第一对称密钥和验证结果;若验证结果为证书失效,则签名验证失败;若验证结果为证书有效,则签名认证方客户端用第一对称密钥解密公开的签名文件中加密的数字证书和数字签名,然后用根证书验证数字证书、用数字证书中的证书公钥验证数字签名,验证通过后,信任签名方客户端发来的原始文件。
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
可选的,所述CA机构的系统公私钥、客户端的系统公私钥、CA机构的公私钥、客户端的公私钥的生成方式如下:CA机构的系统私钥为密钥管理服务器随机生成,CA机构的系统公钥由相应系统私钥与一个加法循环群的生成元进行计算得到;客户端的系统私钥由CA机构的系统私钥加密客户端ID得到,客户端的系统公钥由客户端的系统私钥与所述生成元进行计算得到;CA机构和客户端的公钥由哈希函数计算相应ID得到,CA机构和客户端的私钥由自己的公钥与自己的系统私钥计算得到。
可选的,所述客户端计算与所述CA机构之间的对称密钥的步骤为:客户端采用哈希函数计算CA机构ID,得到CA机构的公钥,再将自己的私钥与CA机构的公钥进行计算,得到对称密钥;所述CA机构计算与所述客户端之间的对称密钥的步骤为:根据客户端ID计算客户端的公钥,再通过密钥管理服务器提供的客户端系统私钥与CA机构的公钥进行计算,将计算结果再与客户端的公钥进行计算,得到与客户端的对称密钥。
可选的,在所述在根证书和数字证书颁发阶段和签名阶段中,客户端与CA机构间通过计算对称密钥进行保密通信时,还通过计算消息认证码保证信息的完整性并完成通信双方的身份校验,以确保正在通信的对象就是所要通信的对象。
可选的,在所述在根证书和数字证书颁发阶段和签名阶段中,数据发送方将协商好的对称密钥作为根密钥,然后随机生成一个明文消息,用对称密钥加密所述明文消息,得到最终密钥,用最终密钥对待发送的内容进行加密,然后将加密数据和明文消息发送给数据接收方;数据接收方接收到来自数据发送方的数据后,根据协商好的对称密钥和接收到的明文消息计算最终密钥,用计算出的最终密钥解密加密数据,得到加密内容。
通过以对称密钥作为根密钥,用根密钥结合随机生成的明文消息计算出最终密钥的方式,可以避免在两个通信对象间需要多次传输数据时对称密钥一直不变的情况。发送方每次生成的明文消息都不同,所以这个消息认证码每次也都不同。而明文消息是一并发送的,所以接收方也可以计算出这个消息认证码。通过这样的方式,发送方和接收方可以保证每次交互数据时的最终密钥都跟上一次不一样,大大降低了密钥被破解的可能。
可选的,所述明文消息为数据发送方实时生成的时间戳,所述时间戳用于记录数据发送方发送数据的时间。通过设置时间戳,CA机构和客户端进性保密通信时,可以判断数据发送方发送数据的时间在不在数字证书的有效范围,方便验证数据发送方的数字证书是否有效。
可选的,所述CA机构配置有本地抗量子计算装置,而所述密钥管理服务器部署在本地抗量子计算装置中。
可选的,所述客户端配置有客户端抗量子计算装置,所述密钥管理服务器生成客户端公私钥和ID后,将公私钥和ID存储在客户端抗量子计算装置中颁发给客户端。
可选的,所述抗量子计算装置包括密钥卡、移动终端、密码机、网关。
本发明还提出一种基于数字证书的抗量子计算数字签名方法,该方法基于所述的基于数字证书的抗量子计算数字签名系统实现两个客户端之间的数字签名认证。
有益效果:
1.本发明可以实现抗量子计算的基于数字证书的数字签名;
2.本发明中所使用的对称密钥均基于ID密码学实时计算生成,不需要进行对称密钥提前存储,对用户来说成本低、不存在对称密钥管理和存储问题;
3.本发明没有改变传统CA及基于数字证书的数字签名系统的整体流程和数据结构,因此CA及用户应用系统切换到抗量子计算方案的成本不高;
4.本发明中,基于ID密码学的密钥颁发服务器对每个不同用户的系统公私钥均不同,即使某个用户的系统公钥丢失导致系统私钥被量子计算机破解,也不会危及到CA和其他用户的系统公私钥。
附图说明
图1为本发明实施例中涉及的步骤流程图。
具体实施方式
下面将结合附图和具体实施例对本发明作更进一步的说明。但应当理解的是,本发明可以以各种形式实施,以下在附图中出示并且在下文中描述的一些示例性和非限制性实施例,并不意图将本发明限制于所说明的具体实施例。
应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外的实施例。此外,本发明所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤、顺序做出相应修改而不脱离本发明的保护范围。
本发明旨在提供一种能够在不改变传统CA及基于数字证书的数字签名系统的整体流程和数据结构、不需要在客户端存储密钥池的前提下,实现数字签名过程中的抗量子计算保密通信的技术方案。
有鉴于此,本发明提出一种基于数字证书的抗量子计算数字签名系统及签名方法。下面通过具体实施例加以说明。
实施例:
本实施例提出一种基于数字证书的抗量子计算数字签名系统,由用户端以及证书权威机构CA组成,用户端可分为签名者A、签名认证者B。
CA具有抗量子计算装置TCA,TCA中部署有基于ID密码学的密钥管理服务器KMS。
KMS为A和B颁发抗量子计算装置TA、TB。抗量子计算装置可以是密钥卡、移动终端、密码机、网关等,可与CA机构或各个用户端分别进行主板接口通信、近距离无线通信、可控的内网通信等,可保证通信范围内不会被量子计算机窃取信息,例如抗量子计算装置可以是密钥卡插接在CA机构的主机主板上,或者抗量子计算装置可以是移动终端与同样是移动终端的双方进行NFC通信,或者抗量子计算装置是密码机或网关与同一内网的PC主机双方进行安全的内网通信。
KMS为某个成员颁发公私钥时,首先需要建立一套基于ID密钥学的系统参数,步骤如下:
(1)G1,G2是阶为q的GDH(Diffie-Hellman群)群,q是一个大素数,G1是由椭圆曲线上的点构成的加法循环群,P是群G1的生成元;G2是一个乘法循环群;双线性映射e:G1×G1→G2。
(2)随机地取SKMS∈Zp *作为CA的系统私钥,SKMS仅保存在KMS的抗量子计算装置中,计算CA的系统公钥PKMS=SKMS*P,PKMS保存在CA的抗量子计算装置TCA。KMS对每个不同用户的系统公私钥均不同,对于用户端A,KMS会生成唯一编码作为IDA,A的系统私钥为SKMSA=MAC(IDA,SKMS)(MAC(m,k)为使用密钥k对消息m计算消息认证码),A的系统公钥为PKMSA=SKMSA*P;对于用户端B,KMS会生成唯一编码作为IDB,B的系统私钥为SKMSB=MAC(IDB,SKMS),B的系统公钥为PKMSB=SKMSB*P;系统私钥保存在KMS的抗量子计算装置中,系统公钥保存在对应用户端的抗量子计算装置中,即PKMSA保存在TA中,PKMSB保存在TB中。
(3)选择哈希函数H1:{0,1}*→G1,H2:G2→{0,1}*。
(4)系统参数为{q,G1,G2,e,n,P,H1,H2}。
KMS为CA颁发公私钥时,生成唯一编码作为IDCA,调用哈希函数H1计算公钥PKCA=H1(IDCA),再根据公钥PKCA计算私钥SKCA=SKMS*PKCA,将CA的ID和公私钥即IDCA、PKCA、SKCA存储于CA的抗量子计算装置TCA。TCA中还存储有CA根证书CERTCA,CERTCA中包括证书的版本号、序列号、有效期以及CA的证书公钥PKCERTCA和证书签名,其中证书公钥和证书签名可以基于RSA、ECC、离散对数、ID密码学等多种非对称密码算法。
KMS为用户端A颁发公私钥时,调用哈希函数H1计算公钥PKA=H1(IDA),再根据公钥PKA计算私钥SKA=SKMSA*PKA,将A的ID和公私钥即IDA、PKA、SKA存储于A的抗量子计算装置TA。
KMS为用户端B颁发公私钥时,调用哈希函数H1计算公钥PKB=H1(IDB),再根据公钥PKB计算私钥SKB=SKMSB*PKB,将B的ID和公私钥即IDB、PKB、SKB存储于B的抗量子计算装置TB。
步骤1:颁发根证书
CA机构为所有客户端颁发根证书,此处以客户端A为例详述颁发过程:
(1)A→CA
用户端A根据IDCA计算得到PKCA=H1(IDCA),进一步计算与CA之间的对称密钥KA-CA=e(SKA,PKCA)。获取时间戳T1,使用KA-CA对T1加密,得到最终密钥K1=MAC(T1,KA-CA)。
使用K1对A的身份信息AINFO加密得到{AINFO}K1,使用K1对T1和AINFO计算消息认证码得到MAC(T1||AINFO,K1),连同IDA、IDCA以及T1一起发送至CA,发送的消息可表示为IDA||IDCA||T1||{AINFO}K1||MAC(T1||AINFO,K1)。
(2)CA→A
CA中的KMS计算A的系统私钥为SKMSA=MAC(IDA,SKMS),根据PKCA=H1(IDCA)得到SKCAA=SKMSA*PKCA。进一步得到CA与A之间的对称密钥KCA-A=e(SKCAA,PKA)。根据ID密码学可得:KA-CA=e(SKA,PKCA)=e(SKMSA*PKA,PKCA)=e(PKA,SKMSA*PKCA)=e(PKA,SKCAA)=e(SKCAA,PKA)=KCA-A。使用KCA-A对T1计算消息认证码得到K′1=MAC(T1,KCA-A)。使用K′1解密并验证消息认证码,得到A的身份信息AINFO。
CA取出CA根证书CERTCA,获取时间戳T2,使用KCA-A对T2加密计算得到最终密钥K2=MAC(T2,KCA-A)。使用K2对CERTCA加密得到{CERTCA}K2,使用K2对T2和CERTCA计算消息认证码得到MAC(T2||CERTCA,K2),连同IDCA、IDA以及T2一起发送至A,发送的消息可表示为IDCA||IDA||T2||{CERTCA}K2||MAC(T2||CERTCA,K2)。
A收到消息后,使用KA-CA对T2加密计算得到最终密钥K′2=MAC(T2,KA-CA)。使用K′2解密并验证消息认证码,得到CA根证书CERTCA,A对其进行验证后,存入本地抗量子计算装置TA内。
用户端B也与CA进行如上相同步骤,获得CA根证书CERTCA,存入本地抗量子计算装置TB内。
步骤2:颁发证书
(1)A→CA
用户端A计算与CA之间的对称密钥KA-CA=e(SKA,PKCA)。获取时间戳T3,使用KA-CA对T3加密计算得到最终密钥K3=MAC(T3,KA-CA)。
A生成证书公私钥对PKCERTA、SKCERTA,可以基于RSA、ECC、离散对数、ID密码学等多种非对称密码算法。使用K3对A的身份信息AINFO和A的证书公钥PKCERTA加密得到{AINFO||PKCERTA}K3,使用K3对T3、AINFO以及PKCERTA计算消息认证码得到MAC(T3||AINFO||PKA,K3),连同IDA、IDCA以及T3一起发送至CA,发送的消息可表示为IDA||IDCA||T3||{AINFO||PKCERTA}K3||MAC(T3||AINFO||PKCERTA,K3)。
(2)CA→A
CA中的KMS计算A的系统私钥为SKMSA=MAC(IDA,SKMS),根据PKCA=H1(IDCA)得到SKCAA=SKMSA*PKCA。进一步得到CA与A之间的对称密钥KCA-A=e(SKCAA,PKA)。根据ID密码学可得:KA-CA=e(SKA,PKCA)=e(SKMSA*PKA,PKCA)=e(PKA,SKMSA*PKCA)=e(PKA,SKCAA)=e(SKCAA,PKA)=KCA-A。使用KCA-A对T3加密计算得到最终密钥K′3=MAC(T1,KCA-A)。使用K′3解密并验证消息认证码,得到A的身份信息AINFO和用于计算CERTA的PKCERTA。
CA制作A的证书CERTA。然后CA获取时间戳T4,使用KCA-A对T4加密计算得到最终密钥K4=MAC(T4,KCA-A)。使用K4对CERTA加密得到{CERTA}K4,使用K4对T4和CERTA计算消息认证码得到MAC(T4||CERTA,K4),连同IDCA、IDA以及T4一起发送至A,发送的消息可表示为IDCA||IDA||T4||{CERTA}K4||MAC(T4||CERTA,K4)。
A收到消息后,使用KA-CA对T4加密计算得到K′4=MAC(T4,KA-CA)。使用K′4解密并验证消息认证码,得到自己的证书CERTA,A对其进行验证后,存入本地抗量子计算装置TA内。
用户端B生成证书公私钥对PKCERTB、SKCERTB,也与CA进行如上相同步骤,获得自己的证书CERTB。B对CERTB进行验证后,存入本地抗量子计算装置TB内。
步骤3:数字签名
(1)A签名得到签名文件并广播
令原始文件为F,签名时间为T。
用户端A计算与CA之间的对称密钥KA-CA=e(SKA,PKCA)。使用KA-CA对T加密计算得到最终密钥KT=MAC(T,KA-CA)。使用A的证书私钥SKCERTA对F、T以及CERTA计算签名得到SIGA=SIGN(F||T||CERTA,SKCERTA)。使用KT对CERTA和SIGA分别加密得到{CERTA}KT和{SIGA}KT。使用KT对IDA、F、T、CERTA以及SIGA计算消息认证码得到MAC(IDA||F||T||CERTA||SIGA,KT)。连同IDA、F、T、{CERTA}KT和{SIGA}KT一起作为签名文件FS公开,公开的签名文件可表示为
FS=IDA||F||T||{CERTA}KT||{SIGA}KT||MAC(IDA||F||T||CERTA||SIGA,KT)。
(2)B→CA
B收到FS后,计算与CA之间的对称密钥KB-CA=e(SKB,PKCA)。获取时间戳T5,使用KB-CA对T5加密计算得到K5=MAC(T5,KB-CA)。使用K5对T5、IDA、T以及{CERTA}KT计算消息认证码得到MAC(T5||IDA||T||{CERTA}KT,K5)。连同IDA、IDB、IDCA、T5、T、以及{CERTA}KT一起发送至CA,发送的消息可表示为
M1=IDB||IDCA||T5||IDA||T||{CERTA}KT||MAC(T5||IDA||T||{CERTA}KT,K5)。
(3)CA→B
CA收到消息后,CA中的KMS计算B的系统私钥为SKMSB=MAC(IDB,SKMS),根据PKCA=H1(IDCA)计算得到SK′CA=SKMSB*PKCA。进一步根据PKB=H1(IDB)得到CA与B之间的对称密钥KCA-B=e(SK′CA,PKB)。根据ID密码学可得:KB-CA=e(SKB,PKCA)=e(SKMSB*PKB,PKCA)=e(PKB,SKMSB*PKCA)=e(PKB,SK′CA)=e(SK′CA,PKB)=KCA-B。CA使用KCA-B对T5加密计算得到K′5=MAC(T1,KCA-B)。使用K′5解密M1并验证消息认证码,证实消息来自于B。
CA中的KMS计算A的系统私钥为SKMSA=MAC(IDA,SKMS),计算得到SKCAA=SKMSA*PKCA。进一步根据PKA=H1(IDA)得到CA与A之间的对称密钥KCA-A=e(SKCAA,PKA)。根据ID密码学可得:KA-CA=e(SKA,PKCA)=e(SKMSA*PKA,PKCA)=e(PKA,SKMSA*PKCA)=e(PKA,SKCAA)=e(SKCAA,PKA)=KCA-A。
CA使用KCA-A对T加密计算得到K′T=MAC(T,KCA-A)。使用K′T解密{CERTA}KT得到CERTA。判断CERTA是否在证书撤销列表中,判断结果记为RET。
CA获取时间戳T6,使用KCA-B对T6加密计算得到K6=MAC(T6,KCA-B)。使用K6加密RET和K′T得到{RET||K′T}K6,使用K6对T6、RET和K′T计算消息认证码得到MAC(T6||RET||K′T,K6)。连同IDCA、IDB、T6以及{RET||K′T}K6一起发送至B,发送的消息可表示为M2=IDCA||IDB||T6||{RET||K′T}K6||MAC(T6||RET||K′T,K6)。
(4)B
B收到M2后,使用KB-CA对T6加密计算得到K′6=MAC(T6,KB-CA)。使用K′6解密{RET||K′T}K6得到RET和K′T。如果RET为失败,则文件签名验证失败,流程结束;否则继续。使用K′T解密FS中的{CERTA}KT和{SIGA}KT得到CERTA和SIGA。使用CERTCA中的PKCERTCA验证A的证书CERTA,验证通过后,使用PKCERTA验证SIGA,验证通过后,信任F是来自A的文件。
本实施例还提出一种基于上述系统实现的基于数字证书的抗量子计算数字签名方法,该方法在两个客户端A和B之间实现基于数字证书的抗量子计算数字签名,签名流程如图1所示。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于数字证书的抗量子计算数字签名系统,包括:CA机构和客户端,其特征在于:
所述CA机构部署有密钥管理服务器,密钥管理服务器为CA机构和客户端分别生成一个唯一的ID,并为CA机构和客户端配置密钥数据,包括:CA机构的系统公私钥、客户端的系统公私钥、CA机构的公私钥、客户端的公私钥;所述各公私钥遵循ID密码学,客户端与CA机构之间能够根据所持有的公私钥计算出彼此间的对称密钥;
密钥管理服务器保存CA机构的系统公私钥和客户端的系统私钥,将CA机构的公私钥和ID颁发给CA机构,将客户端的公私钥和ID颁发给客户端;
在根证书和数字证书颁发阶段:客户端与CA机构根据自己分配到的ID和公私钥进行对称密钥计算,并根据计算出的对称密钥进行保密通信;
在签名阶段:签名方客户端首先用自己的证书私钥对待发送的原始文件和数字证书进行加密,得到数字签名;然后计算与CA机构的第一对称密钥,用计算出的第一对称密钥分别加密数字签名和数字证书,最后将签名方客户端ID、原始文件、加密后的数字签名、加密后的数字证书一起作为签名文件公开;
签名认证方客户端接收到公开的签名文件后,将签名方客户端ID、自己的ID和加密后的数字证书一并发送给CA机构;
CA机构接收到来自签名认证方客户端的消息后,根据消息中携带的签名方客户端ID计算出与签名方客户端之间的第一对称密钥,用计算出的第一对称密钥对加密后的数字证书进行解密,得到签名方客户端的数字证书;CA机构对签名方客户端的数字证书进行证书有效验证,得到验证结果;CA机构计算与签名认证方客户端的第二对称密钥,并用计算出的第二对称密钥加密第一对称密钥和验证结果,将加密后的消息返回给签名认证方客户端;
签名认证方客户端接收到CA机构的反馈消息后,计算出与CA机构之间的第二对称密钥以解密反馈消息,得到第一对称密钥和验证结果;若验证结果为证书失效,则签名验证失败;若验证结果为证书有效,则签名认证方客户端用第一对称密钥解密公开的签名文件中加密的数字证书和数字签名,然后用根证书验证数字证书、用数字证书中的证书公钥验证数字签名,验证通过后,信任签名方客户端发来的原始文件。
2.根据权利要求1所述的一种基于数字证书的抗量子计算数字签名系统,其特征在于:所述CA机构的系统公私钥、客户端的系统公私钥、CA机构的公私钥、客户端的公私钥的生成方式如下:
CA机构的系统私钥为密钥管理服务器随机生成,CA机构的系统公钥由相应系统私钥与一个加法循环群的生成元进行计算得到;客户端的系统私钥由CA机构的系统私钥加密客户端ID得到,客户端的系统公钥由客户端的系统私钥与所述生成元进行计算得到;CA机构和客户端的公钥由哈希函数计算相应ID得到,CA机构和客户端的私钥由自己的公钥与自己的系统私钥计算得到。
3.根据权利要求2所述的一种基于数字证书的抗量子计算数字签名系统,其特征在于:
所述客户端计算与所述CA机构之间的对称密钥的步骤为:客户端采用哈希函数计算CA机构ID,得到CA机构的公钥,再将自己的私钥与CA机构的公钥进行计算,得到对称密钥;
所述CA机构计算与所述客户端之间的对称密钥的步骤为:根据客户端ID计算客户端的公钥,再通过密钥管理服务器提供的客户端系统私钥与CA机构的公钥进行计算,将计算结果再与客户端的公钥进行计算,得到与客户端的对称密钥。
4.根据权利要求3所述的一种基于数字证书的抗量子计算数字签名系统,其特征在于:在所述在根证书和数字证书颁发阶段和签名阶段中,客户端与CA机构间通过计算对称密钥进行保密通信时,还通过计算消息认证码保证信息的完整性并完成通信双方的身份校验。
5.根据权利要求3所述的一种基于数字证书的抗量子计算数字签名系统,其特征在于:
在所述在根证书和数字证书颁发阶段和签名阶段中,数据发送方将协商好的对称密钥作为根密钥,然后随机生成一个明文消息,用对称密钥加密所述明文消息,得到最终密钥,用最终密钥对待发送的内容进行加密,然后将加密数据和明文消息发送给数据接收方;
数据接收方接收到来自数据发送方的数据后,根据协商好的对称密钥和接收到的明文消息计算最终密钥,用计算出的最终密钥解密加密数据,得到加密内容。
6.根据权利要求5所述的一种基于数字证书的抗量子计算数字签名系统,其特征在于:所述明文消息为数据发送方实时生成的时间戳,所述时间戳用于记录数据发送方发送数据的时间。
7.根据权利要求1所述的一种基于数字证书的抗量子计算数字签名系统,其特征在于:
所述CA机构配置有本地抗量子计算装置,而所述密钥管理服务器部署在本地抗量子计算装置中。
8.根据权利要求1所述的一种基于数字证书的抗量子计算数字签名系统,其特征在于:所述客户端配置有客户端抗量子计算装置,所述密钥管理服务器生成客户端公私钥和ID后,将公私钥和ID存储在客户端抗量子计算装置中颁发给客户端。
9.根据权利要求7或8所述的一种基于数字证书的抗量子计算数字签名系统,其特征在于:所述抗量子计算装置包括密钥卡、移动终端、密码机、网关。
10.一种基于数字证书的抗量子计算数字签名方法,其特征在于,所述方法基于权利要求1至9任意一项所述的基于数字证书的抗量子计算数字签名系统实现两个客户端之间的数字签名认证。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010781236.9A CN112104453B (zh) | 2020-08-06 | 2020-08-06 | 一种基于数字证书的抗量子计算数字签名系统及签名方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010781236.9A CN112104453B (zh) | 2020-08-06 | 2020-08-06 | 一种基于数字证书的抗量子计算数字签名系统及签名方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112104453A CN112104453A (zh) | 2020-12-18 |
CN112104453B true CN112104453B (zh) | 2022-08-09 |
Family
ID=73749672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010781236.9A Active CN112104453B (zh) | 2020-08-06 | 2020-08-06 | 一种基于数字证书的抗量子计算数字签名系统及签名方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112104453B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978518A (zh) * | 2021-02-20 | 2022-08-30 | 南京如般量子科技有限公司 | 基于量子通信服务站的抗量子计算数字签名方法及系统 |
CN113630248B (zh) * | 2021-09-15 | 2024-01-30 | 深圳市国信量子科技有限公司 | 一种会话密钥协商方法 |
CN114254284B (zh) * | 2022-02-28 | 2022-06-17 | 南京大学 | 数字证书生成、身份认证方法及量子ca认证中心与系统 |
CN114826593B (zh) * | 2022-06-28 | 2022-09-16 | 济南量子技术研究院 | 量子安全的数据传输方法及数字证书认证系统 |
CN115529128B (zh) * | 2022-09-23 | 2023-09-29 | 中科海川(北京)科技有限公司 | 基于sd-wan的端端协商通信方法、终端设备、服务器 |
CN115801223B (zh) * | 2023-01-13 | 2023-05-09 | 北京中宏立达科技发展有限公司 | 一种基于ca证书的标识密钥体系与pki体系兼容方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9660978B1 (en) * | 2016-08-08 | 2017-05-23 | ISARA Corporation | Using a digital certificate with multiple cryptosystems |
CN110557367A (zh) * | 2019-07-16 | 2019-12-10 | 如般量子科技有限公司 | 基于证书密码学的抗量子计算保密通信的密钥更新方法和系统 |
CN110768781A (zh) * | 2019-08-28 | 2020-02-07 | 如般量子科技有限公司 | 基于联盟链且抗量子计算的公私钥颁发方法及系统 |
-
2020
- 2020-08-06 CN CN202010781236.9A patent/CN112104453B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9660978B1 (en) * | 2016-08-08 | 2017-05-23 | ISARA Corporation | Using a digital certificate with multiple cryptosystems |
CN110557367A (zh) * | 2019-07-16 | 2019-12-10 | 如般量子科技有限公司 | 基于证书密码学的抗量子计算保密通信的密钥更新方法和系统 |
CN110768781A (zh) * | 2019-08-28 | 2020-02-07 | 如般量子科技有限公司 | 基于联盟链且抗量子计算的公私钥颁发方法及系统 |
Non-Patent Citations (1)
Title |
---|
量子通信若干理论研究;富尧;《中国博士学位论文电子期刊网》;20160915;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112104453A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108989053B (zh) | 一种基于椭圆曲线的无证书公钥密码体制实现方法 | |
CN107919956B (zh) | 一种面向物联网云环境下端到端安全保障方法 | |
CN112104453B (zh) | 一种基于数字证书的抗量子计算数字签名系统及签名方法 | |
CN107948189B (zh) | 非对称密码身份鉴别方法、装置、计算机设备及存储介质 | |
JP4527358B2 (ja) | 鍵供託を使用しない、認証された個別暗号システム | |
CN108173639B (zh) | 一种基于sm9签名算法的两方合作签名方法 | |
JP6670395B2 (ja) | 身元情報ベース鍵素材及び証明書の配布のためのシステム及び方法 | |
US8670563B2 (en) | System and method for designing secure client-server communication protocols based on certificateless public key infrastructure | |
CN107659395B (zh) | 一种多服务器环境下基于身份的分布式认证方法及系统 | |
CN112087428B (zh) | 一种基于数字证书的抗量子计算身份认证系统及方法 | |
CN110113150B (zh) | 基于无证书环境的可否认认证的加密方法和系统 | |
JP2009503934A (ja) | 展性攻撃に対して改良された安全性を有する技術(これに限定されない)を含む非ワンタイムパッド暗号で暗号化した署名鍵を用いた、暗号認証、及び/又は共有暗号鍵の設定 | |
US20210152370A1 (en) | Digital signature method, device, and system | |
CN109194474A (zh) | 一种数据传输方法及装置 | |
CN113630248A (zh) | 一种会话密钥协商方法 | |
CN113098681B (zh) | 云存储中口令增强且可更新的盲化密钥管理方法 | |
GB2543359A (en) | Methods and apparatus for secure communication | |
CN114070570B (zh) | 一种电力物联网的安全通信方法 | |
CN109412815B (zh) | 一种实现跨域安全通信的方法和系统 | |
CN114448636A (zh) | 基于数字证书的抗量子计算数字货币系统及匿名通信方法 | |
CN114070549A (zh) | 一种密钥生成方法、装置、设备和存储介质 | |
CN113014376A (zh) | 一种用户与服务器之间安全认证的方法 | |
Dugardin et al. | A New Fair Identity Based Encryption Scheme | |
JPH07118709B2 (ja) | 秘密情報通信方式 | |
Mulkey et al. | Towards an efficient protocol for privacy and authentication in wireless networks |
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 |