一种数据传输的方法、设备和系统技术方案

技术编号:35574680 阅读:16 留言:0更新日期:2022-11-12 15:59
本发明专利技术公开了一种数据传输的方法、设备和系统,所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;判断所述第一签名字符串和所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以数据传输;本发明专利技术通过避免特征识别码的网络传输来确保签名的合法性,在不同系统中的适配性极高。在不同系统中的适配性极高。在不同系统中的适配性极高。

【技术实现步骤摘要】
一种数据传输的方法、设备和系统


[0001]本专利技术涉及数据信息安全传输领域,尤其涉及一种数据传输的方法及装置。

技术介绍

[0002]在互联网项目中,大量的系统通过数据接口来实现资源的交换,在交换的过程中安全性和完整性一直都是首要的关注点。仅仅通过请求凭证来确认请求双方的身份无法避免接口篡改、数据越权和会话重放等中间人攻击,而这种攻击的技术门槛不高,处理不好会带来极大的安全风险。
[0003]现有的接口安全防范技术手段主要是以请求认证和数据加密相结合的方式来保证安全和完整,其中请求认证要求客户端每次请求都要携带请求凭证,请求过程中频繁的网络传输导致凭证非常容易泄露。数据加密则需要根据使用场景来确定具体的加密算法,对于常见的Base64编码、MD5等算法,其本身具有安全性不高的缺点,无法实现接口防篡改,而类似RSA算法的公钥算法,对性能的损耗往往较大,无法应对并发量较大的场景,实用性不高。

技术实现思路

[0004]本专利技术提供的一种数据传输的方法,旨在使用多种加密算法综合提高数据接口的加密传输以克服上述缺陷。
[0005]为实现上述目的,本专利技术采用以下技术方案:所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;判断所述第一签名字符串和所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以数据传输。
[0006]作为优选,所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串,包括:所述客户端生成随机字符串并获取数据接口中的请求体,所述随机字符串用于在服务端生成和所述随机字符串具有映射关系的访问凭证;将所述请求体按键值对拆分,结合所述随机字符串重新组合后进行数据签名;利用加密算法对数据签名后的结果进行加密,得到第一签名字符串。
[0007]作为优选,所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装
并发送给所述服务器,包括:所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器,所述请求体包括所述客户端发送请求的时间戳。
[0008]作为优选,所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串,包括:所述服务器接收并解析所述客户端发送的封装包,得到所述随机字符串和所述请求体;判断所述请求体中的所述时间戳和所述服务器当前时间戳的差值是否大于预设时间差,若大于,则舍弃所述封装包;若小于,则对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串。
[0009]一种数据传输的装置,包括:获取模块:用于所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;封装模块:用于所述客户端将所述获取模块获取的所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;加密模块:用于所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;判断模块:用于判断所述获取模块得到的所述第一签名字符串和所述加密模块得到所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以数据传输。
[0010]作为优选,所述获取模块具体包括:生成子单元:用于所述客户端生成随机字符串并获取数据接口中的请求体,所述随机字符串用于在服务端生成和所述随机字符串具有映射关系的访问凭证;重组单元:用于将所述请求体按键值对拆分,结合所述随机字符串重新组合后进行数据签名;第一加密单元:用于利用加密算法对数据签名后的结果进行加密,得到第一签名字符串。
[0011]作为优选,所述封装模块具体包括:时间戳单元:用于所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器,所述请求体包括所述客户端发送请求的时间戳。
[0012]作为优选,所述加密模块具体还包括:解析单元:用于所述服务器接收并解析所述客户端发送的封装包,得到所述随机字符串和所述请求体;判断子单元:用于判断所述请求体中的所述时间戳和所述服务器当前时间戳的差值是否大于预设时间差,若大于,则舍弃所述封装包;第二加密单元:用于若小于,则对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串。
[0013]一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指
令,其中,所述一条或多条计算机指令被所述处理器执行以实现如上述中任一项所述的一种数据传输的方法。
[0014]一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如上述中任一项所述的一种数据传输的方法。
[0015]本专利技术具有如下有益效果:本申请提出了一种数据传输的方法,通过客户端生成随机字符串,在提交给服务器认证的同时完成用户凭证的绑定注册,认证通过后的随机字符串以特征识别码的形式参与请求数据的签名,签名的算法采用MD5等不可逆的算法即可,这种方法通过避免特征识别码的网络传输来确保签名的合法性,通过MD5等高性能算法来改善高并发系统中的性能问题,同时签名算法可以使用RSA等安全性较好的加密算法,在不同系统中的适配性极高。
附图说明
[0016]图1是本专利技术实施例实现一种数据传输的方法第一流程图;图2是本专利技术实施例实现一种数据传输的方法第二流程图;图3是本专利技术实施例实现一种数据传输的方法第三流程图;图4是本专利技术实施例实现一种数据传输的方法具体实施流程图;图5是本专利技术实施例实现一种数据传输的装置示意图;图6是本专利技术实施例实现一种数据传输的装置的获取模块示意图;图7是本专利技术实施例实现一种数据传输的装置的加密模块示意图;图8是本专利技术实施例实现一种数据传输的装置的一种电子设备示意图。
具体实施方式
[0017]下面将结合附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0018]本申请的权利要求书和说明书的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式,此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据传输的方法,其特征在于,所述方法由客户端发起,包括:所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;判断所述第一签名字符串和所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以完成数据传输。2.根据权利要求1所述的一种数据传输的方法,其特征在于,所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串,包括以下步骤:所述客户端生成随机字符串并获取数据接口中的请求体,所述随机字符串用于在服务端生成和所述随机字符串具有映射关系的访问凭证;将所述请求体按键值对拆分,结合所述随机字符串重新组合后进行数据签名;利用加密算法对数据签名后的结果进行加密,得到第一签名字符串。3.根据权利要求1所述的一种数据传输的方法,其特征在于,所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器,包括:所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器,所述请求体包括所述客户端发送请求的时间戳。4.根据权利要求1所述的一种数据传输的方法,其特征在于,所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串,包括:所述服务器接收并解析所述客户端发送的封装包,得到所述随机字符串和所述请求体;判断所述请求体中的所述时间戳和所述服务器当前时间戳的差值是否大于预设时间差,若大于,则舍弃所述封装包;若小于,则对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串。5.一种数据传输的装置,其特征在于,所述装置包括客户端和服务端,所述客户端包括获取模块和封装模块,所述服务端包括加密模块和判断模块:获取模块:用于获取...

【专利技术属性】
技术研发人员:陈为祝震杰薛攀
申请(专利权)人:杭州鲸道科技有限公司
类型:发明
国别省市:

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

1