CN107770183B - 一种数据传输方法与装置 - Google Patents

一种数据传输方法与装置 Download PDF

Info

Publication number
CN107770183B
CN107770183B CN201711036965.6A CN201711036965A CN107770183B CN 107770183 B CN107770183 B CN 107770183B CN 201711036965 A CN201711036965 A CN 201711036965A CN 107770183 B CN107770183 B CN 107770183B
Authority
CN
China
Prior art keywords
user identity
identity data
data
message
random
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.)
Active
Application number
CN201711036965.6A
Other languages
English (en)
Other versions
CN107770183A (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.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies 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 New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN201711036965.6A priority Critical patent/CN107770183B/zh
Publication of CN107770183A publication Critical patent/CN107770183A/zh
Application granted granted Critical
Publication of CN107770183B publication Critical patent/CN107770183B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles

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)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种数据传输方法与装置,服务器接收业务报文,根据业务报文包括的源地址及目的地址,获取伪用户身份数据。服务器将伪用户身份数据替换业务报文中的原始用户身份数据,得到替换后的业务报文。服务器向客户端发送替换后的业务报文。可见,本方案中,传输中的报文所携带的并不是真正的用户身份数据,而是进行了替换后的伪用户身份数据,即使攻击者获取到了传输中的报文所携带的伪用户身份数据,也不能得到用户的私密信息,提高了用户身份数据传输过程的安全性。

Description

一种数据传输方法与装置
技术领域
本发明涉及通信技术领域,特别是涉及一种数据传输方法与装置。
背景技术
为了辨别用户身份、或者进行session(会话)跟踪,服务器通常会在客户端中存储用户身份数据。比如Cookie用户身份数据,有时也用其复数形式Cookies。用户身份数据中通常包括用户的私密数据,如果用户身份数据被非法获取,则会泄漏用户的私密数据。
目前,攻击者非法获取用户身份数据的手段有多种。比如,在客户端与服务器之间传输Cookie时,攻击者冒充合法用户截取传输中的Cookie;或者,冒充合法用户访问客户端中的Cookie文件,等等。
为了阻止攻击者非法获取用户身份数据,在现有方式中,大多通过在客户端中定期删除Cookie文件的方式,减少攻击者非法获取用户身份数据的概率。但是,应用这种方式,攻击者仍能够通过监听、截获客户端与服务器之间的通信报文,进而获取到客户端与服务器之间传输的用户身份数据,导致用户身份数据传输过程的安全性较低。
发明内容
本发明实施例的目的在于提供一种数据传输方法与装置,以提高用户身份数据传输过程的安全性。
为达到上述目的,在第一方面,本发明实施例提供一种数据传输方法,应用于服务器,所述方法包括:
接收业务报文,所述业务报文包括源地址及目的地址;
根据所述源地址及目的地址,获取伪用户身份数据;
将所述伪用户身份数据替换所述业务报文中的原始用户身份数据,得到替换后的业务报文;
向客户端发送所述替换后的业务报文。
结合第一方面,在第一种可能的实施方式中,所述根据所述源地址及目的地址,获取伪用户身份数据,可以包括:
在预先存储的服务器侧用户身份数据表项中,查找与所述源地址及目的地址对应的伪用户身份数据;
若查找到,读取查找到的伪用户身份数据;
若未查找到,生成第一随机数据;并利用预设的第一运算方式,对所述第一随机数据与所述业务报文中包括的用户身份数据进行运算处理,得到伪用户身份数据。
结合第一方面,在第二种可能的实施方式中,在所述利用预设的第一运算方式,对所述第一随机数据与所述业务报文中包括的用户身份数据进行运算处理,得到伪用户身份数据之后,还可以包括:
生成与所得到的伪用户身份数据对应的随机密钥,所述随机密钥用于标识接收所述业务报文的客户端;
向所述客户端发送所述伪用户身份数据及所生成的随机密钥,以使所述客户端将所述伪用户身份数据及所述随机密钥对应存储。
结合第一方面,在第三种可能的实施方式中,在所述向客户端发送所述替换后的业务报文之后,还可以包括:
接收客户端发送的待验证报文;
获取所述待验证报文中包括的伪用户身份数据、源地址、目的地址以及第二随机数据,所述第二随机数据为所述客户端在获取到与所述伪用户身份数据对应的随机密钥时随机生成;
在预先存储的服务器侧用户身份数据表项中,查找与所述待验证报文中包括的伪用户身份数据、源地址及目的地址相匹配的服务器侧用户身份数据表项;
若查找到,读取所述相匹配的服务器侧用户身份数据表项中的随机密钥;
利用预设的第二运算方式,对所述相匹配的服务器侧用户身份数据表项中的随机密钥与所述第二随机数据进行运算处理,得到第一运算结果;
判断所述第一运算结果与所述待验证报文中包括的第二运算结果是否相同,所述第二运算结果为所述客户端利用所述预设的第二运算方式,对存储的随机密钥与所述第二随机数据进行运算处理后得到的;
如果所述第一运算结果与所述第二运算结果相同,则确定所述待验证报文为合法报文。
结合第一方面,在第四种可能的实施方式中,在所述确定所述待验证报文为合法报文之后,还可以包括:
利用所述预设的第一运算方式对应的逆运算方式,对所述相匹配的服务器侧用户身份数据表项中的第一随机数据与所述合法报文中包括的伪用户身份数据进行运算处理,得到原始用户身份数据;
将所述原始用户身份数据替换所述合法报文中的伪用户身份数据,得到替换后的合法报文,并对所述替换后的合法报文进行处理。
为达到上述目的,在第二方面,本发明实施例还提供一种数据传输方法,应用于客户端,所述方法包括:
接收服务器发送的第一业务报文,所述第一业务报文包括伪用户身份数据;
在预先存储的客户端侧用户身份数据表项中,获取与所述伪用户身份数据对应的随机密钥;
生成第一随机数据,并利用预设的第一运算方式,对所述随机密钥与所述第一随机数据进行运算处理,得到第一运算结果;
向所述服务器发送第二业务报文,所述第二业务报文包括所述第一随机数据、所述第一运算结果及所述伪用户身份数据,以使所述服务器利用所述第一随机数据、所述第一运算结果及所述伪用户身份数据对所述第二业务报文的合法性进行验证。
结合第二方面,在第一种可能的实施方式中,在所述接收服务器发送的第一业务报文之前,还可以包括:
接收所述服务器发送的伪用户身份数据及对应的随机密钥,所述随机密钥用于标识所述客户端;
将接收到的伪用户身份数据及随机密钥对应存储为客户端侧用户身份数据表项。
为达到上述目的,在第三方面,本发明实施例还提供一种数据传输装置,应用于服务器,所述装置包括:
第一接收模块,用于接收业务报文,所述业务报文包括源地址及目的地址;
第一获取模块,用于根据所述源地址及目的地址,获取伪用户身份数据;
第一替换模块,用于将所述伪用户身份数据替换所述业务报文中的原始用户身份数据,得到替换后的业务报文;
第一发送模块,用于向客户端发送所述替换后的业务报文。
结合第三方面,在第一种可能的实施方式中,所述第一获取模块,包括:
查找子模块,用于在预先存储的服务器侧用户身份数据表项中,查找与所述源地址及目的地址对应的伪用户身份数据;若查找到,触发读取子模块,若未查找到,触发运算子模块;
读取子模块,用于读取查找到的伪用户身份数据;
运算子模块,用于生成第一随机数据;并利用预设的第一运算方式,对所述第一随机数据与所述业务报文中包括的用户身份数据进行运算处理,得到伪用户身份数据。
结合第三方面,在第二种可能的实施方式中,所述装置还包括:
生成模块,用于生成与所得到的伪用户身份数据对应的随机密钥,所述随机密钥用于标识接收所述业务报文的客户端;
第二发送模块,用于向所述客户端发送所述伪用户身份数据及所生成的随机密钥,以使所述客户端将所述伪用户身份数据及所述随机密钥对应存储。
结合第三方面,在第三种可能的实施方式中,所述装置还包括:
第二接收模块,用于接收客户端发送的待验证报文;
第二获取模块,用于获取所述待验证报文中包括的伪用户身份数据、源地址、目的地址以及第二随机数据,所述第二随机数据为所述客户端在获取到与所述伪用户身份数据对应的随机密钥时随机生成;
查找模块,用于在预先存储的服务器侧用户身份数据表项中,查找与所述待验证报文中包括的伪用户身份数据、源地址及目的地址相匹配的服务器侧用户身份数据表项;若查找到,触发读取模块;
读取模块,用于读取所述相匹配的服务器侧用户身份数据表项中的随机密钥;
第一运算模块,用于利用预设的第二运算方式,对所述相匹配的服务器侧用户身份数据表项中的随机密钥与所述第二随机数据进行运算处理,得到第一运算结果;
判断模块,用于判断所述第一运算结果与所述待验证报文中包括的第二运算结果是否相同,所述第二运算结果为所述客户端利用所述预设的第二运算方式,对存储的随机密钥与所述第二随机数据进行运算处理后得到的;如果相同,则确定所述待验证报文为合法报文。
结合第三方面,在第四种可能的实施方式中,所述装置还包括:
第二运算模块,用于在所述判断模块判断结果为是的情况下,利用所述预设的第一运算方式对应的逆运算方式,对所述相匹配的服务器侧用户身份数据表项中的第一随机数据与所述合法报文中包括的伪用户身份数据进行运算处理,得到原始用户身份数据;
第二替换模块,用于将所述原始用户身份数据替换所述合法报文中的伪用户身份数据,得到替换后的合法报文,并对所述替换后的合法报文进行处理。
为达到上述目的,在第四方面,本发明实施例还提供一种数据传输装置,应用于客户端,所述装置包括:
接收模块,用于接收服务器发送的第一业务报文,所述第一业务报文包括伪用户身份数据;
获取模块,用于在预先存储的客户端侧用户身份数据表项中,获取与所述伪用户身份数据对应的随机密钥;
运算模块,用于生成第一随机数据,并利用预设的第一运算方式,对所述随机密钥与所述第一随机数据进行运算处理,得到第一运算结果;
发送模块,用于向所述服务器发送第二业务报文,所述第二业务报文包括所述第一随机数据、所述第一运算结果及所述伪用户身份数据,以使所述服务器利用所述第一随机数据、所述第一运算结果及所述伪用户身份数据对所述第二业务报文的合法性进行验证。
结合第四方面,在第一种可能的实施方式中,所述接收模块还用于,接收所述服务器发送的伪用户身份数据及对应的随机密钥,所述随机密钥用于标识所述客户端;
所述装置还包括:
存储模块,用于将接收到的伪用户身份数据及随机密钥对应存储为客户端侧用户身份数据表项。
为达到上述目的,在第五方面,本发明实施例还提供一种服务器,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一种应用于服务器的数据传输方法。
为达到上述目的,在第六方面,本发明实施例还提供一种客户端,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一种应用于客户端的数据传输方法。
应用本发明实施例,服务器接收业务报文,根据业务报文包括的源地址及目的地址,获取伪用户身份数据。服务器将伪用户身份数据替换业务报文中的原始用户身份数据,得到替换后的业务报文。服务器向客户端发送替换后的业务报文。可见,本方案中,传输中的报文所携带的并不是真正的用户身份数据,而是进行了替换后的伪用户身份数据,即使攻击者获取到了传输中的报文所携带的伪用户身份数据,也不能得到用户的私密信息,提高了用户身份数据传输过程的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用于服务器的数据传输方法的流程示意图;
图2为本发明实施例提供的一种应用于客户端的数据传输方法的流程示意图;
图3为本发明实施例提供的一种应用场景示意图;
图4为本发明实施例提供的一种服务器与客户端交互信令示意图;
图5为本发明实施例提供的一种应用于服务器的数据传输装置的结构示意图;
图6为本发明实施例提供的一种应用于客户端的数据传输装置的结构示意图;
图7为本发明实施例提供的一种服务器的硬件结构示意图;
图8为本发明实施例提供的一种客户端的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述技术问题,本发明实施例提供了一种数据传输方法、装置、服务器及客户端。下面首先介绍应用于服务器的数据传输方法。
图1为本发明实施例提供的一种应用于服务器的数据传输方法的流程示意图,包括:
S101:接收业务报文,该业务报文包括源地址及目的地址。
具体来说,源地址可以包括源IP地址、源MAC地址,源端口等内容,类似的,目的地址也可以包括目的IP地址、目的MAC地址,目的端口等内容。源地址与目的地址中的内容可以不对称,比如源地址中包括源IP地址及源端口,而目的地址中仅包括目的IP,源地址及目的地址的具体内容不做限定。
业务报文中还包括原始用户身份数据,原始用户身份数据可以为Cookie,也可以为其他,具体不做限定。
可以理解的是,服务器在接收到业务报文后,识别业务报文是否携带了原始用户身份数据。如果业务报文携带了原始用户身份数据,则服务器执行后续步骤。如果业务报文未携带原始用户身份数据,则服务器直接将业务报文发送至客户端。
S102:根据该源地址及目的地址,获取伪用户身份数据。
作为一种实施方式,服务器中可以预先存储有用户身份数据表项,也就是服务器侧用户身份数据表项,或者,服务器侧用户身份数据表项也可以存储在其他设备中,具体不做限定。
每条服务器侧用户身份数据表项中包括源地址、目的地址及对应的伪用户身份数据。这样,服务器可以在该表项中查找业务报文中包括的源地址及目的地址对应的伪用户身份数据。
如果查找到,服务器读取查找到的伪用户身份数据;
如果未查找到,服务器生成第一随机数据,并利用预设的第一运算方式,对第一随机数据与业务报文中包括的用户身份数据进行运算处理,得到伪用户身份数据。同时,服务器将业务报文中包括的源地址、目的地址、以及所得到的伪用户身份数据对应存储为一个服务器侧用户身份数据表项。
举例来说,服务器可以确定业务报文中包括的用户身份数据的长度,然后,生成一个与该长度相等的第一随机数据。或者,服务器也可以先生成一个固定长度的随机数据,再将该随机数据拼接为该长度相等的第一随机数据。
比如,假设业务报文中包括的用户身份数据的长度为1000位。服务器可以先生成一个64位的随机数据,将用户身份数据的长度除以随机数据的长度,得到商以及余数,即1000/64=15……40。然后,服务器根据得到的商,将该64位的随机数据进行多次复制。根据上例,将随机数据复制15次。最后,服务器再该64位随机数据中的前40位与复制15次后的数据进行拼接,得到一个1000位的第一随机数据。
作为一种实施方式,预设的第一运算方式可以为异或运算,或者,也可以为同或运算,或者,也可以为相加运算,或者,也可以为其他运算,具体不做限定。下面以异或运算为例进行说明。
举例来说,计算机语言中,长度为1000位的用户身份数据每一位为0或1,长度为1000位的第一随机数据的每一位也为0或1,将用户身份数据的每一位与第一随机数据的相应位进行异或运算,得到伪用户身份数据。
作为一种实施方式,服务器得到伪用户身份数据后,生成一个与该伪用户身份数据对应的随机密钥。该随机密钥用于标识接收该业务报文的客户端,也就是目的客户端。
举例来说,该随机密钥可以为一个32位的随机数据。服务器将该伪用户身份数据及该随机密钥一并发给该目的客户端。该目的客户端将该伪用户身份数据及该随机密钥对应存储。
作为一种实施方式,服务器在生成伪用户身份数据后,生成服务器侧用户身份数据表项。或者,作为另一种实施方式,服务器判断在将该伪用户身份数据及该随机密钥一并发给该目的客户端的预设时间段之后,是否接收到该目的客户端发送的反馈信息;如果接收到客户端发送的反馈信息,则服务器再生成服务器侧用户身份数据表项。
其中,服务器生成服务器侧用户身份数据表项的具体过程包括:服务器将业务报文中包括的源地址、目的地址、所得到的伪用户身份数据、以及所生成的随机密钥对应存储为一个服务器侧用户身份数据表项。
或者,服务器还可将第一随机数据一同存储至服务器侧用户身份数据表项中。服务器生成服务器侧用户身份数据表项的具体过程包括:服务器将业务报文中包括的源地址、目的地址、所得到的伪用户身份数据、第一随机数据、以及所生成的随机密钥对应存储为一个服务器侧用户身份数据表项。
作为一种实施方式,可以计算所述业务报文中包括的源地址及目的地址的哈希值;以所述哈希值为索引,将所述业务报文中包括的源地址及目的地址、所得到的伪用户身份数据、以及所生成的随机密钥对应存储为一个服务器侧用户身份数据表项。
或者,以所述哈希值为索引,将所述业务报文中包括的源地址及目的地址、所得到的伪用户身份数据、所述第一随机数据、以及所生成的随机密钥对应存储为一个服务器侧用户身份数据表项。
本实施方式中,S102可以包括:计算业务报文中包括的源地址及目的地址的哈希值,在存储的索引中查找计算得到的哈希值,读取查找到的哈希值指向的表项中的伪用户身份数据。
S103:将该伪用户身份数据替换该业务报文中的原始用户身份数据,得到替换后的业务报文。
S104:向客户端发送该替换后的业务报文。
具体的,根据业务报文中的目的地址,向该业务报文的目的客户端发送该替换后的业务报文。
以用户身份数据为Cookie为例来说,服务器与客户端之间发送的报文中包括的并不是真正的Cookie,而是伪Cookie,即使攻击者获取到了发送的报文中的伪Cookie,也不能得到用户的私密数据,提高了用户身份数据传输过程的安全性。而且,本实施例中,没有采用加密认证的方式,减少了加密解密的过程,提高了设备处理效率。
可选地,上述实施方式中,还包括服务器生成所得到的伪用户身份数据对应的随机密钥,并将伪用户身份数据及所生成的随机密钥发送给客户端的步骤。
这样,客户端在接收到该伪用户身份数据及对应的随机密钥后,可将该伪用户身份数据及对应的随机密钥对应存储为一个客户端侧用户身份数据表项。另外,客户端还可在接收到该伪用户身份数据及对应的随机密钥后,向服务器发送反馈信息,服务器在接收到反馈信息后,存储服务器侧用户身份数据表项。
在本发明实施例中,还包括服务器接收客户端发送的待验证报文,并对待验证报文的合法性进行验证的步骤。通过该步骤,可以降低服务器受到非法报文攻击的概率。
具体地,客户端接收到服务器发送的替换后的业务报文后,获取业务报文中包括的伪用户身份数据。在预先存储的客户端用户身份数据表项中,客户端获得伪用户身份数据对应的随机密钥,并生成第二随机数据。利用预设的第二运算方式,客户端对随机密钥与第二随机数据进行运算处理,得到第二运算结果。客户端将第二随机数据及第二运算结果添加至所接收到的业务报文中,得到添加后的业务报文。客户端将添加后的业务报文发送至服务器。
举例来说,在本发明实施例中,第二随机数据为与随机密钥长度相等的随机数据。上述例子中,随机密钥为一个32位随机数据,则第二随机数据也为一个32位随机数据。预设的第二运算方式可以为异或运算,或者,也可以为同或运算,或者,也可以为相加运算,或者,也可以为其他运算,具体不做限定。下面以异或运算为例进行说明。
计算机语言中,第二随机数据及随机密钥的每一位为0或1。客户端将第二随机数据的每一位与随机密钥的相应位进行异或运算,得到第二运算结果。
举例来说,客户端在向业务报文添加第二随机数据及第二运算结果时,可以在所接收到的报文末尾先添加第二随机数据,再添加第二运算结果,得到添加后的业务报文,并将添加后的业务报文发送至服务器。
服务器接收客户端发送的业务报文,服务器需要对该业务报文的合法性进行验证,因此,将该业务报文称为待验证报文。
在一种实现方式中,服务器获取待验证报文中包括的伪用户身份数据、源地址、目的地址、第二随机数据。
上述例子中,客户端将32位的第二随机数据添加在了待验证报文的倒数64位至倒数33位。相应地,服务器在待验证报文的倒数64位至倒数33位中,获取到该第二随机数据。
服务器在预先存储的服务器侧用户身份数据表项中,查找与待验证报文中包括的伪用户身份数据、源地址及目的地址相匹配的服务器侧用户身份数据表项。
上述查找过程具体为:服务器将待验证报文中包括的伪用户身份数据与服务器侧用户身份数据表项中的伪用户身份数据进行匹配;将待验证报文中包括的源地址与服务器侧用户身份数据表项中的目的地址进行匹配,将待验证报文中包括的目的地址与服务器侧用户身份数据表项中的源地址进行匹配。
如果上述各项匹配不成功,或者说未查找到与待验证报文中包括的伪用户身份数据、源地址及目的地址相匹配的服务器侧用户身份数据表项,则表示发送待验证报文的客户端为非法客户端,服务器将该待验证报文丢弃。
在一些场景中,如果攻击者使用的客户端访问本服务器,攻击者使用的客户端向服务器发送报文,服务器将该报文作为待验证报文,在预先存储的服务器侧用户身份数据表项中,查找与该待验证报文相匹配的服务器侧用户身份数据表项,而由于表项中的目的地址与攻击者使用的客户端的地址不匹配,服务器将攻击者发送的报文丢弃,降低了服务器受到非法报文攻击的概率。
在另一些场景中,如果攻击者窃取了合法客户端的地址,使用合法客户端的地址访问本服务器,服务器将攻击者发送的报文作为待验证报文,在预先存储的服务器侧用户身份数据表项中,查找与该待验证报文相匹配的服务器侧用户身份数据表项,这种场景中,表项中的目的地址与攻击者使用的客户端的地址相匹配,但攻击者并不能获取到伪用户身份数据,这样仍不存在相匹配的服务器侧用户身份数据表项,服务器将攻击者发送的报文丢弃,降低了服务器受到非法报文攻击的概率。
可以理解的是,服务器侧用户身份数据表项中还包括了随机密钥。如果上述各项匹配成功,则服务器读取相匹配的服务器侧用户身份数据表项中的随机密钥。
或者,在另一种实现方式中,服务器接收客户端发送的待验证报文后,也可以仅获取待验证报文中包括的伪用户身份数据、源地址及目的地址。在查找到待验证报文中包括的伪用户身份数据、源地址及目的地址相匹配的服务器侧用户身份数据表项后,服务器再获取待验证报文中包括的第二随机数据。
服务器利用预设的第二运算方式,对相匹配的服务器侧用户身份数据表项中的随机密钥与上述第二随机数据进行运算处理,得到第一运算结果。延续上述例子,预设的第二运算方式为异或运算。服务器将相匹配的服务器侧用户身份数据表项中的随机密钥与待验证报文中的第二随机数据进行异或运算,得到第一运算结果。
服务器判断第一运算结果与待验证报文中包括的第二运算结果是否相同。上述例子中,客户端将32位的第二运算结果添加在了待验证报文的倒数32位至倒数1位。相应地,服务器在待验证报文的倒数32位至倒数1位中,获取到该第二运算结果。
如果第一运算结果与第二运算结果相同,则服务器确定该待验证报文为合法报文,如果不同,表示该待验证报文是非法的,可以将其丢弃。
可选地,在本发明实施例中,还包括服务器将合法报文中的伪用户身份数据进行还原的步骤。通过该步骤,服务器进而对进行还原处理后的合法报文进行后续处理。
作为一种实施方式,如果确定该待验证报文为合法报文,则服务器利用预设的第一运算方式对应的逆运算方式,对相匹配的服务器侧用户身份数据表项中的第一随机数据与待验证报文中包括的伪用户身份数据进行运算处理,得到原始用户身份数据;将原始用户身份数据替换该合法报文中的伪用户身份数据,得到替换后的合法报文,并对替换后的合法报文进行处理。
上述例子中,第一运算方式为异或运算,异或运算的逆运算仍为异或运算;如果第一运算方式为同或运算,同或运算的逆运算仍为同或运算;如果第一运算方式为加运算,加运算的逆运算为减运算,等等,不再赘述。
由于伪用户身份数据是第一随机数据与用户身份数据通过第一运算方式得到,因此,通过第一运算方式的逆运算方式,服务器再次对第一随机数据与待验证报文中包括的伪用户身份数据进行运算处理,即可得到原始用户身份数据。
上述一种实施方式中,服务器可将第一随机数据存储在服务器侧用户身份数据表项中,这样,便可以在上述相匹配的服务器侧用户身份数据表项中获得第一随机数据。
仍以Cookie为例来说,将原Cookie替换合法报文中的伪Cookie,便可以利用现有处理包括Cookie的报文的方式,对替换后的合法报文进行处理。
应用本实施方式,第一方面,如果攻击者使用的客户端向服务器发送报文,或者,攻击者冒充合法客户端向服务器发送报文,在预先存储的服务器侧用户身份数据表项中,都不存在相匹配的服务器侧用户身份数据表项,服务器将攻击者发送的报文丢弃,降低了服务器受到非法报文攻击的概率。第二方面,服务器发送给客户端的报文中并不包括随机密钥,即使攻击者截获了报文,仍不能获取到随机密钥,这样,攻击者发送的报文中包括的第二运算结果与服务器运算得到的第一运算结果不同,本服务器仍将攻击者发送的报文丢弃,进一步提高了传输过程的安全性。
相对应的,本发明实施例还提供一种应用于客户端的数据传输方法,如图2所示,包括:
S201:接收服务器发送的第一业务报文,该第一业务报文包括伪用户身份数据。
S202:在预先存储的客户端侧用户身份数据表项中,获取与该伪用户身份数据对应的随机密钥。
S203:生成第一随机数据,并利用预设的第一运算方式,对该随机密钥与该第一随机数据进行运算处理,得到第一运算结果。
需要说明的是,图2实施例中的第一随机数据与图1实施例中的第二随机数据一致,图2实施例中的第一运算方式与图1实施例中的第二运算方式一致,图2实施例中的第一运算结果与图1实施例中的第二运算结果一致。
S204:向该服务器发送第二业务报文,该第二业务报文包括该第一随机数据、该第一运算结果及该伪用户身份数据。
服务器接收到第二业务报文后,利用该第一随机数据、该第一运算结果及该伪用户身份数据对第二业务报文的合法性进行验证。
作为一种实施方式,客户端可以将所述第一随机数据及所述第一运算结果添加至所接收到的第一业务报文中,得到第二业务报文。或者,作为另一种实施方式,客户端也可以直接将第一随机数据、第一运算结果及伪用户身份数据进行封装得到第二业务报文,具体不做限定。
可选地,作为一种实施方式,在执行步骤S201之前,客户端还执行接收服务器发送的伪用户身份数据及对应的随机密钥,并将接收到的信息进行存储的步骤
具体地,客户端接收服务器发送的伪用户身份数据及对应的随机密钥。服务器将所接收到的伪用户身份数据及随机密钥对应存储为一个客户端侧用户身份数据表项。
可以理解的是,服务器对第二业务报文的合法性验证的过程与图1实施例中服务器对待验证报文的合法性进行验证的过程相同,在此不再复述。
应用本发明图2所示实施例,客户端并未接收到原始Cookie,也就是真正的Cookie,客户端中存储的Cookie文件中包含的也并不是真正的Cookie,即使攻击者获取到了客户端中存储的Cookie文件,也不能获取到真正的Cookie,可见,提高了数据安全性。
下面提供一个具体的实施方式,如图3所示,可以在客户端中安装认证插件,或者其他认证程序,具体不做限定。在服务器中安装Cookie防护器,该防护器可以为插件、软件或者其他程序,具体不做限定。当然,在实际应用中,认证插件、Cookie防护器还可安装在其他与客户端、服务器通信的网络设备中。
结合图3并参考图4所示,服务器(英文:Http Server)与客户端(英文:User)的交互过程可以包括:
Cookie防护器接收到服务器要发送给客户端的业务报文。
Cookie防护器根据业务报文包括的源地址及目的地址,获取伪Cookie。具体的:Cookie防护器生成第一随机数据,读取业务报文中包括的Cookie,并对第一随机数据与业务报文中包括的Cookie进行异或运算,得到伪Cookie。
Cookie防护器生成所得到的伪Cookie对应的随机密钥,将该伪Cookie及所生成的随机密钥发送给客户端,该客户端为业务报文所要发往的客户端。
Cookie防护器判断是否在预设时间段内接收到该客户端的反馈信息;如果是,将该业务报文中包括的源地址及目的地址、所得到的伪Cookie、第一随机数据、以及所生成的随机密钥对应存储为一个服务器侧用户身份数据表项。
如果否,表示该客户端可能未安装认证插件,这种情况下,不执行表项存储的步骤。或者,还可以将该业务报文丢弃,不再执行后续步骤。
举例来说,可以将服务器侧用户身份数据表项存储为哈希(英文:Hash)索引表。具体的,可以定义一个数据结构ItemArray[i]。将业务报文中的源IP、源端口、目的IP作为一个三元组,计算该三元组的哈希值,将该哈希值作为ItemArray的下标值i,也就是i=hashFunc(源IP,源端口,目的IP)。
ItemArray[i]的内容为一个指针ItemPtr,该指针指向一个三元组表项列表,三元组表项列表中的三元组表项如下:
三元组 right cookie Next
其中,三元组中记录上述源IP、目的IP、源端口;right表示链表指针,指向下一个三元组表项,cookie Next为一个指向cookie表项列表的指针,其指向的cookie表项如下:
maskCookie XorCoRandom user_seckey
其中,maskCookie表示伪Cookie,XorCoRandom表示第一随机数据,user_seckey表示随机密钥。
或者,cookie表项中还可以包括老化时间(英文:AgingTime),如下所示:
maskCookie XorCoRandom user_seckey AgingTime
该老化时间的值可以由用户设定,该老化时间可以随时间递减,当AgingTime==0时,删除该cookie表项。
合法且安装了认证插件的客户端接收到服务器发送的伪Cookie及对应的随机密钥后,向服务器发送反馈信息,并将该伪Cookie及随机密钥对应存储为一个客户端侧用户身份数据表项。
可以理解的是,Cookie防护器得到伪Cookie后,将伪Cookie替换业务报文中的原始Cookie,得到替换后的业务报文。Cookie防护器将替换后的业务报文发送给客户端。
客户端接收到服务器发送的该替换后的业务报文,客户端认证插件获取该报文中包括的伪Cookie,在存储的客户端侧用户身份数据表项中,获得该伪Cookie对应的随机密钥。
客户端认证插件生成第二随机数据,对随机密钥与第二随机数据进行异或运算,得到第二运算结果。客户端认证插件将第二随机数据及第二运算结果添加至所接收到的报文中,得到添加后的业务报文,并将添加后的业务报文发送至服务器。
Cookie防护器接收到该添加后的业务报文,将其作为待验证报文。Cookie防护器获取待验证报文中包括的伪Cookie、源地址及目的地址、第二随机数据。Cookie防护器在预先存储的服务器侧用户身份数据表项中,查找与待验证报文中包括的伪Cookie、源地址及目的地址相匹配的服务器侧用户身份数据表项。
具体的,Cookie防护器将待验证报文中包括的伪Cookie与服务器侧用户身份数据表项中的伪Cookie进行匹配,将待验证报文中包括的源地址与服务器侧用户身份数据表项中的目的地址进行匹配,将待验证报文中包括的目的地址与服务器侧用户身份数据表项中的源地址进行匹配。
若查找到,读取相匹配的服务器侧用户身份数据表项中的随机密钥;若未查找到,将该待验证报文丢弃,并不再执行后续步骤。
Cookie防护器对相匹配的服务器侧用户身份数据表项中的随机密钥与第二随机数据进行异或运算,得到第一运算结果。Cookie防护器判断第一运算结果与待验证报文中包括的第二运算结果是否相同。如果相同,Cookie防护器确定待验证报文为合法报文。如果不同,表示待验证报文非法,Cookie防护器将该待验证报文丢弃,并不再执行后续步骤。
Cookie防护器对相匹配的服务器侧用户身份数据表项中的第一随机数据与合法报文中包括的伪Cookie进行异或运算,得到原始Cookie。Cookie防护器将原始Cookie替换合法报文中的伪Cookie,得到替换后的合法报文。Cookie防护器将替换后的合法报文发送给服务器的其他模块进行处理。
需要说明的是,如果Cookie防护器接收到业务报文后,Cookie防护器在预先存储的服务器侧用户身份数据表项中查找到该源地址及目的地址对应的伪Cookie;这种情况下,Cookie防护器直接执行将业务报文中的Cookie替换为伪Cookie及后续步骤。
应用本实施方式,第一方面,客户端与服务器之间传输的报文不再携带真正的Cookie,而是携带伪Cookie。即使攻击者获取到了报文中的伪Cookie,也不能真正得到用户的私密数据,进而提高了Cookie传输过程的安全性。
第二方面,如果攻击者使用的客户端向服务器发送报文,或者,攻击者冒充合法客户端向服务器发送报文,在预先存储的服务器侧用户身份数据表项中,都不存在相匹配的服务器侧用户身份数据表项,服务器将攻击者发送的报文丢弃,降低了服务器受到非法报文攻击的概率。
第三方面,服务器发送给客户端的报文中并不包括随机密钥,即使攻击者截获了报文,仍不能获取到随机密钥。这样,攻击者发送的报文中包括的第二运算结果与服务器运算得到的第一运算结果不同,本服务器仍将击者发送的报文丢弃,进一步提高了传输过程的安全性。
与上述方法实施例相对应,本发明实施例还提供一种应用于服务器的数据传输装置,如图5所示,所述装置包括:
第一接收模块501,用于接收业务报文,所述业务报文包括源地址及目的地址;
第一获取模块502,用于根据所述源地址及目的地址,获取伪用户身份数据;
第一替换模块503,用于将所述伪用户身份数据替换所述业务报文中的原始用户身份数据,得到替换后的业务报文;
第一发送模块504,用于向客户端发送所述替换后的业务报文。
作为一种实施方式,第一获取模块502,可以包括:查找子模块、读取子模块和运算子模块(图中未示出),其中,
查找子模块,用于在预先存储的服务器侧用户身份数据表项中,查找与所述源地址及目的地址对应的伪用户身份数据;若查找到,触发读取子模块,若未查找到,触发运算子模块;
读取子模块,用于读取查找到的伪用户身份数据;
运算子模块,用于生成第一随机数据;并利用预设的第一运算方式,对所述第一随机数据与所述业务报文中包括的用户身份数据进行运算处理,得到伪用户身份数据。
作为一种实施方式,所述装置还可以包括:生成模块和第二发送模块(图中未示出),其中,
生成模块,用于生成与所得到的伪用户身份数据对应的随机密钥,所述随机密钥用于标识接收所述业务报文的客户端;
第二发送模块,用于向所述客户端发送所述伪用户身份数据及所生成的随机密钥,以使所述客户端将所述伪用户身份数据及所述随机密钥对应存储。
作为一种实施方式,所述装置还可以包括:第二接收模块、第二获取模块、查找模块、读取模块、第一运算模块和判断模块(图中未示出),其中,
第二接收模块,用于接收客户端发送的待验证报文;
第二获取模块,用于获取所述待验证报文中包括的伪用户身份数据、源地址、目的地址以及第二随机数据,所述第二随机数据为所述客户端在获取到与所述伪用户身份数据对应的随机密钥时随机生成;
查找模块,用于在预先存储的服务器侧用户身份数据表项中,查找与所述待验证报文中包括的伪用户身份数据、源地址及目的地址相匹配的服务器侧用户身份数据表项;若查找到,触发读取模块;
读取模块,用于读取所述相匹配的服务器侧用户身份数据表项中的随机密钥;
第一运算模块,用于利用预设的第二运算方式,对所述相匹配的服务器侧用户身份数据表项中的随机密钥与所述第二随机数据进行运算处理,得到第一运算结果;
判断模块,用于判断所述第一运算结果与所述待验证报文中包括的第二运算结果是否相同,所述第二运算结果为所述客户端利用所述预设的第二运算方式,对存储的随机密钥与所述第二随机数据进行运算处理后得到的;如果相同,则确定所述待验证报文为合法报文。
作为一种实施方式,所述装置还可以包括:第二运算模块和第二替换模块(图中未示出),其中,
第二运算模块,用于在所述判断模块判断结果为是的情况下,利用所述预设的第一运算方式对应的逆运算方式,对所述相匹配的服务器侧用户身份数据表项中的第一随机数据与所述合法报文中包括的伪用户身份数据进行运算处理,得到原始用户身份数据;
第二替换模块,用于将所述原始用户身份数据替换所述合法报文中的伪用户身份数据,得到替换后的合法报文,并对所述替换后的合法报文进行处理。
应用本发明图5所示实施例,服务器接收业务报文,根据业务报文包括的源地址及目的地址,获取伪用户身份数据。服务器将伪用户身份数据替换业务报文中的原始用户身份数据,得到替换后的业务报文。服务器向客户端发送替换后的业务报文。可见,本方案中,传输中的报文所携带的并不是真正的用户身份数据,而是进行了替换后的伪用户身份数据,即使攻击者获取到了传输中的报文所携带的伪用户身份数据,也不能得到用户的私密信息,提高了用户身份数据传输过程的安全性。
本发明实施例还提供一种应用于客户端的数据传输装置,如图6所示,所述装置包括:
接收模块601,用于接收服务器发送的第一业务报文,所述第一业务报文包括伪用户身份数据;
获取模块602,用于在预先存储的客户端侧用户身份数据表项中,获取与所述伪用户身份数据对应的随机密钥;
运算模块603,用于生成第一随机数据,并利用预设的第一运算方式,对所述随机密钥与所述第一随机数据进行运算处理,得到第一运算结果;
发送模块604,用于向所述服务器发送第二业务报文,所述第二业务报文包括所述第一随机数据、所述第一运算结果及所述伪用户身份数据,以使所述服务器利用所述第一随机数据、所述第一运算结果及所述伪用户身份数据对所述第二业务报文的合法性进行验证。
作为一种实施方式,接收模块601还用于,接收所述服务器发送的伪用户身份数据及对应的随机密钥,所述随机密钥用于标识所述客户端;
所述装置还可以包括:
存储模块(图中未示出),用于将接收到的伪用户身份数据及随机密钥对应存储为客户端侧用户身份数据表项。
应用本发明图6所示实施例,客户端并未接收到原始Cookie,也就是真正的Cookie,客户端中存储的Cookie文件中包含的也并不是真正的Cookie,即使攻击者获取到了客户端中存储的Cookie文件,也不能获取到真正的Cookie,可见,提高了数据安全性。
本发明实施例还提供了一种服务器,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现上述任一种应用于服务器的数据传输方法。
上述服务器提到的通信总线可以是外设部件互连标准(英文:PeripheralComponent Interconnect,简称:PCI)总线或扩展工业标准结构(英文:Extended IndustryStandard Architecture,简称:EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述服务器与其他设备之间的通信。
存储器可以包括随机存取存储器(英文:Random Access Memory,简称:RAM),也可以包括非易失性存储器(英文:Non-Volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processing,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种客户端,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现上述任一种应用于客户端的数据传输方法。
上述客户端提到的通信总线可以是外设部件互连标准(英文:PeripheralComponent Interconnect,简称:PCI)总线或扩展工业标准结构(英文:Extended IndustryStandard Architecture,简称:EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述客户端与其他设备之间的通信。
存储器可以包括随机存取存储器(英文:Random Access Memory,简称:RAM),也可以包括非易失性存储器(英文:Non-Volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processing,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了第一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种应用于服务器的数据传输方法。
本发明实施例还提供了第二种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种应用于客户端的数据传输方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包括”或者其任何其他变体意在涵盖非排他性的包括,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图5所示的数据传输装置实施例、图7所示的服务器实施例、以及上述第一种计算机可读存储介质实施例而言,由于其基本相似于图1所示的数据传输方法实施例,所以描述的比较简单,相关之处参见图1所示的数据传输方法实施例的部分说明即可;对于图6所示的数据传输装置实施例、图8所示的客户端实施例、以及上述第二种计算机可读存储介质实施例而言,由于其基本相似于图2所示的数据传输方法实施例,所以描述的比较简单,相关之处参见图2所示的数据传输方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包括在本发明的保护范围内。

Claims (14)

1.一种数据传输方法,其特征在于,应用于服务器,所述方法包括:
接收业务报文,所述业务报文包括源地址及目的地址;
根据所述源地址及目的地址,获取伪用户身份数据;
将所述伪用户身份数据替换所述业务报文中的原始用户身份数据,得到替换后的业务报文;
向客户端发送所述替换后的业务报文,以使所述客户端接收到服务器发送的所述替换后的业务报文后,获取所述替换后的业务报文中包括的所述伪用户身份数据,在预先存储的客户端用户身份数据表项中,获得所述伪用户身份数据对应的随机密钥,并生成第二随机数据,利用预设的第二运算方式,对所述随机密钥与所述第二随机数据进行运算处理,得到第二运算结果,将所述第二随机数据及第二运算结果添加至所接收到的业务报文中,得到添加后的业务报文,将所述添加后的业务报文发送至所述服务器;
对所述添加后的业务报文的合法性进行验证。
2.根据权利要求1所述的方法,其特征在于,所述根据所述源地址及目的地址,获取伪用户身份数据,包括:
在预先存储的服务器侧用户身份数据表项中,查找与所述源地址及目的地址对应的伪用户身份数据;
若查找到,读取查找到的伪用户身份数据;
若未查找到,生成第一随机数据;并利用预设的第一运算方式,对所述第一随机数据与所述业务报文中包括的用户身份数据进行运算处理,得到伪用户身份数据。
3.根据权利要求2所述的方法,其特征在于,在所述利用预设的第一运算方式,对所述第一随机数据与所述业务报文中包括的用户身份数据进行运算处理,得到伪用户身份数据之后,还包括:
生成与所得到的伪用户身份数据对应的随机密钥,所述随机密钥用于标识接收所述业务报文的客户端;
向所述客户端发送所述伪用户身份数据及所生成的随机密钥,以使所述客户端将所述伪用户身份数据及所述随机密钥对应存储。
4.根据权利要求3所述的方法,其特征在于,在所述向客户端发送所述替换后的业务报文之后,还包括:
接收客户端发送的待验证报文,所述待验证报文为所述添加后的业务报文;
获取所述待验证报文中包括的伪用户身份数据、源地址、目的地址以及第二随机数据,所述第二随机数据为所述客户端在获取到与所述伪用户身份数据对应的随机密钥时随机生成;
在预先存储的服务器侧用户身份数据表项中,查找与所述待验证报文中包括的伪用户身份数据、源地址及目的地址相匹配的服务器侧用户身份数据表项;
若查找到,读取所述相匹配的服务器侧用户身份数据表项中的随机密钥;
利用预设的第二运算方式,对所述相匹配的服务器侧用户身份数据表项中的随机密钥与所述第二随机数据进行运算处理,得到第一运算结果;
所述对所述添加后的业务报文的合法性进行验证进行认证,包括:判断所述第一运算结果与所述待验证报文中包括的第二运算结果是否相同,所述第二运算结果为所述客户端利用所述预设的第二运算方式,对存储的随机密钥与所述第二随机数据进行运算处理后得到的;如果所述第一运算结果与所述第二运算结果相同,则确定所述待验证报文为合法报文。
5.根据权利要求4所述的方法,其特征在于,在所述确定所述待验证报文为合法报文之后,还包括:
利用所述预设的第一运算方式对应的逆运算方式,对所述相匹配的服务器侧用户身份数据表项中的第一随机数据与所述合法报文中包括的伪用户身份数据进行运算处理,得到原始用户身份数据;
将所述原始用户身份数据替换所述合法报文中的伪用户身份数据,得到替换后的合法报文,并对所述替换后的合法报文进行处理。
6.一种数据传输方法,其特征在于,应用于客户端,所述方法包括:
接收服务器发送的第一业务报文,所述第一业务报文包括伪用户身份数据;
在预先存储的客户端侧用户身份数据表项中,获取与所述伪用户身份数据对应的随机密钥;
生成第一随机数据,并利用预设的第一运算方式,对所述随机密钥与所述第一随机数据进行运算处理,得到第一运算结果;
向所述服务器发送第二业务报文,所述第二业务报文包括所述第一随机数据、所述第一运算结果及所述伪用户身份数据,以使所述服务器利用所述第一随机数据、所述第一运算结果及所述伪用户身份数据对所述第二业务报文的合法性进行验证。
7.根据权利要求6所述的方法,其特征在于,在所述接收服务器发送的第一业务报文之前,还包括:
接收所述服务器发送的伪用户身份数据及对应的随机密钥,所述随机密钥用于标识所述客户端;
将接收到的伪用户身份数据及随机密钥对应存储为客户端侧用户身份数据表项。
8.一种数据传输装置,其特征在于,应用于服务器,所述装置包括:
第一接收模块,用于接收业务报文,所述业务报文包括源地址及目的地址;
第一获取模块,用于根据所述源地址及目的地址,获取伪用户身份数据;
第一替换模块,用于将所述伪用户身份数据替换所述业务报文中的原始用户身份数据,得到替换后的业务报文;
第一发送模块,用于向客户端发送所述替换后的业务报文,以使所述客户端接收到服务器发送的所述替换后的业务报文后,获取所述替换后的业务报文中包括的所述伪用户身份数据,在预先存储的客户端用户身份数据表项中,获得所述伪用户身份数据对应的随机密钥,并生成第二随机数据,利用预设的第二运算方式,对所述随机密钥与所述第二随机数据进行运算处理,得到第二运算结果,将所述第二随机数据及第二运算结果添加至所接收到的业务报文中,得到添加后的业务报文,将所述添加后的业务报文发送至所述服务器;
判断模块,用于对所述添加后的业务报文的合法性进行验证。
9.根据权利要求8所述的装置,其特征在于,所述第一获取模块,包括:
查找子模块,用于在预先存储的服务器侧用户身份数据表项中,查找与所述源地址及目的地址对应的伪用户身份数据;若查找到,触发读取子模块,若未查找到,触发运算子模块;
读取子模块,用于读取查找到的伪用户身份数据;
运算子模块,用于生成第一随机数据;并利用预设的第一运算方式,对所述第一随机数据与所述业务报文中包括的用户身份数据进行运算处理,得到伪用户身份数据。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
生成模块,用于生成与所得到的伪用户身份数据对应的随机密钥,所述随机密钥用于标识接收所述业务报文的客户端;
第二发送模块,用于向所述客户端发送所述伪用户身份数据及所生成的随机密钥,以使所述客户端将所述伪用户身份数据及所述随机密钥对应存储。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收客户端发送的待验证报文,所述待验证报文为所述添加后的业务报文;
第二获取模块,用于获取所述待验证报文中包括的伪用户身份数据、源地址、目的地址以及第二随机数据,所述第二随机数据为所述客户端在获取到与所述伪用户身份数据对应的随机密钥时随机生成;
查找模块,用于在预先存储的服务器侧用户身份数据表项中,查找与所述待验证报文中包括的伪用户身份数据、源地址及目的地址相匹配的服务器侧用户身份数据表项;若查找到,触发读取模块;
读取模块,用于读取所述相匹配的服务器侧用户身份数据表项中的随机密钥;
第一运算模块,用于利用预设的第二运算方式,对所述相匹配的服务器侧用户身份数据表项中的随机密钥与所述第二随机数据进行运算处理,得到第一运算结果;
所述判断模块,具体用于判断所述第一运算结果与所述待验证报文中包括的第二运算结果是否相同,所述第二运算结果为所述客户端利用所述预设的第二运算方式,对存储的随机密钥与所述第二随机数据进行运算处理后得到的;如果相同,则确定所述待验证报文为合法报文。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二运算模块,用于在所述判断模块判断结果为是的情况下,利用所述预设的第一运算方式对应的逆运算方式,对所述相匹配的服务器侧用户身份数据表项中的第一随机数据与所述合法报文中包括的伪用户身份数据进行运算处理,得到原始用户身份数据;
第二替换模块,用于将所述原始用户身份数据替换所述合法报文中的伪用户身份数据,得到替换后的合法报文,并对所述替换后的合法报文进行处理。
13.一种数据传输装置,其特征在于,应用于客户端,所述装置包括:
接收模块,用于接收服务器发送的第一业务报文,所述第一业务报文包括伪用户身份数据;
获取模块,用于在预先存储的客户端侧用户身份数据表项中,获取与所述伪用户身份数据对应的随机密钥;
运算模块,用于生成第一随机数据,并利用预设的第一运算方式,对所述随机密钥与所述第一随机数据进行运算处理,得到第一运算结果;
发送模块,用于向所述服务器发送第二业务报文,所述第二业务报文包括所述第一随机数据、所述第一运算结果及所述伪用户身份数据,以使所述服务器利用所述第一随机数据、所述第一运算结果及所述伪用户身份数据对所述第二业务报文的合法性进行验证。
14.根据权利要求13所述的装置,其特征在于,所述接收模块还用于,接收所述服务器发送的伪用户身份数据及对应的随机密钥,所述随机密钥用于标识所述客户端;
所述装置还包括:
存储模块,用于将接收到的伪用户身份数据及随机密钥对应存储为客户端侧用户身份数据表项。
CN201711036965.6A 2017-10-30 2017-10-30 一种数据传输方法与装置 Active CN107770183B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711036965.6A CN107770183B (zh) 2017-10-30 2017-10-30 一种数据传输方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711036965.6A CN107770183B (zh) 2017-10-30 2017-10-30 一种数据传输方法与装置

Publications (2)

Publication Number Publication Date
CN107770183A CN107770183A (zh) 2018-03-06
CN107770183B true CN107770183B (zh) 2020-11-20

Family

ID=61270978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711036965.6A Active CN107770183B (zh) 2017-10-30 2017-10-30 一种数据传输方法与装置

Country Status (1)

Country Link
CN (1) CN107770183B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109067791B (zh) * 2018-09-25 2020-05-12 阿里巴巴集团控股有限公司 网络中用户身份认证方法和装置
CN111767542A (zh) * 2020-02-06 2020-10-13 北京沃东天骏信息技术有限公司 一种越权检测方法和装置
CN112637175B (zh) * 2020-12-17 2021-08-20 山东云天安全技术有限公司 一种用于工业物联网的防御方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101426029A (zh) * 2007-10-31 2009-05-06 中国人民解放军信息工程大学 一种网络标识用户的方法及其系统
CN103023856A (zh) * 2011-09-20 2013-04-03 中兴通讯股份有限公司 单点登录的方法、系统和信息处理方法、系统
CN103236927A (zh) * 2013-04-16 2013-08-07 中国科学技术大学 一种基于动态身份标识的认证方法及系统
CN103297963A (zh) * 2013-05-10 2013-09-11 无锡北邮感知技术产业研究院有限公司 基于无证书的m2m隐私保护和密钥管理的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9544075B2 (en) * 2012-02-22 2017-01-10 Qualcomm Incorporated Platform for wireless identity transmitter and system using short range wireless broadcast

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101426029A (zh) * 2007-10-31 2009-05-06 中国人民解放军信息工程大学 一种网络标识用户的方法及其系统
CN103023856A (zh) * 2011-09-20 2013-04-03 中兴通讯股份有限公司 单点登录的方法、系统和信息处理方法、系统
CN103236927A (zh) * 2013-04-16 2013-08-07 中国科学技术大学 一种基于动态身份标识的认证方法及系统
CN103297963A (zh) * 2013-05-10 2013-09-11 无锡北邮感知技术产业研究院有限公司 基于无证书的m2m隐私保护和密钥管理的方法和系统

Also Published As

Publication number Publication date
CN107770183A (zh) 2018-03-06

Similar Documents

Publication Publication Date Title
CN107612895B (zh) 一种互联网防攻击方法及认证服务器
CN106534160B (zh) 基于区块链的身份认证方法及系统
CN108023874B (zh) 单点登录的校验装置、方法及计算机可读存储介质
CN109309685B (zh) 信息传输方法和装置
CN107046544B (zh) 一种识别对网站的非法访问请求的方法和装置
CN107979615B (zh) 报文加密发送、认证方法、装置、客户端及防火墙
CN112788036B (zh) 身份验证方法及装置
CN111817845B (zh) 反爬虫方法及计算机存储介质
CN110995446B (zh) 证据验证方法、装置、服务器及存储介质
CN110071937B (zh) 基于区块链的登录方法、系统及存储介质
CN109714370B (zh) 一种基于http协议端云安全通信的实现方法
CN108075888B (zh) 动态url生成方法及装置、存储介质、电子设备
CN107770183B (zh) 一种数据传输方法与装置
CN113204772B (zh) 数据处理方法、装置、系统、终端、服务器和存储介质
CN112311769B (zh) 安全认证的方法、系统、电子设备及介质
CN110943840B (zh) 一种签名验证方法
US10122755B2 (en) Method and apparatus for detecting that an attacker has sent one or more messages to a receiver node
CN107888623B (zh) 直播软件音视频数据流防劫持方法及装置
CN104410580A (zh) 可信安全WiFi路由器及其数据处理方法
CN111510442A (zh) 一种用户验证方法、装置、电子设备及存储介质
CN111327561B (zh) 认证方法、系统、认证服务器和计算机可读存储介质
CN106850592B (zh) 一种信息处理方法、服务器及终端
CN112437046A (zh) 防止重放攻击的通信方法、系统、电子设备及存储介质
CN109587134B (zh) 接口总线的安全认证的方法、装置、设备和介质
CN107204959B (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
GR01 Patent grant
GR01 Patent grant