CN105049428A - 数据安全传输的方法和装置 - Google Patents

数据安全传输的方法和装置 Download PDF

Info

Publication number
CN105049428A
CN105049428A CN201510374731.7A CN201510374731A CN105049428A CN 105049428 A CN105049428 A CN 105049428A CN 201510374731 A CN201510374731 A CN 201510374731A CN 105049428 A CN105049428 A CN 105049428A
Authority
CN
China
Prior art keywords
operation result
packet
data packets
raw data
verification msg
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.)
Granted
Application number
CN201510374731.7A
Other languages
English (en)
Other versions
CN105049428B (zh
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.)
Shenzhen Shenxinfu Electronic Technology Co Ltd
Original Assignee
Shenzhen Shenxinfu Electronic 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 Shenzhen Shenxinfu Electronic Technology Co Ltd filed Critical Shenzhen Shenxinfu Electronic Technology Co Ltd
Priority to CN201510374731.7A priority Critical patent/CN105049428B/zh
Publication of CN105049428A publication Critical patent/CN105049428A/zh
Application granted granted Critical
Publication of CN105049428B publication Critical patent/CN105049428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种数据安全传输的方法,包括:根据第一预设算法对原始数据包进行运算得到第一运算结果,根据与网关进行通信的通信协议将所述第一运算结果插入所述原始数据包,以获得加固数据包,发送所述加固数据包至所述网关,以使得所述网关根据与所述第一预设算法对应的第二预设算法对所述加固数据包进行验证。由于发送前对数据包进行了加固,降低了数据包被破解的风险,同时加固时采用了与网关相应的第一预设算法便于后续网关通过相应的预设算法对数据包进行验证,提高了数据传输的安全性,此外还提出了另一种数据安全传输的方法和装置。

Description

数据安全传输的方法和装置
技术领域
本发明涉及通信领域,特别是涉及一种数据安全传输的方法和装置。
背景技术
随着移动互联网技术的发展,人们越来越来多的通过软件应用在移动互联网上进行学习、通信和办公。但是由于软件应用的实现方式各异,也带来新的网络安全问题和挑战。
现有的软件应用通信形式不统一,如有的软件应用使用HTTP(HyperTextTransferProtocol,超文本传输协议),有的软件应用使用JSON(JavaScriptObjectNotation,javaScript对象表示法),有的使用ProtocolBuffers(数据描述语言)等。与浏览器WEB时代不同,浏览器统一使用HTTP协议,传统的浏览器时代进行安全检测的技术在移动软件应用上可能无法使用。由于传统的浏览器时代进行安全检测的技术在移动软件应用上可能无法使用,黑客往往通过抓取软件应用与服务器交互的数据包,通过数据包分析服务器可能存在的漏洞,然后利用工具发出数据包攻击服务器,数据传输过程中的安全性不能得到很好的保证。
发明内容
基于此,有必要针对上述技术问题,提供一种数据安全传输的方法和装置,提高数据传输的安全性。
本发明提供了一种数据安全传输的方法,包括:
根据第一预设算法对原始数据包进行运算得到第一运算结果;
根据与网关进行通信的通信协议将所述第一运算结果插入所述原始数据包以获得加固数据包;
发送所述加固数据包至所述网关,以使得所述网关根据与所述第一预设算法对应的第二预设算法对所述加固数据包进行验证。
在其中一个实施例中,所述根据第一预设算法对原始数据包进行运算得到第一运算结果的步骤为:
将所述原始数据包进行哈希计算得到哈希值。
在其中一个实施例中,所述通信协议为HTTP协议,所述根据与网关进行通信的通信协议将所述第一运算结果插入所述原始数据包以获得加固数据包的步骤包括:
将所述第一运算结果插入到所述原始数据包的cookie或新增的cookie中。
在其中一个实施例中,在所述发送所述加固数据包至所述网关的步骤之前还包括:
接收网关发送的第二验证数据;
根据第三预设算法对所述第二验证数据进行运算得到第三运算结果;
将所述第三运算结果插入到所述加固数据包中,以使得所述网关根据所述第三运算结果对所述加固数据包进行验证。
一种数据安全传输的装置,包括:
第一运算模块,用于根据第一预设算法对原始数据包进行运算得到第一运算结果;
第一加固模块,用于根据与网关进行通信的通信协议将所述第一运算结果插入所述原始数据包,以获得加固数据包;
发送模块,用于发送所述加固数据包至所述网关,以使得所述网关根据与所述第一预设算法对应的第二预设算法对所述加固数据包进行验证。
上述数据安全传输的方法和装置,通过根据第一预设算法对原始数据包进行运算得到第一运算结果,根据与网关进行通信的通信协议将第一运算结果插入原始数据包以获得加固数据包,发送加固数据包至网关,以使得网关根据与第一预设算法对应的第二预设算法对加固数据包进行验证。由于发送前对数据包进行了加固,降低了数据包被破解的风险,同时加固时采用了与网关相应的第一预设算法便于后续网关通过相应的预设算法对数据包进行验证,提高了数据传输的安全性。
一种数据安全传输的方法,包括:
接收终端发送的加固数据包;
根据与终端进行通信的通信协议提取所述加固数据包中的验证数据,将所述验证数据从所述加固数据包中删除得到原始数据包;
根据与终端相应的第二预设算法对所述原始数据包进行运算得到第二运算结果;
根据所述验证数据和第二运算结果验证所述原始数据包,并根据验证结果执行对应的操作。
在其中一个实施例中,所述根据与终端相应的第二预设算法对所述原始数据包进行运算得到第二运算结果的步骤为:
将所述原始数据包进行哈希计算得到哈希值。
在其中一个实施例中,所述通信协议为HTTP协议,所述根据与终端进行通信的通信协议提取所述加固数据包中的验证数据,将所述验证数据从所述加固数据包中删除得到原始数据包的步骤包括:
从所述加固数据包的cookie中提取验证数据。
在其中一个实施例中,在所述接收终端发送的加固数据包的步骤之前还包括:
发送第二验证数据至终端,使所述终端根据所述第二验证数据得到第三运算结果,并将所述第三运算结果插入到所述数据包中;
所述根据所述验证数据和第二运算结果验证所述原始数据包的步骤包括:
提取所述验证数据中的第一运算结果和第三运算结果;
将所述第一运算结果和第二运算结果进行对比验证所述原始数据包;
并根据所述第三运算结果和第二验证数据验证所述原始数据包。
一种数据安全传输的装置,包括:
接收模块,用于接收终端发送的加固数据包;
提取模块,用于根据与终端进行通信的通信协议提取所述加固数据包中的验证数据,将所述验证数据从所述加固数据包中删除得到原始数据包;
运算模块,用于根据与终端相应的第二预设算法对所述原始数据包进行运算得到第二运算结果;
验证模块,用于根据所述验证数据和第二运算结果验证所述原始数据包,并根据验证结果执行对应的操作。
上述数据安全传输的方法和装置,接收终端发送的加固数据包,根据与终端进行通信的通信协议提取加固数据包中的验证数据,将验证数据从加固数据包中删除得到原始数据包,根据与终端相应的第二预设算法对原始数据包进行运算得到第二运算结果,根据验证数据和第二运算结果验证原始数据包,并根据验证结果执行对应的操作,通过提取验证数据得到原始数据包和与终端相应的第二预设算法对原始数据包进行运算得到第二运算结果从而能根据第二运算结果对原始数据包进行验证,与终端配合保证数据传输安全,并且根据验证结果执行对应的操作,防止验证不通过的数据包造成的安全隐患。
附图说明
图1为一个实施例中数据安全传输的方法运行的应用环境图;
图2为一个实施例中数据安全传输的方法的流程图;
图3为一个实施例中另一种数据安全传输的方法的流程图;
图4为一个实施例中根据验证原始数据包的流程图;
图5为一个实施例中数据安全传输的装置的结构框图;
图6为另一个实施例中数据安全传输的装置的结构框图;
图7为一个实施例中另一种数据安全传输的装置的结构框图;
图8为另一个实施例中另一种数据安全传输的装置的结构框图;
图9为一个实施例中验证模块的结构框图。
具体实施方式
图1为一个实施例中数据安全传输的方法运行的应用环境图。该应用环境包括终端110、网关120和服务器130,终端110和服务器130都可以通过网络与网关120进行通信。
终端110可为智能手机、平板电脑、笔记本电脑、台式计算机等。终端110在发送数据前对数据进行加固后再发送至网关120,网关120对加固后的数据进行验证,只有验证成功的数据才会发送至服务器130。网关120也可以主动发验证数据给终端110,终端110接收到验证数据后进行相应的处理并插入待发送数据再返回给网关120,网关120对接收到的数据进行验证,形成终端110和网关120之间的关联互动,保证数据传输安全。
在一个实施例中,提供了一种数据安全传输的方法,以应用于上述应用环境中的终端来举例说明,如图2所示,包括如下步骤:
步骤S210,根据第一预设算法对原始数据包进行运算得到第一运算结果。
具体的,终端安装的软件应用在发布前进行了处理,使得其在数据传输的过程中自动执行相应的操作提高数据传输安全。可通过修改软件应用原始代码的方式改变软件应用与网关的通信过程。在一个实施例中,在发布软件应用前对软件应用的代码加壳,并进行加密,对代码进行混淆处理,降低软件应用被破解的风险。当终端需要与网关进行通信时,如登录应用软件时,获取需要发送的数据包并对数据包进行处理。第一预设算法可以根据需要自定义,如计算数据包的长度,对数据包的长度进行自定义公式的计算等。同时第一预设算法是预先与网关约定好的相应的算法,便于网关收到加固数据包后根据约定的算法进行解析。
在一个实施例中,步骤S210为:将数据包进行哈希计算得到哈希值。
具体的,哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。对于较大的数据包进行哈希运算后可得到较小的哈希值,占用空间小,便于在传输过程中节省流量。
步骤S220,根据与网关进行通信的通信协议将第一运算结果插入原始数据包以获得加固数据包。
具体的,软件应用由于开发方式各异,在与网关进行通信时可能使用不同的通信协议,如HTTP协议,SMTP协议等。根据不同的通讯协议,可将第一运算结果插入数据包与协议相应的位置,得到加固数据包。插入的位置,可根据通讯协议的不同自定义,如在通过SMTP协议时,将第一运算结果插入收件人邮箱地址。加固数据包不仅包括原始数据包的全部内容,还包括用于验证原始数据包而加入的验证数据,包括第一运算结果和/或新增的表明第一运算结果查找位置的特殊字符,如cookie,加固数据包用于在网关收到后,根据提取的验证数据对原始数据包进行验证。
在一个实施例中,通信协议为HTTP协议,步骤S220包括:将第一运算结果插入到原始数据包的cookie或新增的cookie中。
具体的,cookie是网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据,在通过HTTP协议进行通信时,将第一运算结果插入到cookie中得到加固数据包,简单方便。如需要登录软件应用时,终端向服务器发起一次HTTP请求,需要发送的数据包为“Getloging?Username=admin&pwd=admin”,在发送前对数据包进行运算得到第一运算结果,如进行哈希计算得到哈希值为12345,将哈希值插入到cookie中,得到加固数据包为“Getlogin?Username=admi&pwd=adminCookie:af_cookie=12345;”。网关接收到加固数据包后,由于与终端通过HTTP协议进行通信,所以从cookie中提取验证数据,同时将验证数据从数据包中删除得到原始数据包,简单方便。如网关收到的数据包为“Getloging?Username=admin&pwd=adminCookie:af_cookie=12345”,先在数据包中查找Cookie字符,然后将Cookie字符携带的数据提取出来得到验证数据为“Cookie:af_cookie=12345”,将验证数据从数据包中删除得到原始数据包为“Getloging?Username=admin&pwd=admin”。
步骤S230,发送加固数据包至网关,以使得网关根据与第一预设算法对应的第二预设算法对加固数据包进行验证。
具体的,发送加固数据包至网关,网关在收到加固数据包后会根据与第一预设算法对应的第二预设算法对加固数据包进行验证从而达到终端与网关关联互动保证数据传输安全的作用,第二预设算法可与第一预设算法相同或不同。在一个实施例中,在发送加固数据包至网关前,对加固数据包进行非对称加密,进一步保证数据包的传输安全。
本实施例中,通过根据第一预设算法对原始数据包进行运算得到第一运算结果,根据与网关进行通信的通信协议将第一运算结果插入原始数据包,以获得加固数据包,发送加固数据包至网关,以使得网关根据与第一预设算法对应的第二预设算法对加固数据包进行验证。由于发送前对数据包进行了加固,降低了数据包被破解的风险,同时加固时采用了与网关相应的第一预设算法便于后续网关通过相应的预设算法对数据包进行验证,提高了数据传输的安全性。
在一个实施例中,在发送加固数据包至网关的步骤之前还包括:接收网关发送的第二验证数据,根据第三预设算法对第二验证数据进行运算得到第三运算结果,将第三运算结果插入到加固数据包中,以使得网关根据第三运算结果对加固数据包进行验证。
具体的,根据不同的通讯协议,可将第一运算结果插入数据包与协议相应的位置,得到加固数据包后,当接收到网关发送的第二验证数据时,根据约定的第三预设算法对第二验证数据进行运算得到第三运算结果,第三预设算法可以根据需要自定义,也可根据收到的数据定义不同的第三预设算法,进一步提高对所述加固数据包处理的灵活性,降低所述加固数据包被黑客破解的概率。如收到的数据为“1+1”,则对收到的数据进行解析,提取特定符号,并获取与提取的特定符号对应的第三预设算法,如提取的符号为“+”号,则第三预设算法为进行加法运算,得到2,将2插入到加固数据包中。网关在接收到加固数据包后,先根据与终端的通讯协议提取验证数据,将验证数据从加固数据包中删除得到原始数据包,根据与终端相应的第二预设算法对原始数据包进行运算得到第二运算结果,再提取验证数据中的第一运算结果和第三运算结果,将第一运算结果和第二运算结果进行对比验证原始数据包,并根据所述第三运算结果和第二验证数据验证原始数据包,只有验证都通过时,才将原始数据包转发给服务器处理。
在一个实施例中,如图3所示,提供了一种数据安全传输的方法,以应用于上述应用环境中的网关来举例说明,包括如下步骤:
步骤S310,接收终端发送的加固数据包。
具体的,由于终端在发送前对数据包进行了处理,所以收到的数据包为加固数据包。终端根据第一预设算法对原始数据包进行运算得到第一运算结果,根据与网关进行通信的通信协议将第一运算结果插入原始数据包以获得加固数据包。在一个实施例中,终端还接收网关发送的第二验证数据,根据第三预设算法对第二验证数据进行运算得到第三运算结果,将第三运算结果插入到加固数据包中以使得网关根据第三运算结果对加固数据包进行验证,得到包含第一运算结果和第三运算结果的双重加固数据包。
在一个实施例中,在步骤S310之前还包括:发送第二验证数据至终端,使终端根据第二验证数据得到第三运算结果,并将第三运算结果插入到数据包中。
具体的,第二验证数据可以根据需要自定义,如特定字符串和与特定字符串对应的数值等。终端收到第二验证数据后,对其解析并根据解析结果进行相应的运算得到第三运算结果,将第三运算结果插入到数据包中。可以理解的是,插入时可根据通信协议的不同进行相应的插入。如发送的第二验证数据为“1+1”,终端收到后进行解析,得到特定字符“+”号,并得到与特定字符“+”对应的运算算法为将特定字符对应的数据1和1相加,得到2,并将2插入到数据包中。
步骤S320,根据与终端进行通信的通信协议提取加固数据包中的验证数据,将验证数据从加固数据包中删除得到原始数据包。
具体的,通信协议可能为HTTP协议,SMTP协议等,根据通信协议的不同从加固数据包的不同位置提取验证数据,即所述网关于所述加固数据包的哪个位置提取验证数据由其与终端之间使用的通信协议决定,如当通信协议为SMTP协议时,从收件人邮箱地址中提取验证数据。提取时查找与通信协议对应的特定位置存在的特定字符串和特定字符串携带的运算值,将其提取出来,并将提取出的验证数据从加固数据包中删除得到原始数据包。由于终端在发送时是对原始数据包进行运算得到第一运算结果插入到原始数据包中从而得到加固数据包,在网关收到加固数据包后先提取包含第一运算结果的验证数据,将验证数据从加固数据包中删除从而得到原始数据包,也对原始数据包进行运算,从而保证网关与终端都是对原始数据包进行运算,保证了运算结果的有效性。
在一个实施例中,通信协议为HTTP协议,步骤S320包括:从加固数据包的cookie中提取验证数据。
具体的,在通过HTTP协议进行通信时,从cookie中提取验证数据,将验证数据从数据包中删除得到原始数据包,简单方便。如终端向服务器发起一次HTTP请求,网关收到的数据包为“Getloging?Username=admin&pwd=adminCookie:af_cookie=12345”,先在数据包中查找Cookie字符,然后将Cookie字符携带的数据提取出来得到验证数据为“Cookie:af_cookie=12345”,将验证数据从数据包中删除得到原始数据包为“Getloging?Username=admin&pwd=admin”。
步骤S330,根据与终端相应的第二预设算法对原始数据包进行运算得到第二运算结果。
具体的,与终端相应的第二预设算法可以根据需要自定义,如计算原始数据包的长度,对原始数据包的长度进行自定义公式的计算等。同时第二预设算法是预先与终端约定好的相应的算法,从而能对原始数据包根据约定的算法进行运算得到验证运算结果。可以理解的是与终端相应的第二预设算法可以与终端的第一预设算法相同或不同,如果相同,则在原始数据包相同的情况下会得到与终端计算出的第一运算结果相同的运算结果,如果不同,则在原始数据包相同的情况下会得到与终端计算出的第一运算结果不同的运算结果,但是可以获取第二运算结果和终端计算得到的携带在加固数据包中的第一运算结果的对应关系,利用对应关系来验证原始数据包。
在一个实施例中,步骤S330为:将原始数据包进行哈希计算得到哈希值。
具体的,哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。对于较大的数据包进行哈希运算后可得到较小的哈希值,占用空间小,便于在传输过程中节省流量。在得到原始数据包后,通过同样的哈希算法计算得到哈希值,直接与加固数据包中携带的哈希值进行比较即可,方便快捷。
步骤S340,根据验证数据和第二运算结果验证原始数据包,并根据验证结果执行对应的操作。
具体的,如果网关收到的加固数据包中不能提取到验证数据,或第二运算结果与验证数据中提取出的第一运算结果不同或不相应,则数据包的验证结果为验证失败。如果能提取到验证数据并且从验证数据中提取的第一运算结果与第二运算结果相同或相应,则数据包的验证结果为验证成功。如果验证成功,则将原始数据包发送至服务器,如果验证失败,则不进行发送,防止验证失败的数据包对服务器进行攻击。
本实施例中,通过接收终端发送的加固数据包,根据与终端进行通信的通信协议提取加固数据包中的验证数据,将验证数据从加固数据包中删除得到原始数据包,根据与终端相应的第二预设算法对原始数据包进行运算得到第二运算结果,根据验证数据和第二运算结果验证原始数据包,并根据验证结果执行对应的操作,通过提取验证数据得到原始数据包和与终端相应的第二预设算法对原始数据包进行运算得到第二运算结果从而能根据第二运算结果对原始数据包进行验证,与终端配合保证数据传输安全,并且根据验证结果执行对应的操作,防止验证不通过的数据包造成的安全隐患。
步骤S340,根据验证数据和第二运算结果验证原始数据包,并根据验证结果执行对应的操作进一步包括以下步骤:
步骤S341,提取验证数据中的第一运算结果和第三运算结果。
具体的,由于网关向终端发送了第二验证数据导致加固数据包进行了双层加固,验证数据中包括2种不同的运算结果,提取验证数据中的第一运算结果和第三运算结果。可以理解的是,可以根据通信协议的不同,在相应的位置提取第一运算结果和第三运算结果。
步骤S342,将第一运算结果和第二运算结果进行对比验证原始数据包。
具体的,由于第一预设算法和第二预设算法相同或相应,第一运算结果和第二运算结果也相同或有相应的关系,如果第一运算结果和第二运算结果相同或符合相应关系,则说明原始数据包验证通过,否则验证不通过。如果验证不通过则可以提前结束验证过程,直接将验证不通过的数据包丢弃。
步骤S343,并根据第三运算结果和第二验证数据验证原始数据包。
具体的,第三运算结果有对应的正确运算结果,将第三运算结果与正确运算结果进行对比,如果相同,则说明数据包验证通过,如果不同,则数据包验证不通过。正确运算结果通过第二验证数据的具体内容得到。通过发送第二验证数据至终端,使得接收到根据第二验证数据修改后的数据包,可以防止黑客截取传输过程中的数据包后发送相同的数据包对服务器进行攻击,由于黑客接收到第二验证数据后并不知道如何根据第二验证数据进行相应的处理,以致于在网关收到终端返回的数据包后可以分辨发送方,将验证不通过的数据包丢弃。
在一个实施例中,如图5所示,提供了一种数据安全传输的装置,包括:
第一运算模块510,用于根据第一预设算法对原始数据包进行运算得到第一运算结果。
具体的,终端安装的软件应用在发布前进行了处理,使得其在数据传输的过程中自动执行相应的操作提高数据传输安全。可通过修改软件应用原始代码的方式改变软件应用与网关的通信过程。在一个实施例中,在发布软件应用前对软件应用的代码加壳,并进行加密,对代码进行混淆处理,降低软件应用被破解的风险。当终端需要与网关进行通信时,如登录应用软件时,获取需要发送的数据包并对数据包进行处理。第一预设算法可以根据需要自定义,如计算数据包的长度,对数据包的长度进行自定义公式的计算等。同时第一预设算法是预先与网关约定好的相应的算法,便于网关收到加固数据包后根据约定的算法进行解析。
第一加固模块520,用于根据与网关进行通信的通信协议将第一运算结果插入原始数据包以获得加固数据包。
具体的,软件应用由于开发方式各异,在与网关进行通信时可能使用不同的通信协议,如HTTP协议,SMTP协议等。第一加固模块520根据与网关进行通信的不同的通讯协议,将第一运算结果插入与协议相应的位置的数据包中,得到加固数据包。插入的拉置,可根据通讯协议的不同自定义,如在通过SMTP协议时,将第一运算结果插入收件人邮箱地址。加固数据包不仅包括原始数据包的全部内容,还包括用于验证原始数据包而加入的验证数据,包括第一运算结果和/或新增的表明第一运算结果查找位置的特殊字符,如cookie,加固数据包用于在网关收到后,根据提取的验证数据对原始数据包进行验证。
发送模块530,用于发送加固数据包至网关,以使得网关根据与第一预设算法对应的第二预设算法对加固数据包进行验证。
具体的,发送模块530发送加固数据包至网关,网关在收到加固数据包后会根据与第一预设算法对应的第二预设算法对加固数据包进行验证从而达到终端与网关关联互动保证数据传输安全的作用,第二预设算法可与第一预设算法相同或不同。在一个实施例中,在发送加固数据包至网关前,对加固数据包进行非对称加密,进一步保证数据包的传输安全。
在一个实施例中,第一运算模块510还用于将原始数据包进行哈希计算得到哈希值。
具体的,哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。对于较大的数据包进行哈希运算后可得到较小的哈希值,占用空间小,便于在传输过程中节省流量。
在一个实施例中,通信协议为HTTP协议,第一加固模块520还用于将第一运算结果插入到原始数据包的cookie或新增的cookie中。
具体的,cookie是网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据,在通过HTTP协议进行通信时,第一加固模块520将第一运算结果插入到cookie中得到加固数据包,简单方便。如需要登录软件应用时,终端向服务器发起一次HTTP请求,需要发送的数据包为“Getloging?Username=admin&pwd=admin”,在发送前对数据包进行运算得到第一运算结果,如进行哈希计算得到哈希值为12345,将哈希值插入到cookie中,得到加固数据包为“Getlogin?Username=admi&pwd=adminCookie:af_cookie=12345;”。
在一个实施例中,如图6所示,所述装置还包括:
第二加固模块540,用于接收网关发送的第二验证数据,根据第三预设算法对第二验证数据进行运算得到第三运算结果,将第三运算结果插入到加固数据包中,以使得网关根据第三运算结果对加固数据包进行验证。
具体的,第一加固模块520根据不同的通讯协议,可将第一运算结果插入数据包与协议相应的位置,得到加固数据包后,第二加固模块540当接收到网关发送的第二验证数据时,根据约定的第三预设算法对第二验证数据进行运算得到第三运算结果,第三预设算法可以根据需要自定义,也可根据收到的数据定义不同的第三预设算法,进一步提高对所述加固数据包处理的灵活性,降低所述加固数据包被黑客破解的概率。如收到的数据为“1+1”,则对收到的数据进行解析,提取特定符号,并获取与提取的特定符号对应的第三预设算法,如提取的符号为“+”号,则第三预设算法为进行加法运算,得到2,将2插入到加固数据包中。
在一个实施例中,如图7所示,提供了一种数据安全传输的装置,包括:
接收模块610,用于接收终端发送的加固数据包。
具体的,由于终端在发送前对数据包进行了处理,所以接收模块610收到的数据包为加固数据包。
提取模块620,用于根据与终端进行通信的通信协议提取加固数据包中的验证数据,将验证数据从加固数据包中删除得到原始数据包。
具体的,通信协议可能为HTTP协议,SMTP协议等,根据通信协议不同从加固数据包的不同位置提取验证数据,如当通信协议为SMTP协议时,从收件人邮箱地址中提取验证数据。提取时查找与协议对应的特定位置存在的特定字符串和特定字符串携带的运算值,将其提取出来,并将提取出的验证数据从加固数据包中删除得到原始数据包。
运算模块630,用于根据与终端相应的第二预设算法对所述原始数据包进行运算得到第二运算结果。
具体的,与终端相应的第二预设算法可以根据需要自定义,如计算原始数据包的长度,对原始数据包的长度进行自定义公式的计算等。同时第二预设算法是预先与终端约定好的相应的算法,从而能对原始数据包根据约定的算法进行运算得到验证运算结果。可以理解的是与终端相应的第二预设算法可以与终端的第一预设算法相同或不同,如果相同,则在原始数据包相同的情况下会得到与终端计算出的第一运算结果相同的运算结果,如果不同,则在原始数据包相同的情况下会得到与终端计算出的第一运算结果不同的运算结果,但是可以获取第二运算结果和终端计算得到的携带在加固数据包中的第一运算结果的对应关系,利用对应关系来验证原始数据包。
验证模块640,用于根据验证数据和第二运算结果验证原始数据包,并根据验证结果执行对应的操作。
具体的,如果网关收到的加固数据包中不能提取到验证数据,或第二运算结果与验证数据中提取出的第一运算结果不同或不相应,则数据包的验证结果为验证失败。如果能提取到验证数据并且从验证数据中提取的第一运算结果与第二运算结果相同或相应,则数据包的验证结果为验证成功。如果验证成功,则将原始数据包发送至服务器,如果验证失败,则不进行发送,防止验证失败的数据包对服务器进行攻击。
在一个实施例中,运算模块630还用于将原始数据包进行哈希计算得到哈希值。
具体的,哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。对于较大的数据包进行哈希运算后可得到较小的哈希值,占用空间小,便于在传输过程中节省流量。在得到原始数据包后,通过同样的哈希算法计算得到哈希值,直接与加固数据包中携带的哈希值进行比较即可,方便快捷。
在一个实施例中,通信协议为HTTP协议,提取模块620还用于从加固数据包的cookie中提取验证数据。
具体的,在通过HTTP协议进行通信时,从cookie中提取验证数据,将验证数据从数据包中删除得到原始数据包,简单方便。如终端向服务器发起一次HTTP请求,网关收到的数据包为“Getloging?Username=admin&pwd=adminCookie:af_cookie=12345”,先在数据包中查找Cookie字符,然后将Cookie字符携带的数据提取出来得到验证数据为“Cookie:af_cookie=12345”,将验证数据从数据包中删除得到原始数据包为“Getloging?Username=admin&pwd=admin”。
在一个实施例中,如图8所示,所述装置还包括:
发送模块650,用于发送第二验证数据至终端,使终端根据第二验证数据得到第三运算结果,并将第三运算结果插入到数据包中。
具体的,第二验证数据可以根据需要自定义,如特定字符串和与特定字符串对应的数值等。终端收到第二验证数据后,对其解析并根据解析结果进行相应的运算得到第三运算结果,将第三运算结果插入到数据包中。可以理解的是,插入时可根据通信协议的不同进行相应的插入。如发送的第二验证数据为“1+1”,终端收到后进行解析,得到特定字符“+”号,并得到与特定字符“+”对应的运算算法为将特定字符对应的数据1和1相加,得到2,并将2插入到数据包中。
如图9所示,验证模块640包括:
提取单元641,用于提取所述验证数据中的第一运算结果和第三运算结果。
具体的,由于网关向终端发送了第二验证数据导致加固数据包进行了双层加固,验证数据中包括2种不同的运算结果,提取单元641提取验证数据中的第一运算结果和第三运算结果。可以理解的是,可以根据通信协议的不同,在相应的位置提取第一运算结果和第三运算结果。
第一验证单元642,用于将第一运算结果和第二运算结果进行对比验证原始数据包。
具体的,由于第一预设算法和第二预设算法相同或相应,第一运算结果和第二运算结果也相同或有相应的关系,如果第一运算结果和第二运算结果相同或符合相应关系,则说明原始数据包验证通过,否则验证不通过。如果验证不通过则可以提前结束验证过程,直接将验证不通过的数据包丢弃。
第二验证单元643,用于根据第三运算结果和第二验证数据验证原始数据包。
具体的,第三运算结果有对应的正确运算结果,第二验证单元643将第三运算结果与正确运算结果进行对比,如果相同,则说明数据包验证通过,如果不同,则数据包验证不通过。正确运算结果通过第二验证数据的具体内容得到。通过发送第二验证数据至终端,使得接收到根据第二验证数据修改后的数据包,可以防止黑客截取传输过程中的数据包后发送相同的数据包对服务器进行攻击,由于黑客接收到第二验证数据后并不知道如何根据第二验证数据进行相应的处理,以致于在网关收到终端返回的数据包后可以分辨发送方,将验证不通过的数据包丢弃。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种数据安全传输的方法,其特征在于,包括:
根据第一预设算法对原始数据包进行运算得到第一运算结果;
根据与网关进行通信的通信协议将所述第一运算结果插入所述原始数据包以获得加固数据包;
发送所述加固数据包至所述网关,以使得所述网关根据与所述第一预设算法对应的第二预设算法对所述加固数据包进行验证。
2.根据权利要求1所述的方法,其特征在于,所述根据第一预设算法对原始数据包进行运算得到第一运算结果的步骤为:
将所述原始数据包进行哈希计算得到哈希值。
3.根据权利要求1所述的方法,其特征在于,所述通信协议为HTTP协议,所述根据与网关进行通信的通信协议将所述第一运算结果插入所述原始数据包以获得加固数据包的步骤包括:
将所述第一运算结果插入到所述原始数据包中的cookie或新增的cookie中。
4.根据权利要求1所述的方法,其特征在于,在所述发送所述加固数据包至所述网关的步骤之前还包括:
接收网关发送的第二验证数据;
根据第三预设算法对所述第二验证数据进行运算得到第三运算结果;
将所述第三运算结果插入到所述加固数据包中,以使得所述网关根据所述第三运算结果对所述加固数据包进行验证。
5.一种数据安全传输的方法,其特征在于,包括:
接收终端发送的加固数据包;
根据与终端进行通信的通信协议提取所述加固数据包中的验证数据,将所述验证数据从所述加固数据包中删除得到原始数据包;
根据与终端相应的第二预设算法对所述原始数据包进行运算得到第二运算结果;
根据所述验证数据和第二运算结果验证所述原始数据包,并根据验证结果执行对应的操作。
6.根据权利要求5所述的方法,其特征在于,所述根据与终端相应的第二预设算法对所述原始数据包进行运算得到第二运算结果的步骤为:
将所述原始数据包进行哈希计算得到哈希值。
7.根据权利要求5所述的方法,其特征在于,所述通信协议为HTTP协议,所述根据与终端进行通信的通信协议提取所述加固数据包中的验证数据,将所述验证数据从所述加固数据包中删除得到原始数据包的步骤包括:
从所述加固数据包的cookie中提取验证数据。
8.根据权利要求5所述的方法,其特征在于,在所述接收终端发送的加固数据包的步骤之前还包括:
发送第二验证数据至终端,使所述终端根据所述第二验证数据得到第三运算结果,并将所述第三运算结果插入到所述数据包中;
所述根据所述验证数据和第二运算结果验证所述原始数据包的步骤包括:
提取所述验证数据中的第一运算结果和第三运算结果;
将所述第一运算结果和第二运算结果进行对比验证所述原始数据包;
并根据所述第三运算结果和第二验证数据验证所述原始数据包。
9.一种数据安全传输的装置,其特征在于,包括:
第一运算模块,用于根据第一预设算法对原始数据包进行运算得到第一运算结果;
第一加固模块,用于根据与网关进行通信的通信协议将所述第一运算结果插入所述原始数据包,以获得加固数据包;
发送模块,用于发送所述加固数据包至所述网关,以使得所述网关根据与所述第一预设算法对应的第二预设算法对所述加固数据包进行验证。
10.一种数据安全传输的装置,其特征在于,包括:
接收模块,用于接收终端发送的加固数据包;
提取模块,用于根据与终端进行通信的通信协议提取所述加固数据包中的验证数据,将所述验证数据从所述加固数据包中删除得到原始数据包;
运算模块,用于根据与终端相应的第二预设算法对所述原始数据包进行运算得到第二运算结果;
验证模块,用于根据所述验证数据和第二运算结果验证所述原始数据包,并根据验证结果执行对应的操作。
CN201510374731.7A 2015-06-30 2015-06-30 数据安全传输的方法和装置 Active CN105049428B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510374731.7A CN105049428B (zh) 2015-06-30 2015-06-30 数据安全传输的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510374731.7A CN105049428B (zh) 2015-06-30 2015-06-30 数据安全传输的方法和装置

Publications (2)

Publication Number Publication Date
CN105049428A true CN105049428A (zh) 2015-11-11
CN105049428B CN105049428B (zh) 2019-08-20

Family

ID=54455639

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510374731.7A Active CN105049428B (zh) 2015-06-30 2015-06-30 数据安全传输的方法和装置

Country Status (1)

Country Link
CN (1) CN105049428B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388421A (zh) * 2017-12-29 2018-08-10 北京欧链科技有限公司 随机数的生成方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1830190A (zh) * 2003-07-29 2006-09-06 汤姆森特许公司 使用重定向控制对网络的接入
US20110099623A1 (en) * 2009-10-28 2011-04-28 Garrard Kenneth W System and method for providing unified transport and security protocols
CN102088465A (zh) * 2011-03-16 2011-06-08 中国科学院软件研究所 一种基于前置网关的HTTPCookie保护方法
CN102546179A (zh) * 2011-12-31 2012-07-04 珠海市君天电子科技有限公司 一种服务器端和客户端之间的身份验证方法
CN103973703A (zh) * 2014-05-23 2014-08-06 杭州智屏科技有限公司 一种用于应用程序和服务器之间交换数据安全的请求方法
CN104378327A (zh) * 2013-08-12 2015-02-25 深圳市腾讯计算机系统有限公司 网络攻击防护方法、装置及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1830190A (zh) * 2003-07-29 2006-09-06 汤姆森特许公司 使用重定向控制对网络的接入
US20110099623A1 (en) * 2009-10-28 2011-04-28 Garrard Kenneth W System and method for providing unified transport and security protocols
CN102088465A (zh) * 2011-03-16 2011-06-08 中国科学院软件研究所 一种基于前置网关的HTTPCookie保护方法
CN102546179A (zh) * 2011-12-31 2012-07-04 珠海市君天电子科技有限公司 一种服务器端和客户端之间的身份验证方法
CN104378327A (zh) * 2013-08-12 2015-02-25 深圳市腾讯计算机系统有限公司 网络攻击防护方法、装置及系统
CN103973703A (zh) * 2014-05-23 2014-08-06 杭州智屏科技有限公司 一种用于应用程序和服务器之间交换数据安全的请求方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108388421A (zh) * 2017-12-29 2018-08-10 北京欧链科技有限公司 随机数的生成方法和装置

Also Published As

Publication number Publication date
CN105049428B (zh) 2019-08-20

Similar Documents

Publication Publication Date Title
US11323451B2 (en) System, device, and method for detection of proxy server
CN102761533B (zh) 用于网络交易的使用者身份识别方法与系统
US9397999B2 (en) Methods, devices, and computer readable storage devices for sharing sensitive content securely
WO2018018697A1 (zh) 伪基站垃圾短信鉴别方法及系统
CN108322416B (zh) 一种安全认证实现方法、装置及系统
CN105554098A (zh) 一种设备配置方法、服务器及系统
EP4044546A1 (en) Message processing method, device and apparatus as well as computer readable storage medium
CN107046544A (zh) 一种识别对网站的非法访问请求的方法和装置
CN104410622A (zh) 登陆Web系统的安全认证方法、客户端及系统
CN103916400B (zh) 一种用户账号管理方法及系统
CN101388777B (zh) 一种通信系统中跨系统访问的第三方认证方法和系统
CN103024706A (zh) 基于手机短信的多因子双向动态身份认证装置和方法
US20130086187A1 (en) System and method for indicating valid sender
CN110474922B (zh) 一种通信方法、pc系统及接入控制路由器
CN103051598B (zh) 安全接入互联网业务的方法、用户设备和分组接入网关
US9544153B1 (en) Compression of cryptographic chaining certificates
WO2016008212A1 (zh) 一种终端及检测终端数据交互的安全性的方法、存储介质
CN104469757B (zh) 安全登录方法
CN107395580B (zh) 一种数据校验方法及装置
CN109495458A (zh) 一种数据传输的方法、系统及相关组件
CN105049428A (zh) 数据安全传输的方法和装置
CN106130979A (zh) 基于移动端app的服务器防御系统和服务器防御方法
KR20160109582A (ko) 이동통신단말기 메시지 서비스와 captcha 기반의 사용자인증시스템 및 사용자인증방법
JP2010250791A (ja) ウェブサーバとクライアントとの間の通信を監視するウェブ保安管理装置及び方法
CN104301285A (zh) 用于web系统的登录方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 518000 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong.

Applicant after: SINFOR Polytron Technologies Inc

Address before: 518000 the first floor of A1 building, Nanshan Zhiyuan 1001, Nanshan District Xue Yuan Avenue, Shenzhen, Guangdong.

Applicant before: Shenxinfu Electronics Science and Technology Co., Ltd., Shenzhen

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant