一种数据传输方法技术

技术编号:39805864 阅读:8 留言:0更新日期:2023-12-22 02:39
本申请公开了一种数据传输方法

【技术实现步骤摘要】
一种数据传输方法、装置、设备及存储介质


[0001]本专利技术涉及数据传输领域,特别涉及一种数据传输方法

装置

设备及存储介质


技术介绍

[0002]在交付项目中,有些客户对客户端与服务端之间的数据传输的安全要求有明确的定义,比如需要满足等保三的要求,涉及加解密相关要素不能永久存储在各种载体上,也即,不允许任何形式的密钥对

证书存储于项目

数据库

服务器等


技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种数据传输方法

装置

设备及存储介质,能够通过客户端和服务端实时生成密钥对,避免密钥出现在传输过程中,提高数据传输的安全性

其具体方案如下:
[0004]第一方面,本申请提供了一种数据传输方法,应用于客户端,包括:
[0005]基于第一随机数和第二随机数生成第一加密密钥和第一解密密钥,并利用所述第一加密密钥对基于所述第二随机数生成的第一字符串进行加密,以得到第一加密密文;
[0006]将所述第一加密密文发送至服务端,以便所述服务端基于所述第一随机数和所述第二随机数生成第二加密密钥和第二解密密钥,并对利用所述第二解密密钥对所述第一加密密文进行解密得到的第一明文进行校验,若校验成功,则利用所述第二加密密钥对基于所述第一随机数生成的第二字符串进行加密得到第二加密密文;
[0007]获取所述服务端返回的所述第二加密密文,并对利用所述第一解密密钥对所述第二加密密文进行解密得到的第二明文进行校验,若校验成功,则表征密钥协商完成,并基于所述第一加密密钥和所述第一解密密钥与所述服务端进行数据传输

[0008]可选的,所述基于第一随机数和第二随机数生成第一加密密钥和第一解密密钥之前,还包括:
[0009]将自身生成的第一随机数发送至服务端,并获取所述服务端返回的自身生成的第二随机数

[0010]可选的,所述基于第一随机数和第二随机数生成第一加密密钥和第一解密密钥,包括:
[0011]基于第一随机数和第二随机数确定第一计算因子;
[0012]利用
RSA
算法并基于所述第一计算因子

所述第一随机数和所述第二随机数生成第一加密密钥和第一解密密钥

[0013]可选的,所述服务端基于所述第一随机数和所述第二随机数生成第二加密密钥和第二解密密钥,包括:
[0014]通过所述服务端基于所述第一随机数和所述第二随机数确定第二计算因子;所述第二计算因子与所述第一计算因子相一致;
[0015]通过所述服务端利用所述
RSA
算法并基于所述第二计算因子

所述第一随机数和
所述第二随机数生成第二加密密钥和第二解密密钥

[0016]可选的,所述利用所述第一加密密钥对基于所述第二随机数生成的第一字符串进行加密,以得到第一加密密文,包括:
[0017]获取第三随机数,并基于所述第二随机数和所述第三随机数生成第一字符串,并利用所述第一加密密钥对所述第一字符串进行
SM4
加密,以得到第一加密密文;
[0018]相应的,所述对利用所述第二解密密钥对所述第一加密密文进行解密得到的第一明文进行校验,包括:
[0019]通过所述服务端利用所述第二解密密钥对所述第一加密密文进行
SM4
解密,以得到第一明文;
[0020]通过所述服务端利用所述第二随机数对所述第一明文中包含的与所述第二随机数对应的部分字符串进行一致性校验,若校验失败,则触发报错操作

[0021]可选的,所述利用所述第二加密密钥对基于所述第一随机数生成的第二字符串进行加密得到第二加密密文,包括:
[0022]通过所述服务端获取第四随机数,并基于所述第一随机数和所述第四随机数生成第二字符串;
[0023]通过所述服务端利用所述第二加密密钥对所述第二字符串进行
SM4
加密,以得到第二加密密文

[0024]可选的,所述对利用所述第一解密密钥对所述第二加密密文进行解密得到的第二明文进行校验,包括:
[0025]利用所述第一解密密钥对所述第二加密密文进行
SM4
解密,以得到第二明文;
[0026]利用所述第一随机数对所述第二明文中包含的与所述第一随机数对应的部分字符串进行一致性校验,若校验失败,则触发报错操作

[0027]第二方面,本申请提供了一种数据传输装置,应用于客户端,包括:
[0028]字符串加密模块,用于基于第一随机数和第二随机数生成第一加密密钥和第一解密密钥,并利用所述第一加密密钥对基于所述第二随机数生成的第一字符串进行加密,以得到第一加密密文;
[0029]密文发送模块,用于将所述第一加密密文发送至服务端,以便所述服务端基于所述第一随机数和所述第二随机数生成第二加密密钥和第二解密密钥,并对利用所述第二解密密钥对所述第一加密密文进行解密得到的第一明文进行校验,若校验成功,则利用所述第二加密密钥对基于所述第一随机数生成的第二字符串进行加密得到第二加密密文;
[0030]数据传输模块,用于获取所述服务端返回的所述第二加密密文,并对利用所述第一解密密钥对所述第二加密密文进行解密得到的第二明文进行校验,若校验成功,则表征密钥协商完成,并基于所述第一加密密钥和所述第一解密密钥与所述服务端进行数据传输

[0031]第三方面,本申请提供了一种电子设备,包括:
[0032]存储器,用于保存计算机程序;
[0033]处理器,用于执行所述计算机程序以实现前述的数据传输方法

[0034]第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的数据传输方法

[0035]本申请中,基于第一随机数和第二随机数生成第一加密密钥和第一解密密钥,并利用所述第一加密密钥对基于所述第二随机数生成的第一字符串进行加密,以得到第一加密密文;将所述第一加密密文发送至服务端,以便所述服务端基于所述第一随机数和所述第二随机数生成第二加密密钥和第二解密密钥,并对利用所述第二解密密钥对所述第一加密密文进行解密得到的第一明文进行校验,若校验成功,则利用所述第二加密密钥对基于所述第一随机数生成的第二字符串进行加密得到第二加密密文;获取所述服务端返回的所述第二加密密文,并对利用所述第一解密密钥对所述第二加密密文进行解密得到的第二明文进行校验,若校验成功,则表征密钥协商完成,并基于所述第一加密密钥和所述第一解密密钥与所述服务端进行数据传输

由此可见,本申请基于第一随机数和第二随机数在客户端和服务端上实时生成各自的加本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种数据传输方法,其特征在于,应用于客户端,包括:基于第一随机数和第二随机数生成第一加密密钥和第一解密密钥,并利用所述第一加密密钥对基于所述第二随机数生成的第一字符串进行加密,以得到第一加密密文;将所述第一加密密文发送至服务端,以便所述服务端基于所述第一随机数和所述第二随机数生成第二加密密钥和第二解密密钥,并对利用所述第二解密密钥对所述第一加密密文进行解密得到的第一明文进行校验,若校验成功,则利用所述第二加密密钥对基于所述第一随机数生成的第二字符串进行加密得到第二加密密文;获取所述服务端返回的所述第二加密密文,并对利用所述第一解密密钥对所述第二加密密文进行解密得到的第二明文进行校验,若校验成功,则表征密钥协商完成,并基于所述第一加密密钥和所述第一解密密钥与所述服务端进行数据传输
。2.
根据权利要求1所述的数据传输方法,其特征在于,所述基于第一随机数和第二随机数生成第一加密密钥和第一解密密钥之前,还包括:将自身生成的第一随机数发送至服务端,并获取所述服务端返回的自身生成的第二随机数
。3.
根据权利要求1所述的数据传输方法,其特征在于,所述基于第一随机数和第二随机数生成第一加密密钥和第一解密密钥,包括:基于第一随机数和第二随机数确定第一计算因子;利用
RSA
算法并基于所述第一计算因子

所述第一随机数和所述第二随机数生成第一加密密钥和第一解密密钥
。4.
根据权利要求3所述的数据传输方法,其特征在于,所述服务端基于所述第一随机数和所述第二随机数生成第二加密密钥和第二解密密钥,包括:通过所述服务端基于所述第一随机数和所述第二随机数确定第二计算因子;所述第二计算因子与所述第一计算因子相一致;通过所述服务端利用所述
RSA
算法并基于所述第二计算因子

所述第一随机数和所述第二随机数生成第二加密密钥和第二解密密钥
。5.
根据权利要求1所述的数据传输方法,其特征在于,所述利用所述第一加密密钥对基于所述第二随机数生成的第一字符串进行加密,以得到第一加密密文,包括:获取第三随机数,并基于所述第二随机数和所述第三随机数生成第一字符串,并利用所述第一加密密钥对所述第一字符串进行
SM4
加密,以得到第一加密密文;相应的,所述对利用所述第二解密密钥对所述第一加密密文进行解密得到的第一明文进行校验...

【专利技术属性】
技术研发人员:马尧
申请(专利权)人:招银云创信息技术有限公司
类型:发明
国别省市:

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

1