CN115333736A - 一种数据传输的方法、设备和系统 - Google Patents

一种数据传输的方法、设备和系统 Download PDF

Info

Publication number
CN115333736A
CN115333736A CN202210967389.1A CN202210967389A CN115333736A CN 115333736 A CN115333736 A CN 115333736A CN 202210967389 A CN202210967389 A CN 202210967389A CN 115333736 A CN115333736 A CN 115333736A
Authority
CN
China
Prior art keywords
character string
signature
request body
server
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210967389.1A
Other languages
English (en)
Inventor
陈为
祝震杰
薛攀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Jingdao Technology Co ltd
Original Assignee
Hangzhou Jingdao Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Jingdao Technology Co ltd filed Critical Hangzhou Jingdao Technology Co ltd
Priority to CN202210967389.1A priority Critical patent/CN115333736A/zh
Publication of CN115333736A publication Critical patent/CN115333736A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

一种数据传输的方法、设备和系统
技术领域
本发明涉及数据信息安全传输领域,尤其涉及一种数据传输的方法及装置。
背景技术
在互联网项目中,大量的系统通过数据接口来实现资源的交换,在交换的过程中安全性和完整性一直都是首要的关注点。仅仅通过请求凭证来确认请求双方的身份无法避免接口篡改、数据越权和会话重放等中间人攻击,而这种攻击的技术门槛不高,处理不好会带来极大的安全风险。
现有的接口安全防范技术手段主要是以请求认证和数据加密相结合的方式来保证安全和完整,其中请求认证要求客户端每次请求都要携带请求凭证,请求过程中频繁的网络传输导致凭证非常容易泄露。数据加密则需要根据使用场景来确定具体的加密算法,对于常见的Base64编码、MD5等算法,其本身具有安全性不高的缺点,无法实现接口防篡改,而类似RSA算法的公钥算法,对性能的损耗往往较大,无法应对并发量较大的场景,实用性不高。
发明内容
本发明提供的一种数据传输的方法,旨在使用多种加密算法综合提高数据接口的加密传输以克服上述缺陷。
为实现上述目的,本发明采用以下技术方案:
所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;
所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;
所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;
判断所述第一签名字符串和所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以数据传输。
作为优选,所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串,包括:
所述客户端生成随机字符串并获取数据接口中的请求体,所述随机字符串用于在服务端生成和所述随机字符串具有映射关系的访问凭证;
将所述请求体按键值对拆分,结合所述随机字符串重新组合后进行数据签名;
利用加密算法对数据签名后的结果进行加密,得到第一签名字符串。
作为优选,所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器,包括:
所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器,所述请求体包括所述客户端发送请求的时间戳。
作为优选,所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串,包括:
所述服务器接收并解析所述客户端发送的封装包,得到所述随机字符串和所述请求体;
判断所述请求体中的所述时间戳和所述服务器当前时间戳的差值是否大于预设时间差,若大于,则舍弃所述封装包;
若小于,则对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串。
一种数据传输的装置,包括:
获取模块:用于所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;
封装模块:用于所述客户端将所述获取模块获取的所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;
加密模块:用于所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;
判断模块:用于判断所述获取模块得到的所述第一签名字符串和所述加密模块得到所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以数据传输。
作为优选,所述获取模块具体包括:
生成子单元:用于所述客户端生成随机字符串并获取数据接口中的请求体,所述随机字符串用于在服务端生成和所述随机字符串具有映射关系的访问凭证;
重组单元:用于将所述请求体按键值对拆分,结合所述随机字符串重新组合后进行数据签名;
第一加密单元:用于利用加密算法对数据签名后的结果进行加密,得到第一签名字符串。
作为优选,所述封装模块具体包括:
时间戳单元:用于所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器,所述请求体包括所述客户端发送请求的时间戳。
作为优选,所述加密模块具体还包括:
解析单元:用于所述服务器接收并解析所述客户端发送的封装包,得到所述随机字符串和所述请求体;
判断子单元:用于判断所述请求体中的所述时间戳和所述服务器当前时间戳的差值是否大于预设时间差,若大于,则舍弃所述封装包;
第二加密单元:用于若小于,则对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串。
一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如上述中任一项所述的一种数据传输的方法。
一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如上述中任一项所述的一种数据传输的方法。
本发明具有如下有益效果:
本申请提出了一种数据传输的方法,通过客户端生成随机字符串,在提交给服务器认证的同时完成用户凭证的绑定注册,认证通过后的随机字符串以特征识别码的形式参与请求数据的签名,签名的算法采用MD5等不可逆的算法即可,这种方法通过避免特征识别码的网络传输来确保签名的合法性,通过MD5等高性能算法来改善高并发系统中的性能问题,同时签名算法可以使用RSA等安全性较好的加密算法,在不同系统中的适配性极高。
附图说明
图1是本发明实施例实现一种数据传输的方法第一流程图;
图2是本发明实施例实现一种数据传输的方法第二流程图;
图3是本发明实施例实现一种数据传输的方法第三流程图;
图4是本发明实施例实现一种数据传输的方法具体实施流程图;
图5是本发明实施例实现一种数据传输的装置示意图;
图6是本发明实施例实现一种数据传输的装置的获取模块示意图;
图7是本发明实施例实现一种数据传输的装置的加密模块示意图;
图8是本发明实施例实现一种数据传输的装置的一种电子设备示意图。
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的权利要求书和说明书的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式,此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他单元。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同,本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
实施例1
如图1所示,一种数据传输的方法,包括以下步骤:
S110、所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;
S120、所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;
S130、所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;
S140、判断所述第一签名字符串和所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以数据传输。
在实施例1中,采用点对点的方式,由客户端负责生成随机字符串,在登录认证阶段,同认证信息一起提交给服务端,服务端认证通过后生成对应客户端的唯一访问凭证,完成访问凭证和随机字符串的绑定后将访问凭证及签名算法响应给客户端,便于后续数据接口交互时采用有效的签名算法及已授权的访问凭证,客户端在完成认证后,随机字符串不再进行网络传输,仅作为随机码参与请求参数的数据签名。数据的签名方式以键值对的组合经自然排序转换为一个固定的字符串,在固定字符串后拼接随机密钥,最终对组合后的字符串采用由服务器指定的算法进行加密,生成第一签名字符串。将访问认证和第一签名字符串置于请求头,和请求体一起提交给服务器;服务器接收到访问认证,根据访问认证查找到对应的随机字符串,因为随机字符串和访问认证是具有映射关系的,按照配置的算法规则请求体和随机字符串进行数据签名并加密,得到第二签名字符串,这里的加密算法和第一次的加密算法是一致的,再者判断两次的签名字符串是否一致,若不一致,则说明数据接口被中间人篡改了,因为篡改过之后,加密出的结果是不一致的,此时则要重新获取并发送新的数据接口。经过加密和数据签名加密安全性得到很大的提高,并且进一步的判断中间数据是否被篡改,若被篡改了则采取的新的措施,以防范接口数据被中间人攻击。上述步骤一方面前置判断请求时间戳有效期,减少无效请求的后续判断,一方面分离了对算法的依赖,可同时配置使用多种加密算法进行热切换,增加了中间人攻击的难度,而算法的丰富也很好的解决了性能瓶颈的问题。另一方面该方法可全方位的防范数据篡改、会话重放、请求伪造等中间人攻击行为,加上随机密钥绑定登陆流程,间接增加了密钥的时效性,安全方面得到进一步的保障。
实施例2
如图2所示,一种数据传输的方法,包括:
S210、所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;
S220、所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;
S230、所述服务器接收并解析所述客户端发送的封装包,得到所述随机字符串和所述请求体;
S240、判断所述请求体中的所述时间戳和所述服务器当前时间戳的差值是否大于预设时间差,若大于,则舍弃所述封装包;
S250、若小于,则对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;
S260、判断所述第一签名字符串和所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以数据传输。
由实施例2可知,服务器接收到客户端的请求封装包,解析后得到请求体,从请求体中得到客户端提交请求的时间戳,根据所述时间戳和所述服务器当前时间戳的差值以及预设时间差来判断该请求体是否在过期范围内,若大于,则判定为过期请求,若小于则进行后续步骤,以确保所述请求体有效期内,这样如果请求体被中间人获取了,但是其中的内容原封不动地返回给了原地址,这也是数据泄露的一种,因此所述请求体就不可用,在进行第二次加密的前提下确保请求体的有效性,减少无效请求的后续判断。
实施例3
如图3所示,一种数据传输的方法,包括:
S310、所述客户端生成随机字符串并获取数据接口中的请求体,所述随机字符串用于在服务端生成和所述随机字符串具有映射关系的访问凭证;
S320、将所述请求体按键值对拆分,结合所述随机字符串重新组合后进行数据签名;
S330、利用加密算法对数据签名后的结果进行加密,得到第一签名字符串;
S340、所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;
S350、所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;
S360、判断所述第一签名字符串和所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以数据传输。
实施例3中,所述访问凭证是在服务端产生的,根据客户端生成的随机字符串生成具有映射关系的访问凭证,并且在每次从客户端传输至服务端或者从服务端传送至客户端都携带所述访问凭证,进一步提高数据加密的安全性。
实施例4
如图4所示,一种具体的实施方式可为:
S410、客户端生成随机字符串,并验证;
客户端生成随机字符串R,并验证生成认证信息,将所述随机字符串和所述认证信息发送给应用端,应用端验证是否通过,若不通过,则返回步骤S510。
S420、服务端验证通过时,生成和随机字符串对应的唯一访问凭证T;
S430、服务端将访问凭证和配置中心加密规则发送给客户端;
S440、客户端接收访问凭证和加密规则,并调用数据接口中的请求体,将所述请求体按所述加密规则编码,生成第一字符串,并将所述第一字符串和访问凭证组合成请求头,将所述请求头和请求体发送给应用端;
S450、应用端解析出所述请求头中的访问凭证T,通过访问凭证T和随机字符串R的映射关系找到随机字符串R,通过随机字符串对在应用端编码后的请求体进行数据签名得到第二字符串;
S460、服务端判断请求头中的第一字符串和第二字符串是否一致;
例如,随机字符串R为14ZulElQmxfX2mlINKyjuxYcCvvm4PbK,请求体为“{"id":12,"name":"tester",”timestamp”:1615005470000}”,首先对请求体按键值对分解组合为“id=12”和“name=tester”和“timestamp = 1615005470000“三个字符串,对这三个字符串自然排序后得到“id=12&name=tester&timestamp=1615005470000”,再拼接随机密钥得到“id=12&name=tester&timestamp=161500547000&R=14ZulElQmxfX2mlINKyjuxYcCvvm4PbK”,假设业务系统指定的签名算法为MD5,对上述字符串使用MD5加密后得到的“33fd0c07b3b6fcba2e6df21deebc7bd2”就是第一字符串。判断第一次字符串和第二字符串是否一致就可以确定请求体是否被中间人篡改。
实施例5
如图5所示,一种数据传输的装置,包括:
获取模块10:用于所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;
封装模块20:用于所述客户端将所述获取模块10获取的所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;
加密模块30:用于所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;
判断模块40:用于判断所述获取模块10得到的所述第一签名字符串和所述加密模块30得到所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以数据传输。
上述装置的一种实施方式可为:获取模块10所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;封装模块20所述客户端将所述获取模块10获取的所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;加密模块30所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;判断模块40判断所述获取模块10得到的所述第一签名字符串和所述加密模块30得到所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以数据传输。
实施例6
如图6所示,一种数据传输的装置的获取模块10包括:
生成子单元12:用于所述客户端生成随机字符串并获取数据接口中的请求体,所述随机字符串用于在服务端生成和所述随机字符串具有映射关系的访问凭证;
重组单元14:用于将所述请求体按键值对拆分,结合所述随机字符串重新组合后进行数据签名;
第一加密单元16:用于利用加密算法对数据签名后的结果进行加密,得到第一签名字符串。
上述装置的获取模块10的一种实施方式可为:生成子单元12用于所述客户端生成随机字符串并获取数据接口中的请求体,所述随机字符串用于在服务端生成和所述随机字符串具有映射关系的访问凭证;重组单元14用于将所述请求体按键值对拆分,结合所述随机字符串重新组合后进行数据签名;第一加密单元16用于利用加密算法对数据签名后的结果进行加密,得到第一签名字符串。
实施例7
如图7所示,一种数据传输的装置的加密模块30包括:
解析单元32:用于所述服务器接收并解析所述客户端发送的封装包,得到所述随机字符串和所述请求体;
判断子单元34:用于判断所述请求体中的所述时间戳和所述服务器当前时间戳的差值是否大于预设时间差,若大于,则舍弃所述封装包;
第二加密单元36:用于若小于,则对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串。
上述装置的加密模块30的一种实施方式可为解析单元32用于所述服务器接收并解析所述客户端发送的封装包,得到所述随机字符串和所述请求体;判断子单元34用于判断所述请求体中的所述时间戳和所述服务器当前时间戳的差值是否大于预设时间差,若大于,则舍弃所述封装包;第二加密单元36用于若小于,则对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串。
实施例8
如图8所示,一种电子设备,包括存储器801和处理器802,所述存储器801用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器802执行以实现上述的一种数据传输的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如上述的一种数据传输的方法。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器801中,并由处理器802执行,并由输入接口805和输出接口806完成数据的I/O接口传输,以完成本发明,一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机设备中的执行过程。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,存储器801、处理器802,本领域技术人员可以理解,本实施例仅仅是计算机设备的示例,并不构成对计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入器807、网络接入设备、总线等。
处理器802可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器802、数字信号处理器802(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgRAM503mableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器802可以是微处理器802或者该处理器802也可以是任何常规的处理器802等。
存储器801可以是计算机设备的内部存储单元,例如计算机设备的硬盘或内存。存储器801也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等,进一步地,存储器801还可以既包括计算机设备的内部存储单元也包括外部存储设备,存储器801用于存储计算机程序以及计算机设备所需的其他程序和数据,存储器801还可以用于暂时地存储在输出器808,而前述的存储介质包括U盘、移动硬盘、只读存储器ROM803、随机存储器RAM804、碟盘或光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的具体实施例,但本发明的技术特征并不局限于此,任何本领域的技术人员在本发明的领域内,所作的变化或修饰皆涵盖在本发明的专利范围之中。

Claims (10)

1.一种数据传输的方法,其特征在于,所述方法由客户端发起,包括:
所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;
所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;
所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;
判断所述第一签名字符串和所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以完成数据传输。
2.根据权利要求1所述的一种数据传输的方法,其特征在于,所述客户端获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串,包括以下步骤:
所述客户端生成随机字符串并获取数据接口中的请求体,所述随机字符串用于在服务端生成和所述随机字符串具有映射关系的访问凭证;
将所述请求体按键值对拆分,结合所述随机字符串重新组合后进行数据签名;
利用加密算法对数据签名后的结果进行加密,得到第一签名字符串。
3.根据权利要求1所述的一种数据传输的方法,其特征在于,所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器,包括:
所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器,所述请求体包括所述客户端发送请求的时间戳。
4.根据权利要求1所述的一种数据传输的方法,其特征在于,所述服务端接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串,包括:
所述服务器接收并解析所述客户端发送的封装包,得到所述随机字符串和所述请求体;
判断所述请求体中的所述时间戳和所述服务器当前时间戳的差值是否大于预设时间差,若大于,则舍弃所述封装包;
若小于,则对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串。
5.一种数据传输的装置,其特征在于,所述装置包括客户端和服务端,所述客户端包括获取模块和封装模块,所述服务端包括加密模块和判断模块:
获取模块:用于获取随机字符串和数据接口中的请求体,接收服务端生成的和所述随机字符串具有映射关系的访问凭证,并对所述请求体和随机字符串进行数据签名并加密,生成第一签名字符串;
封装模块:用于将所述获取模块获取的所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器;
加密模块:用于接收并解析所述客户端发送的封装包,对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串;
判断模块:用于判断所述获取模块得到的所述第一签名字符串和所述加密模块得到所述第二签名字符串是否一致,若一致,则所述数据接口没有被攻击,以数据传输。
6.根据权利要求5所述的一种数据传输的装置,其特征在于,所述获取模块具体包括:
生成子单元:用于所述客户端生成随机字符串并获取数据接口中的请求体,所述随机字符串用于在服务端生成和所述随机字符串具有映射关系的访问凭证;
重组单元:用于将所述请求体按键值对拆分,结合所述随机字符串重新组合后进行数据签名;
第一加密单元:用于利用加密算法对数据签名后的结果进行加密,得到第一签名字符串。
7.根据权利要求5所述的一种数据传输的装置,其特征在于,所述封装模块具体包括:
时间戳单元:用于所述客户端将所述访问凭证和所述第一签名字符串及所述请求体封装并发送给所述服务器,所述请求体包括所述客户端发送请求的时间戳。
8.根据权利要求5所述的一种数据传输的装置,其特征在于,所述加密模块具体还包括:
解析单元:用于所述服务器接收并解析所述客户端发送的封装包,得到所述随机字符串和所述请求体;
判断子单元:用于判断所述请求体中的所述时间戳和所述服务器当前时间戳的差值是否大于预设时间差,若大于,则舍弃所述封装包;
第二加密单元:用于若小于,则对所述随机字符串和所述请求体进行数据签名并加密得到第二签名字符串。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求1~4中任一项所述的一种数据传输的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被计算机执行时实现如权利要求1~4中任一项所述的一种数据传输的方法。
CN202210967389.1A 2022-08-12 2022-08-12 一种数据传输的方法、设备和系统 Pending CN115333736A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210967389.1A CN115333736A (zh) 2022-08-12 2022-08-12 一种数据传输的方法、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210967389.1A CN115333736A (zh) 2022-08-12 2022-08-12 一种数据传输的方法、设备和系统

Publications (1)

Publication Number Publication Date
CN115333736A true CN115333736A (zh) 2022-11-11

Family

ID=83924010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210967389.1A Pending CN115333736A (zh) 2022-08-12 2022-08-12 一种数据传输的方法、设备和系统

Country Status (1)

Country Link
CN (1) CN115333736A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116781317A (zh) * 2023-03-21 2023-09-19 山东省国土空间数据和遥感技术研究院(山东省海域动态监视监测中心) 一种前后端数据传输防篡改重放的方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116781317A (zh) * 2023-03-21 2023-09-19 山东省国土空间数据和遥感技术研究院(山东省海域动态监视监测中心) 一种前后端数据传输防篡改重放的方法和系统

Similar Documents

Publication Publication Date Title
CN112218294B (zh) 基于5g的物联网设备的接入方法、系统及存储介质
CN108092776B (zh) 一种基于身份认证服务器和身份认证令牌的系统
WO2021017128A1 (zh) 登录令牌的生成及验证方法、装置和服务器
CN109409122B (zh) 文件存储方法及其电子设备、存储介质
CN109347835B (zh) 信息传输方法、客户端、服务器以及计算机可读存储介质
CN108965230B (zh) 一种安全通信方法、系统及终端设备
CN107749848B (zh) 物联网数据的处理方法、装置及物联网系统
CN106330850B (zh) 一种基于生物特征的安全校验方法及客户端、服务器
TWI796675B (zh) 基於區塊鏈的身份驗證方法及相關硬體
TWI522841B (zh) 多重伺服器環境下的匿名認證方法
EP2446390B1 (de) System und verfahren zur zuverlässigen authentisierung eines gerätes
CN111131300B (zh) 通信方法、终端及服务器
CN112039848A (zh) 一种基于区块链公钥数字签名的Web认证方法、系统和装置
CN108985409B (zh) 身份证信息读取方法、装置及电子设备
CN113872932A (zh) 微服务间的接口鉴权方法、系统、终端及存储介质
CN112954039A (zh) 一种区块链存证方法
CN109698806B (zh) 一种用户数据校验方法及系统
CN111510442A (zh) 一种用户验证方法、装置、电子设备及存储介质
CN110690969A (zh) 一种多方协同完成双向ssl/tls认证的方法和系统
CN115333736A (zh) 一种数据传输的方法、设备和系统
Zhang et al. Formal analysis of QUIC handshake protocol using ProVerif
CN106953731A (zh) 一种终端管理员的认证方法及系统
CN113849797A (zh) 数据安全漏洞的修复方法、装置、设备及存储介质
WO2021168652A1 (zh) 终端设备信息传输方法、设备指纹生成方法及相关产品
CN112039857A (zh) 一种公用基础模块的调用方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination