CN107431691A - 一种数据包传输方法、装置、节点设备以及系统 - Google Patents
一种数据包传输方法、装置、节点设备以及系统 Download PDFInfo
- Publication number
- CN107431691A CN107431691A CN201580032690.1A CN201580032690A CN107431691A CN 107431691 A CN107431691 A CN 107431691A CN 201580032690 A CN201580032690 A CN 201580032690A CN 107431691 A CN107431691 A CN 107431691A
- Authority
- CN
- China
- Prior art keywords
- data packet
- data
- tls
- information
- node device
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 90
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 249
- 238000012795 verification Methods 0.000 claims description 311
- 238000004364 calculation method Methods 0.000 claims description 35
- 238000005538 encapsulation Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 25
- 238000012790 confirmation Methods 0.000 description 11
- 230000003993 interaction Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000007405 data analysis Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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 using cryptographic hash functions
- H04L9/3242—Cryptographic 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 using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明实施例公开了一种数据包传输方法、装置、节点设备以及系统,其中,所述数据包传输方法包括:获取数据包的数据类型信息和数据包标识信息;通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码;将包含数据类型信息和第一消息验证码的数据包发送给节点设备,以使节点设备根据第一消息验证码对数据类型信息进行校验。采用本发明实施例,可对数据包的数据类型信息进行安全标识,提高数据类型信息传输的可靠性。
Description
本发明涉及计算机应用技术领域,尤其涉及一种数据包传输方法、装置、节点设备以及系统。
HTTP(Hyper Text Transfer Protocol,超文本传输协议)采用请求/响应模型,用于传送WWW(World Wide Web,万维网)数据。由发送终端发起请求,建立到接收终端指定端口的TCP(Transmission Control Protocol传输控制协议)连接,接收终端在指定端口监听发送终端发送的请求,当接收终端接收到请求时,接收终端向发送终端发送响应消息。以HTTP2.0为例,HTTP2.0帧指的是应用层发送给传输层的高层数据,由9字节的帧头和payload(有效载荷)组成,帧头可以包括length字段。一个HTTP帧可以封装成至少一个TCP数据包,并将各个TCP数据包通过TCP连接发送给节点设备。节点设备接收到TCP数据包之后,通常对数据包进行盲解析,即将接收到的TCP数据包解封装得到HTTP2.0帧,根据length字段确定HTTP2.0帧的边界,其中length字段用于指示payload的数据量,进而根据payload中的数据对该HTTP2.0帧进行数据解析,由于上述数据解析方式为盲解析,通过上述数据解析方式无法准确得到TCP数据包的数据部分的数据类型,数据解析效率较低。因此,将各个TCP数据包通过TCP连接发送给节点设备之前,可在各个TCP数据包的报头中添加数据类型信息,以便节点设备根据数据类型信息得到TCP数据包的数据部分的数据类型,但TCP数据包的报头中的数据类型信息是明文传输的,非法中间实体截获到TCP数据包之后,可对该TCP数据包中的数据类型信息进行篡改,以致数据类型信息传输的可靠性较低。
发明内容
本发明实施例提供了一种数据包传输方法、装置、节点设备以及系统,可
对数据包的数据类型信息进行安全标识,提高数据类型信息传输的可靠性。
本发明第一方面提供了一种数据包传输方法,包括:
获取数据包的数据类型信息和数据包标识信息;
通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码;
将包含所述数据类型信息和所述第一消息验证码的数据包发送给节点设备,以使所述节点设备根据所述第一消息验证码对所述数据类型信息进行校验。
在第一种可能的实施方式中,所述数据包为TCP数据包;
所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码之后,还包括:
将所述数据类型信息和所述第一消息验证码添加到所述TCP数据包的报头中。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据包标识信息包括以下至少一项:所述TCP数据包的发送序号、所述TCP数据包的确认序号或者预设参数。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述获取数据包的数据包标识信息之前,还包括:
获取TLS层发送的所述预设参数,其中所述数据包所处的协议栈上层包括所述TLS层。
结合第一方面可能的实现方式,在第四种可能的实现方式中,所述数据包为TLS数据包;
所述将包含所述数据类型信息和所述第一消息验证码的数据包发送给节点设备包括:
将所述包含所述数据类型信息和所述第一消息验证码的TLS数据包封装成至少一个TCP数据包;
将所述至少一个TCP数据包发送给所述节点设备。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述数据类型信息用于指示所述TLS数据包的前一个TLS数据包的数据部分的
数据类型。
结合第一方面的第四种可能的实现方式,在第六种可能的实现方式中,所述数据包标识信息为所述TLS数据包的前一个TLS数据包的第二消息验证码。
结合第一方面的第四种可能的实现方式,在第七种可能的实现方式中,所述获取数据包的数据类型信息和数据包标识信息之前,还包括:
将扩展标识信息添加到所述TLS数据包中,所述扩展标识信息用于指示所述TLS数据包为指示所述TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
结合第一方面或第一方面的第一种至第七种中任一种可能的实现方式,在第八种可能的实现方式中,所述将包含所述数据类型信息和所述第一消息验证码的数据包发送给节点设备之前,还包括:
通过预设私钥对所述第一消息验证码进行加密。
结合第一方面的第八种可能的实现方式,在第九种可能的实现方式中,所述通过预设私钥对所述第一消息验证码进行加密之前,还包括:
获取TLS层发送的所述预设私钥。
结合第一方面或第一方面的第一种至第九种中任一种可能的实现方式,在第十种可能的实现方式中,所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码之前,还包括:
在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述预设MAC算法。
结合第一方面或第一方面的第一种至第九种中任一种可能的实现方式,在第十一种可能的实现方式中,所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码之前,还包括:
获取TLS层发送的所述预设MAC算法。
结合第一方面或第一方面的第一种至第十一种中任一种可能的实现方式,在第十二种可能的实现方式中,所述预设MAC算法携带密钥信息;
所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码包括:
通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及
所述密钥信息进行计算,得到所述第一消息验证码。
结合第一方面的第十二种可能的实现方式,在第十三种可能的实现方式中,所述通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第一消息验证码之前,还包括:
在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述密钥信息。
结合第一方面的第十二种可能的实现方式,在第十四种可能的实现方式中,所述通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第一消息验证码之前,还包括:
获取TLS层发送的所述密钥信息。
本发明第二方面提供一种数据包传输方法,包括:
接收节点设备发送的数据包,所述数据包携带有数据类型信息和第一消息验证码;
获取所述数据包的数据包标识信息;
通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码;
将所述第一消息验证码和所述第三消息验证码进行比较;
根据比较结果对所述数据类型信息进行校验。
在第一种可能的实现方式中,所述数据包为TCP数据包;
所述数据包标识信息包括以下至少一项:所述TCP数据包的发送序号、所述TCP数据包的确认序号或者预设参数。结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述获取所述数据包的数据包标识信息之前,还包括:
在建立与所述节点设备之间的TCP连接时,与所述节点设备交互得到所述预设参数。
结合第二方面可能的实现方式,在第三种可能的实现方式中,所述数据包为TLS数据包;
所述获取所述数据包的数据包标识信息之前,还包括:
确定所述TLS数据包包括扩展标识信息,所述扩展标识信息用于指示所述TLS数据包为指示所述TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述数据包标识信息为所述TLS数据包的前一个TLS数据包的第二消息验证码。
结合第二方面或者第二方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述第一消息验证码是通过预设私钥进行加密的;
所述接收节点设备发送的数据包之后,还包括:
通过预设公钥对所述第一消息验证码进行解密。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,所述通过预设公钥对所述第一消息验证码进行解密之前,还包括:
在建立与所述节点设备之间的TCP连接时,与所述节点设备交互得到所述预设公钥。
结合第二方面或者第二方面的第一种至第六种中任一种可能的实现方式,在第七种可能的实现方式中,所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码之前,还包括:
在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述预设MAC算法。
结合第二方面或者第二方面的第一种至第六种中任一种可能的实现方式,在第八种可能的实现方式中,所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码之前,还包括:
获取TLS层发送的所述预设MAC算法。
结合第二方面或者第二方面的第一种至第八种中任一种可能的实现方式,在第九种可能的实现方式中,所述预设MAC算法携带密钥信息;
所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码包括:
通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第三消息验证码。
结合第二方面的第九种可能的实现方式,在第十种可能的实现方式中,所述通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第三消息验证码之前,还包括:
在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述密钥信息。
结合第二方面的第九种可能的实现方式,在第十一种可能的实现方式中,所述通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第三消息验证码之前,还包括:
获取TLS层发送的所述密钥信息。
本发明第三方面提供一种数据包传输装置,其特征在于,包括:
信息获取单元,用于获取数据包的数据类型信息和数据包标识信息;
计算单元,用于通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码;
数据包发送单元,用于将包含所述数据类型信息和所述第一消息验证码的数据包发送给节点设备,以使所述节点设备根据所述第一消息验证码对所述数据类型信息进行校验。
在第一种可能的实施方式中,所述数据包为TCP数据包;
所述装置还包括:
信息添加单元,用于所述计算单元通过所述预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到所述第一消息验证码之后,将所述数据类型信息和所述第一消息验证码添加到所述TCP数据包的报头中。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述数据包标识信息包括以下至少一项:所述TCP数据包的发送序号、所述TCP数据包的确认序号或者预设参数。
结合第三方面的第二种可能的实现方式,在第三种可能的实现方式中,所述装置还包括:
预设参数获取单元,用于所述信息获取单元获取所述数据包的数据包标识信息之前,获取TLS层发送的所述预设参数,其中所述数据包所处的协议栈
上层包括所述TLS层。
结合第三方面可能的实现方式,在第四种可能的实现方式中,所述数据包为TLS数据包;
所述数据包发送单元包括:
封装模块,用于将所述包含所述数据类型信息和所述第一消息验证码的TLS数据包封装成至少一个TCP数据包;
数据包发送模块,用于将所述至少一个TCP数据包发送给所述节点设备。
结合第三方面的第四种可能的实现方式,在第五种可能的实现方式中,所述数据类型信息用于指示所述TLS数据包的前一个TLS数据包的数据部分的数据类型。
结合第三方面的第四种可能的实现方式,在第六种可能的实现方式中,所述数据包标识信息为所述TLS数据包的前一个TLS数据包的第二消息验证码。
结合第三方面的第四种可能的实现方式,在第七种可能的实现方式中,所述装置还包括:
信息添加单元,用于所述信息获取单元获取所述数据包的数据类型信息和数据包标识信息之前,将扩展标识信息添加到所述TLS数据包中,所述扩展标识信息用于指示所述TLS数据包为指示所述TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
结合第三方面或第三方面的第一种至第七种中任一种可能的实现方式,在第八种可能的实现方式中,所述装置还包括:
加密单元,用于所述数据包发送单元将所述包含所述数据类型信息和所述第一消息验证码的数据包发送给所述节点设备之前,通过预设私钥对所述第一消息验证码进行加密。
结合第三方面的第八种可能的实现方式,在第九种可能的实现方式中,所述装置还包括:
预设私钥获取单元,用于所述加密单元通过所述预设私钥对所述第一消息验证码进行加密之前,获取TLS层发送的所述预设私钥。
结合第三方面或第三方面的第一种至第九种中任一种可能的实现方式,在第十种可能的实现方式中,所述装置还包括:
算法协商单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述预设MAC算法。
结合第三方面或第三方面的第一种至第九种中任一种可能的实现方式,在第十一种可能的实现方式中,所述装置还包括:
算法协商单元,用于所述计算单元通过所述预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到所述第一消息验证码之前,获取TLS层发送的所述预设MAC算法。
结合第三方面或第三方面的第一种至第十一种中任一种可能的实现方式,在第十二种可能的实现方式中,所述预设MAC算法携带密钥信息;
所述计算单元,用于通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第一消息验证码。
结合第三方面的第十二种可能的实现方式,在第十三种可能的实现方式中,所述装置还包括:
密钥信息协商单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述密钥信息。
结合第三方面的第十二种可能的实现方式,在第十四种可能的实现方式中,所述装置还包括:
密钥信息协商单元,用于所述计算单元通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第一消息验证码之前,获取TLS层发送的所述密钥信息。
本发明第四方面提供一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
获取数据包的数据类型信息和数据包标识信息;
通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码;
将包含所述数据类型信息和所述第一消息验证码的数据包发送给节点设备,以使所述节点设备根据所述第一消息验证码对所述数据类型信息进行校
验。
本发明第五方面提供一种数据包传输装置,其特征在于,包括:
数据包接收单元,用于接收节点设备发送的数据包,所述数据包携带有数据类型信息和第一消息验证码;
信息获取单元,用于获取所述数据包的数据包标识信息;
计算单元,用于通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码;
比较单元,用于将所述第一消息验证码和所述第三消息验证码进行比较;
校验单元,用于根据比较结果对所述数据类型信息进行校验。
在第一种可能的实现方式中,所述数据包为TCP数据包;
所述数据包标识信息包括以下至少一项:所述TCP数据包的发送序号、所述TCP数据包的确认序号或者预设参数。
结合第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:
预设参数获取单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备交互得到所述预设参数。
结合第五方面可能的实现方式,在第三种可能的实现方式中,所述数据包为TLS数据包;
所述装置还包括:
确定单元,用于所述信息获取单元获取所述数据包的数据包标识信息之前,确定所述TLS数据包包括扩展标识信息,所述扩展标识信息用于指示所述TLS数据包为指示所述TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
结合第五方面的第三种可能的实现方式,在第四种可能的实现方式中,所述数据包标识信息为所述TLS数据包的前一个TLS数据包的第二消息验证码。
结合第五方面或者第五方面的第一种至第四种中任一种可能的实现方式,在第五种可能的实现方式中,所述第一消息验证码是通过预设私钥进行加密的;
所述装置还包括:
解密单元,用于所述数据包接收单元接收所述节点设备发送的数据包之后,通过预设公钥对所述第一消息验证码进行解密。
结合第五方面的第五种可能的实现方式,在第六种可能的实现方式中,所述装置还包括:
预设公钥获取单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备交互得到所述预设公钥。
结合第五方面或者第五方面的第一种至第六种中任一种可能的实现方式,在第七种可能的实现方式中,所述装置还包括:
算法协商单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述预设MAC算法。
结合第五方面或者第五方面的第一种至第六种中任一种可能的实现方式,在第八种可能的实现方式中,所述装置还包括:
算法协商单元,用于所述计算单元通过所述预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到所述第三消息验证码之前,获取TLS层发送的所述预设MAC算法。
结合第五方面或者第五方面的第一种至第八种中任一种可能的实现方式,在第九种可能的实现方式中,所述预设MAC算法携带密钥信息;
所述计算单元,用于通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第三消息验证码。
结合第五方面的第九种可能的实现方式,在第十种可能的实现方式中,所述装置还包括:
密钥信息协商单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述密钥信息。
结合第五方面的第九种可能的实现方式,在第十一种可能的实现方式中,所述装置还包括:
密钥信息协商单元,用于所述计算单元通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第三消息验证码之前,获取TLS层发送的所述密钥信息。
本发明第六方面提供一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:
接收节点设备发送的数据包,所述数据包携带有数据类型信息和第一消息验证码;
获取所述数据包的数据包标识信息;
通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码;
将所述第一消息验证码和所述第三消息验证码进行比较;
根据比较结果对所述数据类型信息进行校验。
本发明第七方面提供一种数据包传输系统,其特征在于,包括第三方面所述的数据包传输装置以及第五方面所述的数据包传输装置。
本发明实施例中,获取数据包的数据类型信息和数据包标识信息,通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码,将包含数据类型信息和第一消息验证码的数据包发送给节点设备,以使节点设备根据第一消息验证码对数据类型信息进行校验,可对数据包的数据类型信息进行安全标识,提高数据类型信息传输的可靠性。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明第一实施例中提供的一种数据包传输方法的流程示意图;
图2为本发明第二实施例中提供的一种数据包传输方法的流程示意图;
图3为本发明第三实施例中提供的一种数据包传输方法的流程示意图;
图4为本发明第四实施例中提供的一种数据包传输方法的流程示意图;
图5A为本发明实施例中提供的一种TCP数据包的结构示意图;
图5B为本发明实施例中提供的一种TLS数据包的结构示意图;
图5C为本发明第一实施例中提供的一种数据包封装与解封装的框架示意图;
图5D为本发明第二实施例中提供的一种数据包封装与解封装的框架示意图;
图5E为本发明第三实施例中提供的一种数据包封装与解封装的框架示意图;
图6为本发明第一实施例中提供的一种数据包传输装置的结构示意图;
图7为本发明实施例中图6的数据包发送单元的结构示意图;
图8为本发明第一实施例中提供的一种节点设备的结构示意图;
图9为本发明第二实施例中提供的一种数据包传输装置的结构示意图;
图10为本发明第二实施例中提供的一种节点设备的结构示意图;
图11为本发明实施例中提供的一种数据包传输系统的结构示意图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的数据包传输方法中,将数据包的数据类型信息添加到数据包的报头中,将添加数据类型信息的数据包发送给节点设备,以使节点设备根据数据类型信息获取数据包的数据部分的数据类型。由于数据包的报头中的数据类型信息是明文传输的,非法中间实体截获到TCP数据包之后,可对该TCP数据包中的数据类型信息进行篡改,以致数据类型信息传输的可靠性较低。
本发明实施例提供了一种数据包传输方法,获取数据包的数据类型信息和数据包标识信息,通过预设MAC算法对数据类型信息和数据包标识信息进行
计算,得到第一消息验证码,将包含数据类型信息和第一消息验证码的数据包发送给节点设备,以使节点设备根据第一消息验证码对数据类型信息进行校验,可对数据包的数据类型信息进行安全标识,提高数据类型信息传输的可靠性。
本发明实施例提及到的数据包可以包括TCP数据包或者TLS(Transport Layer Security,安全传输层协议)数据包。例如,TCP数据包可以由一个HTTP帧封装而成,HTTP帧可以为HTTP2.0帧,HTTP2.0位于应用层,HTTP2.0帧为应用层中的数据,可以将一个HTTP帧封装成至少一个TCP数据包。又如,TLS数据包可以由一个HTTP帧封装而成,TLS位于应用层之下传输层之上,指的是为网络通信提供加密、身份认证及数据完整性保证的一种安全协议,可以将一个HTTP帧封装成至少一个TLS数据包。进一步的,可以将一个TLS数据包封装成至少一个TCP数据包。
本发明实施例提及到的数据类型信息可以用于指示数据包的数据部分的数据类型,数据包的数据部分的数据类型可以为文本、图片、视频或者音频等。
本发明实施例提及到的数据包标识信息可以用于标识数据包。当该数据包为TCP数据包时,数据包标识信息可以包括该TCP数据包的发送序号、该TCP数据包的确认序号或者预设参数中的一种或者多种。其中预设参数可以是对于该TCP数据包的随机数。当该数据包为TLS数据包时,数据包标识信息可以为该TLS数据包的前一个TLS数据包的第二消息验证码。其中该TLS数据包的前一个TLS数据包包括第二消息验证码,不同TLS数据包的第二消息验证码各不相同。
本发明实施例提及到的预设MAC(Message Authentication Code,MAC)算法可以为:将数据类型信息和数据包标识信息进行消息摘要,得到固定长度(如128位)的摘要值,对摘要值进行加密处理,得到第一消息验证码。预设MAC算法例如DES算法等。可选的,预设MAC算法可以为:将数据类型信息和数据包标识信息进行消息摘要,得到固定长度的摘要值,将摘要值和协商得到的密钥信息作为输入,采用二次散列迭代的方式,计算得到第一消息验证码。预设MAC算法例如HMAC算法等。
本发明实施例提及到的节点设备可以包括客户端、代理服务器或者解析服
务器等,例如网页浏览器、电子邮件客户端或者电子邮件服务器等。
本发明实施例提及到的数据包传输方法可以运行于服务器、客户端、代理客户端或者代理服务器等终端中,具体不受本发明实施例的限制。
请参见图1,图1为本发明第一实施例中提供的一种数据包传输方法的流程示意图,如图所示本发明实施例中的数据包传输方法可以包括:
S101,获取数据包的数据类型信息和数据包标识信息。
终端可以获取数据包的数据类型信息和数据包标识信息。其中,数据类型信息用于指示数据包的数据部分的数据类型,数据包的数据部分的数据类型可以为文本、图片、视频或者音频等。数据包标识信息用于标识该数据包。
数据包可以为TCP数据包。以图5A所示的TCP数据包的结构示意图为例,终端可以将一个HTTP帧封装成至少一个TCP数据包,若该HTTP帧的数据类型为文本,则将该HTTP帧封装得到的各个TCP数据包的数据部分的数据类型都为文本。终端可以获取TCP数据包的数据类型信息,例如数据类型信息可以为0001,用于指示TCP数据包的数据部分的数据类型为text或者html,即文本。终端还可以获取TCP数据包的数据包标识信息,其中数据包标识信息可以包括以下至少一项:该TCP数据包的发送序号、该TCP数据包的确认序号或者预设参数,其中预设参数为对于该TCP数据包的随机数,非法中间实体无法获取该预设参数。
数据包可以为TLS数据包。以图5B所示的TLS数据包的结构示意图为例,HTTP帧为HTTP基本的协议单位,HTTP运行于应用层。TLS数据包为TLS基本的协议单位,TLS运行于应用层之下传输层之上。当协议栈上层包括TLS层时,终端可以将一个HTTP帧封装成至少一个TLS数据包,若该HTTP帧的数据类型为文本,则将该HTTP帧封装得到的各个TLS数据包的数据部分的数据类型都为文本。终端可以获取TLS数据包的数据类型信息,例如数据类型信息可以为0001,用于指示TLS数据包的数据部分的数据类型为text或者html,即文本。终端还可以获取TLS数据包的数据包标识信息,其中数据包标识信息可以为该TLS数据包的前一个TLS数据包的第二消息验证码。
在可选实施例中,数据包为TCP数据包时,终端获取TCP数据包的数据包标识信息之前,可以通过本端中TLS层与TCP层之间的跨层交互得到预设
参数。例如,当数据包所处的协议栈上层包括TLS层时,TLS层可以向TCP层发送预设参数,终端可以获取TLS层发送的预设参数。
在可选实施例中,数据包为TLS数据包时,终端获取TLS数据包的数据类型信息和数据包标识信息之前,可以将扩展标识信息添加到TLS数据包中,其中扩展标识信息用于指示TLS数据包为指示TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。以图5B所示的TLS数据包的结构示意图为例,扩展标识信息可以为ContentType::=ENUMERATED{change_cipher_spec(20),alert(21),handshake(22),application_data(23),Extention data(24),(255)},终端可以将上述扩展标识信息添加到TLS数据包的Content Type头域中,扩展标识信息中的Extention data(24)用于指示该TLS数据包为指示TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
具体实现中,终端将一个HTTP帧封装成至少一个TLS数据包之后,可以在TLS数据包之后增加一个TLS数据包,并将扩展标识信息添加到增加的TLS数据包中,该扩展标识信息用于指示增加的TLS数据包为指示前一个TLS数据包的数据部分的数据类型的数据包。不支持此扩展的实体接收到该增加的TLS数据包之后,无法识别其中的扩展标识信息,将丢弃该增加的TLS数据包。
S102,通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码。
终端获取到数据包的数据类型信息和数据包标识信息之后,可以通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码。
在可选实施例中,当数据包为TCP数据包时,终端得到第一消息验证码之后,可以将数据类型信息和第一消息验证码添加到TCP数据包的报头中。以图5A所示的TCP数据包的结构示意图为例,终端可以将数据类型信息和第一消息验证码添加到TCP数据包的option字段中。
在可选实施例中,当数据包为TLS数据包时,终端得到第一消息验证码之后,可以将数据类型信息添加到该TLS数据包的数据部分,将第一消息验证码添加到TLS数据包的MAC字段。以图5B所示的TLS数据包的结构示意
图为例,终端可以将数据类型信息添加到TLS数据包的数据部分,即Plaintext(optionally compressed),并将第一消息验证码添加到TLS数据包的MAC字段。
在可选实施例中,终端通过预设MAC算法对数据类型信息和数据包标识信息进行计算之前,可以与节点设备协商得到预设MAC算法。例如,终端可以在建立与节点设备之间的TCP连接时,与节点设备协商得到预设MAC算法。优选的,终端可以在三次握手阶段与节点设备协商得到预设MAC算法,例如终端将支持的MAC算法列表添加到该数据包的options字段中,将添加支持的MAC算法列表的数据包发送给节点设备,节点设备接收到添加支持的MAC算法列表的数据包之后,在其中选择节点设备最优支持的MAC算法,并将该MAC算法添加到待发送数据包中,将添加MAC算法的待发送数据包发送给终端,终端获取该节点设备最优支持的MAC算法,以实现终端和节点设备之间的MAC算法的协商。
在可选实施例中,终端通过预设MAC算法对数据类型信息和数据包标识信息进行计算之前,可以通过本端中TLS层与TCP层之间的跨层交互得到预设MAC算法。例如,当数据包所处的协议栈上层包括TLS层时,TLS层可以向TCP层发送预设MAC算法,终端可以获取TLS层发送的预设MAC算法。
在可选实施例中,预设MAC算法可以携带密钥信息,则终端通过预设MAC算法对数据类型信息和数据包标识信息进行计算之前,可以与节点设备协商得到预设MAC算法和密钥信息。例如,终端可以在建立与节点设备之间的TCP连接时,与节点设备协商得到预设MAC算法和密钥信息。优选的,终端可以在三次握手阶段与节点设备协商得到预设MAC算法和密钥信息,例如终端将支持的MAC算法列表和密钥信息添加到该数据包的options字段中,将添加支持的MAC算法列表和密钥信息的数据包发送给节点设备,节点设备接收到添加支持的MAC算法列表的数据包和密钥信息之后,在其中选择节点设备最优支持的MAC算法,并将该MAC算法和节点设备的密钥信息添加到待发送数据包中,将添加MAC算法和节点设备的密钥信息的待发送数据包发送给终端,终端获取该节点设备最优支持的MAC算法和节点设备的密钥信息,以实现终端和节点设备之间的MAC算法和密钥信息的协商。
在可选实施例中,预设MAC算法可以携带密钥信息,则终端通过预设MAC算法对数据类型信息和数据包标识信息进行MAC计算之前,可以通过本端中TLS层与TCP层之间的跨层交互得到预设MAC算法和密钥信息。例如,当数据包所处的协议栈上层包括TLS层时,TLS层可以向TCP层发送预设MAC算法和密钥信息,终端的TCP层可以获取TLS层发送的预设MAC算法信息和密钥信息。
S103,将包含数据类型信息和第一消息验证码的数据包发送给节点设备,以使节点设备根据第一消息验证码对数据类型信息进行校验。
终端可以将包含数据类型信息和第一消息验证码的数据包发送给节点设备,以使节点设备根据第一消息验证码对数据类型信息进行校验。具体实现中,当数据类型信息或者数据包标识信息不相同时,得到的第一消息验证码也不相同,且无法根据第一消息验证码得到数据类型信息和数据包标识信息。则非法中间实体截获到该数据包之后,即使获取到数据类型信息和第一消息验证码,也无法根据第一消息验证码得到数据包标识信息,并且一旦篡改数据类型信息,通过预设MAC算法对篡改的数据类型信息进行计算得到的消息验证码和数据包中的第一消息验证码是不相同的,则第一消息验证码可用于节点设备校验接收到的数据包中的数据类型信息是否被篡改。
在可选实施例中,当数据包为TLS数据包时,终端可以将包含数据类型信息和第一消息验证码的TLS数据包封装成至少一个TCP数据包,并将至少一个TCP数据包发送给节点设备,以使节点设备接收到TCP数据包之后,解封装得到TLS数据包,并根据第一消息验证码对数据类型信息进行校验。
进一步可选的,TLS数据包中的数据类型信息用于指示该TLS数据包的前一个TLS数据包的数据部分的数据类型。
在可选实施例中,TCP数据包中的数据类型信息用于指示该TCP数据包的数据部分的数据类型。
在可选实施例中,终端将包含数据类型信息和第一消息验证码的数据包发送给节点设备之前,可以通过预设私钥对第一消息验证码进行加密。具体实现中,数据加密的基本思想是通过变换信息的表示形式来伪装需要保护的敏感信息,使非授权者不能了解被保护信息的内容。数据加密或解密的变换是由密钥
控制实现的,密钥通常是一随机字符串,是控制明文和密文变换的唯一参数。非对称加密需要两个密钥:公开密钥(即公钥)和私有密钥(即私钥)。公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;如果用私钥对数据进行加密,那么只有用对应的公钥才能解密。加密的第一消息验证码只有信息的发送端才能产生且其他设备无法伪造的一段数字串,这段数字串是对信息的发送端发送信息的真实性的一个有效证明。
终端将第一消息验证码用预设私钥加密,与数据类型信息一起传送给节点设备。节点设备只有用预设私钥对应的公钥才能解密被加密的第一消息验证码,然后通过预设MAC算法对接收到的数据类型信息进行计算得到第三消息验证码,与解密的第一消息验证码进行对比,如果相同则说明接收到的数据类型信息是完整的,在传输过程中没有被修改,如果不相同则说明数据类型信息被修改过,因此MAC算法能够验证数据类型信息的完整性。
在可选实施例中,终端通过预设私钥对第一消息验证码进行加密之前,可以通过本端中TLS层与TCP层之间的跨层交互得到预设私钥。例如,当数据包所处的协议栈上层包括TLS层时,TLS层可以向TCP层发送预设私钥,终端的TCP层可以获取TLS层发送的预设私钥。
在图1所示的数据包传输方法中,获取数据包的数据类型信息和数据包标识信息,通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码,将包含数据类型信息和第一消息验证码的数据包发送给节点设备,以使节点设备根据第一消息验证码对数据类型信息进行校验,可对数据包的数据类型信息进行安全标识,提高数据类型信息传输的可靠性。
请参见图2,图2为本发明第二实施例中提供的一种数据包传输方法的流程示意图,如图所示本发明实施例中的数据包传输方法可以包括:
S201,接收节点设备发送的数据包,数据包携带有数据类型信息和第一消息验证码。
终端可以接收节点设备发送的数据包,其中数据包携带有数据类型信息和第一消息验证码。其中,数据包可以为TCP数据包或者TLS数据包。当数据包为TCP数据包时,数据类型信息用于指示该TCP数据包的数据部分的数据
类型。当数据包为TLS数据包时,数据类型信息用于指示该TLS数据包的前一个TLS数据包的数据部分的数据类型。
在可选实施例中,第一消息验证码是通过预设私钥进行加密的,则终端接收到节点设备发送的数据包之后,可以通过预设公钥对第一消息验证码进行解密。
进一步可选的,终端通过预设公钥对第一消息验证码进行解密之前,可以与节点设备交互得到预设公钥。例如,终端可以在建立与节点设备之间的TCP连接时,与节点设备交互得到预设公钥。优选的,终端可以在三次握手阶段与节点设备交互得到预设公钥。示例性的,第一消息验证码是通过预设私钥进行加密的,只有通过预设私钥对应的公钥才能对加密的第一消息验证码进行解密。
S202,获取数据包的数据包标识信息。
终端接收到节点设备发送的数据包之后,可以获取该数据包的数据包标识信息。
在可选实施例中,当数据包为TCP数据包时,终端获取到的数据包标识信息可以包括以下至少一项:该TCP数据包的发送序号、该TCP数据包的确认序号或者预设参数。
进一步可选的,当数据包为TCP数据包时,终端获取TCP数据包的数据包标识信息之前,可以与节点设备交互得到预设参数。例如,终端可以在建立与节点设备之间的TCP连接时,与节点设备交互得到预设参数。优选的,终端可以在三次握手阶段与节点设备交互得到预设参数,例如节点设备得到预设参数之后,可以将预设参数添加到该TCP数据包的前一个TCP数据包的报头中,将添加预设参数的TCP数据包发送给终端,终端接收到添加预设参数的TCP数据包之后,获取该预设参数,该预设参数用于指示该TCP数据包中的第一消息验证码是通过对该预设参数进行计算得到的。
在可选实施例中,数据包为TLS数据包时,数据包标识信息为该TLS数据包的前一个TLS数据包的第二消息验证码。
在可选实施例中,数据包为TLS数据包时,终端获取TLS数据包的数据包标识信息之前,可以确定TLS数据包包括扩展标识信息,其中扩展标识信
息用于指示TLS数据包为指示TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
S203,通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第三消息验证码。
终端获取到节点设备发送的数据包携带的数据类型信息和该数据包的数据包标识信息之后,可以通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第三消息验证码。
在可选实施例中,终端通过预设MAC算法对数据类型信息和数据包标识信息进行计算之前,可以与节点设备协商得到预设MAC算法。例如,终端可以在建立与节点设备之间的TCP连接时,与节点设备协商得到预设MAC算法。优选的,终端可以在三次握手阶段与节点设备协商得到预设MAC算法,例如终端将支持的MAC算法列表添加到该数据包的options字段中,将添加支持的MAC算法列表的数据包发送给节点设备,节点设备接收到添加支持的MAC算法列表的数据包之后,在其中选择节点设备最优支持的MAC算法,并将该MAC算法添加到待发送数据包中,将添加MAC算法的待发送数据包发送给终端,终端获取该节点设备最优支持的MAC算法,以实现终端和节点设备之间的MAC算法的协商。
在可选实施例中,终端通过预设MAC算法对数据类型信息和数据包标识信息进行计算之前,可以通过本端中TLS层与TCP层之间的跨层交互得到预设MAC算法。例如,当数据包所处的协议栈上层包括TLS层时,TLS层可以向TCP层发送预设MAC算法,终端可以获取TLS层发送的预设MAC算法。
在可选实施例中,预设MAC算法可以携带密钥信息,则终端通过预设MAC算法对数据类型信息和数据包标识信息进行计算之前,可以与节点设备协商得到预设MAC算法和密钥信息。例如,终端可以在建立与节点设备之间的TCP连接时,与节点设备协商得到预设MAC算法和密钥信息。优选的,终端可以在三次握手阶段与节点设备协商得到预设MAC算法和密钥信息,例如终端将支持的MAC算法列表和密钥信息添加到该数据包的options字段中,将添加支持的MAC算法列表和密钥信息的数据包发送给节点设备,节点设备接收到添加支持的MAC算法列表的数据包和密钥信息之后,在其中选择节点
设备最优支持的MAC算法,并将该MAC算法和节点设备的密钥信息添加到待发送数据包中,将添加MAC算法节点设备的密钥信息的待发送数据包发送给终端,终端获取该节点设备最优支持的MAC算法节点设备的密钥信息,以实现终端和节点设备之间的MAC算法和密钥信息的协商。
在可选实施例中,预设MAC算法可以携带密钥信息,则终端通过预设MAC算法对数据类型信息和数据包标识信息进行计算之前,可以通过本端中TLS层与TCP层之间的跨层交互得到预设MAC算法和密钥信息。例如,当数据包所处的协议栈上层包括TLS层时,TLS层可以向TCP层发送预设MAC算法和密钥信息,终端的TCP层可以获取TLS层发送的预设MAC算法信息和密钥信息。
S204,将第一消息验证码和第三消息验证码进行比较。
终端获取到节点设备发送的数据包携带的第一消息验证码,并通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第三消息验证码之后,可以将第一消息验证码和第三消息验证码进行比较,判断第一消息验证码和第三消息验证码是否相同。
S205,根据比较结果对数据类型信息进行校验。
终端可以根据比较结果对数据类型信息进行校验。具体实现中,当第一消息验证码和第三消息验证码相同时,说明接收到的数据类型信息是完整的,在传输过程中没有被修改,进而可以根据该数据类型信息获取该数据包的数据部分的数据类型,以实现对该数据包的数据解析。当第一消息验证码和第三消息验证码不相同时,说明数据类型信息被修改过,终端将丢弃该数据类型信息。
在图2所示的数据包传输方法中,接收节点设备发送的数据包,数据包携带有数据类型信息和第一消息验证码,获取数据包的数据包标识信息,通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第三消息验证码,将第一消息验证码和第三消息验证码进行比较,根据比较结果对数据类型信息进行校验,可通过对数据类型信息进行校验以确定数据类型信息是否被非法中间实体篡改。
请参见图3,图3为本发明第三实施例中提供的一种数据包传输方法的流
程示意图。本发明实施例中,第一节点设备将添加数据类型信息和第一消息验证码的TCP数据包发送给第二节点设备,当第一节点设备为服务器时,第二节点设备可以为解析服务器;当第一节点设备为客户端时,第二节点设备可以为解析服务器,解析服务器用于对接收到的TCP数据包进行数据解析,以获取该TCP数据包的数据部分的数据类型,解析服务器可以包括基站、路由器、分组网关节点或者服务网关节点等,具体不受本发明实施例的限制。如图所示本发明实施例中的数据包传输方法可以包括:
S301,第一节点设备与第二节点设备协商得到预设MAC算法。
本发明实施例中,以图5C所示的数据包封装与解封装的框架示意图为例,第一节点设备中的协议栈上层可以包括应用层和TCP层等,第一节点设备可以将应用层中的HTTP帧封装成至少一个TCP数据包,并将添加数据类型信息和第一消息验证码的TCP数据包通过TCP连接发送给第二节点设备,第二节点设备获取TCP数据包中的数据类型信息,对数据类型信息进行校验,对TCP数据包进行解封装得到HTTP帧,将TCP数据包的数据部分的数据类型确定为HTTP帧的数据类型。
以图5D所示的数据包封装与解封装的框架示意图为例,第一节点设备中的协议栈上层包括应用层、TLS层和TCP层等,第一节点设备可以将应用层中的HTTP帧封装成至少一个TLS数据包,将TLS层中的TLS数据包封装成至少一个TCP数据包,并将添加数据类型信息和第一消息验证码的TCP数据包通过TCP连接发送给第二节点设备,第二节点设备获取TCP数据包中的数据类型信息,对数据类型信息进行校验,对TCP数据包进行解封装得到TLS数据包,并对TLS数据包进行解封装得到HTTP帧,将TCP数据包的数据部分的数据类型确定为HTTP帧的数据类型。
第一节点设备可以与第二节点设备协商得到预设MAC算法。例如,第一节点设备可以在建立与第二节点设备之间的TCP连接时,与第二节点设备协商得到预设MAC算法。又如,第一节点设备可以通过本端中TLS层与TCP层之间的跨层交互得到预设MAC算法。第二节点设备可以通过本端中TLS层与TCP层之间的跨层交互得到预设MAC算法。
在可选实施例中,第一节点设备可以与第二节点设备协商得到预设MAC
算法和密钥信息。例如,第一节点设备可以在建立与第二节点设备之间的TCP连接时,与第二节点设备协商得到预设MAC算法和密钥信息。又如,第一节点设备可以通过本端中TLS层与TCP层之间的跨层交互得到预设MAC算法和密钥信息。第二节点设备可以通过本端中TLS层与TCP层之间的跨层交互得到预设MAC算法和密钥信息。
在可选实施例中,第一节点设备和第二节点设备可以以预设时长为更新周期定期协商得到预设MAC算法,以实现对预设MAC算法的更新。
S302,第二节点设备与第一节点设备交互得到预设参数和预设公钥。
第一节点设备得到预设参数和预设私钥之后,可以告知第二节点设备,以便第二节点设备接收到添加数据类型信息和加密的第一消息验证码的TCP数据包之后,通过预设私钥对应的公钥对加密的第一消息验证码进行解密,并通过协商得到的预设MAC算法对数据类型信息、预设参数、该TCP数据包的发送序号及其确认序号进行计算,得到第三消息验证码。其中,预设参数为对于该TCP数据包的随机数,预设参数用于认证第一节点设备的真实性。预设公钥与预设私钥一一对应,第一节点设备通过预设私钥对第一消息验证码进行加密之后,第二节点设备只有通过预设私钥对应的公钥才能对加密的第一消息验证码进行解密。
需要指出的是,步骤S301和步骤S302的执行顺序包含但不局限于上述方式,例如,第二节点设备可以在与第一节点设备交互得到预设参数和预设公钥的同时,与第一节点设备协商得到预设MAC算法,具体不受本发明实施例的限制。
S303,第一节点设备获取TCP数据包的数据类型信息和数据包标识信息。
第一节点设备可以获取TCP数据包的数据类型信息和数据包标识信息。数据类型信息用于指示TCP数据包的数据部分的数据类型,例如数据类型信息可以为0001,用于指示TCP数据包的数据部分的数据类型为text或者html,即文本。数据包标识信息可以为TCP数据包的发送序号、TCP数据包的确认序号或者协商得到的预设参数中的一个或者多个。
其中,不同TCP数据包的发送序号和确认序号不相同,发送序号和确认序号可以用于防止重放攻击。例如第一节点设备通过预设MAC算法对TCP
数据包的数据类型信息进行计算得到第一消息验证码,将包含数据类型信息和第一消息验证码的TCP数据包发送给第二节点设备,在TCP数据包传输过程中被非法中间实体截获,非法中间实体将数据类型信息篡改为前一个TCP数据包的数据类型信息,并将第一消息验证码篡改为前一个TCP数据包的第一消息验证码,将包含篡改后的数据类型信息和第一消息验证码的TCP数据包发送给第二节点设备,第二节点设备获取该TCP数据包中的数据类型信息,并通过预设MAC算法对获取到的数据类型信息进行计算得到第三消息验证码,第一消息验证码和第三消息验证码相同,则第二节点设备认为数据类型信息未被篡改,而实际情况中数据类型信息被篡改为前一个TCP数据包的数据类型信息,无法准确校验TCP数据包中的数据类型信息。本发明实施例中非法中间实体即使篡改了数据类型信息和第一消息验证码,第二节点设备通过预设MAC算法对篡改的数据类型信息和获取到的TCP数据包的发送序号(或者确认序号)进行计算,得到第三消息验证码,MAC算法的输入不同,其输出总是不相同的,且不同TCP数据包的发送序号和确认序号不相同,则第一消息验证码和第三消息验证码不相同,第二节点设备可以确定数据类型信息被篡改。
具体实现中,第一节点设备将HTTP帧封装成至少一个TCP数据包,若该HTTP帧的数据类型为文本,则TCP数据包的数据类型信息可以为0001,用于指示TCP数据包的数据部分的数据类型为text或者html,即文本。第一节点设备将HTTP帧封装成至少一个TLS数据包,可以在TLS数据包的头域中添加数据类型信息,第一节点设备将上述TLS数据包封装成至少一个TCP数据包,可以将TLS数据包中的数据类型信息确定为TCP数据包的数据类型信息。第一节点设备封装得到TCP数据包之后,可以在TCP数据包的报头中查找发送序号和确认序号。
在可选实施例中,第一节点设备将HTTP帧封装成至少一个TCP数据包,上述至少一个TCP数据包的数据部分的数据类型是相同的。第一节点设备将HTTP帧封装成至少一个TLS数据包,将各个TLS数据包分别封装成至少一个TCP数据包,上述至少一个TCP数据包的数据部分的数据类型是相同的。第一节点设备只需确定至少一个数据部分的数据类型相同的TCP数据包中的
第一个TCP数据包以及最后一个TCP数据包,对第一个TCP数据包以及最后一个TCP数据包进行数据类型信息的安全标识,第二节点设备获取到至少一个TCP数据包之后,确定第一个TCP数据包以及最后一个TCP数据包的数据类型信息未被篡改,则可以得到其他TCP数据包的数据部分的数据类型。具体实现中,第一节点设备可以确定至少三个连续的数据部分的数据类型相同的TCP数据包,选取至少三个连续的数据部分的数据类型相同的TCP数据包中的第一个TCP数据包以及最后一个TCP数据包,获取选取的第一个TCP数据包的数据类型信息和数据包标识信息,以及最后一个TCP数据包的数据类型信息和数据包标识信息。本发明实施例无需对每个TCP数据包进行数据类型信息的安全标识,可提高数据包处理效率。
S304,第一节点设备通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码。
在可选实施例中,第一节点设备和第二节点设备协商得到预设MAC算法和密钥信息时,第一节点设备可以通过预设MAC算法对数据类型信息、数据包标识信息以及密钥信息进行计算,得到第一消息验证码。
S305,第一节点设备通过预设私钥对第一消息验证码进行加密。
S306,第一节点设备将包含数据类型信息和加密的第一消息验证码的TCP数据包发送给第二节点设备。
S307,第二节点设备通过预设公钥对加密的第一消息验证码进行解密。
S308,第二节点设备获取该TCP数据包的数据包标识信息。
第二节点设备可以获取该TCP数据包的数据包标识信息。其中,数据包标识信息可以为TCP数据包的发送序号、TCP数据包的确认序号或者协商得到的预设参数中的一个或者多个。
具体实现中,第二节点设备接收到第一节点设备发送的TCP数据包之后,可以在该TCP数据包的报头中查找发送序号和确认序号,其中预设参数是第一节点设备和第二节点设备交互得到的。
S309,第二节点设备通过预设MAC算法对该TCP数据包中的数据类型信息和获取到的数据包标识信息进行计算,得到第三消息验证码。
在可选实施例中,第一节点设备和第二节点设备协商得到预设MAC算法
和密钥信息时,第二节点设备可以通过预设MAC算法对该TCP数据包中的数据类型信息、获取到的数据包标识信息以及密钥信息进行计算,得到第三消息验证码。
S310,第二节点设备将第一消息验证码和第三消息验证码进行比较。
S311,第二节点设备根据比较结果对数据类型信息进行校验。
在图3所示的数据包传输方法中,第一节点设备获取TCP数据包的数据类型信息和数据包标识信息,通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码,通过预设私钥对第一消息验证码进行加密,将包含数据类型信息和加密的第一消息验证码的TCP数据包发送给第二节点设备,第二节点设备通过预设公钥对加密的第一消息验证码进行解密,通过预设MAC算法对该TCP数据包中的数据类型信息和获取到的数据包标识信息进行计算,得到第三消息验证码,将第一消息验证码和第三消息验证码进行比较,并根据比较结果对数据类型信息进行校验,可对数据包的数据类型信息进行安全标识,提高数据类型信息传输的可靠性。
请参见图4,图4为本发明第四实施例中提供的一种数据包传输方法的流程示意图。本发明实施例中,第一节点设备中的协议栈上层包括应用层、TLS层和TCP层等,终端可以将应用层中的HTTP帧封装成至少一个TLS数据包,并在TLS数据包之后增加TLS数据包,增加的TLS数据包用于指示前一个TLS数据包的数据部分的数据类型。如图所示本发明实施例中的数据包传输方法可以包括:
S401,第一节点设备与第二节点设备协商得到预设MAC算法。
S402,第二节点设备与第一节点设备交互得到预设参数和预设公钥。
需要指出的是,步骤S401和步骤S402的执行顺序包含但不局限于上述方式,例如,第二节点设备可以在与第一节点设备交互得到预设参数和预设公钥的同时,与第一节点设备协商得到预设MAC算法,具体不受本发明实施例的限制。
S403,第一节点设备获取TLS数据包的数据类型信息和数据包标识信息。
以图5E所示的数据包封装与解封装的框架示意图为例,第一节点设备将
应用层中的HTTP帧封装成至少一个TLS数据包,在各个TLS数据包之后分别增加一个TLS数据包,将上述TLS数据包分别封装成至少一个TCP数据包,将封装得到的至少一个TCP数据包通过TCP连接发送给第二节点设备,第二节点设备根据扩展标识信息识别增加的TLS数据包,获取增加的TLS数据包中的数据类型信息,对数据类型信息进行校验,对TCP数据包进行解封装得到TLS数据包,并对TLS数据包进行解封装得到HTTP帧,将增加的TLS数据包的数据部分的数据类型确定为前一个TLS数据包的数据部分的数据类型。
具体实现中,第一节点设备将一个HTTP帧封装成至少一个TLS数据包之后,可以获取包含扩展标识信息的TLS数据包的数据类型信息和数据包标识信息。扩展标识信息可以为ContentType::=ENUMERATED{change_cipher_spec(20),alert(21),handshake(22),application_data(23),Extention data(24),(255)},扩展标识信息中的Extention data(24)用于指示该TLS数据包为指示TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。其中,数据类型信息用于指示该TLS数据包的前一个TLS数据包的数据部分的数据类型,若该HTTP帧的数据类型为文本,则TLS数据包的数据类型信息可以为0001,用于指示该TLS数据包的前一个TLS数据包的数据部分的数据类型为text或者html,即文本。数据包标识信息可以为前一个TLS数据包的第二消息验证码,以图5B所示的TLS数据包的结构示意图为例,TLS数据包可以包括头域(例如Content Type、Major Version、Minor Version以及Compressed Length)、数据部分(即Plaintext(optionally compressed))以及第二消息验证码(MAC),第一节点设备可以将前一个TLS数据包的第二消息验证码作为该TLS数据包的数据包标识信息。
其中,第二消息验证码可以用于防止重放攻击。例如第一节点设备通过预设MAC算法对TLS数据包的数据类型信息进行计算得到第一消息验证码,将包含数据类型信息和第一消息验证码的TLS数据包封装成至少一个TCP数据包之后,将上述至少一个TCP数据包发送给第二节点设备,在TCP数据包传输过程中被非法中间实体截获,非法中间实体将数据类型信息篡改为前一个TLS数据包的数据类型信息,并将第一消息验证码篡改为前一个TLS数据包
的第一消息验证码,将包含篡改后的数据类型信息和第一消息验证码的TLS数据包封装得到的TCP数据包发送给第二节点设备,第二节点设备获取该TCP数据包中TLS数据包的数据类型信息,并通过预设MAC算法对获取到的数据类型信息进行计算得到第三消息验证码,第一消息验证码和第三消息验证码相同,则第二节点设备认为数据类型信息未被篡改,而实际情况中数据类型信息被篡改为前一个TLS数据包的数据类型信息,无法准确校验TLS数据包中的数据类型信息。本发明实施例中非法中间实体即使篡改了数据类型信息和第一消息验证码,第二节点设备通过预设MAC算法对篡改的数据类型信息和获取到的第二消息验证码进行计算,得到第三消息验证码,MAC算法的输入不同,其输出总是不相同的,且不同TLS数据包的第二消息验证码不相同,则第一消息验证码和第三消息验证码不相同,第二节点设备可以确定数据类型信息被篡改。
在可选实施例中,第一节点设备将HTTP帧封装成至少一个TLS数据包,上述至少一个TLS数据包的数据部分的数据类型是相同的。第一节点设备只需确定至少一个数据部分的数据类型相同的TLS数据包中的第一个TLS数据包以及最后一个TLS数据包,在第一个TLS数据之后增加一个TLS数据包,对增加的TLS数据包进行数据类型信息的安全标识,在最后一个TLS数据之后增加一个TLS数据包,对增加的TLS数据包进行数据类型信息的安全标识,将上述TLS数据包封装得到的至少一个TCP数据包发送给第二节点设备,第二节点设备获取到至少一个TCP数据包之后,确定第一个TLS数据包之后增加的TLS数据包的数据类型信息未被篡改,且最后一个TLS数据包之后增加的TLS数据包的数据类型信息未被篡改,则可以得到其他TLS数据包的数据部分的数据类型。具体实现中,第一节点设备可以确定至少三个连续的数据部分的数据类型相同的TLS数据包,选取至少三个连续的数据部分的数据类型相同的TLS数据包中的第一个TLS数据包以及最后一个TLS数据包,获取选取的第一个TLS数据包之后增加的TLS数据包的数据类型信息和数据包标识信息,以及最后一个TLS数据包之后增加的TLS数据包的数据类型信息和数据包标识信息。本发明实施例无需在每个TLS数据包之后增加TLS数据包,进行数据类型信息的安全标识,可提高数据包处理效率。
S404,第一节点设备通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码。
S405,第一节点设备通过预设私钥对第一消息验证码进行加密。
S406,第一节点设备将包含数据类型信息和加密的第一消息验证码的TLS数据包封装成至少一个TCP数据包。
S407,第一节点设备将封装得到的至少一个TCP数据包发送给第二节点设备。
S408,第二节点设备对至少一个TCP数据包进行解封装得到TLS数据包。
S409,第二节点设备通过预设公钥对加密的第一消息验证码进行解密。
S410,第二节点设备获取该TLS数据包的数据包标识信息。
S411,第二节点设备通过预设MAC算法对该TLS数据包中的数据类型信息和获取到的数据包标识信息进行计算,得到第三消息验证码。
S412,第二节点设备将第一消息验证码和第三消息验证码进行比较。
S413,第二节点设备根据比较结果对数据类型信息进行校验。
在图4所示的数据包传输方法中,第一节点设备获取TLS数据包的数据类型信息和数据包标识信息,通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码,通过预设私钥对第一消息验证码进行加密,将包含数据类型信息和加密的第一消息验证码的TLS数据包封装成至少一个TCP数据包,并将封装得到的至少一个TCP数据包发送给第二节点设备,第二节点设备对至少一个TCP数据包进行解封装得到TLS数据包,通过预设公钥对加密的第一消息验证码进行解密,通过预设MAC算法对该TLS数据包中的数据类型信息和获取到的数据包标识信息进行计算,得到第三消息验证码,将第一消息验证码和第三消息验证码进行比较,并根据比较结果对数据类型信息进行校验,可对数据包的数据类型信息进行安全标识,提高数据类型信息传输的可靠性。
本发明实施例还提供了一种计算机存储介质,其中,所述计算机存储介质可存储有程序,该程序执行时包括上述图1、图3或者图4所示的方法实施例中的部分或全部步骤。
本发明实施例还提供了一种计算机存储介质,其中,所述计算机存储介质可存储有程序,该程序执行时包括上述图2~图4所示的方法实施例中的部分或全部步骤。
请参见图6,图6为本发明实施例中提供的一种数据包传输装置的结构示意图,所述数据包传输装置可以用于实施结合图1或者图3或者图4所示的方法实施例中的部分或全部步骤,所述数据包传输装置至少可以包括信息获取单元601、计算602以及数据包发送单元603,其中:
信息获取单元601,用于获取数据包的数据类型信息和数据包标识信息。
计算单元602,用于通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码。
数据包发送单元603,用于将包含数据类型信息和第一消息验证码的数据包发送给节点设备,以使节点设备根据第一消息验证码对数据类型信息进行校验。
在可选实施例中,数据包为TCP数据包,则本发明实施例中的数据包传输装置还可以包括:
信息添加单元604,用于计算单元602通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码之后,将数据类型信息和第一消息验证码添加到TCP数据包的报头中。
进一步可选的,数据包标识信息可以包括以下至少一项:TCP数据包的发送序号、TCP数据包的确认序号或者预设参数。
进一步可选的,本发明实施例中的数据包传输装置还可以包括:
预设参数获取单元605,用于信息获取单元601获取数据包的数据包标识信息之前,获取TLS层发送的预设参数,其中数据包所处的协议栈上层包括TLS层。
在可选实施例中,数据包为TLS数据包,则本发明实施例中的数据包发送单元603可以如图7所示,进一步包括:
封装模块701,用于将包含数据类型信息和第一消息验证码的TLS数据包
封装成至少一个TCP数据包。
数据包发送模块702,用于将至少一个TCP数据包发送给节点设备。
进一步可选的,数据类型信息用于指示TLS数据包的前一个TLS数据包的数据部分的数据类型。
进一步可选的,数据包标识信息为TLS数据包的前一个TLS数据包的第二消息验证码。
进一步可选的,本发明实施例中的数据包传输装置还可以包括:
信息添加单元604,用于信息获取单元601获取数据包的数据类型信息和数据包标识信息之前,将扩展标识信息添加到TLS数据包扩展标识信息用于指示所述TLS数据包为指示TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
在可选实施例中,本发明实施例中的数据包传输装置还可以包括:
加密单元606,用于数据包发送单元603将包含数据类型信息和第一消息验证码的数据包发送给节点设备之前,通过预设私钥对第一消息验证码进行加密。
进一步可选的,本发明实施例中的数据包传输装置还可以包括:
预设私钥获取单元607,用于加密单元606通过预设私钥对第一消息验证码进行加密之前,获取TLS层发送的预设私钥。
在可选实施例中,本发明实施例中的数据包传输装置还可以包括:
算法协商单元608,用于在建立与节点设备之间的TCP连接时,与节点设备协商得到预设MAC算法。
在可选实施例中,本发明实施例中的数据包传输装置还可以包括:
算法协商单元608,用于计算单元602通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码之前,获取TLS层发送的预设MAC算法。
在可选实施例中,预设MAC算法可以携带密钥信息,则本发明实施例中的计算单元602,用于通过预设MAC算法对数据类型信息、数据包标识信息以及密钥信息进行计算,得到第一消息验证码。
进一步可选的,本发明实施例中的数据包传输装置还可以包括:
密钥信息协商单元609,用于在建立与节点设备之间的TCP连接时,与节点设备协商得到密钥信息。
进一步可选的,本发明实施例中的数据包传输装置还可以包括:
密钥信息协商单元609,用于计算单元602通过预设MAC算法对数据类型信息、数据包标识信息以及密钥信息进行计算,得到第一消息验证码之前,获取TLS层发送的密钥信息。
在图6所示的数据包传输装置中,信息获取单元601获取数据包的数据类型信息和数据包标识信息,计算单元602通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码,数据包发送单元603将包含数据类型信息和第一消息验证码的数据包发送给节点设备,以使节点设备根据第一消息验证码对数据类型信息进行校验,可对数据包的数据类型信息进行安全标识,提高数据类型信息传输的可靠性。
请参见图8,图8为本发明第一实施例提供的一种节点设备的结构示意图,本发明实施例提供的节点设备可以用于实施上述图1、图3或者图4所示的本发明各实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图1、图3或者图4所示的本发明各实施例。
如图8所示,该节点设备包括:至少一个处理器801,例如CPU,至少一个网络接口803存储器804,至少一个通信总线802。其中,通信总线802用于实现这些组件之间的连接通信。其中,网络接口803可选的可以包括标准的有线接口、无线接口(如WI-FI接口),用于与外部网络进行通信。其中,存储器804可能包含高速RAM存储器,也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器804可选的可以包含至少一个位于远离前述处理器801的存储装置。处理器801可以结合图6所示的数据包传输装置。存储器804中存储一组程序代码,且处理器801调用存储器804中存储的程序代码,用于执行以下操作:
获取数据包的数据类型信息和数据包标识信息。
通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第
一消息验证码。
将包含数据类型信息和第一消息验证码的数据包通过网络接口803发送给节点设备,以使节点设备根据第一消息验证码对数据类型信息进行校验。
在可选实施例中,数据包为TCP数据包,则处理器801通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码之后,还可以执行以下操作:
将数据类型信息和第一消息验证码添加到TCP数据包的报头中。
进一步可选的,数据包标识信息包括以下至少一项:TCP数据包的发送序号、TCP数据包的确认序号或者预设参数。
进一步可选的,处理器801获取数据包的数据包标识信息之前,还可以执行以下操作:
获取TLS层发送的预设参数,其中数据包所处的协议栈上层包括TLS层。
在可选实施例中,数据包为TLS数据包,则处理器801将包含数据类型信息和第一消息验证码的数据包通过网络接口803发送给节点设备,具体可以为:
将包含数据类型信息和第一消息验证码的TLS数据包封装成至少一个TCP数据包。
将至少一个TCP数据包通过网络接口803发送给节点设备。
进一步可选的,数据类型信息用于指示TLS数据包的前一个TLS数据包的数据部分的数据类型。
进一步可选的,数据包标识信息为TLS数据包的前一个TLS数据包的第二消息验证码。
进一步可选的,获取数据包的数据类型信息和数据包标识信息之前,还可以执行以下操作:
将扩展标识信息添加到TLS数据包中,扩展标识信息用于指示TLS数据包为指示TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
在可选实施例中,处理器801将包含数据类型信息和第一消息验证码的数据包通过网络接口803发送给节点设备之前,还可以执行以下操作:
通过预设私钥对第一消息验证码进行加密。
进一步可选的,处理器801通过预设私钥对第一消息验证码进行加密之前,还可以执行以下操作:
获取TLS层发送的预设私钥。
在可选实施例中,处理器801通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码之前,还可以执行以下操作:
在建立与节点设备之间的TCP连接时,与节点设备协商得到预设MAC算法。
在可选实施例中,处理器801通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码之前,还可以执行以下操作:
获取TLS层发送的预设MAC算法。
在可选实施例中,预设MAC算法可以携带密钥信息,则处理器801通过预设MAC算法对数据类型信息、数据包标识信息以及密钥信息进行计算,得到第一消息验证码。
进一步可选的,处理器801在建立与节点设备之间的TCP连接时,与节点设备协商得到密钥信息。
进一步可选的,处理器801通过预设MAC算法对数据类型信息、数据包标识信息以及密钥信息进行计算,得到第一消息验证码之前,还可以执行以下操作:
获取TLS层发送的密钥信息。
具体的,本发明实施例中介绍的终端可以用以实施本发明结合图1、图3或者图4介绍的方法实施例中的部分或全部流程。
请参见图9,图9为本发明实施例中提供的一种数据包传输装置的结构示意图,所述数据包传输装置可以用于实施结合图2~图4所示的方法实施例中的部分或全部步骤,所述数据包传输装置至少可以包括数据包接收单元901、信息获取单元902、计算单元903、比较单元904以及校验单元905,其中:
数据包接收单元901,用于接收节点设备发送的数据包,数据包携带有数据类型信息和第一消息验证码。
信息获取单元902,用于获取数据包的数据包标识信息。
计算单元903,用于通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第三消息验证码。
比较单元904,用于将第一消息验证码和第三消息验证码进行比较。
校验单元905,用于根据比较结果对数据类型信息进行校验。
在可选实施例中,数据包为TCP数据包,则数据包标识信息包括以下至少一项:TCP数据包的发送序号、TCP数据包的确认序号或者预设参数。
进一步可选的,本发明实施例中的数据包传输装置还可以包括:
预设参数获取单元906,用于在建立与节点设备之间的TCP连接时,与节点设备交互得到预设参数。
在可选实施例中,数据包为TLS数据包,则本发明实施例中的数据包传输装置还可以包括:
确定单元907,用于信息获取单元902获取数据包的数据包标识信息之前,确定TLS数据包包括扩展标识信息,扩展标识信息用于指示TLS数据包为指示TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
进一步可选的,数据包标识信息为TLS数据包的前一个TLS数据包的第二消息验证码。
在可选实施例中,第一消息验证码是通过预设私钥进行加密的,则本发明实施例中的数据包传输装置还可以包括:
解密单元908,用于数据包接收单元901接收节点设备发送的数据包之后,通过预设公钥对第一消息验证码进行解密。
进一步可选的,本发明实施例中的数据包传输装置还可以包括:
预设公钥获取单元909,用于在建立与节点设备之间的TCP连接时,与节点设备交互得到预设公钥。
在可选实施例中,本发明实施例中的数据包传输装置还可以包括:
算法协商单元910,用于在建立与节点设备之间的TCP连接时,与节点设备协商得到预设MAC算法。
在可选实施例中,本发明实施例中的数据包传输装置还可以包括:
算法协商单元910,用于计算单元903通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第三消息验证码之前,获取TLS层发送
的预设MAC算法。
在可选实施例中,预设MAC算法可以携带密钥信息,则计算单元903通过预设MAC算法对数据类型信息、数据包标识信息以及密钥信息进行计算,得到第一消息验证码。
进一步可选的,本发明实施例中的数据包传输装置还可以包括:
密钥信息协商单元911,用于在建立与节点设备之间的TCP连接时,与节点设备协商得到密钥信息。
进一步可选的,本发明实施例中的数据包传输装置还可以包括:
密钥信息协商单元911,用于计算单元902通过预设MAC算法对数据类型信息、数据包标识信息以及密钥信息进行计算,得到第一消息验证码之前,获取TLS层发送的密钥信息。
在图9所示的数据包传输装置中,数据包接收单元901接收节点设备发送的数据包,数据包携带有数据类型信息和第一消息验证码,信息获取单元902获取数据包的数据包标识信息,计算单元903通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第三消息验证码,比较单元904将第一消息验证码和第三消息验证码进行比较,校验单元905根据比较结果对数据类型信息进行校验,可通过对数据类型信息进行校验以确定数据类型信息是否被非法中间实体篡改。
请参见图10,图10为本发明第二实施例提供的一种节点设备的结构示意图,本发明实施例提供的节点设备可以用于实施上述图2~图4所示的本发明各实施例实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照图2~图4所示的本发明各实施例。
如图10所示,该节点设备包括:至少一个处理器1001,例如CPU,至少一个网络接口1003,存储器1004,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,网络接口1003可选的可以包括标准的有线接口、无线接口(如WI-FI接口),用于与外部网络进行通信。其中,存储器1004可能包含高速RAM存储器,也可能还包括非不稳定的存储器,例如至少一个磁盘存储器。存储器1004可选的可以包含至少一个位于远离前述处
理器1001的存储装置。处理器1001可以结合图9所示的数据包传输装置。存储器1004中存储一组程序代码,且处理器1001调用存储器1004中存储的程序代码,用于执行以下操作:
通过网络接口1003接收节点设备发送的数据包,数据包携带有数据类型信息和第一消息验证码。
获取数据包的数据包标识信息。
通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第三消息验证码。
将第一消息验证码和第三消息验证码进行比较。
根据比较结果对数据类型信息进行校验。
在可选实施例中,数据包为TCP数据包,则数据包标识信息包括以下至少一项:TCP数据包的发送序号、TCP数据包的确认序号或者预设参数。
进一步可选的,处理器1001获取数据包的数据包标识信息之前,还可以执行以下操作:
在建立与节点设备之间的TCP连接时,与节点设备交互得到预设参数。
在可选实施例中,数据包为TLS数据包,则处理器1001获取数据包的数据包标识信息之前,还可以执行以下操作:
确定TLS数据包包括扩展标识信息,扩展标识信息用于指示TLS数据包为指示TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
进一步可选的,数据包标识信息为TLS数据包的前一个TLS数据包的第二消息验证码。
在可选实施例中,第一消息验证码是通过预设私钥进行加密的,则处理器1001通过网络接口1003接收节点设备发送的数据包之后,还可以执行以下操作:
通过预设公钥对第一消息验证码进行解密。
进一步可选的,处理器1001通过预设公钥对第一消息验证码进行解密之前,还可以执行以下操作:
在建立与节点设备之间的TCP连接时,与节点设备交互得到预设公钥。
在可选实施例中,处理器1001通过预设MAC算法对数据类型信息和数
据包标识信息进行计算,得到第三消息验证码之前,还可以执行以下操作:
在建立与节点设备之间的TCP连接时,与节点设备协商得到预设MAC算法。
在可选实施例中,处理器1001通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第三消息验证码之前,还可以执行以下操作:
获取TLS层发送的预设MAC算法。
在可选实施例中,预设MAC算法可以携带密钥信息,则处理器1001通过预设MAC算法对数据类型信息、数据包标识信息以及密钥信息进行计算,得到第三消息验证码。
进一步可选的,处理器1001在建立与节点设备之间的TCP连接时,与节点设备协商得到密钥信息。
进一步可选的,处理器1001通过预设MAC算法对数据类型信息、数据包标识信息以及密钥信息进行计算,得到第三消息验证码之前,还可以执行以下操作:
获取TLS层发送的密钥信息。
具体的,本发明实施例中介绍的终端可以用以实施本发明结合图2~图4介绍的方法实施例中的部分或全部流程。
请参见图11,图11是本发明实施例中提供的一种数据包传输系统的结构示意图,如图所示本发明实施例中的数据包传输系统至少可以包括第一节点设备1101和第二节点设备1102,其中:
第一节点设备1101获取数据包的数据类型信息和数据包标识信息。
第一节点设备1101通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码。
第一节点设备1101将包含数据类型信息和第一消息验证码的数据包发送给第二节点设备1102。
第二节点设备1102获取数据包的数据包标识信息。
第二节点设备1102通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第三消息验证码。
第二节点设备1102将第一消息验证码和第三消息验证码进行比较。
第二节点设备1102根据比较结果对数据类型信息进行校验。
在可选实施例中,数据包为TCP数据包,则第一节点设备1101通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码之后,还可以执行以下操作:
将数据类型信息和第一消息验证码添加到TCP数据包的报头中。
进一步可选的,数据包标识信息包括以下至少一项:TCP数据包的发送序号、TCP数据包的确认序号或者预设参数。
进一步可选的,第一节点设备1101获取数据包的数据包标识信息之前,还可以执行以下操作:
在建立与第二节点设备1102之间的TCP连接时,与第二节点设备1102交互得到预设参数。
在可选实施例中,数据包为TLS数据包,则第一节点设备1101将包含数据类型信息和第一消息验证码的数据包发送给第二节点设备1102,具体可以为:
第一节点设备1101将包含数据类型信息和第一消息验证码的TLS数据包封装成至少一个TCP数据包。
第一节点设备1101将至少一个TCP数据包发送给第二节点设备1102。
进一步可选的,数据类型信息用于指示TLS数据包的前一个TLS数据包的数据部分的数据类型。
进一步可选的,数据包标识信息为TLS数据包的前一个TLS数据包的第二消息验证码。
进一步可选的,第一节点设备1101获取数据包的数据类型信息和数据包标识信息之前,还可以执行以下操作:
将扩展标识信息添加到TLS数据包中,扩展标识信息用于指示TLS数据包为指示TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
在可选实施例中,第一节点设备1101将包含数据类型信息和第一消息验证码的数据包发送给第二节点设备1102之前,还可以执行以下操作:
通过预设私钥对第一消息验证码进行加密。
在可选实施例中,第一节点设备通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码之前,还可以执行以下操作:
在建立与第二节点设备1102之间的TCP连接时,与第二节点设备1102协商得到预设MAC算法。
在可选实施例中,第一节点设备1101通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第一消息验证码之前,还可以执行以下操作:
获取TLS层发送的预设MAC算法。
在可选实施例中,预设MAC算法可以携带密钥信息,则第一节点设备1101通过预设MAC算法对数据类型信息、数据包标识信息以及密钥信息进行计算,得到第三消息验证码。
进一步可选的,第一节点设备1101在建立与第二节点设备1102之间的TCP连接时,与第二节点设备1102协商得到密钥信息。
进一步可选的,第一节点设备1101通过预设MAC算法对数据类型信息、数据包标识信息以及密钥信息进行计算,得到第三消息验证码之前,获取TLS层发送的密钥信息。
在可选实施例中,第一消息验证码是通过预设私钥进行加密的,则第二节点设备1102接收第一节点设备1101发送的数据包之后,还可以执行以下操作:
通过预设公钥对第一消息验证码进行解密。
进一步可选的,第二节点设备1102通过预设公钥对第一消息验证码进行解密之前,还可以执行以下操作:
在建立与第一节点设备1101之间的TCP连接时,与第一节点设备1101交互得到预设公钥。
在图12所示的数据包传输系统中,第一节点设备1101通过预设MAC算法对数据包的数据类型信息和数据包标识信息进行计算,得到第一消息验证码,并将包含数据类型信息和第一消息验证码的数据包发送给第二节点设备1102,第二节点设备1102获取数据包的数据包标识信息,通过预设MAC算法对数据类型信息和数据包标识信息进行计算,得到第三消息验证码,将第一消息验证码和第三消息验证码进行比较,根据比较结果对数据类型信息进行校
验,第一节点设备1101可对数据包的数据类型信息进行安全标识,提高数据类型信息传输的可靠性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的程序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器
(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (57)
- 一种数据包传输方法,其特征在于,包括:获取数据包的数据类型信息和数据包标识信息;通过预设消息验证码MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码;将包含所述数据类型信息和所述第一消息验证码的数据包发送给节点设备,以使所述节点设备根据所述第一消息验证码对所述数据类型信息进行校验。
- 根据权利要求1所述方法,其特征在于,所述数据包为传输控制协议TCP数据包;所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码之后,还包括:将所述数据类型信息和所述第一消息验证码添加到所述TCP数据包的报头中。
- 根据权利要求2所述方法,其特征在于,所述数据包标识信息包括以下至少一项:所述TCP数据包的发送序号、所述TCP数据包的确认序号或者预设参数。
- 根据权利要求3所述方法,其特征在于,所述获取数据包的数据包标识信息之前,还包括:获取传输层安全TLS层发送的所述预设参数,其中所述数据包所处的协议栈上层包括所述TLS层。
- 根据权利要求1所述方法,其特征在于,所述数据包为TLS数据包;所述将包含所述数据类型信息和所述第一消息验证码的数据包发送给节点设备包括:将所述包含所述数据类型信息和所述第一消息验证码的TLS数据包封装成至少一个TCP数据包;将所述至少一个TCP数据包发送给所述节点设备。
- 根据权利要求5所述方法,其特征在于,所述数据类型信息用于指示所述TLS数据包的前一个TLS数据包的数据部分的数据类型。
- 根据权利要求5所述方法,其特征在于,所述数据包标识信息为所述TLS数据包的前一个TLS数据包的第二消息验证码。
- 根据权利要求5所述方法,其特征在于,所述获取数据包的数据类型信息和数据包标识信息之前,还包括:将扩展标识信息添加到所述TLS数据包中,所述扩展标识信息用于指示所述TLS数据包为指示所述TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
- 根据权利要求1~8任一项所述方法,其特征在于,所述将包含所述数据类型信息和所述第一消息验证码的数据包发送给节点设备之前,还包括:通过预设私钥对所述第一消息验证码进行加密。
- 根据权利要求9所述方法,其特征在于,所述通过预设私钥对所述第一消息验证码进行加密之前,还包括:获取TLS层发送的所述预设私钥。
- 根据权利要求1~10任一项所述方法,其特征在于,所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码之前,还包括:在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述预设MAC算法。
- 根据权利要求1~10任一项所述方法,其特征在于,所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码之前,还包括:获取TLS层发送的所述预设MAC算法。
- 根据权利要求1~12任一项所述方法,其特征在于,所述预设MAC算法携带密钥信息;所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码包括:通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第一消息验证码。
- 根据权利要求13所述方法,其特征在于,所述通过所述预设MAC 算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第一消息验证码之前,还包括:在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述密钥信息。
- 根据权利要求13所述方法,其特征在于,所述通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第一消息验证码之前,还包括:获取TLS层发送的所述密钥信息。
- 一种数据包传输方法,其特征在于,包括:接收节点设备发送的数据包,所述数据包携带有数据类型信息和第一消息验证码;获取所述数据包的数据包标识信息;通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码;将所述第一消息验证码和所述第三消息验证码进行比较;根据比较结果对所述数据类型信息进行校验。
- 根据权利要求16所述方法,其特征在于,所述数据包为TCP数据包;所述数据包标识信息包括以下至少一项:所述TCP数据包的发送序号、所述TCP数据包的确认序号或者预设参数。
- 根据权利要求17所述方法,其特征在于,所述获取所述数据包的数据包标识信息之前,还包括:在建立与所述节点设备之间的TCP连接时,与所述节点设备交互得到所述预设参数。
- 根据权利要求16所述方法,其特征在于,所述数据包为TLS数据包;所述获取所述数据包的数据包标识信息之前,还包括:确定所述TLS数据包包括扩展标识信息,所述扩展标识信息用于指示所述TLS数据包为指示所述TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
- 根据权利要求19所述方法,其特征在于,所述数据包标识信息为所 述TLS数据包的前一个TLS数据包的第二消息验证码。
- 根据权利要求16~20任一项所述方法,其特征在于,所述第一消息验证码是通过预设私钥进行加密的;所述接收节点设备发送的数据包之后,还包括:通过预设公钥对所述第一消息验证码进行解密。
- 根据权利要求21所述方法,其特征在于,所述通过预设公钥对所述第一消息验证码进行解密之前,还包括:在建立与所述节点设备之间的TCP连接时,与所述节点设备交互得到所述预设公钥。
- 根据权利要求16~22任一项所述方法,其特征在于,所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码之前,还包括:在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述预设MAC算法。
- 根据权利要求16~22任一项所述方法,其特征在于,所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码之前,还包括:获取TLS层发送的所述预设MAC算法。
- 根据权利要求16~24任一项所述方法,其特征在于,所述预设MAC算法携带密钥信息;所述通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码包括:通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第三消息验证码。
- 根据权利要求25所述方法,其特征在于,所述通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第三消息验证码之前,还包括:在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述密钥信息。
- 根据权利要求25所述方法,其特征在于,所述通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第三消息验证码之前,还包括:获取TLS层发送的所述密钥信息。
- 一种数据包传输装置,其特征在于,包括:信息获取单元,用于获取数据包的数据类型信息和数据包标识信息;计算单元,用于通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码;数据包发送单元,用于将包含所述数据类型信息和所述第一消息验证码的数据包发送给节点设备,以使所述节点设备根据所述第一消息验证码对所述数据类型信息进行校验。
- 根据权利要求28所述装置,其特征在于,所述数据包为TCP数据包;所述装置还包括:信息添加单元,用于所述计算单元通过所述预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到所述第一消息验证码之后,将所述数据类型信息和所述第一消息验证码添加到所述TCP数据包的报头中。
- 根据权利要求29所述装置,其特征在于,所述数据包标识信息包括以下至少一项:所述TCP数据包的发送序号、所述TCP数据包的确认序号或者预设参数。
- 根据权利要求30所述装置,其特征在于,所述装置还包括:预设参数获取单元,用于所述信息获取单元获取所述数据包的数据包标识信息之前,获取TLS层发送的所述预设参数,其中所述数据包所处的协议栈上层包括所述TLS层。
- 根据权利要求28所述装置,其特征在于,所述数据包为TLS数据包;所述数据包发送单元包括:封装模块,用于将所述包含所述数据类型信息和所述第一消息验证码的TLS数据包封装成至少一个TCP数据包;数据包发送模块,用于将所述至少一个TCP数据包发送给所述节点设备。
- 根据权利要求32所述装置,其特征在于,所述数据类型信息用于指 示所述TLS数据包的前一个TLS数据包的数据部分的数据类型。
- 根据权利要求32所述装置,其特征在于,所述数据包标识信息为所述TLS数据包的前一个TLS数据包的第二消息验证码。
- 根据权利要求32所述装置,其特征在于,所述装置还包括:信息添加单元,用于所述信息获取单元获取所述数据包的数据类型信息和数据包标识信息之前,将扩展标识信息添加到所述TLS数据包中,所述扩展标识信息用于指示所述TLS数据包为指示所述TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
- 根据权利要求28~35任一项所述装置,其特征在于,所述装置还包括:加密单元,用于所述数据包发送单元将所述包含所述数据类型信息和所述第一消息验证码的数据包发送给所述节点设备之前,通过预设私钥对所述第一消息验证码进行加密。
- 根据权利要求35所述装置,其特征在于,所述装置还包括:预设私钥获取单元,用于所述加密单元通过所述预设私钥对所述第一消息验证码进行加密之前,获取TLS层发送的所述预设私钥。
- 根据权利要求28~37任一项所述装置,其特征在于,所述装置还包括:算法协商单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述预设MAC算法。
- 根据权利要求28~37任一项所述装置,其特征在于,所述装置还包括:算法协商单元,用于所述计算单元通过所述预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到所述第一消息验证码之前,获取TLS层发送的所述预设MAC算法。
- 根据权利要求28~39任一项所述装置,其特征在于,所述预设MAC算法携带密钥信息;所述计算单元,用于通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第一消息验证码。
- 根据权利要求40所述装置,其特征在于,所述装置还包括:密钥信息协商单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述密钥信息。
- 根据权利要求40所述装置,其特征在于,所述装置还包括:密钥信息协商单元,用于所述计算单元通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第一消息验证码之前,获取TLS层发送的所述密钥信息。
- 一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:获取数据包的数据类型信息和数据包标识信息;通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第一消息验证码;将包含所述数据类型信息和所述第一消息验证码的数据包发送给节点设备,以使所述节点设备根据所述第一消息验证码对所述数据类型信息进行校验。
- 一种数据包传输装置,其特征在于,包括:数据包接收单元,用于接收节点设备发送的数据包,所述数据包携带有数据类型信息和第一消息验证码;信息获取单元,用于获取所述数据包的数据包标识信息;计算单元,用于通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码;比较单元,用于将所述第一消息验证码和所述第三消息验证码进行比较;校验单元,用于根据比较结果对所述数据类型信息进行校验。
- 根据权利要求44所述装置,其特征在于,所述数据包为TCP数据包;所述数据包标识信息包括以下至少一项:所述TCP数据包的发送序号、所述TCP数据包的确认序号或者预设参数。
- 根据权利要求45所述装置,其特征在于,所述装置还包括:预设参数获取单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备交互得到所述预设参数。
- 根据权利要求44所述装置,其特征在于,所述数据包为TLS数据包;所述装置还包括:确定单元,用于所述信息获取单元获取所述数据包的数据包标识信息之前,确定所述TLS数据包包括扩展标识信息,所述扩展标识信息用于指示所述TLS数据包为指示所述TLS数据包的前一个TLS数据包的数据部分的数据类型的数据包。
- 根据权利要求47所述装置,其特征在于,所述数据包标识信息为所述TLS数据包的前一个TLS数据包的第二消息验证码。
- 根据权利要求44~48任一项所述装置,其特征在于,所述第一消息验证码是通过预设私钥进行加密的;所述装置还包括:解密单元,用于所述数据包接收单元接收所述节点设备发送的数据包之后,通过预设公钥对所述第一消息验证码进行解密。
- 根据权利要求49所述装置,其特征在于,所述装置还包括:预设公钥获取单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备交互得到所述预设公钥。
- 根据权利要求44~50任一项所述装置,其特征在于,所述装置还包括:算法协商单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述预设MAC算法。
- 根据权利要求44~50任一项所述装置,其特征在于,所述装置还包括:算法协商单元,用于所述计算单元通过所述预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到所述第三消息验证码之前,获取TLS层发送的所述预设MAC算法。
- 根据权利要求44~52任一项所述装置,其特征在于,所述预设MAC算法携带密钥信息;所述计算单元,用于通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第三消息验证码。
- 根据权利要求53所述装置,其特征在于,所述装置还包括:密钥信息协商单元,用于在建立与所述节点设备之间的TCP连接时,与所述节点设备协商得到所述密钥信息。
- 根据权利要求53所述装置,其特征在于,所述装置还包括:密钥信息协商单元,用于所述计算单元通过所述预设MAC算法对所述数据类型信息、所述数据包标识信息以及所述密钥信息进行计算,得到所述第三消息验证码之前,获取TLS层发送的所述密钥信息。
- 一种节点设备,其特征在于,包括处理器、存储器以及网络接口,其中,所述存储器中存储一组程序代码,且所述处理器用于调用存储器中存储的程序代码,用于执行以下操作:接收节点设备发送的数据包,所述数据包携带有数据类型信息和第一消息验证码;获取所述数据包的数据包标识信息;通过预设MAC算法对所述数据类型信息和所述数据包标识信息进行计算,得到第三消息验证码;将所述第一消息验证码和所述第三消息验证码进行比较;根据比较结果对所述数据类型信息进行校验。
- 一种数据包传输系统,其特征在于,包括如权利要求28~42任一项所述的数据包传输装置和如权利要求44~55任一项所述的数据包传输装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/087979 WO2017031677A1 (zh) | 2015-08-25 | 2015-08-25 | 一种数据包传输方法、装置、节点设备以及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107431691A true CN107431691A (zh) | 2017-12-01 |
Family
ID=58099409
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580032690.1A Pending CN107431691A (zh) | 2015-08-25 | 2015-08-25 | 一种数据包传输方法、装置、节点设备以及系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20180176230A1 (zh) |
EP (1) | EP3328014A4 (zh) |
KR (1) | KR20180039102A (zh) |
CN (1) | CN107431691A (zh) |
BR (1) | BR112018003484A2 (zh) |
WO (1) | WO2017031677A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200830A (zh) * | 2020-01-02 | 2020-05-26 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置、电子设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107113172B (zh) * | 2015-12-10 | 2019-03-29 | 深圳市大疆创新科技有限公司 | 无人机认证方法,安全通信方法及对应系统 |
US11388145B2 (en) * | 2016-09-12 | 2022-07-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Tunneling data traffic and signaling over secure etls over wireless local area networks |
CN112954065B (zh) * | 2021-02-26 | 2023-12-29 | 厦门熵基科技有限公司 | 一种数据推送方法、装置、电子设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6092191A (en) * | 1995-11-30 | 2000-07-18 | Kabushiki Kaisha Toshiba | Packet authentication and packet encryption/decryption scheme for security gateway |
US20040193876A1 (en) * | 2003-03-27 | 2004-09-30 | Donley Christopher J. | Method to authenticate packet payloads |
CN1610441A (zh) * | 2003-10-17 | 2005-04-27 | 诺基亚公司 | 通信系统中消息的验证 |
CN1969236A (zh) * | 2004-09-16 | 2007-05-23 | 倍福自动化有限公司 | 数据传输方法及使用此种数据传输方法的自动化系统 |
CN101521654A (zh) * | 2008-02-29 | 2009-09-02 | 西门子(中国)有限公司 | 一种消息保护方法、发送端设备和接收端设备 |
KR20090125754A (ko) * | 2007-03-30 | 2009-12-07 | 인터내셔널 비지네스 머신즈 코포레이션 | 무선 메시 및 센서 네트워크에서 탄력적 패킷 역추적을 위한 방법 및 시스템 |
CN102347831A (zh) * | 2010-07-26 | 2012-02-08 | 华为技术有限公司 | 时间消息处理方法、装置及系统 |
CN103532668A (zh) * | 2013-10-12 | 2014-01-22 | 成都阜特科技股份有限公司 | 一种确保tcp通信数据完整及正确的方法 |
CN103957241A (zh) * | 2014-04-16 | 2014-07-30 | 中国工商银行股份有限公司 | 一种基于报文数据的通信方法及装置 |
CN104219102A (zh) * | 2013-05-29 | 2014-12-17 | 华为技术有限公司 | 一种网络数据压缩统计的方法、装置和系统 |
CN104333562A (zh) * | 2014-11-27 | 2015-02-04 | 沈文策 | 数据包传输方法及装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6950523B1 (en) * | 2000-09-29 | 2005-09-27 | Intel Corporation | Secure storage of private keys |
US7069438B2 (en) * | 2002-08-19 | 2006-06-27 | Sowl Associates, Inc. | Establishing authenticated network connections |
US7774604B2 (en) * | 2003-12-10 | 2010-08-10 | Mcafee, Inc. | Verifying captured objects before presentation |
CN1917426B (zh) * | 2005-08-17 | 2010-12-08 | 国际商业机器公司 | 端口扫描方法与设备及其检测方法与设备、端口扫描系统 |
JP4909875B2 (ja) * | 2007-11-27 | 2012-04-04 | アラクサラネットワークス株式会社 | パケット中継装置 |
JP5770602B2 (ja) * | 2011-10-31 | 2015-08-26 | トヨタ自動車株式会社 | 通信システムにおけるメッセージ認証方法および通信システム |
WO2014179753A2 (en) * | 2013-05-03 | 2014-11-06 | A10 Networks, Inc. | Facilitating secure network traffic by an application delivery controller |
CN103428204B (zh) * | 2013-07-29 | 2016-08-10 | 杭州华三通信技术有限公司 | 一种可抵御计时攻击的数据安全实现方法及设备 |
-
2015
- 2015-08-25 KR KR1020187006449A patent/KR20180039102A/ko not_active Application Discontinuation
- 2015-08-25 BR BR112018003484A patent/BR112018003484A2/pt not_active Application Discontinuation
- 2015-08-25 EP EP15901948.8A patent/EP3328014A4/en not_active Withdrawn
- 2015-08-25 WO PCT/CN2015/087979 patent/WO2017031677A1/zh active Application Filing
- 2015-08-25 CN CN201580032690.1A patent/CN107431691A/zh active Pending
-
2018
- 2018-02-14 US US15/896,707 patent/US20180176230A1/en not_active Abandoned
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6092191A (en) * | 1995-11-30 | 2000-07-18 | Kabushiki Kaisha Toshiba | Packet authentication and packet encryption/decryption scheme for security gateway |
US20040193876A1 (en) * | 2003-03-27 | 2004-09-30 | Donley Christopher J. | Method to authenticate packet payloads |
CN1610441A (zh) * | 2003-10-17 | 2005-04-27 | 诺基亚公司 | 通信系统中消息的验证 |
CN1969236A (zh) * | 2004-09-16 | 2007-05-23 | 倍福自动化有限公司 | 数据传输方法及使用此种数据传输方法的自动化系统 |
KR20090125754A (ko) * | 2007-03-30 | 2009-12-07 | 인터내셔널 비지네스 머신즈 코포레이션 | 무선 메시 및 센서 네트워크에서 탄력적 패킷 역추적을 위한 방법 및 시스템 |
CN101521654A (zh) * | 2008-02-29 | 2009-09-02 | 西门子(中国)有限公司 | 一种消息保护方法、发送端设备和接收端设备 |
CN102347831A (zh) * | 2010-07-26 | 2012-02-08 | 华为技术有限公司 | 时间消息处理方法、装置及系统 |
CN104219102A (zh) * | 2013-05-29 | 2014-12-17 | 华为技术有限公司 | 一种网络数据压缩统计的方法、装置和系统 |
CN103532668A (zh) * | 2013-10-12 | 2014-01-22 | 成都阜特科技股份有限公司 | 一种确保tcp通信数据完整及正确的方法 |
CN103957241A (zh) * | 2014-04-16 | 2014-07-30 | 中国工商银行股份有限公司 | 一种基于报文数据的通信方法及装置 |
CN104333562A (zh) * | 2014-11-27 | 2015-02-04 | 沈文策 | 数据包传输方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111200830A (zh) * | 2020-01-02 | 2020-05-26 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20180176230A1 (en) | 2018-06-21 |
EP3328014A4 (en) | 2018-08-29 |
KR20180039102A (ko) | 2018-04-17 |
BR112018003484A2 (pt) | 2018-09-25 |
WO2017031677A1 (zh) | 2017-03-02 |
EP3328014A1 (en) | 2018-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11736304B2 (en) | Secure authentication of remote equipment | |
EP3286896B1 (en) | Scalable intermediate network device leveraging ssl session ticket extension | |
CN109495503B (zh) | 一种ssl vpn认证方法、客户端、服务器及网关 | |
KR20180079324A (ko) | 디바이스들 사이의 보안 연관을 위한 인터넷 키 교환 (ike) | |
US20200228505A1 (en) | Private Exchange of Encrypted Data Over A Computer Network | |
CN109831775B (zh) | 一种处理器、基带芯片以及sim卡信息传输方法 | |
CN110166489B (zh) | 一种物联网中数据传输方法、系统、设备及计算机介质 | |
CN111385259A (zh) | 一种数据传输方法、装置、相关设备及存储介质 | |
US20180176230A1 (en) | Data packet transmission method, apparatus, and system, and node device | |
CN106788960A (zh) | 一种密钥协商的方法及装置 | |
CN116633582A (zh) | 安全通信方法、装置、电子设备及存储介质 | |
CN115333839B (zh) | 数据安全传输方法、系统、设备及存储介质 | |
CN113950802B (zh) | 用于执行站点到站点通信的网关设备和方法 | |
CN114760093B (zh) | 通信方法及装置 | |
CN108966214A (zh) | 无线网络的认证方法、无线网络安全通信方法及装置 | |
CN109960935A (zh) | 确定tpm可信状态的方法、装置及存储介质 | |
KR101457455B1 (ko) | 클라우드 네트워크 환경에서의 데이터 보안 장치 및 방법 | |
CN117155568A (zh) | 基于量子密钥应用机制的IPv6报文加解密方法 | |
CN114039812A (zh) | 数据传输通道建立方法、装置、计算机设备和存储介质 | |
WO2021248999A1 (zh) | 一种校验应用信息的方法、报文处理方法及装置 | |
CN112787803A (zh) | 一种安全通信的方法和设备 | |
CN103179055B (zh) | 一种基于IPsec的报文传输方法和设备 | |
CN116488812B (zh) | 一种业务数据处理方法、装置、电子设备和存储介质 | |
CN119602946A (zh) | 一种后量子密码与国密算法混合加密、解密方法和设备 | |
CN117528506A (zh) | 数据转发方法、接入控制器、无线接入点、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20210330 |