共享密钥的安全协商方法、装置、系统、设备及介质制造方法及图纸

技术编号:38460480 阅读:10 留言:0更新日期:2023-08-11 14:37
本公开实施例公开了一种共享密钥的安全协商方法、装置、系统、设备及介质,该方法包括:生成第一随机数,并发送第一随机数;根据发起端的私钥和响应端发送的公钥获取第一参数;根据第一随机数、第一参数、响应端发送的第二随机数和预设的共享密码获取第三参数;根据响应端发送的第四随机数、发起端的公钥、响应端的公钥和第三参数获取第一校验参数;在第一校验参数和响应端发送的第六参数相同时,与响应端协商共享密钥。通过增加对对端设备的校验过程,为共享密钥协商的安全性提供了保障。为共享密钥协商的安全性提供了保障。为共享密钥协商的安全性提供了保障。

【技术实现步骤摘要】
共享密钥的安全协商方法、装置、系统、设备及介质


[0001]本公开涉及通信
,具体涉及一种共享密钥的安全协商方法、装置、系统、设备及介质。

技术介绍

[0002]为了保证发起端和响应端之间数据通信的安全性,通常在发起端和响应端之间进行数据传输之前,发起端和响应端会协商出共享密钥,以该共享密钥为基础来保证后续两者之间数据传输的安全性。
[0003]目前,在发起端和响应端协商共享密钥时,可以采用SM2密钥交换协议来实现共享密钥的创建。SM2密钥交换协议可满足通信双方经过两次或三次的信息传递,并结合计算获取一个由双方共同决定的共享密钥。然而,在发起端和响应端通过SM2密钥交换协议协商共享密钥的过程中,可能会出现第三方设备截取发起方和响应方之间传递的信息,以冒充发起端与响应端进行密钥协商,同时冒充响应端与发起端进行密钥协商,甚至基于协商的共享密钥与发起端或响应端通信,窃听数据和/或篡改数据,无法保证通信的安全。
[0004]因此,如何保证共享密钥协商的安全性,成为一项亟待解决的技术问题。

技术实现思路

[0005]为了解决相关技术中的问题,本公开实施例提供一种共享密钥的安全协商方法、装置、系统、设备及介质。
[0006]第一方面,本公开实施例中提供了一种共享密钥的安全协商方法。
[0007]具体地,所述共享密钥的安全协商方法,应用于发起端,所述方法包括:
[0008]生成第一随机数,并发送所述第一随机数;
[0009]获取所述发起端的私钥和响应端发送的公钥,并根据所述发起端的私钥和所述响应端的公钥获取第一参数;
[0010]获取所述响应端发送的第二随机数和预设的共享密码,根据所述第一随机数、所述第一参数、所述第二随机数和所述共享密码获取第三参数;
[0011]获取所述响应端发送的第六参数、所述响应端发送的第四随机数和所述发起端的公钥,并根据所述第四随机数、所述发起端的公钥、所述响应端的公钥和所述第三参数获取第一校验参数;
[0012]在所述第一校验参数和所述第六参数相同时,与所述响应端协商共享密钥。
[0013]在本公开的一种实现方式中,所述生成第一随机数之前,所述方法还包括:
[0014]获取第一共享密码,并向校验设备发送所述第一共享密码;
[0015]所述生成第一随机数,包括:
[0016]当接收到所述校验设备的第一指示信息时,将所述第一共享密码作为所述共享密码,并生成所述第一随机数,所述第一指示信息用于指示所述第一共享密码与第二共享密码相同,所述第二共享密码由所述响应端发送。
[0017]在本公开的一种实现方式中,所述根据所述第一随机数、所述第一参数、所述第二随机数和所述共享密码获取第三参数之后,所述方法还包括:
[0018]生成第三随机数,并发送所述第三随机数;
[0019]根据所述第三随机数、所述发起端的公钥、所述响应端的公钥和所述第三参数获取第五参数,并发送所述第五参数。
[0020]在本公开的一种实现方式中,所述方法还包括:
[0021]根据所述发起端的私钥获取所述发起端的公钥,并发送所述发起端的公钥。
[0022]在本公开的一种实现方式中,所述发起端的私钥由所述发起端的随机数发生器生成的随机数确定。
[0023]在本公开的一种实现方式中,所述第一参数M1满足:
[0024]M1=[d
A
]P
B

[0025]其中,d
A
为所述发起端的私钥,P
B
为所述响应端的公钥。
[0026]在本公开的一种实现方式中,所述第三参数Q1满足:
[0027]Q1=CMAC(N1,M1||N2||S);
[0028]其中,CMAC()是以预设算法作为块加密函数的CMAC函数,N1为所述第一随机数,M1为所述第一参数,N2为所述第二随机数,S为所述共享密码。
[0029]在本公开的一种实现方式中,所述第一校验参数l1满足:
[0030]l1=CMAC(N
B
,x
B
||y
B
||x
A
||y
A
||Q1);
[0031]其中,CMAC()是以预设算法作为块加密函数的CMAC函数,N
B
为所述第四随机数,x
B
为所述响应端的公钥P
B
在椭圆曲线上的x坐标,y
B
为所述响应端的公钥P
B
在椭圆曲线上的y坐标,x
A
为所述发起端的公钥P
A
在椭圆曲线上的x坐标,y
A
为所述发起端的公钥P
A
在椭圆曲线上的y坐标,Q1为所述第三参数。
[0032]在本公开的一种实现方式中,所述第五参数C
A
满足:
[0033]C
A
=CMAC(N
A
,x
A
||y
A
||x
B
||y
B
||Q1);
[0034]其中,CMAC()是以预设算法作为块加密函数的CMAC函数,N
A
为所述第三随机数,x
B
为所述响应端的公钥P
B
在椭圆曲线上的x坐标,y
B
为所述响应端的公钥P
B
在椭圆曲线上的y坐标,x
A
为所述发起端的公钥P
A
在椭圆曲线上的x坐标,y
A
为所述发起端的公钥P
A
在椭圆曲线上的y坐标,Q1为所述第三参数。
[0035]在本公开的一种实现方式中,所述发起端的公钥P
A
满足:
[0036]P
A
=(x
A
,y
A
)=[d
A
]G;
[0037]其中,x
A
为所述发起端的公钥P
A
在椭圆曲线上的x坐标,y
A
为所述发起端的公钥P
A
在椭圆曲线上的y坐标,d
A
为所述发起端的私钥,G为椭圆曲线的基点,[]为椭圆曲线上的多倍点运算。
[0038]第二方面,本公开实施例中提供了一种共享密钥的安全协商方法。
[0039]具体地,所述共享密钥的安全协商方法,应用于响应端,所述方法包括:
[0040]生成第二随机数,并发送所述第二随机数;
[0041]获取所述响应端的私钥和发起端发送的公钥,并根据所述响应端的私钥和所述发起端的公钥获取第二参数;
[0042]获取所述发起端发送的第一随机数和预设的共享密码,根据所述第一随机数、所
述第二参数、所述第二随机数和所述共享密码获取第四本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种共享密钥的安全协商方法,其特征在于,所述方法应用于发起端,所述方法包括:生成第一随机数,并发送所述第一随机数;获取所述发起端的私钥和响应端发送的公钥,并根据所述发起端的私钥和所述响应端的公钥获取第一参数;获取所述响应端发送的第二随机数和预设的共享密码,根据所述第一随机数、所述第一参数、所述第二随机数和所述共享密码获取第三参数;获取所述响应端发送的第六参数、所述响应端发送的第四随机数和所述发起端的公钥,并根据所述第四随机数、所述发起端的公钥、所述响应端的公钥和所述第三参数获取第一校验参数;在所述第一校验参数和所述第六参数相同时,与所述响应端协商共享密钥。2.根据权利要求1所述的方法,其特征在于,所述生成第一随机数之前,所述方法还包括:获取第一共享密码,并向校验设备发送所述第一共享密码;所述生成第一随机数,包括:当接收到所述校验设备的第一指示信息时,将所述第一共享密码作为所述共享密码,并生成所述第一随机数,所述第一指示信息用于指示所述第一共享密码与第二共享密码相同,所述第二共享密码由所述响应端发送。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一随机数、所述第一参数、所述第二随机数和所述共享密码获取第三参数之后,所述方法还包括:生成第三随机数,并发送所述第三随机数;根据所述第三随机数、所述发起端的公钥、所述响应端的公钥和所述第三参数获取第五参数,并发送所述第五参数。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:根据所述发起端的私钥获取所述发起端的公钥,并发送所述发起端的公钥。5.根据权利要求4所述的方法,其特征在于,所述发起端的私钥由所述发起端的随机数发生器生成的随机数确定。6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一参数M1满足:M1=[d
A
]P
B
;其中,d
A
为所述发起端的私钥,P
B
为所述响应端的公钥。7.根据权利要求1至5中任一项所述的方法,其特征在于,所述第三参数Q1满足:Q1=CMAC(N1,M1||N2||S);其中,CMAC()是以预设算法作为块加密函数的CMAC函数,N1为所述第一随机数,M1为所述第一参数,N2为所述第二随机数,S为所述共享密码。8.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一校验参数l1满足:l1=CMAC(N
B
,x
B
||y
B
||x
A
||y
A
||Q1);其中,CMAC()是以预设算法作为块加密函数的CMAC函数,N
B
为所述第四随机数,x
B
为所述响应端的公钥P
B
在椭圆曲线上的x坐标,y
B
为所述响应端的公钥P
B
在椭圆曲线上的y坐标,x
A
为所述发起端的公钥P
A
在椭圆曲线上的x坐标,y
A
为所述发起端的公钥P
A
在椭圆曲线上的
y坐标,Q1为所述第三参数。9.根据权利要求3至5中任一项所述的方法,其特征在于,所述第五参数C
A
满足:C
A
=CMAC(N
A
,x
A
||y
A
||x
B
||y
B
||Q1);其中,CMAC()是以预设算法作为块加密函数的CMAC函数,N
A
为所述第三随机数,x
B
为所述响应端的公钥P
B
在椭圆曲线上的x坐标,y
B
为所述响应端的公钥P
B
在椭圆曲线上的y坐标,x
A
为所述发起端的公钥P
A
在椭圆曲线上的x坐标,y
A
为所述发起端的公钥P
A
在椭圆曲线上的y坐标,Q1为所述第三参数。10.根据权利要求4所述的方法,其特征在于,所述发起端的公钥P
A
满足:P
A
=(x
A
,y
A
)=[d
A
]G;其中,x
A
为所述发起端的公钥P
A
在椭圆曲线上的x坐标,y
A
为所述发起端的公钥P
A
在椭圆曲线上的y坐标,d
A
为所述发起端的私钥,G为椭圆曲线的基点,[]为椭圆曲线上的多倍点运算。11.一种共享密钥的安全协商方法,其特征在于,所述方法应用于响应端,所述方法包括:生成第二随机数,并发送所述第二随机数;获取所述响应端的私钥和发起端发送的公钥,并根据所述响应端的私钥和所述发起端的公钥获取第二参数;获取所述发起端发送的第一随机数和预设的共享密码,根据所述第一随机数、所述第二参数、所述第二随机数和所述共享密码获取第四参数;获取所述发起端发送的第五参数、所述发起端发送的第三随机数和所述响应端的公钥,并根据所述第三随机数、所述响应端的公钥、所述发起端的公钥和所述第四参数获取第二校验参数;在所述第二校验参数和所述第五参数相同时,与所述发起端协商共享密钥。12.根据权利要求11所述的方法,其特征在于,所述生成第二随机数之前,所述方法还包括:获取第二共享密码,并向校验设备发送所述第二共享密码;所述生成第二随机数,包括:当接收到所述校验设备的第一指示信息时,将所述第二共享密码作为所述共享密码,并生成第二随机数,所述第一指示信息用于指示第一共享密码与所述第二共享密码相同,所述...

【专利技术属性】
技术研发人员:黄添俊宋志刚赵旭甘杰李德建谢海燕张玉冰
申请(专利权)人:国网福建省电力有限公司
类型:发明
国别省市:

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

1