一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于CA和国密算法的抗量子计算通信方法及系统与流程

2022-07-01 22:10:51 来源:中国专利 TAG:

一种基于ca和国密算法的抗量子计算通信方法及系统
技术领域
1.本发明涉及身份认证领域,尤其涉及一种基于ca和国密算法的抗量子计算通信方法及系统。


背景技术:

2.ca即certificate authority,指的是数字证书权威机构。ca的工作原理就是通过发放和维护数字证书来建立一套信任网络,在同一信任网络中的用户通过申请到的数字证书来完成身份认证和安全通信。例如,广泛使用的https通信系统就是基于数字证书建立起来的。
3.但是数字证书的缺点是公开了用户的公钥,无法抵抗量子计算机的攻击。正如大多数人所了解的,量子计算机在密码破解上有着巨大潜力。当今主流的非对称(公钥)加密算法,如rsa加密算法,大多数都是基于大整数的因式分解或者有限域上的离散对数的计算这两个数学难题。他们的破解难度也就依赖于解决这些问题的效率。传统计算机上,要求解这两个数学难题,花费时间为指数时间(即破解时间随着公钥长度的增长以指数级增长),这在实际应用中是无法接受的。而为量子计算机量身定做的秀尔算法可以在多项式时间内(即破解时间随着公钥长度的增长以k次方的速度增长,其中k为与公钥长度无关的常数)进行整数因式分解或者离散对数计算,从而为rsa、离散对数加密算法的破解提供可能。
4.然而,现有技术存在以下问题:
5.1、现有ca及基于数字证书的保密通信系统无法抗量子计算;
6.2、现有基于量子保密通信的抗量子计算系统中,对用户来说成本过高、对称密钥管理复杂;
7.3、现有基于非对称密钥池的抗量子计算系统(申请号为“201910034536.8”的专利)中,需要将所有成员的公钥生成非对称密钥池后存储到各密钥卡中,增加了客户端密钥卡的存储成本;改变了传统ca及基于数字证书的保密通信系统的整体流程和数据结构,导致ca及用户应用系统升级到抗量子计算方案的成本过高;
8.4、现有基于id密码学的抗量子计算通信系统(申请号为“202020815697.9”的专利)中,需要额外部署一个基于id密码学的密钥管理服务器,改变了传统ca的部署方式,引入了新的不确定性;
9.5、现有国密算法中的sm2算法无法抗量子计算,设sm2算法为enc
sm2
(*,pk)=(encr,encm,ench),*为加密对象,pk为对方的sm2公钥,根据sm2算法的定义,encr为一个随机的椭圆曲线点,容易被量子计算机破解得到其私钥,从而影响encm的安全性,因此encr需要加密。


技术实现要素:

10.针对相关技术中的问题,本发明提出一种基于ca和国密算法的抗量子计算通信方法及系统,以克服现有相关技术所存在的上述技术问题。
11.为此,本发明采用的具体技术方案如下:
12.根据本发明的一个方面,提供了一种基于ca和国密算法的抗量子计算通信方法,该方法包括以下步骤:
13.s1、利用身份认证方法实现证书颁发机构与第一用户之间的身份认证;
14.s2、依据身份认证方法实现证书颁发机构与第二用户之间的身份认证;
15.s3、使用通信方法实现第一用户与第二用户之间的抗量子计算通信;
16.其中,所述s3包括以下步骤:
17.s31、第一用户发送与第二用户进行通信请求的带有消息认证码的第一请求消息给证书颁发机构;
18.s32、证书颁发机构接收消息对消息认证码进行验证,并解密得到数字签名,同时发送带有消息认证码的第二请求消息给第二用户;
19.s33、第二用户接收消息并进行解密验证,验证通过后得到会话密钥的生成元素,同时发送带有消息认证码的第三请求消息给第一用户;
20.s34、第一用户接收消息并进行解密验证,验证通过后确认第二用户认证成功,同时发送带有消息认证码的第四请求消息给第二用户;
21.s35、第二用户接收消息,并判断当前时间是否与第四请求消息中的当前时间相接近,若不符则消息无效,若符合则生成第一用户与第二用户之间的会话密钥,同时使用该会话密钥对消息认证码进行验证,验证成功后确认第一用户已获取会话密钥,并将该会话密钥作为与第一用户通信的会话密钥;
22.s36、第一用户与第二用户使用第一用户与第二用户之间的会话密钥进行保密通信。
23.进一步的,所述s1中利用身份认证方法实现证书颁发机构与第一用户之间的身份认证包括以下步骤:
24.s11、第一用户生成第一认证消息,并发送给证书颁发机构;
25.s12、证书颁发机构接收消息并进行解密验证,验证通过后得到会话密钥的生成元素,同时发送第二认证消息给第一用户;
26.s13、第一用户接收消息并进行解密验证,验证通过后确认证书颁发机构认证成功,生成证书颁发机构与第一用户之间的会话密钥,同时发送第三认证消息给证书颁发机构;
27.s14、证书颁发机构接收消息,判断当前时间是否与第三认证消息中的当前时间相接近,若不符则消息无效,若符合则生成证书颁发机构与第一用户之间的会话密钥,并使用该会话密钥对消息认证码进行验证,验证成功后确认第一用户已获取会话密钥,将该会话密钥作为与第一用户通信的会话密钥。
28.进一步的,所述s12中证书颁发机构接收消息并进行解密验证,验证通过后得到会话密钥的生成元素,同时发送第二认证消息给第一用户具体包括以下步骤:
29.s121、证书颁发机构接收消息,判断当前时间是否与第一认证消息中的当前时间相接近,若不符则消息无效,若符合则根据第一用户的id计算得到与第一用户共享的对称密钥,并使用该对称密钥及证书颁发机构的私钥解密得到第一真随机数;
30.s122、利用第一真随机数解密得到第一数字签名及第一用户的数字证书,并使用
证书颁发机构的公钥验证第一用户数字证书的有效性,验证成功后从该数字证书中取出第一用户的公钥,使用该公钥对第一数字签名进行验证,验证成功后确认第一用户认证成功,并将第一真随机数作为会话密钥的生成元素,发送第二认证消息给第一用户。
31.进一步的,所述s13中第一用户接收消息并进行解密验证,验证通过后确认证书颁发机构认证成功,生成证书颁发机构与第一用户之间的会话密钥,同时发送第三认证消息给证书颁发机构具体包括以下步骤:
32.s131、第一用户接收消息,判断当前时间是否与第二认证消息中的当前时间相接近,若不符则消息无效,若符合则使用与证书颁发机构共享的对称密钥及第一用户的私钥解密得到第二真随机数;
33.s132、利用第二真随机数解密得到第二数字签名,使用证书颁发机构的公钥验证第二数字签名,验证成功后确认证书颁发机构认证成功,并将第二真随机数作为会话密钥新的生成元素,同时生成证书颁发机构与第一用户之间的会话密钥,并发送第三认证消息给证书颁发机构。
34.进一步的,所述s2中依据身份认证方法实现证书颁发机构与第二用户之间的身份认证包括以下步骤:
35.s21、第二用户生成第四认证消息,并发送给所述证书颁发机构;
36.s22、证书颁发机构接收消息并进行解密验证,验证通过后得到会话密钥的生成元素,同时将生成第五认证消息并发送给第二用户;
37.s23、第二用户接收消息进行解密验证,验证通过后确认证书颁发机构认证成功,生成证书颁发机构与第二用户之间的会话密钥,并发送第六认证消息给证书颁发机构;
38.s24、证书颁发机构接收消息,判断当前时间是否与第六认证消息中的当前时间相接近,若不符则消息无效,若符合则生成证书颁发机构与第二用户之间的会话密钥,并使用该会话密钥对消息认证码进行验证,验证成功后确认第二用户已获取会话密钥,并将该会话密钥作为与第二用户通信的会话密钥。
39.进一步的,所述s22中证书颁发机构接收消息并进行解密验证,验证通过后得到会话密钥的生成元素,同时将生成第五认证消息并发送给第二用户具体包括以下步骤:
40.s221、证书颁发机构接收消息,判断当前时间是否与第四认证消息中的当前时间相接近,若不符则消息无效,若符合则根据第二用户的id计算得到与第二用户共享的对称密钥,并使用该对称密钥及证书颁发机构的私钥解密得到第三真随机数;
41.s222、利用第三真随机数解密得到第三数字签名及第二用户的数字证书,并使用证书颁发机构的公钥验证第二用户数字证书的有效性,验证成功后从该数字证书中取出第二用户的公钥,使用该公钥对第三数字签名进行验证,验证成功后确认第二用户认证成功,将第三真随机数作为会话密钥的生成元素,并发送第五认证消息给第二用户。
42.进一步的,所述s23中第二用户接收消息进行解密验证,验证通过后确认证书颁发机构认证成功,生成证书颁发机构与第二用户之间的会话密钥,并发送第六认证消息给证书颁发机构具体包括以下步骤:
43.s231、第二用户接收消息,判断当前时间是否与第五认证消息中的当前时间相接近,若不符则消息无效,若符合则使用与证书颁发机构共享的对称密钥及第二用户的私钥解密得到第四真随机数;
44.s232、利用第四真随机数解密得到第四数字签名,使用证书颁发机构的公钥对第四数字签名进行验证,验证成功后确认证书颁发机构认证成功,并将第四真随机数作为会话密钥新的生成元素,同时生成证书颁发机构与第二用户之间的会话密钥,并发送第六认证消息给证书颁发机构。
45.进一步的,所述s33中第二用户接收消息并进行解密验证,验证通过后得到会话密钥的生成元素,同时发送带有消息认证码的第三请求消息给第一用户具体包括以下步骤:
46.s331、第二用户接收消息,判断当前时间是否与第二请求消息中的当前时间相接近,若不符则消息无效,若符合则使用证书颁发机构与第二用户之间的会话密钥解密得到第五数字签名、第一用户的数字证书及第五真随机数;
47.s332、使用证书颁发机构的公钥验证第一用户数字证书的有效性,验证成功后从该数字证书中取出第一用户的公钥,使用该公钥验证第五数字签名,验证成功后确认第一用户认证成功,将第五真随机数作为会话密钥的生成元素,并发送带有消息认证码的第三请求消息给第一用户。
48.进一步的,所述s34中第一用户接收消息并进行解密验证,验证通过后确认第二用户认证成功,同时发送带有消息认证码的第四请求消息给第二用户具体包括以下步骤:
49.s341、第一用户接收消息,判断当前时间是否与第三请求消息中的当前时间相接近,若不符则消息无效,若符合则使用证书颁发机构与第一用户之间的会话密钥解密得到第五真随机数;
50.s342、使用第五真随机数解密得到第六数字签名及第二用户的数字证书,使用证书颁发机构的公钥验证第二用户数字证书的有效性,验证成功后从该数字证书中取出第二用户的公钥,使用该公钥验证第六数字签名,验证成功后确认第二用户认证成功且已获取第五真随机数,并将第五真随机数作为会话密钥的生成元素生成第一用户与第二用户之间的会话密钥,同时发送带有消息认证码的第四请求消息给第二用户。
51.根据本发明的另一个方面,提供了一种基于ca和国密算法的抗量子计算通信系统,该系统包括证书颁发机构、第一用户和第二用户,所述第一用户和所述第二用户具有抗量子计算密钥卡;
52.其中,所述证书颁发机构内部具有受密钥卡保护的公私钥;
53.所述第一用户的抗量子计算密钥卡内部存储有证书颁发机构的公钥、自身公私钥、自身数字证书及第一用户与证书颁发机构共享的对称密钥;
54.所述第二用户的抗量子计算密钥卡内部存储有证书颁发机构的公钥、自身公私钥、自身数字证书及第二用户与证书颁发机构共享的对称密钥;
55.所述抗量子计算密钥卡具有不可拆解特性,可实现拆解即自毁。
56.本发明的有益效果为:
57.1)、本发明可以实现抗量子计算;
58.2)、本发明不采用基于量子保密通信的抗量子计算系统中,对用户来说成本低、不存在对称密钥管理问题;
59.3)、本发明不需要将所有成员的公钥生成非对称密钥池后存储到各密钥卡中,客户端密钥卡的存储成本小;
60.4)、本发明没有改变传统ca及基于数字证书的保密通信系统的整体流程和数据结
构,且无需部署额外的基于id密码学的密钥管理服务器,也没有增加ca所维护的密钥量,因此ca及用户应用系统升级到抗量子计算方案的成本不高;
61.5)、本发明不使用rsa算法,而使用国密算法中的sm2、sm3、sm4等算法实现抗量子计算,符合国家密码管理局的要求。
附图说明
62.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
63.图1是根据本发明实施例的一种基于ca和国密算法的抗量子计算通信方法的流程图。
具体实施方式
64.为进一步说明各实施例,本发明提供有附图,这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理,配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点,图中的组件并未按比例绘制,而类似的组件符号通常用来表示类似的组件。
65.根据本发明的实施例,提供了一种基于ca和国密算法的抗量子计算通信方法及系统。
66.现结合附图和具体实施方式对本发明进一步说明,如图1所示,根据本发明的一个实施例,提供了一种基于ca和国密算法的抗量子计算通信方法,其中定义使用sm4算法对称加密的sm2算法为enc(*,pk,k)=(encr’,encm,ench),k为双方共享的对称密钥,encr’为用k对encr进行sm4对称加密后的值,encr为对*使用对方公钥pk进行加密的随机选择的椭圆曲线点,该方法包括以下步骤:
67.s1、a(第一用户)与ca(证书颁发机构)进行认证(利用身份认证方法实现证书颁发机构与第一用户之间的身份认证);
68.其中,所述s1包括以下步骤:
69.s11、a发送(第一认证消息)
70.msga=ida||ta||{sig(ida||ta,ska)||certa}ra||enc(ra,pkca,ka)至ca;
71.其中,ida:a的身份;
72.ta:当前时间;
73.sig(*,sk):对*用私钥sk进行sm2数字签名,签名前可对*进行sm3哈希算法计算;
74.ra:真随机数(第一真随机数);
75.{*}ra:对*使用ra作为对称密钥进行sm4对称加密;
76.||:表示消息成员的拼接;
77.s12、ca收到消息后,
78.根据ta判断当前时间是否与ta相接近,如不符则消息无效;
79.根据ida计算得到ka(第一用户与证书颁发机构之间的对称密钥),用ka解密enc
(ra,pkca,ka)得到enc
sm2
(ra,pkca);
80.用skca解密enc
sm2
(ra,pkca)得到ra(第一真随机数);
81.用ra解密{sig(ida||ta,ska)||certa}ra得到sig(ida||ta,ska)||certa;
82.用pkca验证certa(第一用户的数字证书)的有效性,验证有效后从certa中取出ida的公钥pka;
83.用pka来验证数字签名sig(ida||ta,ska)(第一数字签名),验证成功后确认a认证成功;
84.将ra作为会话密钥的生成元素;
85.向a发送msgca_a=ida||ta||{sig(ida||ta,skca)}rca||enc(rca,pka,ka)(第二认证消息),rca为ca选取的真随机数(第二真随机数);
86.s13、a收到消息后,
87.根据ta判断当前时间是否与ta相接近,如不符则消息无效;
88.用ka解密enc(rca,pka,ka)得到enc
sm2
(rca,pka);
89.用ska解密enc
sm2
(rca,pka)得到rca(第二真随机数);
90.用rca解密{sig(ida||ta,skca)}rca得到sig(ida||ta,skca)(第二数字签名);
91.用pkca来验证数字签名sig(ida||ta,skca),验证成功后确认ca认证成功,并将rca作为会话密钥的生成元素;
92.生成会话密钥ks
ca-a
=kdf(ra,rca);
93.kdf(*,*):密钥衍生函数,例如mac函数;
94.mac:消息认证码函数;
95.a发送msga2=ida||ta||mac(ida||ta,ks
ca-a
)(第三认证消息);
96.s14、ca收到消息后,
97.根据ta判断当前时间是否与ta相接近,如不符则消息无效;
98.生成会话密钥ks
ca-a
=kdf(ra,rca);
99.用ks
ca-a
来验证消息认证码mac(ida||ta,ks
ca-a
),验证成功后确认a已获取会话密钥;
100.将ks
ca-a
作为与a通信的会话密钥,并存储a的证书certa;
101.s2、b与ca进行认证(依据身份认证方法实现证书颁发机构与第二用户之间的身份认证);
102.其中,所述s2类似s1,
103.双方生成会话密钥ks
ca-b

104.s3、用户a与b进行抗量子计算的通信(使用通信方法实现第一用户与第二用户之间的抗量子计算通信);
105.其中,所述s3包括以下步骤:
106.s31、a发送与b进行通信的请求
107.msgab1=ida||idb||tab||{sig(ida||idb||tab,ska)}ks
ca-a
(第一请求消息)到ca,并带有消息认证码,tab为当前时间;
108.s32、ca验证消息认证码后,
109.用ks
ca-a
解密{sig(ida||idb||tab,ska)}ks
ca-a
得到sig(ida||idb||tab,ska);
110.发送
111.msgab2=ida||idb||tab||{sig(ida||idb||tab,ska)||certa||rab}ks
ca-b
||{rab}ks
ca-a
(第二请求消息)到b,并带有消息认证码;
112.rab:真随机数(第五真随机数);
113.s33、b验证消息认证码后,
114.根据tab判断当前时间是否与tab相接近,如不符则消息无效;
115.用ks
ca-b
解密{sig(ida||idb||tab,ska)||certa||rab}ks
ca-b
得到sig(ida||idb||tab,ska)(第五数字签名)、certa、rab;
116.用pkca验证certa的有效性,验证有效后从certa中取出ida的公钥pka;
117.用pka来验证数字签名sig(ida||idb||tab,ska),验证成功后确认a认证成功;
118.将rab作为会话密钥的生成元素;
119.向a发送
120.msgab3=ida||idb||tab||{rab}ks
ca-a
||{sig(ida||idb||tab||rab,skb)||certb}rab(第三请求消息);
121.s34、a收到消息后,
122.根据tab判断当前时间是否与tab相接近,如不符则消息无效;
123.用ks
ca-a
解密{rab}ks
ca-a
得到rab;
124.用rab解密{sig(ida||idb||tab||rab,skb)||certb}rab得到sig(ida||idb||tab||rab,skb)(第六数字签名)、certb;
125.用pkca验证certb的有效性,验证有效后从certb中取出idb的公钥pkb;
126.用pkb来验证数字签名sig(ida||idb||tab||rab,skb),验证成功后确认b认证成功且已获取rab;
127.将rab作为会话密钥的生成元素;
128.生成会话密钥ks
a-b
=kdf(tab,rab)
129.a发送(第四请求消息)msgab4=ida||idb||tab||mac(ida||idb||tab,ks
a-b
)到b;
130.s35、b收到消息后,
131.根据tab判断当前时间是否与tab相接近,如不符则消息无效;
132.生成会话密钥ks
a-b
=kdf(tab,rab);
133.用ks
a-b
来验证消息认证码mac(ida||idb||tab,ks
a-b
),验证成功后确认a已获取会话密钥;
134.将ks
a-b
作为与a通信的会话密钥;
135.s36、a与b使用会话密钥进行保密通信。
136.根据本发明的另一个方面,提供了一种基于ca和国密算法的抗量子计算通信系统,系统包括证书颁发机构、第一用户和第二用户,所述第一用户和所述第二用户具有抗量子计算密钥卡;
137.其中,所述证书颁发机构具有公私钥pkca/skca,且受到密钥卡保护。ca可以是对公众服务的ca,也可以是公司、家庭内部所部署的私有ca;
138.本发明中公私钥算法为sm2算法,哈希算法为sm3算法,对称加密算法为sm4算法;
139.用户a(第一用户)的公私钥、数字证书、与ca共享的对称密钥分别为pka/ska/
certa/ka=kdf(ida,skca);
140.用户b(第二用户)的公私钥、数字证书、与ca共享的对称密钥分别为pkb/skb/certb/kb=kdf(idb,skca);
141.所述抗量子计算密钥卡具有不可拆解特性,可实现拆解即自毁,内部存储有ca系统的公钥pkca、本密钥卡公私钥pk/sk、本密钥卡数字证书cert以及与证书颁发机构共享的对称密钥k。优选为,密钥卡内具有安全芯片来实现不可拆解特性。
142.综上所述,借助于本发明的上述技术方案,本发明可以实现抗量子计算;此外,本发明不采用基于量子保密通信的抗量子计算系统中,对用户来说成本低、不存在对称密钥管理问题;此外,本发明不需要将所有成员的公钥生成非对称密钥池后存储到各密钥卡中,客户端密钥卡的存储成本小;此外,本发明没有改变传统ca及基于数字证书的保密通信系统的整体流程和数据结构,且无需部署额外的基于id密码学的密钥管理服务器,也没有增加ca所维护的密钥量,因此ca及用户应用系统升级到抗量子计算方案的成本不高;此外,本发明不使用rsa算法,而使用国密算法中的sm2、sm3、sm4等算法实现抗量子计算,符合国家密码管理局的要求。
143.以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
144.以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献