CN109918888B - 基于公钥池的抗量子证书颁发方法及颁发系统 - Google Patents
基于公钥池的抗量子证书颁发方法及颁发系统 Download PDFInfo
- Publication number
- CN109918888B CN109918888B CN201910034536.8A CN201910034536A CN109918888B CN 109918888 B CN109918888 B CN 109918888B CN 201910034536 A CN201910034536 A CN 201910034536A CN 109918888 B CN109918888 B CN 109918888B
- Authority
- CN
- China
- Prior art keywords
- public key
- certificate
- quantum
- random number
- pointer
- 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
Abstract
本发明涉及一种基于公钥池的抗量子证书颁发方法和颁发系统,参与方包括证书授权中心和用户,各参与方均配置有密钥卡,各密钥卡内均存储有公钥池、私钥、证书授权中心的公钥指针随机数,用户的密钥卡内还存储有用户公钥指针随机数,所述抗量子证书颁发方法包括:生成抗量子证书的版本号、序列号和有效期;生成持有者名称、公钥算法和持有者公钥指针随机数;利用证书授权中心的私钥对抗量子证书进行数字签名;生成一个真随机数,利用真随机数对所述数字签名进行加密;利用证书授权中心的私钥对所述真随机数进行加密;将抗量子证书安全发送至对应用户。所述抗量子证书不会被量子计算机破解。
Description
技术领域
本发明涉及安全通信领域,尤其是一种基于公钥池的抗量子证书颁发方法及颁发系统。
背景技术
数字签名(又称公钥数字签名、电子签名等)在理念上是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。
数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
数字签名的文件的完整性是很容易验证的(不需要骑缝章,骑缝签名,也不需要笔迹专家),而且数字签名具有不可抵赖性(不可否认性)。
简单地说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所作的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。基于公钥密码体制和私钥密码体制都可以获得数字签名,主要是基于公钥密码体制的数字签名,包括普通数字签名和特殊数字签名。普通数字签名算法有RSA、ElGamal、Fiat-Shamir、Guillou-Quisquarter、Schnorr、Ong-Schnorr-Shamir数字签名算法、DSA,椭圆曲线数字签名算法和有限自动机数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。显然,数字签名的应用涉及到法律问题,美国联邦政府基于有限域上的离散对数问题制定了自己的数字签名标准(DSS)。
在如今的密码学领域中,主要有两种密码系统,一是对称密钥密码系统,即加密密钥和解密密钥使用同一个;另一个是公开密钥密码系统,即加密密钥和解密密钥不同,其中一个可以公开,而数字证书正好是基于非对称密码体系实现的。
但是随着量子计算机的发展,经典非对称密钥加密算法将不再安全,无论加解密、数字签名还是密钥交换方法,量子计算机都可以通过公钥计算得到私钥,因此目前经典的数字证书将在量子时代变得不堪一击。
发明内容
本发明提供一种基于公钥池的抗量子证书颁发方法及颁发系统,防止抗量子证书被量子计算机破解。
基于公钥池的抗量子证书颁发方法,参与方包括证书授权中心和用户,各参与方均配置有密钥卡,各密钥卡内均存储有公钥池、私钥、证书授权中心的公钥指针随机数,用户的密钥卡内还存储有用户公钥指针随机数,所述抗量子证书颁发方法包括在所述证书授权中心进行的如下步骤:
生成抗量子证书的版本号、序列号和有效期;
生成持有者名称、公钥算法和持有者公钥指针随机数;
利用证书授权中心的私钥对抗量子证书进行数字签名;
生成一个真随机数,利用真随机数对所述数字签名进行加密;
利用证书授权中心的私钥对所述真随机数进行加密;
将抗量子证书安全发送至对应用户。
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
可选地,所述公钥池中存储有若干个公钥单元,每个参与方对应其中一个公钥单元,每个公钥单元包括:公钥指针随机数、公钥指针函数、公钥和公钥算法;
所述抗量子证书中还记载有证书授权中心的公钥指针随机数,所述抗量子证书颁发方法还包括在用户端进行所述抗量子证书的验证,抗量子证书验证包括如下步骤:
依据接收的抗量子证书中的持有者公钥指针随机数在公钥池中寻找对应的公钥单元,若找到对应的公钥单元,则进行下一步;
根据对应的公钥单元中的公钥指针函数对持有者公钥指针随机数进行计算,若得到的公钥指针与公钥单元的公钥指针相同,则进行下一步;
在公钥池和受信任的根证书列表中寻找接收的抗量子证书中记载的证书授权中心的公钥指针随机数,若找到,则进行下一步;
依据证书授权中心的公钥指针随机数从公钥池中取出证书授权中心的公钥;
利用证书授权中心的公钥解密得到真随机数;
利用真随机数解密得到数字签名;
利用证书授权中心的公钥解密数字签名得到抗量子证书的原文摘要,若该原文摘要与根据抗量子证书记载信息计算得到的原文摘要一致,则进行下一步;
验证抗量子证书是否在有效期内。
可选地,还包括在抗量子证书验证之前进行的抗量子证书种类鉴别步骤,该种类鉴别步骤包括在用户端进行的:
判断接收的抗量子证书中的持有者公钥指针随机数是否与证书授权中心的公钥指针随机数相同:
若不相同,则进行抗量子证书的验证过程;
若相同,则进行抗量子证书的验证过程,若验证通过,将该抗量子根证书加入受信任的根证书列表。
本发明还提供了一种基于公钥池的抗量子证书颁发系统,参与方包括证书授权中心和用户,各参与方均配置有密钥卡,各密钥卡内均存储有公钥池、私钥、证书授权中心的公钥指针随机数,用户的密钥卡内还存储有用户公钥指针随机数,所述抗量子证书颁发方法包括设置在所述证书授权中心的:
第一模块,用于生成抗量子证书的版本号、序列号和有效期;
第二模块,用于生成持有者名称、公钥算法和持有者公钥指针随机数;
第三模块,用于利用证书授权中心的私钥对抗量子证书进行数字签名;
第四模块,用于生成一个真随机数,利用真随机数对所述数字签名进行加密;
第五模块,用于利用证书授权中心的私钥对所述真随机数进行加密;
第六模块,用于将抗量子证书安全发送至对应用户。
以下还提供了若干可选方式,但并不作为对上述总体方案的额外限定,仅仅是进一步的增补或优选,在没有技术或逻辑矛盾的前提下,各可选方式可单独针对上述总体方案进行组合,还可以是多个可选方式之间进行组合。
可选地,所述公钥池中存储有若干个公钥单元,每个参与方对应其中一个公钥单元,每个公钥单元包括:公钥指针随机数、公钥指针函数、公钥和公钥算法;
所述抗量子证书中还记载有证书授权中心的公钥指针随机数,所述抗量子证书颁发系统还包括设置在用户端的抗量子证书验证模块,该抗量子证书验证模块包括:
第一子模块,用于依据接收的抗量子证书中的持有者公钥指针随机数在公钥池中寻找对应的公钥单元;
第二子模块,用于根据对应的公钥单元中的公钥指针函数对持有者公钥指针随机数进行计算,并判断得到的公钥指针与公钥单元的公钥指针是否相同;
第三子模块,用于在公钥池和受信任的根证书列表中寻找接收的抗量子证书中记载的证书授权中心的公钥指针随机数;
第四子模块,用于依据证书授权中心的公钥指针随机数从公钥池中取出证书授权中心的公钥;
第五子模块,用于利用证书授权中心的公钥解密得到真随机数;
第六子模块,用于利用真随机数解密得到数字签名;
第七子模块,用于利用证书授权中心的公钥解密数字签名得到抗量子证书的原文摘要,判断该原文摘要与根据抗量子证书记载信息计算得到的原文摘要是否一致;
第八子模块,用于验证抗量子证书是否在有效期内。
可选地,还包括设置在用户端的抗量子证书种类鉴别模块,该抗量子证书种类鉴别模块用于在抗量子证书验证之前进行的抗量子证书种类鉴别,所述抗量子证书种类鉴别模块用于判断接收的抗量子证书中的持有者公钥指针随机数是否与证书授权中心的公钥指针随机数相同:
若不相同,则进行抗量子证书的验证过程;
若相同,则进行抗量子证书的验证过程,若验证通过,将该抗量子根证书加入受信任的根证书列表。
本发明还提供了基于公钥池的抗量子证书颁发系统,参与方包括证书授权中心和用户,各参与方均配置有密钥卡,各密钥卡内均存储有公钥池、私钥、证书授权中心的公钥指针随机数,用户的密钥卡内还存储有用户公钥指针随机数,
各参与方包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述的基于公钥池的抗量子证书颁发方法。
本发明中,使用的密钥卡是独立的硬件隔离设备,公钥、私钥和真随机数等其他相关参数均在CA内(即证书授权中心)生成,密钥分发后在密钥卡中存储,用户使用时被恶意软件或恶意操作窃取密钥的可能性大大降低,也不会被量子计算机获取并破解。本发明的数字证书体系所使用的所有非对称算法中的公钥以及相关算法参数均不参与网络传输,所以通信双方的公私钥被窃取破解的可能性较低。本发明中使用公钥指针随机数代替了公钥,增加了证书验证的准确度,也保证了公钥的安全。另外,数字证书中基于公私钥的数字签名被随机数进一步加密,形成加密的数字签名。即使在量子计算机存在的情况下,也难以被推导出私钥。综上所述,本发明保障了数字证书系统的公私钥及证书的安全。
附图说明
图1为本发明的CA密钥卡密钥区的分布图;
图2为本发明的用户密钥卡密钥区的分布图;
图3为本发明的数字证书的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了更好地描述和说明本申请的实施例,可参考一幅或多幅附图,但用于描述附图的附加细节或示例不应当被认为是对本申请的发明创造、目前所描述的实施例或优选方式中任何一者的范围的限制。
应该理解的是,除非本文中有明确的说明,各步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本发明实现一种基于公钥池的抗量子计算的数字证书体系。本发明所实现的场景为一个拥有同一公钥池成员组成的群组。群组中的CA拥有CA密钥卡,而其他成员均拥有用户密钥卡。本发明中的密钥卡不仅可以存储大量的数据,还具有处理信息的能力。本发明中,所有密钥卡都存在相应需求的算法。
密钥卡的描述可见申请号为“201610843210.6”的专利。当为移动终端时,密钥卡优选为密钥SD卡;当为固定终端时,密钥卡优选为密钥USBkey或主机密钥板卡。
与申请号为“201610843210.6”的专利相比,密钥卡的颁发机制有所不同。本专利的密钥卡颁发方为密钥卡的主管方,一般为群组的管理部门,例如某企业或事业单位的管理部门;密钥卡被颁发方为密钥卡的主管方所管理的成员,一般为某企业或事业单位的各级员工。用户端首先到密钥卡的主管方申请开户。当用户端进行注册登记获批后,将得到密钥卡(具有唯一的密钥卡ID)。密钥卡存储了客户注册登记信息。密钥卡中的用户侧密钥都下载自CA服务站,且对同一个密钥卡的主管方来说,其颁发的每个密钥卡中存储的密钥池是完全一致的。优选为,密钥卡中存储的密钥池大小可以是1G、2G、4G、8G、16G、32G、64G、128G、256G、512G、1024G、2048G、4096G等等。
密钥卡从智能卡技术上发展而来,是结合了真随机数发生器(优选为量子随机数发生器)、密码学技术、硬件安全隔离技术的身份认证和加解密产品。密钥卡的内嵌芯片和操作系统可以提供密钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,密钥卡成为私钥和密钥池的安全载体。每一个密钥卡都有硬件PIN码保护,PIN码和硬件构成了用户使用密钥卡的两个必要因素。即所谓“双因子认证”,用户只有同时取得保存了相关认证信息的密钥卡和用户PIN码,才可以登录系统。即使用户的PIN码被泄露,只要用户持有的密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的密钥卡遗失,拾到者由于不知道用户PIN码,也无法仿冒合法用户的身份。
基于公钥池的抗量子证书颁发方法,参与方包括证书授权中心和用户,各参与方均配置有密钥卡,各密钥卡内均存储有公钥池、私钥、证书授权中心的公钥指针随机数,用户的密钥卡内还存储有用户公钥指针随机数,所述抗量子证书颁发方法包括在所述证书授权中心进行的如下步骤:
生成抗量子证书的版本号、序列号和有效期;
生成持有者名称、公钥算法和持有者公钥指针随机数;
利用证书授权中心的私钥对抗量子证书进行数字签名;
生成一个真随机数,利用真随机数对所述数字签名进行加密;
利用证书授权中心的私钥对所述真随机数进行加密;
将抗量子证书安全发送至对应用户。
在其中一个实施例中,所述公钥池中存储有若干个公钥单元,每个参与方对应其中一个公钥单元,每个公钥单元包括:公钥指针随机数、公钥指针函数、公钥和公钥算法;
所述抗量子证书中还记载有证书授权中心的公钥指针随机数,所述抗量子证书颁发方法还包括在用户端进行所述抗量子证书的验证,抗量子证书验证包括如下步骤:
依据接收的抗量子证书中的持有者公钥指针随机数在公钥池中寻找对应的公钥单元,若找到对应的公钥单元,则进行下一步;
根据对应的公钥单元中的公钥指针函数对持有者公钥指针随机数进行计算,若得到的公钥指针与公钥单元的公钥指针相同,则进行下一步;
在公钥池和受信任的根证书列表中寻找接收的抗量子证书中记载的证书授权中心的公钥指针随机数,若找到,则进行下一步;
依据证书授权中心的公钥指针随机数从公钥池中取出证书授权中心的公钥;
利用证书授权中心的公钥解密得到真随机数;
利用真随机数解密得到数字签名;
利用证书授权中心的公钥解密数字签名得到抗量子证书的原文摘要,若该原文摘要与根据抗量子证书记载信息计算得到的原文摘要一致,则进行下一步;
验证抗量子证书是否在有效期内。
在其中一个实施例中,还包括在抗量子证书验证之前进行的抗量子证书种类鉴别步骤,该种类鉴别步骤包括在用户端进行的:
判断接收的抗量子证书中的持有者公钥指针随机数是否与证书授权中心的公钥指针随机数相同:
若不相同,则进行抗量子证书的验证过程;
若相同,则进行抗量子证书的验证过程,若验证通过,将该抗量子根证书加入受信任的根证书列表。
结合图示,对抗量子证书颁发过程详述如下:
1.PK单元
公钥池是由n个PK单元组成,PK单元即公钥单元,n的个数为群组内所有成员的个数,包括CA(即证书授权中心)和其他用户。PK单元是由PKR、FPOS信息、PK和PK算法四个部分组成,如表1所示。其中PKR为公钥指针随机数(即公钥的存储位置参数),FPOS为公钥指针函数,PK为公钥。
表1
PKR | FPOS信息 | PK | PK算法 |
其中FPOS信息包括FPOS算法ID和内部参数,FPOS信息如表2所示。
表2
FPOS算法ID | 内部参数 |
FPOS的算法可以有多种计算方式,例如,FPOS(PKR)=(a*PKR+b)%n。其中%为取模运算;PKR为输入变量;n(PK单元的个数)为外部参数;a、b为内部参数。或FPOS(PKR)=(PKR^c)*d%n;其中^为乘方运算,%为取模运算;PKR为输入变量;n(PK单元的个数)为外部参数;c、d为内部参数。上述两种算法仅作为参考,本发明并不受限于该两种计算方式。
PK算法指具体的公钥算法(非对称密码算法),可以有多种公钥算法,例如RSA/DSA/ECC等。
2.密钥卡
本发明中密钥卡分为两种密钥卡,一种是用于CA系统的CA密钥卡,还有一种是用户密钥卡。CA密钥卡包括公钥池、CA私钥和CA公钥指针随机数;用户密钥卡包括公钥池、用户私钥、用户公钥指针随机数和CA公钥指针随机数。CA密钥卡的公钥池和用户密钥卡中的密钥池相同。密钥池的结构分别如图1和图2。
CA服务器在颁发密钥卡之前会创建一个至少有n*sp大小的公钥池文件和一个至少有n*ss大小的私钥池文件。sp为1个PK单元的大小,ss为1个SK的大小,SK为私钥。CA服务器将生成n个PK/SK对。CA服务器可以提供多种非对称算法,生成每个PK/SK对时,CA服务器会选择一种非对称算法。CA服务器生成PKR,PKR为真随机数,优选为量子随机数。CA服务器随机生成FPOS算法ID和FPOS内部参数,计算得到PKPOS,PKPOS为公钥位置指针。CA服务器对公钥池文件PKPOS所在位置进行赋值,即写入PKR、FPOS信息、PK、PK算法。CA服务器对私钥池文件PKPOS所在位置进行赋值,即写入SK。假如PKPOS所在位置已经被赋值,则更换PKR、FPOS算法ID、FPOS内部参数中的1个或多个,重新执行本流程,直到找到未被赋值的位置。
CA服务器从公钥池文件随机选取一个PK单元,将该PK单元的公钥作为CA公钥,即PKCA,并将该PK单元的PKR作为CA公钥指针随机数,即PKRCA。同时取出在私钥池文件同位置的私钥,即SKCA。CA的公钥/私钥对可以是1个或多个,如为多个,则多次执行前述流程。CA服务器通过安全发送方式把公钥池文件、私钥和CA公钥指针随机数发送给CA密钥卡,CA密钥卡将相关密钥存储到CA密钥卡内部。CA通过安全发送方式把PKR、PKRCA、PKR对应的私钥、公钥池文件发送给用户密钥卡,用户密钥卡将相关密钥存储到用户密钥卡内部。
安全发送的方法可能是:
(1)用户密钥卡通过USB或网络接口等,直接连接至CA密钥卡,并由CA密钥卡传输信息;
(2)用户密钥卡和CA密钥卡均通过USB或网络接口等,连接到CA认可的某台安全主机,由主机中转信息;
(3)CA密钥卡与用户密钥卡分配有预共享密钥,CA密钥卡用预共享密钥对信息进行加密,网络传输至用户密钥卡后被用户密钥卡解密;
(4)CA密钥卡与用户密钥卡之间有量子密钥分发网络,CA密钥卡用量子密钥分发的密钥对信息进行加密,传输至用户密钥卡后被用户密钥卡解密;
(5)通过安全存储介质,将信息直接拷贝到用户密钥卡内;
(6)其他未提及的安全发送手段。
3.数字证书生成
数字证书的结构如图3所示。
数字证书包括证书信息、颁发者信息、持有者信息和颁发者数字签名四个部分。其中证书信息包括版本号、序列号和有效期;颁发者信息为颁发者名称;持有者信息包括持有者名称、公钥算法和持有者的公钥指针随机数;颁发者数字签名包括签名算法和加密的CA数字签名。其中CA数字签名的加密如下所述:设数字证书的证书信息、颁发者信息和持有者信息为M,M的摘要为MD,CA服务器利用私钥SKCA签名MD得到签名MS={MD}SKCA。CA服务器产生一个真随机数R,利用R对签名MS加密得到{MS}R。CA服务器再利用私钥SKCA加密R得到{R}SKCA。最终加密签名为PKRCA||{MS}R||{R}SKCA。
特别地,抗量子计算根证书是CA自签名证书:颁发者即为持有者,即CA服务器。
用户在使用普通数字证书前,一般已事先下载安装了CA根证书,验证了其有效性,并设置为受信任证书。CA根证书用于验证其他数字证书。
4.数字证书验证
4.1普通数字证书的验证
首先用户先根据持有者信息中的持有者公钥指针随机数PKR去密钥卡公钥池中进行匹配,是否能找到具有相同PKR的PK单元,如果没有找到,则验证失败,流程结束。如果找到,再根据匹配的PK单元中的FPOS信息对该PKR进行计算,得到的值与该PK单元的PKPOS进行比较。如果相同,则PKR验证通过。然后用户根据加密的CA数字签名中的CA公钥指针随机数PKRCA,验证其是否位于密钥卡中的CA公钥指针随机数区域;如果不是,则查找PKRCA是否位于受信任的根证书列表中的某个根证书内;如果仍没有找到PKRCA,则验证失败,流程结束。如找到PKRCA,则从密钥卡公钥池中取出CA公钥PKCA。用户利用PKCA将数字证书的颁发者数字签名中的{R}SKCA解密得到R。用户利用R解密{MS}R得到MS,用PKCA解密MS得到MD。用户取出数字证书的证书信息、颁发者信息和持有者信息为M’,对M’进行摘要计算得到MD’。对比MD和MD’,如相等则说明证书的数字签名合法,即该证书确实来自CA。最后验证证书是否位于有效期内。
4.2根证书的验证
如用户验证某数字证书时,发现该证书的颁发者即为持有者,则进入根证书的验证流程。
根证书的验证类似上述的用户证书验证。具体流程如下:
首先用户先根据根证书中的公钥指针随机数去密钥卡中的CA公钥指针随机数区域进行匹配,是否能找到具有相同的PKRCA值。如不存在相等的PKRCA值,则执行4.1的流程,如果流程执行成功,则说明该证书为合法根证书,可存储于根证书集合中;如存在相等的PKR值,则继续下文流程。用户根据匹配的PK单元中的FPOS信息对该PKRCA进行计算,得到的值与该PK单元的PKPOS进行比较。如果相同,则PKRCA验证通过。然后用户根据PKRCA,从密钥卡公钥池中取出CA公钥PKCA。用户利用PKCA将数字证书的颁发者数字签名中的{R}SKCA解密得到R。用户利用R解密{MS}R得到MS,用PKCA解密MS得到MD。用户取出数字证书的证书信息、颁发者信息和持有者信息为M’,对M’进行摘要计算得到MD’。对比MD和MD’,如相等则说明证书的数字签名合法。最后验证证书是否位于有效期内。
在其中一个实施例中,提供一种基于公钥池的抗量子证书颁发系统,参与方包括证书授权中心和用户,各参与方均配置有密钥卡,各密钥卡内均存储有公钥池、私钥、证书授权中心的公钥指针随机数,用户的密钥卡内还存储有用户公钥指针随机数,所述抗量子证书颁发方法包括设置在所述证书授权中心的:
第一模块,用于生成抗量子证书的版本号、序列号和有效期;
第二模块,用于生成持有者名称、公钥算法和持有者公钥指针随机数;
第三模块,用于利用证书授权中心的私钥对抗量子证书进行数字签名;
第四模块,用于生成一个真随机数,利用真随机数对所述数字签名进行加密;
第五模块,用于利用证书授权中心的私钥对所述真随机数进行加密;
第六模块,用于将抗量子证书安全发送至对应用户。
在其中一个实施例中,所述公钥池中存储有若干个公钥单元,每个参与方对应其中一个公钥单元,每个公钥单元包括:公钥指针随机数、公钥指针函数、公钥和公钥算法;
所述抗量子证书中还记载有证书授权中心的公钥指针随机数,所述抗量子证书颁发系统还包括设置在用户端的抗量子证书验证模块,该抗量子证书验证模块包括:
第一子模块,用于依据接收的抗量子证书中的持有者公钥指针随机数在公钥池中寻找对应的公钥单元;
第二子模块,用于根据对应的公钥单元中的公钥指针函数对持有者公钥指针随机数进行计算,并判断得到的公钥指针与公钥单元的公钥指针是否相同;
第三子模块,用于在公钥池和受信任的根证书列表中寻找接收的抗量子证书中记载的证书授权中心的公钥指针随机数;
第四子模块,用于依据证书授权中心的公钥指针随机数从公钥池中取出证书授权中心的公钥;
第五子模块,用于利用证书授权中心的公钥解密得到真随机数;
第六子模块,用于利用真随机数解密得到数字签名;
第七子模块,用于利用证书授权中心的公钥解密数字签名得到抗量子证书的原文摘要,判断该原文摘要与根据抗量子证书记载信息计算得到的原文摘要是否一致;
第八子模块,用于验证抗量子证书是否在有效期内。
在其中一个实施例中,抗量子证书颁发系统还包括设置在用户端的抗量子证书种类鉴别模块,该抗量子证书种类鉴别模块用于在抗量子证书验证之前进行的抗量子证书种类鉴别,所述抗量子证书种类鉴别模块用于判断接收的抗量子证书中的持有者公钥指针随机数是否与证书授权中心的公钥指针随机数相同:
若不相同,则进行抗量子证书的验证过程;
若相同,则进行抗量子证书的验证过程,若验证通过,将该抗量子根证书加入受信任的根证书列表。
关于抗量子证书颁发系统的具体限定可以参见上文中对于抗量子证书颁发系统的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,即一种抗量子证书颁发系统,该计算机设备可以是终端,其内部结构可以包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现抗量子证书颁发系统。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在其中一个实施例中,还提供基于公钥池的抗量子证书颁发系统,参与方包括证书授权中心和用户,各参与方均配置有密钥卡,各密钥卡内均存储有公钥池、私钥、证书授权中心的公钥指针随机数,用户的密钥卡内还存储有用户公钥指针随机数,
各参与方包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现所述的基于公钥池的抗量子证书颁发方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。
Claims (7)
1.基于公钥池的抗量子证书颁发方法,参与方包括证书授权中心和用户,各参与方均配置有密钥卡,各密钥卡内均存储有公钥池、私钥、证书授权中心的公钥指针随机数,用户的密钥卡内还存储有用户公钥指针随机数,其特征在于,所述抗量子证书颁发方法包括在所述证书授权中心进行的如下步骤:
生成抗量子证书的版本号、序列号和有效期;
生成持有者名称、公钥算法和持有者公钥指针随机数;
利用证书授权中心的私钥对抗量子证书进行数字签名;
生成一个真随机数,利用真随机数对所述数字签名进行加密;
利用证书授权中心的私钥对所述真随机数进行加密;
将抗量子证书安全发送至对应用户。
2.如权利要求1所述的基于公钥池的抗量子证书颁发方法,其特征在于,所述公钥池中存储有若干个公钥单元,每个参与方对应其中一个公钥单元,每个公钥单元包括:公钥指针随机数、公钥指针函数、公钥和公钥算法;
所述抗量子证书中还记载有证书授权中心的公钥指针随机数,所述抗量子证书颁发方法还包括在用户端进行所述抗量子证书的验证,抗量子证书验证包括如下步骤:
依据接收的抗量子证书中的持有者公钥指针随机数在公钥池中寻找对应的公钥单元,若找到对应的公钥单元,则进行下一步;
根据对应的公钥单元中的公钥指针函数对持有者公钥指针随机数进行计算,若得到的公钥指针与公钥单元的公钥指针相同,则进行下一步;
在公钥池和受信任的根证书列表中寻找接收的抗量子证书中记载的证书授权中心的公钥指针随机数,若找到,则进行下一步;
依据证书授权中心的公钥指针随机数从公钥池中取出证书授权中心的公钥;
利用证书授权中心的公钥解密得到真随机数;
利用真随机数解密得到数字签名;
利用证书授权中心的公钥解密数字签名得到抗量子证书的原文摘要,若该原文摘要与根据抗量子证书记载信息计算得到的原文摘要一致,则进行下一步;
验证抗量子证书是否在有效期内。
3.如权利要求2所述的基于公钥池的抗量子证书颁发方法,其特征在于,还包括在抗量子证书验证之前进行的抗量子证书种类鉴别步骤,该种类鉴别步骤包括在用户端进行的:
判断接收的抗量子证书中的持有者公钥指针随机数是否与证书授权中心的公钥指针随机数相同:
若不相同,则进行抗量子证书的验证过程;
若相同,则进行抗量子证书的验证过程,若验证通过,将该抗量子证书加入受信任的根证书列表。
4.基于公钥池的抗量子证书颁发系统,参与方包括证书授权中心和用户,各参与方均配置有密钥卡,各密钥卡内均存储有公钥池、私钥、证书授权中心的公钥指针随机数,用户的密钥卡内还存储有用户公钥指针随机数,其特征在于,所述抗量子证书颁发系统包括设置在所述证书授权中心的:
第一模块,用于生成抗量子证书的版本号、序列号和有效期;
第二模块,用于生成持有者名称、公钥算法和持有者公钥指针随机数;
第三模块,用于利用证书授权中心的私钥对抗量子证书进行数字签名;
第四模块,用于生成一个真随机数,利用真随机数对所述数字签名进行加密;
第五模块,用于利用证书授权中心的私钥对所述真随机数进行加密;
第六模块,用于将抗量子证书安全发送至对应用户。
5.如权利要求4所述的基于公钥池的抗量子证书颁发系统,其特征在于,所述公钥池中存储有若干个公钥单元,每个参与方对应其中一个公钥单元,每个公钥单元包括:公钥指针随机数、公钥指针函数、公钥和公钥算法;
所述抗量子证书中还记载有证书授权中心的公钥指针随机数,所述抗量子证书颁发系统还包括设置在用户端的抗量子证书验证模块,该抗量子证书验证模块包括:
第一子模块,用于依据接收的抗量子证书中的持有者公钥指针随机数在公钥池中寻找对应的公钥单元;
第二子模块,用于根据对应的公钥单元中的公钥指针函数对持有者公钥指针随机数进行计算,并判断得到的公钥指针与公钥单元的公钥指针是否相同;
第三子模块,用于在公钥池和受信任的根证书列表中寻找接收的抗量子证书中记载的证书授权中心的公钥指针随机数;
第四子模块,用于依据证书授权中心的公钥指针随机数从公钥池中取出证书授权中心的公钥;
第五子模块,用于利用证书授权中心的公钥解密得到真随机数;
第六子模块,用于利用真随机数解密得到数字签名;
第七子模块,用于利用证书授权中心的公钥解密数字签名得到抗量子证书的原文摘要,判断该原文摘要与根据抗量子证书记载信息计算得到的原文摘要是否一致;
第八子模块,用于验证抗量子证书是否在有效期内。
6.如权利要求5所述的基于公钥池的抗量子证书颁发系统,其特征在于,还包括设置在用户端的抗量子证书种类鉴别模块,该抗量子证书种类鉴别模块用于在抗量子证书验证之前进行的抗量子证书种类鉴别,所述抗量子证书种类鉴别模块用于判断接收的抗量子证书中的持有者公钥指针随机数是否与证书授权中心的公钥指针随机数相同:
若不相同,则进行抗量子证书的验证过程;
若相同,则进行抗量子证书的验证过程,若验证通过,将该抗量子证书加入受信任的根证书列表。
7.基于公钥池的抗量子证书颁发系统,其特征在于,参与方包括证书授权中心和用户,各参与方均配置有密钥卡,各密钥卡内均存储有公钥池、私钥、证书授权中心的公钥指针随机数,用户的密钥卡内还存储有用户公钥指针随机数;
各参与方包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现权利要求1~3任一项所述的基于公钥池的抗量子证书颁发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910034536.8A CN109918888B (zh) | 2019-01-15 | 2019-01-15 | 基于公钥池的抗量子证书颁发方法及颁发系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910034536.8A CN109918888B (zh) | 2019-01-15 | 2019-01-15 | 基于公钥池的抗量子证书颁发方法及颁发系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109918888A CN109918888A (zh) | 2019-06-21 |
CN109918888B true CN109918888B (zh) | 2020-09-08 |
Family
ID=66960246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910034536.8A Active CN109918888B (zh) | 2019-01-15 | 2019-01-15 | 基于公钥池的抗量子证书颁发方法及颁发系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109918888B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110838918B (zh) * | 2019-08-09 | 2023-02-03 | 如般量子科技有限公司 | 基于公钥池和签名偏移量的抗量子证书颁发方法及系统 |
CN110650004B (zh) * | 2019-08-28 | 2022-11-15 | 如般量子科技有限公司 | 基于对称密钥池和在线离线签名的抗量子计算rfid认证方法及系统 |
CN111211910B (zh) * | 2019-12-30 | 2023-04-14 | 南京如般量子科技有限公司 | 基于秘密共享公钥池的抗量子计算ca及证书颁发系统及其颁发和验证方法 |
US11683188B2 (en) * | 2020-10-13 | 2023-06-20 | Google Llc | Representing certificate expiration with time-based intermediate certificate authorities |
CN114448636A (zh) * | 2020-10-16 | 2022-05-06 | 如般量子科技有限公司 | 基于数字证书的抗量子计算数字货币系统及匿名通信方法 |
CN114254284B (zh) * | 2022-02-28 | 2022-06-17 | 南京大学 | 数字证书生成、身份认证方法及量子ca认证中心与系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452740A (zh) * | 2016-09-23 | 2017-02-22 | 浙江神州量子网络科技有限公司 | 一种量子通信服务站、量子密钥管理装置以及密钥配置网络和方法 |
CN107359994A (zh) * | 2017-07-19 | 2017-11-17 | 国家电网公司 | 一种量子密码与经典密码相融合的一体化加密装置 |
CN109150519A (zh) * | 2018-09-20 | 2019-01-04 | 如般量子科技有限公司 | 基于公共密钥池的抗量子计算云存储安全控制方法和系统 |
-
2019
- 2019-01-15 CN CN201910034536.8A patent/CN109918888B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452740A (zh) * | 2016-09-23 | 2017-02-22 | 浙江神州量子网络科技有限公司 | 一种量子通信服务站、量子密钥管理装置以及密钥配置网络和方法 |
CN107359994A (zh) * | 2017-07-19 | 2017-11-17 | 国家电网公司 | 一种量子密码与经典密码相融合的一体化加密装置 |
CN109150519A (zh) * | 2018-09-20 | 2019-01-04 | 如般量子科技有限公司 | 基于公共密钥池的抗量子计算云存储安全控制方法和系统 |
Non-Patent Citations (2)
Title |
---|
可证明安全的基于证书聚合签名方案;胡江红等;《数学的实践与认识》;20170208;第47卷(第3期);第128-135页 * |
量子通信若干理论研究;富尧;《中国优秀硕士学位论文全文库》;20160915(第9期);第1-120页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109918888A (zh) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109672537B (zh) | 基于公钥池的抗量子证书获取系统及获取方法 | |
CN109918888B (zh) | 基于公钥池的抗量子证书颁发方法及颁发系统 | |
CN106357401B (zh) | 一种私钥存储及使用方法 | |
CN111211910B (zh) | 基于秘密共享公钥池的抗量子计算ca及证书颁发系统及其颁发和验证方法 | |
CN109728906B (zh) | 基于非对称密钥池的抗量子计算非对称加密方法和系统 | |
CN110519046B (zh) | 基于一次性非对称密钥对和qkd的量子通信服务站密钥协商方法和系统 | |
CN109064324A (zh) | 基于联盟链的交易方法、电子装置及可读存储介质 | |
CN109660338B (zh) | 基于对称密钥池的抗量子计算数字签名方法和系统 | |
CN109921905B (zh) | 基于私钥池的抗量子计算密钥协商方法和系统 | |
CN109919611B (zh) | 基于对称密钥池服务器的抗量子计算区块链交易方法和系统 | |
CN109936456B (zh) | 基于私钥池的抗量子计算数字签名方法和系统 | |
EP3496331A1 (en) | Two-party signature device and method | |
CN109787758B (zh) | 基于私钥池和Elgamal的抗量子计算MQV密钥协商方法和系统 | |
Bai et al. | Elliptic curve cryptography based security framework for Internet of Things (IoT) enabled smart card | |
CN110138548B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站密钥协商方法和系统 | |
CN110380859B (zh) | 基于非对称密钥池对和dh协议的量子通信服务站身份认证方法和系统 | |
CN111327419B (zh) | 基于秘密共享的抗量子计算区块链的方法及系统 | |
CN109728905B (zh) | 基于非对称密钥池的抗量子计算mqv密钥协商方法和系统 | |
CN110737915B (zh) | 基于隐式证书的抗量子计算匿名身份识别方法及系统 | |
CN109905229B (zh) | 基于群组非对称密钥池的抗量子计算Elgamal加解密方法和系统 | |
CN110768781A (zh) | 基于联盟链且抗量子计算的公私钥颁发方法及系统 | |
CN110690957A (zh) | 基于联盟链和隐式证书的抗量子计算私钥备份、挂失及恢复方法及系统 | |
CN110661613A (zh) | 基于联盟链的抗量子计算隐式证书颁发方法及系统 | |
CN110176989B (zh) | 基于非对称密钥池的量子通信服务站身份认证方法和系统 | |
JP2009272737A (ja) | 秘匿認証システム |
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 |