System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法技术_技高网

基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法技术

技术编号:40353914 阅读:12 留言:0更新日期:2024-02-09 14:38
本发明专利技术涉及一种基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其中,该方法包括:(1)通信方与协同方基于国产商用密码算法协同技术进行身份认证公私钥对和证书生成处理;(2)二个进行信息数据交互的通信方通过协同方完成二个通信方之间进行身份认证和通信密钥协商处理;(3)通信方与协同方使用所保存的通信方本地签名证书子私钥、通信方远程签名证书子私钥,对随机数R进行数据签名鉴别;(4)通信方与协同方使用各自保存的通信方本地加密证书子私钥、通信方远程加密证书子私钥,对通信方加密证书公钥加密的鉴别数据密文进行数据解密鉴别。采用了本发明专利技术的该方法,有效提升云环境中身份认证的安全性和易用性。

【技术实现步骤摘要】

本专利技术涉及信息安全,尤其涉及密码技术与信息安全的交叉,具体是指一种基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法


技术介绍

1、传统网络环境中用户及设备的身份认证和密钥协商往往依赖于配备专门的硬件安全模块(hardware security module,hsm)保障安全,例如智能密码钥匙、密码卡等。特别是身份认证所用的非对称密钥对中的私钥需保存在硬件安全模块内部,以防止被读取或复制。然而在云环境所具有的虚拟化、资源化、服务化条件下,难以为用户及设备配备专门的硬件安全模块。已有技术方案将私钥以软件形式保存在云环境中,但无论是存放在裸金属、虚拟机或容器中,都难以避免私钥被复制或窃取,并且会导致证书撤销列表的规模急剧膨胀,安全性难以保障且实用性差。


技术实现思路

1、本专利技术的目的是克服了上述现有技术的缺点,提供了一种安全可靠的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法。

2、为了实现上述目的,本专利技术的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法如下:

3、该基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其主要特点是,所述的方法包括以下处理步骤:

4、(1)在云环境下,通信方与协同方基于国产商用密码算法协同技术进行身份认证公私钥对和证书生成处理;

5、(2)二个进行信息数据交互的通信方通过协同方完成二个通信方之间进行身份认证和通信密钥协商处理;

6、(3)所述的通信方与协同方使用各自所保存的通信方本地签名证书子私钥、通信方远程签名证书子私钥,对用于鉴别的随机数r进行数据签名鉴别处理;

7、(4)所述的通信方与协同方使用各自所保存的通信方本地加密证书子私钥、通信方远程加密证书子私钥,对通信方加密证书公钥加密的鉴别数据密文进行数据解密鉴别处理。

8、较佳地,所述的步骤(1)具体为:

9、所述的通信方与协同方基于sm2算法,生成该通信方在身份认证和密钥协商过程所需要的签名证书、签名公私钥对、加密证书、加密公私钥对;其中,

10、所述的通信方为所述的云环境的基础业务单元,包括裸金属服务器、虚拟机、容器或终端的形态,所述的协同方为所述的云环境中所有通信方共享的硬件安全模块。

11、较佳地,所述的签名公私钥对及签名证书按照以下方式生成:

12、所述的通信方产生随机数d1,d1∈[1,n-1],d1作为通信方本地的签名证书子私钥;所述的协同方产生随机数d2,d2∈[1,n-1],d2作为通信方远程的签名证书子私钥;所述的通信方计算p1=d1-1[*]g,其中,d1-1为d1在有限域fq上的逆元d1-1 mod n,[*]表示椭圆曲线点乘运算,g为椭圆曲线e上n阶的基点,并将p1发送至所述的协同方;所述的协同方计算p=d2-1[*]p1[-]g,其中,d2-1为d2在有限域fq上的逆元d2-1 mod n并将p返回通信方,[-]表示椭圆曲线点减运算;所述的通信方将p作为其签名证书公钥,并通过证书签发系统签发得到其签名证书。

13、较佳地,所述的加密公私钥对及加密证书按照以下方式生成:

14、证书签发系统在签发签名证书时,生成该相应的通信方的加密公私钥对及加密证书,加密证书私钥由传输密钥加密保护,传输密钥由签名证书公钥加密保护;

15、所述的通信方从传输密钥密文k的sm2结构c1||c3||c2中提取出c1,计算t1=d1-1[*]c1,其中,[*]表示椭圆曲线点乘运算,并将t1发送至协同方;所述的协同方计算t2=d2-1[*]t1,并将t2返回通信方;

16、所述的通信方计算椭圆曲线上的点(x2,y2)=t2[-]c1,t=kdf(x2||y2,klen),其中,[-]表示椭圆曲线点减运算,kdf()为sm2算法所使用的密钥派生函数,t表示密钥派生结果,如果t不等于0,则所述的通信方从传输密钥密文k的sm2结构c1||c3||c2中提取出c2,计算k=c2⊕t,所述的通信方计算u=hash(x2||k||y2),其中,[+]表示椭圆曲线点加运算,hash表示密码杂凑函数;

17、所述的通信方从传输密钥密文k的sm2结构c1||c3||c2中提取出c3,比较c3和u,如果c3等于u,则k即为明文传输密钥,所述的通信方调用明文传输密钥解密加密证书私钥密文,得到加密证书私钥明文sk;所述的通信方产生随机数d1,d1∈[1,n-1],d1作为通信方本地的加密证书子私钥;所述的通信方查找和计算d2,使d2-1*d1-1-1=sk,并将d2发送协同方;协同方保存d2,作为通信方远程的加密证书子私钥。

18、较佳地,所述的步骤(2)具体为:

19、通信方a和通信方b通过协同方c生成通信方a和通信方b的签名证书、签名公私钥、加密证书、加密公私钥后,完成通信方a与通信方b相互身份认证和协商通信密钥处理,其处理机制具体包括通信方相互身份认证以及通信密钥协商处理。

20、较佳地,所述的通信方相互身份认证,具体为:

21、通信方a将签名证书a1和加密证书a2发送到通信方b,通信方b将签名证书b1和加密证书b2返回通信方a,所述的通信方a和通信方b分别产生随机数ra和rb;通信方a与协同方c完成对ra的鉴别数据签名,形成sigpria(ra),所述的通信方a调用加密证书b2的公钥对ra加密,形成epubb(ra);

22、所述的通信方a将epubb(ra)和sigpria(ra)发送至通信方b,通信方b与协同方c完成对epubb(ra)的鉴别数据解密,并调用签名证书a的公钥对sigpria(ra)验证签名,如果验证失败则双方身份认证失败;所述的通信方b与协同方c完成对rb的鉴别数据签名,形成sigprib(rb),通信方b调用加密证书a2的公钥对ra和rb加密,形成epuba(ra||rb),通信方b将epuba(ra||rb)和sigprib(rb)返回通信方a;通信方a与协同方c完成对epuba(ra||rb)的鉴别数据解密;

23、所述的通信方a调用签名证书b1的公钥对sigprib(rb)验证签名,如果验证失败则双方身份认证失败。

24、较佳地,按照以下方式进行通信密钥协商处理,具体为:

25、待完成通信方相互身份认证后,通信方a和通信方b分别计算通信密钥sk=ra⊕rb;通信方a与通信方b后续传递的网络通信数据,通过通信密钥sk加密保护,通信数据附加对明文通信数据杂凑值,以确保通信数据的完整性。

26、较佳地,所述的步骤(3)具体为:

27、通信方对随机数r计算消息摘要e=hash(z||r),其中,z为sm2算法签名运算预处理数据,由椭圆曲线参数、签名者标识、公钥计算生成;通信方产生随机数k1,k1∈[1,n-1],计算q1=k1[*]g,并本文档来自技高网...

【技术保护点】

1.一种基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的方法包括以下处理步骤:

2.根据权利要求1所述的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的步骤(1)具体为:

3.根据权利要求2所述的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的签名公私钥对及签名证书按照以下方式生成:

4.根据权利要求2所述的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的加密公私钥对及加密证书按照以下方式生成:

5.根据权利要求2所述的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的步骤(2)具体为:

6.根据权利要求5所述的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的通信方相互身份认证,具体为:

7.根据权利要求6所述的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,按照以下方式进行通信密钥协商处理,具体为:

8.根据权利要求3所述的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的步骤(3)具体为:

9.根据权利要求4所述的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的步骤(4)具体为:

...

【技术特征摘要】

1.一种基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的方法包括以下处理步骤:

2.根据权利要求1所述的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的步骤(1)具体为:

3.根据权利要求2所述的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的签名公私钥对及签名证书按照以下方式生成:

4.根据权利要求2所述的基于国产商用密码算法实现云环境下多方协同身份认证和密钥协商处理的方法,其特征在于,所述的加密公私钥对及加密证书按照以下方式生成:

5.根据权利要求2所述的基于国产商用密码算法实现云环境下多方协同...

【专利技术属性】
技术研发人员:邹翔梁皓徐威陈兵戴聪
申请(专利权)人:公安部第三研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1