基于秘密共享公钥池的抗量子计算CA及证书颁发系统及其颁发和验证方法与流程

文档序号:20916774发布日期:2020-05-29 13:37阅读:326来源:国知局
基于秘密共享公钥池的抗量子计算CA及证书颁发系统及其颁发和验证方法与流程
本发明涉及非对称密码体系和数字证书体系
技术领域
,尤其涉及一种基于秘密共享公钥池的抗量子计算ca及证书颁发系统及其颁发和验证方法。
背景技术
:数字签名,又称公钥数字签名、电子签名等,是一种使用公钥加密技术、鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名就只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。一般来说,所谓数字签名就是附加在数据单元上的一些数据,或是对数据单元所做的密码变换。这种数据或变换允许数据单元的接收者用以确认数据单元的来源和数据单元的完整性并保护数据,防止被人(例如接收者)进行伪造。它是对电子形式的消息进行签名的一种方法,一个签名消息能在一个通信网络中传输。数字签名包括普通数字签名和特殊数字签名。普通数字签名算法有rsa、elgamal、fiat-shamir、guillou-quisquarter、schnorr、ong-schnorr-shamir数字签名算法、dsa、椭圆曲线数字签名算法等。特殊数字签名有盲签名、代理签名、群签名、不可否认签名、公平盲签名、门限签名、具有消息恢复功能的签名等,它与具体应用环境密切相关。显然,数字签名的应用涉及到法律问题,美国联邦政府基于有限域上的离散对数问题制定了自己的数字签名标准(dss)。在如今的密码学领域中,主要有两种密码系统,一是对称密钥密码系统,即加密密钥和解密密钥使用同一个。另一个是公开密钥密码系统,即加密密钥和解密密钥不同,其中一个可以公开。而数字证书是基于非对称密码体系实现的。但是随着量子计算机的发展,经典非对称密钥加密算法将不再安全,无论加解密、数字签名还是密钥交换方法,量子计算机都可以通过公钥计算得到私钥,因此目前经典的数字证书将在量子时代变得不堪一击。为解决上述抗量子计算的问题,同时减少数字证书的计算量、减轻密钥卡的负担,需要对现有的数字证书的颁发系统和方法进行改进降低了证书颁发的效率以及证书验证的效率。技术实现要素:发明目的:针对现有技术中的缺陷,本发明公开了一种基于秘密共享公钥池的抗量子计算ca及证书颁发系统及其颁发和验证方法,通过对用户公钥进行秘密共享的方式,在不影响密钥生成效率的前提下,使数字证书具有了抗量子计算的安全性与可靠性。技术方案:为实现上述技术目的,本发明采用了如下技术方案:一种基于秘密共享公钥池的抗量子计算ca及证书颁发系统,其特征在于:包括位于同一群组内的ca服务器和用户,ca服务器和各用户均配置内部存有相同公钥池和各自公私钥对的密钥卡,由ca服务器颁发密钥卡和数字证书,ca服务器对每个用户公钥以秘密共享方式得到用户公钥秘密碎片一和用户公钥秘密碎片二;所述公钥池存有与群组内用户数量对应的公钥单元,各个公钥单元包括用于表征用户公钥信息的公钥单元指针随机数、公钥指针函数、用户公钥秘密碎片一和公钥算法;所述用户密钥卡内还存有ca公钥、用户公钥秘密碎片二、公钥单元指针随机数;所述数字证书包括证书信息、颁发者信息、持有者信息和颁发者数字签名。优选地,当数字证书的颁发者和持有者均为ca服务器时,ca服务器自签名生成抗量子证书作为ca根证书,持有者信息包括持有者名称、持有者公钥算法和ca公钥的哈希值;当数字证书的颁发者和持有者不相同时,ca服务器生成的抗量子证书作为普通数字证书,持有者信息包括持有者名称、持有者公钥算法、公钥单元指针随机数和公钥秘密碎片二。优选地,所述公钥指针函数包括公钥指针函数算法id和内部参数,以公钥单元指针随机数为输入量计算获得公钥单元的位置指针值。一种基于秘密共享公钥池的抗量子计算ca及证书颁发方法,其特征在于,数字证书颁发步骤为:生成证书信息,包括版本号、序列号和有效期;生成颁发者信息,包括颁发者名称;生成持有者信息,包括持有者名称、持有者公钥算法、持有者的公钥单元指针随机数和持有者公钥经过(2,2)秘密共享后的持有者的公钥秘密碎片二;生成ca数字签名,ca服务器在进行数字签名之前通过持有者的公钥单元指针随机数找到对应的公钥秘密碎片一,结合持有者公开的持有者公钥秘密碎片二进行秘密恢复计算得到持有者公钥,并得到实际持有者信息,实际持有者信息包括持有者名称、持有者公钥算法、持有者的公钥单元指针随机数、持有者的公钥;将证书信息、颁发者信息和实际持有者信息作为证书实际内容,利用ca私钥对证书实际内容行数字签名计算,得到数字签名;将签名后的抗量子证书发送给对应用户。一种基于秘密共享公钥池的抗量子计算ca及证书验证方法,其特征在于,所述ca根证书验证的方法为:用户取出存储在密钥卡内部的ca公钥,将对ca公钥进行哈希运算得到的哈希值与数字证书中的哈希值进行对比,如果相同进入下一步,反之流程结束;用户采用ca公钥对根证书中的颁发者数字签名进行验证,验证通过进入下一步,反之流程结束;用户检查数字证书的有效期,如果在有效期内,则根证书验证成功,存储于根证书集合中,反之根证书认证失败。一种基于秘密共享公钥池的抗量子计算ca及证书验证方法,其特征在于,抗量子数字证书验证步骤为:用户验证抗量子数字证书的持有者是否为颁发者ca服务器,如是,则进入ca根证书的验证流程;如否,则进入下一步普通数字证书验证流程;在进行数字签名验证之前,用户根据证书中的公钥单元指针随机数在公钥池中寻找到匹配的公钥单元;用户取出匹配的公钥单元中的秘密碎片一,结合数字证书中对应的秘密碎片二进行秘密恢复计算得到持有者公钥,并得到实际持有者信息,将证书信息、颁发者信息和实际持有者信息作为证书实际内容;用户采用ca公钥并利用证书实际内容对数字证书中的颁发者数字签名进行验证,验证通过进入下一步,反之流程结束;用户检查数字证书的有效期,如果在有效期内,则数字证书验证成功,反之,数字证书验证失败。优选地,用户寻找到匹配的公钥单元步骤为:用户根据公钥单元指针随机数在公钥池中寻找具有相同公钥单元指针随机数的公钥单元,如未找到,则验证失败,流程结束;如果找到,再根据匹配的公钥单元中的公钥指针函数对该公钥单元指针随机数进行计算,计算得到公钥单元的位置指针值与该公钥单元的位置指针进行比较;如果相同,则验证通过,该单元为匹配的公钥单元。有益效果:由于采用了上述技术方案,本发明具有如下技术效果:(1)、本发明中使用公钥单元指针随机数和对公钥池中的用户公钥进行秘密共享得到的秘密碎片代替了公钥,使得数字证书中公钥不公开,因此量子计算机无法通过公钥去破解相应的私钥;这样的方案确保了ca服务器和持有者的非对称算法系统的安全,从而使得证书拥有着抵抗量子计算的能力。(2)、本发明对数字证书中签名的保护不需要额外的加密步骤,仅需要对敌方无法获知的证书实际内容进行签名,就可以使得该签名可以实现抗量子计算,不增加ca服务器和用户对数字证书签名和验证的计算压力;其原理是,由于ca服务器签名的公钥、私钥均未公开,且数字签名的输入未公开,因此公开数字签名的输出并不会导致公钥、私钥及数字签名的输入中的任意一者被量子计算机破解。(3)、本发明中,使用的密钥卡是独立的硬件隔离设备,公钥、私钥和真随机数等其他相关参数均在ca服务器内生成,密钥分发后在密钥卡中存储,用户使用时被恶意软件或恶意操作窃取密钥的可能性大大降低,也不会被量子计算机获取并破解;本发明的数字证书体系所使用的所有非对称算法中的公钥以及相关算法参数均不参与网络传输,所以通信双方的公私钥被窃取破解的可能性较低。附图说明图1为本发明的ca密钥卡的密钥区分布图;图2为本发明的用户密钥卡的密钥区分布图;图3为本发明的数字证书的结构图。具体实施方式下面结合附图对本方案做进一步的说明。如附图1所示为本发明的基于秘密共享公钥池的抗量子计算ca及证书颁发系统的一个实施例的结构示意图,本发明实现一种基于秘密共享公钥池的抗量子计算的数字证书体系。本发明所实现的场景为一个拥有同一公钥池的成员组成的群组。群组中的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的个数为群组内所有用户成员的个数。pk单元是由pkr、fpos信息、(x1,pk1)和pk算法四个部分组成,pk单元结构如下所示。其中pkr为公钥单元指针随机数(公钥的存储位置参数),fpos为公钥指针函数,(x1,pk1)为公钥pk经过(2,2)秘密共享后得到的秘密碎片,pk算法即公钥算法,包含有签名算法编号及相关算法参数。秘密共享算法的原理如下所示:从素数阶q的有限域gf(q)中随机选取n个不同的非零元素x1,x2,…,xn,分成n组秘密碎片,表示为pi(i=1,2,…,n)。设共享的秘密信息为m,从gf(q)中选取t-1个元素a1,a2,…,a(t-1),构造多项式则有mi=f(xi)(1≤i≤n)。(xi,mi)作为秘密碎片pi。从n个秘密碎片中获取任意t个秘密碎片可以得到共享秘密信息m,具体步骤如下:根据公式可以求得t个拉格朗日参数λi,因而可以根据公式m=f(0)=∑λi*mi求得m。在ca服务器对每个pk进行(2,2)的秘密共享计算后得到秘密碎片(x1,pk1)和(x2,pk2)。假设pk是基于ecc算法生成的,即为椭圆曲线点(x,y)的模式,则以x和y的拼接作为一个秘密进行共享。秘密碎片(x1,pk1)存放在公钥池的pk单元中。其他用户得到相应公钥需要凑齐2组秘密可以恢复初始pk,具体的恢复步骤为:2组秘密求得拉格朗日参数:λ1=(-x2)/(x1-x2)λ2=(-x1)/(x2-x1)求得pk=λ1*pk1+λ2*pk2=(x1*pk2-x2*pk1)/(x1-x2)pk单元:pkrfpos信息(x1,pk1)pk算法其中fpos信息包括fpos算法id和内部参数,如下所示。fpos信息: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公私钥对;用户密钥卡包括公钥池、用户公私钥对、用户公钥秘密碎片(x2,pk2)、公钥单元指针随机数和ca公钥。ca密钥卡的公钥池和用户密钥卡中的公钥池相同。密钥卡的分布结构如图1和图2。ca服务器在颁发密钥卡之前会创建一个至少有n*sp大小的公钥池文件和一个至少有n*ss大小的私钥池文件。sp为1个pk单元的大小,ss为1个sk的大小,sk为私钥。ca服务器将生成n个pk/sk对,表示为pkv/skv,v∈[1,n]。并对公钥pkv进行(2,2)秘密共享计算得到(x1,pk1)v、(x2,pk2)v,v∈[1,n]。ca服务器生成pkr,pkr为真随机数,优选为量子随机数。ca服务器随机生成fpos算法id和fpos内部参数,计算得到pkpos,pkpos为公钥单元的位置指针。ca服务器对公钥池文件pkpos所在位置进行赋值,即写入pkr、fpos信息、(x1,pk1)v和pk算法。ca服务器对私钥池文件pkpos所在位置进行赋值,即写入sk。假如pkpos所在位置已经被赋值,则更换pkr、fpos算法id、fpos内部参数中的1个或多个,重新执行本流程,直到找到未被赋值的位置。ca服务器生成一对基于rsa算法的公私钥对pkca/skca作为ca服务器的密钥。以颁发的第一个密钥卡为ca密钥卡,将ca公私钥对pkca/skca和公钥池通过安全的方式发送到ca密钥卡中。后续颁发的密钥卡为用户密钥卡,将ca公钥和公钥池通过安全的方式发送到用户密钥卡中,并从ca服务器的公钥池或私钥池中找到未分配的公钥单元或私钥,将对应的公私钥对pkv/skv以及相对应的公钥单元指针随机数、公钥秘密碎片(x2,pk2)v颁发给用户密钥卡。安全发送的方法可以是以下6种情况的任一种:(1)用户密钥卡通过usb或网络接口等,直接连接至ca密钥卡,并由ca密钥卡传输信息;(2)用户密钥卡和ca密钥卡均通过usb或网络接口等,连接到ca认可的某台安全主机,由主机中转信息;(3)ca密钥卡与用户密钥卡分配有预共享密钥,ca密钥卡用预共享密钥对信息进行加密,网络传输至用户密钥卡后被用户密钥卡解密;(4)ca密钥卡与用户密钥卡之间有量子密钥分发网络,ca密钥卡用量子密钥分发的密钥对信息进行加密,传输至用户密钥卡后被用户密钥卡解密;(5)通过安全存储介质,将信息直接拷贝到用户密钥卡内;(6)其他未提及的安全发送手段。实施例一1.1数字证书生成数字证书的结构如图3所示。本实施例中,数字证书包括证书信息、颁发者信息、持有者信息和颁发者数字签名四个部分。其中证书信息包括版本号、序列号和有效期;颁发者信息为颁发者名称;持有者信息包括持有者名称、持有者公钥算法、持有者的公钥单元指针随机数和持有者公钥pkv经过(2,2)秘密共享后的(x2,pk2)v;颁发者数字签名包括ca数字签名。ca数字签名的生成如下所述:ca服务器在进行数字签名之前先通过持有者的公钥单元指针随机数找到对应的秘密碎片(x1,pk1),结合持有者公开的秘密碎片(x2,pk2)进行秘密恢复计算得到持有者公钥pkv,并得到实际持有者信息。实际持有者信息包括持有者名称、持有者公钥算法、持有者的公钥单元指针随机数和持有者公钥pkv。将证书信息、颁发者信息和实际持有者信息总称为证书实际内容,命名为pcert3,ca服务器利用自身私钥skca对pcert3进行rsa算法的签名计算,得到签名sigca=hash(pcert3)^skcamodn,其中,hash()表示为rsa算法中使用的计算哈希值的哈希算法;n为rsa算法的参数,即2个大素数的乘积。特别地,抗量子计算根证书是ca自签名证书:颁发者即为持有者,即ca服务器。根证书与普通数字证书的主要区别在于根证书持有者信息为:持有者名称、公钥算法、ca公钥的哈希值hash(pkca)。用户在使用普通数字证书前,一般已事先下载安装了ca根证书,验证了其有效性,并设置为受信任证书。ca根证书用于验证其他数字证书。1.2.数字证书验证1.2.1普通数字证书的验证经典的数字证书的生成是含有持有者公钥的,而本实施例中的数字证书中没有公钥,只有公钥单元指针随机数和公钥pkv经过(2,2)秘密共享生成的(x2,pk2)v。因而敌方不可能通过数字证书破解相应的私钥,包括用户私钥和ca服务器的私钥。保证了数字证书的安全性。在进行数字证书验证之前,用户先根据公钥单元指针随机数pkr在公钥池中进行匹配,是否能找到具有相同pkr的pk单元,如果没有找到,则验证失败,流程结束。如果找到,再根据匹配的pk单元中的fpos信息对该pkr进行计算,得到的值与该pk单元的pkpos进行比较。如果相同,则pkr验证通过。取出pk单元中的秘密碎片(x1,pk1)v,结合数字证书中对应的秘密碎片(x2,pk2)v进行秘密恢复计算得到持有者公钥pkv。之后进行对数字签名的验证。首先用户取出存储在密钥卡内部的ca公钥pkca并利用pcert3(证书信息、颁发者信息和实际持有者信息)对数字证书中的颁发者数字签名进行验证。如果签名验证失败,则说明数字证书为假。反之,则验证数字证书的有效期,如果在有效期内,则数字证书验证成功。反之,数字证书验证失败。1.2.2根证书的验证如用户验证某数字证书时,发现该证书的颁发者即为持有者,则进入根证书的验证流程。根证书验证的具体流程如下:首先用户取出存储在密钥卡内部的ca公钥pkca,对公钥pkca进行哈希运算得到hash(pkca)’,将hash(pkca)’与数字证书中的哈希值hash(pkca)进行对比,如果不同,则数字证书验证失败,流程结束。反之,则进行下一步验证。利用公钥pkca对根证书中的颁发者数字签名进行验证。如果签名验证失败,则说明数字证书为假。反之,则进行进一步验证。检查数字证书的有效期,验证证书是否位于有效期内。如果在有效期内,则根证书验证成功,可存储于根证书集合中。反之,根证书认证失败。1.3.数字证书验证后续实例用户在验证持有者的数字证书并得到数字证书持有者的公钥。假如持有者的公私钥对是基于ecdsa算法,则通过私钥计算得到的签名可表示为{r,s}。由于签名中的r容易被量子计算机破解,从而导致私钥泄露,因此需要对r进行偏移量计算,偏移量的协商可以通过公钥池实现。例,取签名者的公钥单元的秘密碎片(x1,pk1)v,结合签名中的s参数,对其进行哈希值算法计算得到hash((x1,pk1)v||s),利用哈希值对r进行偏移量计算得到r+hash((x1,pk1)v||s),最终签名表示为(r+hash((x1,pk1)v||s),s)。由于hash((x1,pk1)v||s)无法被敌方所知,因此r无法被敌方所知,因此可以防止量子计算机对r的破解。综上所述可知,本发明通过对用户公钥进行秘密共享的方式,在不影响生成效率的前提下,使数字证书具有了抗量子计算的安全性与可靠性。以上所述仅是本发明的优选实施方式,应当指出:对于本
技术领域
的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1