System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据安全传输,具体而言,涉及一种数据的安全传输方法、装置、电子设备以及介质。
技术介绍
1、数据传输过程中,面临中间人攻击、数据拦截、窃听、数据伪造等诸多安全风险,严重影响数据机密性,常用的解决方案会采用对传输内容进行加密的手段来解决数据的机密性。
2、常见的加密方案包含对称加密方案以及非对称加密方案。在对称加密方案中,发送方和接收方协商一个密钥key,双方共享key,key对其他人不可知。发送数据时,发送方利用key对数据进行加密后传输,接收方在接收到加密数据后,再利用key对加密数据进行解密。第三者拿到加密后的数据没有key是无法解密的。在非对称加密方案中,发送方和接收方分别拥有各自的密钥对,包含公钥pubkey和私钥prikey,其中各自的公钥pubkey是公开可获知的。发送数据时,发送方会获取接收方的公钥pubkey,然后使用接收方的pubkey对数据进行加密后发送。接收方在接收到数据时通过自己的prikey进行解密。第三者拿到加密后的数据没有prikey是无法解密的。
3、这两个加密方案虽然安全性较高,但在密钥管理和分发上需要额外的资源来确保密钥的安全传输和管理。另外,对称加密方案以及非对称加密方案对资源的计算能力要求较高,计算复杂度大,资源消耗大。对于资源受限的设备如智能卡、嵌入式设备、移动设备等不能应用。
技术实现思路
1、本申请实施例的目的在于提供一种数据的安全传输方法、装置、电子设备以及介质,由于不涉及额外的密钥管理,减少了资源消
2、第一方面,提供了一种数据的安全传输方法,应用于与第二设备建立通信连接的第一设备中,该方法可以包括:
3、与第二设备相互交互配置的协商信息;所述协商信息包括预设的哈希算法和密钥数据的目标数据长度l;
4、采用所述哈希算法,对配置的第一密钥数据进行计算,得到所述第一密钥数据的消息摘要,并将所述第一密钥数据和所述第一密钥数据的消息摘要发送至所述第二设备;
5、接收第二设备发送的第一加密待传数据序列;所述第一加密待传数据序列是第二设备在采用所述哈希算法对接收的第一密钥数据计算出的哈希值与所述第一密钥数据的消息摘要一致后按照第一预设比例,对存储的第一待传数据的数据长度l1进行分割得到包括多个第一待传子数据的第一数据序列后,对所述各第一待传子数据对应的第一二进制子数据分别与所述第一密钥数据进行异或运算得到的;所述第一数据序列包括第一待传数据对应的数据位置不变的多个第一待传子数据;各第一待传子数据的数据长度为目标数据长度l;所述第一加密待传数据序列包括各第一二进制子数据对应的第一加密子数据;
6、将第一密钥数据分别与各第一加密子数据进行异或运算,得到相应的第一二进制子数据;
7、基于各第一二进制子数据对应的第一待传子数据,获取第一待传数据。
8、在一个可能的实现中,所述方法还包括:
9、接收所述第二设备发送的配置的第二密钥数据和所述第二密钥数据的消息摘要,所述第二密钥数据的消息摘要是第二设备采用所述哈希算法对配置的第二密钥数据进行计算得到的;
10、若采用所述哈希算法对接收的第二密钥数据计算出的哈希值与所述第二密钥数据的消息摘要一致,则按照第二预设比例,对第二待传数据的数据长度l2进行分割,得到第二数据序列,所述第二数据序列包括第二待传数据对应的数据位置不变的多个第二待传子数据;各第二待传子数据的数据长度为目标数据长度l;
11、对所述各第二待传子数据进行二进制转换,得到相应的第二二进制子数据;
12、将所述第二密钥数据分别与各第二二进制子数据进行异或运算,得到第二加密待传数据序列;所述第二加密待传数据序列包括各第二二进制子数据对应的第二加密子数据;
13、向所述第二设备发送所述第二加密待传数据序列。
14、在一个可能的实现中,所述第一密钥数据的配置过程包括:
15、将所述第二数据序列中的目标第二待传子数据与预设的随机数r_a进行二进制转换,得到目标第二二进制子数据和第二二进制随机数;所述目标第二待传子数据为所述第二数据序列中的任一第二待传子数据;所述随机数r_a的数据长度为目标数据长度l;
16、将目标第二二进制子数据与第二二进制随机数进行异或运算,得到第一密钥数据。
17、在一个可能的实现中,所述第二密钥数据是第二设备将所述第一数据序列中的目标第一待传子数据与预设的随机数r_b进行二进制转换,得到目标第一二进制子数据和第一二进制随机数后,将目标第一二进制子数据与第一二进制随机数进行异或运算得到的,所述目标第一待传子数据为所述第一数据序列中的任一第一待传子数据;所述随机数r_b的数据长度为目标数据长度l。
18、在一个可能的实现中,所述协商信息还包括预设的填充规则;所述方法还包括:
19、若对第二待传数据的数据长度l1进行分割得到的最后一个切割数据的数据长度不为目标数据长度l,则按照预设的填充规则,对最后一个切割数据进行数据填充,得到数据长度为目标数据长度l的最后一个第二待传子数据,并将该最后一个第二待传子数据和相应的其他第二待传子数据,生成第二数据序列。
20、在一个可能的实现中,基于各第一二进制子数据对应的第一待传子数据,获取第一待传数据,包括:
21、若所述第一数据序列中最后一个第一待传子数据是第二设备采用预设的填充规则得到的,则在获取各第一二进制子数据对应的第一待传子数据后,利用预设的填充规则对最后一个第一待传子数据进行去填充,得到新的最后一个第一待传子数据;对新的最后一个第一待传子数据和其他第一待传子数据,按照数据位置进行拼接,得到第一待传数据;
22、若所述第一数据序列中最后一个第一待传子数据不是第二设备采用预设的填充规则得到的,则按照数据位置,对各第一待传子数据进行拼接,得到第一待传数据。
23、在一个可能的实现中,所述方法还包括:
24、若采用所述哈希算法对接收的第一密钥数据计算出的哈希值与所述第一密钥数据的消息摘要不一致,则向所述第二设备发送数据重发请求,并返回执行步骤:采用所述哈希算法,对配置的第一密钥数据进行计算,得到所述第一密钥数据的消息摘要。
25、第二方面,提供了一种数据的安全传输装置,应用于与第二设备建立通信连接的第一设备中,该装置可以包括:
26、交互单元,用于与第二设备相互交互配置的协商信息;所述协商信息包括预设的哈希算法和密钥数据的目标数据长度l;
27、计算单元,用于采用所述哈希算法,对配置的第一密钥数据进行计算,得到所述第一密钥数据的消息摘要,并将所述第一密钥数据和所述第一密钥数据的消息摘要发送至所述第二设备;
28、接收单元,用于接收第二设备发送的第一加密待传数据序列;所述第一加密待传数据本文档来自技高网...
【技术保护点】
1.一种数据的安全传输方法,其特征在于,应用于与第二设备建立通信连接的第一设备中,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
3.如权利要求2所述的方法,其特征在于,所述第一密钥数据的配置过程包括:
4.如权利要求2所述的方法,其特征在于,所述第二密钥数据是第二设备将所述第一数据序列中的目标第一待传子数据与预设的随机数R_B进行二进制转换,得到目标第一二进制子数据和第一二进制随机数后,将目标第一二进制子数据与第一二进制随机数进行异或运算得到的,所述目标第一待传子数据为所述第一数据序列中的任一第一待传子数据;所述随机数R_B的数据长度为目标数据长度。
5.如权利要求1所述的方法,其特征在于,所述协商信息还包括预设的填充规则;所述方法还包括:
6.如权利要求5所述的方法,其特征在于,基于各第一二进制子数据对应的第一待传子数据,获取第一待传数据,包括:
7.如权利要求2所述的方法,其特征在于,所述方法还包括:
8.一种数据的安全传输装置,其特征在于,应用于与第二设备建立通信
9.一种电子设备,其特征在于,所述电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法。
...【技术特征摘要】
1.一种数据的安全传输方法,其特征在于,应用于与第二设备建立通信连接的第一设备中,所述方法包括:
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
3.如权利要求2所述的方法,其特征在于,所述第一密钥数据的配置过程包括:
4.如权利要求2所述的方法,其特征在于,所述第二密钥数据是第二设备将所述第一数据序列中的目标第一待传子数据与预设的随机数r_b进行二进制转换,得到目标第一二进制子数据和第一二进制随机数后,将目标第一二进制子数据与第一二进制随机数进行异或运算得到的,所述目标第一待传子数据为所述第一数据序列中的任一第一待传子数据;所述随机数r_b的数据长度为目标数据长度。
5.如权利要求1所述的方法,其特征在于...
【专利技术属性】
技术研发人员:杨元瑾,唐立庭,程灵,马梅芳,王晓乐,
申请(专利权)人:中电长城网际系统应用有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。