CN113765851A - 一种数据处理方法及其设备 - Google Patents
一种数据处理方法及其设备 Download PDFInfo
- Publication number
- CN113765851A CN113765851A CN202010494782.4A CN202010494782A CN113765851A CN 113765851 A CN113765851 A CN 113765851A CN 202010494782 A CN202010494782 A CN 202010494782A CN 113765851 A CN113765851 A CN 113765851A
- Authority
- CN
- China
- Prior art keywords
- network device
- packet
- checksum
- message
- chain code
- 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
Links
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- 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/22—Parsing or analysis of headers
-
- 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
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)
- Detection And Prevention Of Errors In Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种数据处理方法及其设备,用于报文传输的过程中。本申请实施例方法包括:第一网络设备生成第一报文,第一报文携带第一校验和,第一校验和根据第一报文和第一链式码生成,第一链式码根据第二报文生成,第二报文为第一网络设备在第一报文之前向第二网络设备发送的报文,第一网络设备向第二网络设备发送第一报文。本申请实施例中,通过发送包含有根据第一链式码生成的第一校验和的第二报文,即使被非法第三方截获,也无法篡改该第二报文,提升了系统安全性。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及一种数据处理方法及其设备。
背景技术
传输层是整个互联网基础协议族的关键层,为上层的应用提供统一的服务,传输层在端到端之间的高效数据传输中,扮演着极其重要的角色。
当前的协议中的校验和(Checksum)是以一部分IP头部、传输层端口号(SourcePort,Destination Port)、序列号(Sequence Number,Acknowledgment Number)等信息作为输入生成的,接收方只需要接收到报文后,校验报文中的checksum,就可以确认报文是否被篡改。
接收方与发送方之间在传输报文时,除序列号以外的参数值基本是确定的,因此,非法第三方只要获得正确的序列号,就能生成正确的校验和,而在现有技术中,序列号通常是按照一定的规律递增的,因此序列号容易被非法第三方猜测,一旦序列号被猜中,非法第三方就可以结合其他确定的参数值,生成正确的校验和,从而影响了系统的安全性。
发明内容
本申请实施例提供了一种数据处理方法及其设备,用于在报文传输过程中,通过在第二报文中携带根据第一链式码生成的第一校验和,即使非法第三方截获了该第二报文,因为没有获取到第一链式码,因此无法通过第一链式码生成第一校验和,进而提升了篡改第二报文的难度,从而提升了系统安全性。
本申请第一方面提供了一种数据处理方法。
第一网络设备生成第一报文,第一报文携带第一校验和,第一校验和根据第一报文和第一链式码生成,第一链式码根据第二报文生成,第二报文为第一网络设备在第一报文之前向第二网络设备发送的报文;
第一网络设备向第二网络设备发送第一报文。
可选的,第一网络设备生成第一报文之后,方法还包括:
第一网络设备根据第一报文和第一链式码得到第二链式码,第二链式码用于生成第二校验和,第二校验和用于验证第一网络设备在第一报文之后向第二网络设备发送的报文;
第一网络设备保存第二链式码。
可选的,第一网络设备生成第一报文之前,方法还包括:
第一网络设备生成第二报文,第二报文携带源校验和,源校验和根据预设值生成,预设值为第一网络设备和第二网络设备预先设置的,源校验和用于第二网络设备验证第二报文,第一链式码根据预设值和第二报文生成;
第一网络设备向第二网络设备发送第二报文。
可选的,第二报文为第一网络设备向第二网络设备发送的数据流中的首个待验证报文。
可选的,方法还包括:
第一网络设备接收第二网络设备发送的第三报文,第三报文携带第三校验和,第三校验和用于验证第三报文;
第一网络设备根据第三链式码和第三报文生成第四校验和,第三链式码为第一网络设备根据第四报文生成,第四报文为第一网络设备在接收到第三报文之前从第二网络设备接收到的报文;
若第四校验和与第三校验和相同,则第一网络设备确定第三报文未被篡改。
可选的,第一网络设备确定第三报文未被篡改之后,方法还包括:
第一网络设备根据第三链式码和第三报文得到第四链式码,第四链式码用于生成第五校验和,第五校验和用于验证第一网络设备在第三报文之后从第二网络设备接收的报文;
第一网络设备保存第四链式码。
第一网络设备接收第二网络设备发送的第三报文之前,方法还包括:
第一网络设备接收第四报文,第四报文携带第六校验和,第六校验和用于验证第四报文;
第一网络设备根据预设值和第四报文生成第七校验和,预设值为第一网络设备和第二网络设备预先设置的,第四报文为第一网络设备从第二网络设备接收的数据流中的首个待验证报文,第三链式码为第一网络设备根据第四报文和预设值生成;
若第六校验和与第七校验和相同,则第一网络设备确定第四报文未被篡改。
可选的,第一报文至第四报文的各个校验和设置于对应的各个报文的头部。
本申请实施例第二方面提供了一种数据处理方法,包括:
第二网络设备接收第一网络设备发送的第一报文,第一报文携带第一校验和,第一校验和用于验证第一报文;
第二网络设备根据第一链式码和第一报文生成第八校验和,第一链式码为第一网络设备根据第二报文生成,第二报文为第二网络设备在接收到第一报文之前从第一网络设备接收到的报文;
若第一校验和与第八校验和相同,则第二网络设备确定第一报文未被篡改。
可选的,第二网络设备确定第一报文未被篡改之后,方法还包括:
第二网络设备根据第一链式码和第一报文得到第二链式码,第二链式码用于生成第九校验和,第九校验和用于验证第二网络设备在第一报文之后从第一网络设备接收的报文;
第二网络设备保存第二链式码。
可选的,第二网络设备接收第一网络设备发送的第一报文之前,方法还包括:
第二网络设备接收第二报文,第二报文携带源校验和,源校验和用于验证第二报文;
第二网络设备根据预设值和第二报文生成第十校验和,预设值为第一网络设备和第二网络设备预先设置的,第二报文为第二网络设备从第一网络设备接收的数据流中的首个待验证报文,第一链式码根据预设值和第二报文生成;
若源校验和与第十校验和相同,则第二网络设备确定第二报文未被篡改。
本申请实施例第三方面提供了一种网络设备,包括:
生成单元,用于生成第一报文,第一报文携带第一校验和,第一校验和根据第一报文和第一链式码生成,第一链式码根据第二报文生成,第二报文为第一网络设备在第一报文之前向第二网络设备发送的报文;
发送单元,用于向第二网络设备发送第一报文。
可选的,网络设备还包括:
处理单元,用于根据第一报文和第一链式码得到第二链式码,第二链式码用于生成第二校验和,第二校验和用于验证第一网络设备在第一报文之后向第二网络设备发送的报文;
保存单元,用于保存第二链式码。
可选的,生成单元还用于生成第二报文,第二报文携带源校验和,源校验和根据预设值生成,预设值为第一网络设备和第二网络设备预先设置的,源校验和用于第二网络设备验证第二报文,第一链式码根据预设值和第二报文生成;
生成单元还用于向第二网络设备发送第二报文。
可选的,第二报文为网络设备向第二网络设备发送的数据流中的首个待验证报文。
可选的,网络设备还包括:
接收单元,用于接收第二网络设备发送的第三报文,第三报文携带第三校验和,第三校验和用于验证第三报文;
生成单元还用于根据第三链式码和第三报文生成第四校验和,第三链式码为第一网络设备根据第四报文生成,第四报文为第一网络设备在接收到第三报文之前从第二网络设备接收到的报文;
若第四校验和与第三校验和相同,则处理单元还用于确定第三报文未被篡改。
可选的,处理单元还用于根据第三链式码和第三报文得到第四链式码,第四链式码用于生成第五校验和,第五校验和用于验证第一网络设备在第三报文之后从第二网络设备接收的报文;
保存单元还用于保存第四链式码。
可选的,接收单元还用于接收第四报文,第四报文携带第六校验和,第六校验和用于验证第四报文;
生成单元还用于根据预设值和第四报文生成第七校验和,预设值为第一网络设备和第二网络设备预先设置的,第四报文为第一网络设备从第二网络设备接收的数据流中的首个待验证报文,第三链式码为第一网络设备根据第四报文和预设值生成;
若第六校验和与第七校验和相同,则处理单元还用于确定第四报文未被篡改。
可选的,第一报文至第四报文的各个校验和设置于对应的各个报文的头部。
本申请实施例第四方面提供了一种网络设备,包括:
接收单元,用于接收第一网络设备发送的第一报文,第一报文携带第一校验和,第一校验和用于验证第一报文;
生成单元,用于根据第一链式码和第一报文生成第八校验和,第一链式码为网络设备根据第二报文生成,第二报文为网络设备在接收到第一报文之前从第一网络设备接收到的报文;
若第一校验和与第八校验和相同,则网络设备还包括:
确定单元,用于确定第一报文未被篡改。
可选的,网络设备还包括:
处理单元,用于根据第一链式码和第一报文得到第二链式码,第二链式码用于生成第九校验和,第九校验和用于验证网络设备在第一报文之后从第一网络设备接收的报文;
保存单元,用于保存第二链式码。
可选的,接收单元还用于接收第二报文,第二报文携带源校验和,源校验和用于验证第二报文;
生成单元还用于根据预设值和第二报文生成第十校验和,预设值为第一网络设备和网络设备预先设置的,第二报文为网络设备从第一网络设备接收的数据流中的首个待验证报文,第一链式码根据预设值和第二报文生成;
若源校验和与第十校验和相同,则确定单元还用于确定第二报文未被篡改。
本申请实施例第五方面提供了一种网络设备,包括:
网络设备包括处理器和存储器,存储器中存储有计算机程序,处理器执行存储器中存储的计算机程序,以使网络设备执行如本申请第一方面或者第二方面实施方式所述的方法。
本申请实施例第六方面提供了一种可读存储介质,用于存储有指令,当指令被执行时,使如本申请第一方面或者第二方面实施方式所述的方法被实现。
本申请实施例第七方面提供了一种计算机程序产品,所述计算机程序产品在计算机上执行时,使得所述计算机执行如本申请第一方面或者第二方面实施方式所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,第一网络设备通过第一报文和第一链式码生成第一报文的第一校验和,并向第二网络设备发送包含有第一校验和的第一报文,即使非法第三方截获了该第一报文,因为没有截获第一链式码,因此无法通过第一链式码生成第一校验和,进而提升了篡改第一报文的难度,从而提升了系统安全性。
附图说明
图1为本申请实施例提供的网络传输框架一个示意图;
图2为本申请实施例提供的网络传输框架另一示意图;
图3为本申请实施例提供的数据处理方法的一个流程示意图;
图4为本申请实施例提供的数据处理方法的另一流程示意图;
图5为本申请实施例提供的网络设备的一个结构示意图;
图6为本申请实施例提供的网络设备的另一结构示意图;
图7为本申请实施例提供的网络设备的另一结构示意图;
图8为本申请实施例提供的网络设备的另一结构示意图;
图9为本申请实施例提供的网络设备的另一结构示意图。
具体实施方式
本申请实施例提供了一种数据处理方法,用于进行报文传输时,通过在先发送的第二报文生成第一链式码,再根据第一链式码生成第一报文的第一校验和,再发送带有第一校验和的第一报文,提升了非法第三方篡改第一报文的难度,从而提升了系统安全性。
为了更好的理解本申请实施例公开的一种数据处理方法,下面首先对本申请实施例适用的网络传输框架进行描述。
请参阅图1,为本申请实施例提供的一个网络传输框架示意图。
本申请实施例提供的网络传输框架可以包括第一网络设备101和第二网络设备102,该第一网络设备和第二网络设备之间通过有线网络或者无线网络连接。可以理解的是,在实际应用过程中,还可以包括更多的网络设备,具体此处不做限定。
如果通过有线网络连接,一般的连接形式为光纤网络,可以理解的是,还可以通过其他有线网络连接,例如通过非对称数字用户线路(asymmetric digital subscriberline,ADSL)连接、有线宽带连接等,具体此处不做限定。如果通过无线网络连接,可以通过WLAN连接(即无线保真(wireless fidelity,Wi-Fi)连接),可以理解的是,还可以通过其他无线网络连接,例如蓝牙连接、红外连接、数据网络连接等,其中,数据网络连接还可以包括第二代移动通信技术的通用分组无线服务(general packet radio service,GPRS)或者增强型数据速率GSM演进技术(enhanced data rate for GSM evolution,EDGE)或码分多址(code division multiple access,CDMA),第三代移动通信技术的宽带码分多址(wideband code division multiple access,WCDMA)、CDMA,第四代移动通信技术的分时长期演进(Time Division Long Term,TD-LTE)、频分双工长期演进(frequency divisionduplexing-long term evolution,FDD-LTE)、第五代移动通信技术、第六代移动通信技术的等数据网络连接,具体的连接方式此处不做限定。
本申请实施例中的第一网络设备101和/或第二网络设备102可以是具有无线收发功能的设备,也可以是只支持有线传输的设备,具体此处不做限定。例如,网络设备可以是手机(mobile phone)、平板电脑(Pad)、台式计算机、笔记本电脑、虚拟现实(virtualreality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、车载终端设备、无人驾驶(self driving)中的终端、远程医疗(remote medical)中的终端、智能电网(smart grid)中的终端、运输安全(transportation safety)中的终端、智慧城市(smart city)中的终端、智慧家庭(smarthome)中的终端、可穿戴终端设备等等。
在实际应用过程中,在第一网络设备101与第二网络设备102传输数据的过程中,可能还会存在非法第三方。如图2所示,客户端201与服务器202在传输数据的过程中,非法第三方203进行相应的攻击。例如传输层面临的典型安全威胁,包括TCP序列号推理(基于序列号推理可实现TCP连接的重置、劫持等恶意攻击)、TCP洪泛攻击、中间人攻击、重放攻击、TPC拥塞控制攻击等。
为了防止被非法第三方攻击,第一网络设备101和第二网络设备102之间会对传输的报文进行验证。第一网络设备101对将要发送的报文添加一个校验和字段,该校验和用于第二网络设备102对接收到的报文进行验证,以判断接收到的报文是否被篡改。
下面结合图1的网络传输框架,对本申请实施例中的数据处理方法进行描述。
本申请实施例中,可以只是第一网络设备对第二网络设备发送报文,第二网络设备验证报文。也可以是第一网络设备和第二网络设备互相发送报文,并验证各自接收到的报文。针对上述两种情况,本申请实施例将分别进行描述。
一、只是第一网络设备对第二网络设备发送报文。
请参阅图3,为本申请实施例提供的数据处理方法的一个流程示意图。
在步骤301中,第一网络设备生成第二报文,第二报文携带源校验和,源校验和根据预设值生成。
当第一网络设备需要向第二网络设备传输数据时,第一网络设备生成第二报文,并把需要传输的数据装载至第二报文的净荷中。
具体的,第一网络设备根据不同的传输层协议生成不同的第二报文。例如,若第一网络设备和第二网络设备是基于TCP协议进行传输的,则第一网络设备生成TCP报文;若第一网络设备和第二网络设备是基于UDP协议进行传输的,则第一网络设备生成UDP报文。可以理解的是,当通过其他传输层协议进行传输数据时,则生成其他格式的报文,具体此处不做限定。
在实际应用过程中,该第二报文可以是第一网络设备发送给第二网络设备的首个待验证报文,也可以是第一网络设备发送给第二网络设备的数据流中的一个中间报文,还可以是第一网络设备发送给第二网络设备的首个报文,具体此处不做限定。
在一种可能的实现方式中,当第一网络设备和第二网络设备是基于TCP协议进行传输的,则第一网络设备生成的TCP报文的组成格式可以如下表1所示。
表1 TCP报文组成格式
其中,TCP报文头固定字段为20字节,包括:16位源端口号,16位目的端口号,32位序列号:一次TCP通信过程中某一个传输方向上的字节流的每个字节的编号,32位确认好:用来确认已收到的TCP报文段,4位头部长度:标识该TCP头部有多少个4字节,6位保留,ECN:显示拥塞通告控制位,6位控制位,16位窗口大小:用来告诉对端TCP缓冲区还能容纳多少字节,16位校验和:由发送端填充,16位紧急指针,以及其余的选项填充字段和数据部分。
可以理解的是,在实际应用过程中,报文的格式还可以有更多的变化,具体此处不做限定。
当第一网络设备生成第二报文之后,第一网络设备获取预先设置的预设值,并根据该预设值生成源校验和,该源校验和用于第二网络设备验证第二报文的。
具体的,第一网络设备在和第二网络设备传输数据之前,第一网络设备和第二网络设备会共享或者协商一个预设值,该预设值可以是一个随机数。在协商完成之后,第一网络设备和第二网络设备会分别保存这个相同的预设值在本地。
可选地,在一种可能的实现方式中,当第二报文为第一网络设备向第二网络设备发送一组数据流中的第一个报文时,第一网络设备获取预设值,并根据预设值计算该报文的校验和,即源校验和。例如,第一网络设备可以根据CRC算法来计算第二报文的源校验和,具体计算公式如下:
源校验和=f(预设值,第二报文的数据部分)
其中,f()表示CRC算法。可以理解的是,还可以通过其他方式来计算该源校验和,例如通过安全散列算法(secure hash algorithm,SHA)进行计算,则f()表示SHA算法。其中,SHA算法可以包括SHA1、SHA256等等,具体此处不做限定。在实际应用过程中,源校验和还可以根据预设值和第二报文的所有部分得到,例如:
源校验和=f(预设值,第二报文的数据部分,第二报文的伪首部,第二报文的首部)
或者,在一种可能的实现方式中,源校验和只根据预设值进行计算,具体此处不做限定。
在第一网络设备生成源校验和之后,第一网络设备将源校验和装载至第二报文中。
具体的,该步骤可以在生成第二报文之后,将生成的源校验和装载至第二报文的校验和字段中,也可以在生成第二报文时,将计算出的源校验和装载至第二报文的校验和字段中,具体此处不做限定。
可以理解的是,在实际应用过程中,该源校验和可以装载至校验和的字段中,也可以装在在其他字段中,例如装载在选项填充字段中,具体此处不做限定。
在步骤302中,第一网络设备向第二网络设备发送第二报文。
在生成了第二报文之后,第一网络设备向第二网络设备发送第二报文。
在步骤303中,第二网络设备根据预设值和第二报文生成第十校验和。
当第二网络设备接收到第二报文之后,第二网络设备根据预设值和第二报文生成第十校验和。
具体的,当第二网络设备接收到该第二报文之后,第二网络设备需要对该第二报文进行验证,以便于判断该第二报文是否被非法第三方篡改。第二网络设备获取保存在本地的预设值,并根据该预设值计算对应的第十校验和。
在实际应用过程中,第二网络设备根据预设值计算对应的第十校验和的方式和第一网络设备根据预设值计算源校验和的方式相同。例如,第一网络设备通过CRC算法,并根据预设值和第二报文的数据部分计算源校验和时,则第二网络设备在验证第二报文时,也根据相同的CRC算法计算对应的第十校验和。
在步骤304中,若源校验和与第十校验和相同,则第二网络设备确定第二报文未被篡改。
第二网络设备判断源校验和与第十校验和是否相同,若计算出的第十校验和和第二报文中携带的源校验和相同,则第二网络设备确定该第二报文未被篡改,并接收保存该第二报文。若计算出的第十校验和和第二报文中携带的源校验和不同,则第二网络设备确定该第二报文被篡改,则丢弃或者删除该第二报文。
当第二网络设备确定该第二报文未被篡改时,则第二网络设备根据第二报文生成第一链式码,该第一链式码用于验证第二网络设备在接收到第二报文之后从第一网络设备接收到的报文。
具体的,在一种可能的实现方式中,第二网络设备根据第二报文的数据部分和预设值生成第一链式码。例如,通过SHA算法计算第二报文的数据部分和预设值,得到第一链式码,具体计算公式如下:
第一链式码=H(预设值,第二报文的数据部分)
其中,H()表示SHA算法。可以理解的是,还可以通过其他方式来计算该第一链式码,具体此处不做限定。在实际应用过程中,第一链式码还可以根据预设值和第二报文的所有部分得到,具体此处不做限定。
当计算完第一链式码之后,第二网络设备将第一链式码保存在本地。
在步骤305中,第一网络设备生成第一报文,第一报文携带第一校验和,第一校验和根据第一报文和第一链式码生成。
第一网络设备在发送了第二报文之后,第一网络设备生成第一报文,并把需要传输的数据装载至第一报文的净荷中。
具体的,第一网络设备根据不同的传输层协议生成不同的第一报文。例如,若第一网络设备和第二网络设备是基于TCP协议进行传输的,则第一网络设备生成TCP报文;若第一网络设备和第二网络设备是基于UDP协议进行传输的,则第一网络设备生成UDP报文。可以理解的是,当通过其他传输层协议进行传输数据时,则生成其他格式的报文,具体此处不做限定。
在一种可能的实现方式中,当第一网络设备和第二网络设备是基于TCP协议进行传输的,则第一网络设备生成的TCP报文的组成格式可以如下表1所示。
表1 TCP报文组成格式
其中,TCP报文头固定字段为20字节,包括:16位源端口号,16位目的端口号,32位序列号:一次TCP通信过程中某一个传输方向上的字节流的每个字节的编号,32位确认好:用来确认已收到的TCP报文段,4位头部长度:标识该TCP头部有多少个4字节,6位保留,ECN:显示拥塞通告控制位,6位控制位,16位窗口大小:用来告诉对端TCP缓冲区还能容纳多少字节,16位校验和:由发送端填充,16位紧急指针,以及其余的选项填充字段和数据部分。
可以理解的是,在实际应用过程中,报文的格式还可以有更多的变化,具体此处不做限定。
第一网络设备根据第二报文生成第一链式码,该第一链式码用于生成第一校验和。
具体的,在一种可能的实现方式中,第一网络设备根据第二报文的数据部分和预设值生成第一链式码。例如,通过SHA算法计算第二报文的数据部分和预设值,得到第一链式码,具体计算公式如下:
第一链式码=H(预设值,第二报文的数据部分)
其中,H()表示SHA算法。可以理解的是,还可以通过其他方式来计算该第一链式码,具体此处不做限定。在实际应用过程中,第一链式码还可以根据预设值和第二报文的所有部分得到,具体此处不做限定。
当计算完第一链式码之后,第一网络设备将第一链式码保存在本地。
需要说明的是,在实际应用过程中,第一网络设备计算第一链式码的方式和第二网络设备计算第一链式码的方式相同。
在得到第一链式码之后,第一网络设备根据第一链式码和第一报文生成第一校验和,该第一校验和是用于第二网络设备验证第一报文的。
可选地,在一种可能的实现方式中,第一报文为第一网络设备向第二网络设备发送第二报文之后生成的首个报文。第一网络设备获取第一链式码,并根据第一链式码和第一报文计算第一报文的校验和,即第一校验和。例如,第一网络设备根据CRC算法来计算第一报文的第一校验和,具体计算公式如下:
第一校验和=f(第一链式码,第一报文的数据部分)
其中,f()表示CRC算法。可以理解的是,还可以通过其他方式来计算该第一校验和,例如通过安全散列算法(secure hash algorithm,SHA)进行计算,则f()表示SHA算法。其中,SHA算法可以包括SHA1、SHA256等等,具体此处不做限定。在实际应用过程中,第一校验和还可以根据第一链式码和第一报文的所有部分得到,例如:
第一校验和=f(第一链式码,第一报文的数据部分,第一报文的伪首部,第一报文的首部)
需要说明的是,第一校验和的计算方式还可以包括更多方式,具体此处不做限定。
在第一网络设备生成第一校验和之后,第一网络设备将第一校验和装载至第一报文中。
具体的,该步骤可以在生成第一报文之后,将生成的第一校验和装载至第一报文的校验和字段中,也可以在生成第一报文时,将计算出的第一校验和装载至第一报文的校验和字段中,具体此处不做限定。
可以理解的是,在实际应用过程中,该第一校验和可以装载至校验和的字段中,也可以装在在其他字段中,例如装载在选项填充字段中,具体此处不做限定。
在步骤306中,第一网络设备根据第一报文和第一链式码得到第二链式码。
第一网络设备在生成第一报文之后,根据第一报文和第一链式码得到第二链式码,该第二链式码用于生成第二校验和,第二校验和用于验证第一网络设备在第一报文之后向第二网络设备发送的报文。
具体的,第一网络设备生成第二链式码的方法和根据预设值和第二报文生成第一链式码的方法类似,具体此处不再赘述。
第一网络设备得到了第二链式码之后,第一网络设备将第二链式码保存在本地。具体的,在一种可能的实现方式中,第一网络设备可以用第二链式码更新本地已经保存的第一链式码。
在步骤307中,第一网络设备向第二网络设备发送第一报文。
在生成了第一报文之后,第一网络设备向第二网络设备发送第一报文。
在步骤308中,第二网络设备根据第一链式码验证和第一报文生成第八校验和。
当第二网络设备接收到第一报文之后,第二网络设备根据第一链式码和第一报文生成第八校验和。
具体的,当第二网络设备接收到该第一报文之后,第二网络设备需要对该第一报文进行验证,以便于判断该第一报文是否被非法第三方篡改。第二网络设备获取保存在本地的第一链式码,并根据该第一链式码计算对应的第八校验和。
在实际应用过程中,第二网络设备根据第一链式码计算对应的第八校验和的方式和第一网络设备根据第一链式码计算第一校验和的方式相同。例如,第一网络设备通过CRC算法,并根据第一链式码和第一报文的数据部分计算第一校验和时,则第二网络设备在验证第一报文时,也根据相同的CRC算法计算对应的第八校验和。
在步骤309中,若第一校验和与第八校验和相同,则第二网络设备确定第一报文未被篡改。
第二网络设备判断第一校验和与第八校验和是否相同,若计算出的第八校验和和第一报文中携带的第一校验和相同,则第二网络设备确定该第一报文未被篡改,并接收保存该第一报文。若计算出的第八校验和和第一报文中携带的第一校验和不同,则第二网络设备确定该第一报文被篡改,则丢弃或者删除该第一报文。
在步骤310中,第二网络设备根据第一报文和第一链式码得到第二链式码。
在确定了第一报文未被篡改之后,第二网络设备根据第一报文生成第二链式码,该第二链式码用于验证第二网络设备在接收到第一报文之后从第一网络设备接收到的报文。
具体的,在一种可能的实现方式中,第二网络设备根据第一报文的数据部分和第一链式码生成第二链式码。例如,通过SHA算法计算第一报文的数据部分和第一链式码,得到第二链式码,具体计算公式如下:
第二链式码=H(第一链式码,第一报文的数据部分)
其中,H()表示SHA算法,例如可以表示为实现单向函数的算法,如哈希算法,密码杂凑算法等,或者,可以H()可以为SHA256,SHA512,SM3等算法。可以理解的是,还可以通过其他方式来计算该第二链式码,具体此处不做限定。在实际应用过程中,第二链式码还可以根据第一链式码和第一报文的所有部分得到,具体此处不做限定。
当计算完第二链式码之后,第二网络设备将第二链式码保存在本地。具体的,在一种可能的实现方式中,可以将第一链式码更新为第二链式码保存在本地。
在实际应用过程中,第二网络设备也可以向第一网络设备发送报文,例如,第一网络设备接收第二网络设备发送的第四报文,第一网络设备根据预设值验证第四报文,第四报文携带了第六校验和,第六校验和是根据预设值生成的,第四报文为第一网络设备从第二网络设备接收的数据流中的首个待验证报文,第一网络设备根据预设值和第四报文生成第七校验和,若第六校验和与第七校验和相同,则第一网络设备确定第四报文未被篡改。在验证了第四报文之后,根据第四报文生成第三链式码,第三链式码用于验证第一网络设备接收到第四报文之后接收到的报文。第一网络设备继续接收第二网络设备发送的第三报文,第三报文携带第三校验和,第三校验和根据第三链式码生成,第三报文为第一网络设备在接收到第四报文之后接收到的报文。第一网络设备根据第三链式码验证第三校验和,具体的,第一网络设备根据第三链式码和第三报文生成第四校验和,若第四校验和与第三校验和相同,则第一网络设备确定第三报文未被篡改。具体的,第一网络设备和第二网络设备所执行的验证的方法与上述步骤301至310类似,具体此处不再赘述。
本申请实施例中,第一网络设备通过第二报文和第一链式码生成第一报文的第一校验和,并向第二网络设备发送包含有第一校验和的第一报文,即使非法第三方截获了该第一报文,因为没有截获第二报文和第一链式码,因此无法通过第二报文和第一链式码生成第一校验和,进而增加了非法第三方篡改第一报文的难度,从而提升了系统安全性。
二、第一网络设备和第二网络设备互相发送报文,并验证各自接收到的报文。
请参阅图4,为本申请实施例另一流程示意图。
在本实施例中,以第一网络设备和第二网络设备为客户端和服务器为例进行说明。
其中,服务器为提供水文气象服务的服务器,客户端为需要查询访问该服务器的客户端。
在步骤401中,客户端生成同步序列编号报文。
客户端请求访问服务器上的Web形式的水文气象服务,需要发送一次HTTP请求。在传输层表现为建立一个TCP连接。客户端首先生成一个同步序列编号报文。
在步骤402中,客户端向服务器发送同步序列编号报文。
在客户端生成同步序列编号报文之后,客户端获取预先设置的预设值,并根据该预设值生成源校验和,该源校验和用于服务器验证同步序列编号报文的。在生成了源校验和之后,客户端将源校验和装载至同步序列编号报文中,并将该携带有源校验和的同步序列编号报文发送给服务器。
具体的,在一种可能的实现方式中,客户端和服务器传输数据之前,客户端和服务器会共享或者协商一个预设值,该预设值可以是一个随机数。在协商完成之后,客户端和服务器会分别保存这个相同的预设值到本地。
客户端获取该预设值,并根据预设值计算同步序列编号报文的校验和。例如,客户端可以根据CRC算法来计算同步序列编号报文的源校验和,具体计算公式如下:
源校验和=f(预设值,同步序列编号报文的数据部分)
其中,f()表示CRC算法。可以理解的是,还可以通过其他方式来计算该源校验和,例如通过安全散列算法(secure hash algorithm,SHA)进行计算,则f()表示SHA算法。其中,SHA算法可以包括SHA1、SHA256等等,具体此处不做限定。在实际应用过程中,源校验和还可以根据预设值和同步序列编号报文的所有部分得到,例如:
源校验和=f(预设值,同步序列编号报文的数据部分,同步序列编号报文的伪首部,同步序列编号报文的首部)
或者,在一种可能的实现方式中,源校验和只根据预设值进行计算,具体此处不做限定。
客户端将源校验和装载至同步序列编号报文中时,具体的,该步骤可以在生成同步序列编号报文之后,将生成的源校验和装载至同步序列编号报文的校验和字段中,也可以在生成同步序列编号报文时,将计算出的源校验和装载至同步序列编号报文的校验和字段中,具体此处不做限定。
可以理解的是,在实际应用过程中,该源校验和可以装载至校验和的字段中,也可以装在在其他字段中,例如装载在选项填充字段中,具体此处不做限定。
在步骤403中,服务器根据预设值和同步序列编号报文生成第十校验和。
在步骤404中,若源校验和与第十校验和相同,则服务器确定同步序列号报文未被篡改。
本实施例中的步骤403与步骤404与前述图3中的步骤303与步骤304执行的方法类似,具体此处不再赘述。
在步骤405中,服务器生成第一应答报文。
服务器在接收并验证了客户端发送的同步序列编号报文之后,服务器会相应的给客户端发送第一应答报文。则服务器生成第一应答报文。
在步骤406中,服务器向客户端发送第一应答报文。
服务器生成了第一应答报文之后,服务器获取预先设置的预设值,并根据该预设值生成第一应答报文的校验和,该第一应答报文的校验和用于客户端验证第一应答报文的。在生成了第一应答报文的校验和之后,客户端将第一应答报文的校验和装载至第一应答报文中,并将该携带有第一应答报文的校验和的第一应答报文发送给客户端。
其中,服务器具体生成第一应答报文的校验和的方法与步骤402中客户端生成源校验和的方法类似,具体此处不再赘述。
需要说明的是,服务器具体将第一应答报文的校验和装载至第一应答报文中的方法与步骤402中客户端将源校验和装载至同步序列编号报文中的方法类似,具体此处不再赘述。
在步骤407中,客户端根据预设值和第一应答报文验证第一应答报文。
本实施例中的步骤407与前述步骤403和步骤404中服务器根据预设值验证同步序列编号报文所执行的方法类似,具体此处不再赘述。
在步骤408中,客户端生成第二应答报文。
在验证了第一应答报文之后,客户端会相应的给服务器发送第二应答报文。则客户端生成第二应答报文。
在步骤409中,客户端向服务器发送第二应答报文。
客户端根据第一应答报文生成第一应答报文的链式码,该第一应答报文的链式码用于生成第二应答报文的校验和。在生成了第二应答报文的校验和之后,客户端将第二应答报文的校验和装载至第二应答报文中,并将该携带有第二应答报文的校验和的第二应答报文发送给服务器。
具体的,在一种可能的实现方式中,客户端根据第一应答报文的数据部分和预设值生成第一应答报文的链式码。例如,通过SHA算法计算第一应答报文的数据部分和预设值,得到第一应答报文的链式码,具体计算公式如下:
第一应答报文的链式码=H(预设值,第一应答报文的数据部分)
其中,H()表示SHA算法。可以理解的是,还可以通过其他方式来计算该第一应答报文的链式码,具体此处不做限定。在实际应用过程中,第一应答报文的链式码还可以根据预设值和第一应答报文的所有部分得到,具体此处不做限定。
当计算完第一应答报文的链式码之后,客户端将第一应答报文的链式码保存在本地。
需要说明的是,在实际应用过程中,客户端计算第一应答报文的链式码的方式和服务器计算第一应答报文的链式码的方式相同。
客户端获取第一应答报文的链式码,并根据第一应答报文的链式码和第二应答报文生成第二应答报文的校验和。例如,客户端根据CRC算法来计算第二应答报文的第二应答报文的校验和,具体计算公式如下:
第二应答报文的校验和=f(第一应答报文的链式码,第二应答报文的数据部分)
其中,f()表示CRC算法。可以理解的是,还可以通过其他方式来计算该第二应答报文的校验和,例如通过安全散列算法(secure hash algorithm,SHA)进行计算,则f()表示SHA算法。其中,SHA算法可以包括SHA1、SHA256、SHA512、SM3等等,具体此处不做限定。在实际应用过程中,第二应答报文的校验和还可以根据第一应答报文的链式码和第二应答报文的所有部分得到,例如:
第二应答报文的校验和=f(第一应答报文的链式码,第二应答报文的数据部分,第二应答报文的伪首部,第二应答报文的首部)
需要说明的是,第二应答报文的校验和的计算方式还可以包括更多方式,具体此处不做限定。
需要说明的是,客户端具体将第二应答报文的校验和装载至第二应答报文中的方法与步骤402中客户端将源校验和装载至同步序列编号报文中的方法类似,具体此处不再赘述。
在步骤410中,服务器根据第一应答报文的链式码和第二应答报文验证第二应答报文。
当服务器接收到第二应答报文之后,服务器根据第一应答报文的链式码验证第二应答报文的校验和,从而验证该第二应答报文。
具体的,当服务器接收到该第二应答报文之后,服务器需要对该第二应答报文进行验证,以便于判断该第二应答报文是否被非法第三方篡改。服务器获取保存在本地的第一应答报文的链式码,并根据该第一应答报文的链式码计算对应的第二应答报文的校验和,若计算出的校验和和第二应答报文中携带的第二应答报文的校验和相同,则服务器确定该第二应答报文未被篡改,并接收保存该第二应答报文。若计算出的校验和和第二应答报文中携带的第二应答报文的校验和不同,则服务器确定该第二应答报文被篡改,则丢弃或者删除该第二应答报文。
在实际应用过程中,服务器根据第一应答报文的链式码计算对应的校验和的方式和客户端根据第一应答报文的链式码计算第二应答报文的校验和的方式相同。例如,客户端通过CRC算法,并根据第一应答报文的链式码和第二应答报文的数据部分计算第一应答报文的校验和时,则服务器在验证第二应答报文时,也根据相同的CRC算法计算对应的校验和。
至此,客户端与服务器的TCP连接建立完毕。服务器开始向客户端推送气象数据。具体的服务器与客户端在推送气象数据时发送和验证报文的方法与前述图3所示实施例中的步骤301至311类似,具体此处不再赘述。
本申请实施例中,客户端通过第一应答报文的链式码生成第二应答报文的校验和,并向服务器发送包含有第二应答报文的校验和的第二应答报文,即使非法第三方截获了该第二应答报文,因为没有第一应答报文的链式码,因此无法通过第二应答报文和第一应答报文的链式码生成第二应答报文的校验和,进而增加了非法第三方篡改第二应答报文的难度,从而提升了系统安全性。
以上对本申请实施例中的数据处理方法进行了描述,下面对本申请实施例中的网络设备进行描述,请参阅图5,为本申请提供的网络设备的实施例的一个结构示意图。
网络设备包括:
生成单元501,用于生成第一报文,第一报文携带第一校验和,第一校验和根据第一报文和第一链式码生成,第一链式码根据第二报文生成,第二报文为第一网络设备在第一报文之前向第二网络设备发送的报文;
发送单元502,用于向第二网络设备发送第一报文。
本实施例中,网络设备各单元所执行的操作与前述图3或图4所示实施例中第一网络设备、客户端或者服务器描述的类似,此处不再赘述。
请参阅图6,为本申请提供的网络设备的实施例的另一结构示意图。
网络设备包括:
生成单元601,用于生成第一报文,第一报文携带第一校验和,第一校验和根据第一报文和第一链式码生成,第一链式码根据第二报文生成,第二报文为第一网络设备在第一报文之前向第二网络设备发送的报文;
发送单元602,用于向第二网络设备发送第一报文。
可选的,网络设备还包括:
处理单元603,用于根据第一报文和第一链式码得到第二链式码,第二链式码用于生成第二校验和,第二校验和用于验证第一网络设备在第一报文之后向第二网络设备发送的报文;
保存单元604,用于保存第二链式码。
可选的,生成单元601还用于生成第二报文,第二报文携带源校验和,源校验和根据预设值生成,预设值为第一网络设备和第二网络设备预先设置的,源校验和用于第二网络设备验证第二报文,第一链式码根据预设值和第二报文生成;
发送单元602还用于向第二网络设备发送第二报文。
可选的,第二报文为网络设备向第二网络设备发送的数据流中的首个待验证报文。
可选的,网络设备还包括:
接收单元605,用于接收第二网络设备发送的第三报文,第三报文携带第三校验和,第三校验和用于验证第三报文;
生成单元601还用于根据第三链式码和第三报文生成第四校验和,第三链式码为第一网络设备根据第四报文生成,第四报文为第一网络设备在接收到第三报文之前从第二网络设备接收到的报文;
若第四校验和与第三校验和相同,则处理单元603还用于确定第三报文未被篡改。
可选的,处理单元603还用于根据第三链式码和第三报文得到第四链式码,第四链式码用于生成第五校验和,第五校验和用于验证第一网络设备在第三报文之后从第二网络设备接收的报文;
保存单元604还用于保存第四链式码。
可选的,接收单元605还用于接收第四报文,第四报文携带第六校验和,第六校验和用于验证第四报文;
生成单元601还用于根据预设值和第四报文生成第七校验和,预设值为第一网络设备和第二网络设备预先设置的,第四报文为第一网络设备从第二网络设备接收的数据流中的首个待验证报文,第三链式码为第一网络设备根据第四报文和预设值生成;
若第六校验和与第七校验和相同,则处理单元603还用于确定第四报文未被篡改。
可选的,第一报文至第四报文的各个校验和设置于对应的各个报文的头部。
本实施例中,网络设备各单元所执行的操作与前述图3或图4所示实施例中第一网络设备、客户端或者服务器描述的类似,此处不再赘述。
请参阅图7,为本申请提供的网络设备的实施例的另一结构示意图。
网络设备包括:
接收单元701,用于接收第一网络设备发送的第一报文,第一报文携带第一校验和,第一校验和用于验证第一报文;
生成单元702,用于根据第一链式码和第一报文生成第八校验和,第一链式码为网络设备根据第二报文生成,第二报文为网络设备在接收到第一报文之前从第一网络设备接收到的报文;
若第一校验和与第八校验和相同,则网络设备还包括:
确定单元703,用于确定第一报文未被篡改。
本实施例中,网络设备各单元所执行的操作与前述图3或图4所示实施例中第二网络设备、客户端或者服务器描述的类似,此处不再赘述。
请参阅图8,为本申请提供的网络设备的实施例的另一结构示意图。
网络设备包括:
接收单元801,用于接收第一网络设备发送的第一报文,第一报文携带第一校验和,第一校验和用于验证第一报文;
生成单元802,用于根据第一链式码和第一报文生成第八校验和,第一链式码为网络设备根据第二报文生成,第二报文为网络设备在接收到第一报文之前从第一网络设备接收到的报文;
若第一校验和与第八校验和相同,则网络设备还包括:
确定单元803,用于确定第一报文未被篡改。
可选的,网络设备还包括:
处理单元804,用于根据第一链式码和第一报文得到第二链式码,第二链式码用于生成第九校验和,第九校验和用于验证网络设备在第一报文之后从第一网络设备接收的报文;
保存单元805,用于保存第二链式码。
可选的,接收单元801还用于接收第二报文,第二报文携带源校验和,源校验和用于验证第二报文;
生成单元802还用于根据预设值和第二报文生成第十校验和,预设值为第一网络设备和网络设备预先设置的,第二报文为网络设备从第一网络设备接收的数据流中的首个待验证报文,第一链式码根据预设值和第二报文生成;
若源校验和与第十校验和相同,则确定单元803还用于确定第二报文未被篡改。
本实施例中,网络设备各单元所执行的操作与前述图3或图4所示实施例中第二网络设备、客户端或者服务器描述的类似,此处不再赘述。
请参阅图9,为本申请实施例中网络设备另一结构示意图。
处理器901、存储器902、总线905、接口904,处理器901与存储器902、接口904相连,总线905分别连接处理器901、存储器902以及接口904,接口904用于接收或者发送数据,处理器901是单核或多核中央处理单元,或者为特定集成电路,或者为被配置成实施本发明实施例的一个或多个集成电路。存储器902可以为随机存取存储器(random access memory,RAM),也可以为非易失性存储器(non-volatile memory),例如至少一个硬盘存储器。存储器902用于存储计算机执行指令。具体的,计算机执行指令中可以包括程序903。
本实施例中,该处理器901调用程序903时,可以使图9中的网络设备执行前述图3、或图4所示实施例中第一网络设备、第二网络设备、客户端、服务器所执行的操作,具体此处不再赘述。
应理解,本申请以上实施例中的网络设备或存储系统中提及的处理器,或者本申请上述实施例提供的处理器,可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现成可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请中以上实施例中的网络设备中的处理器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。本申请实施例中的存储器的数量可以是一个,也可以是多个,可以根据实际应用场景调整,此处仅仅是示例性说明,并不作限定。
还需要说明的是,当网络设备包括处理器(或处理单元)与存储器时,本申请中的处理器可以是与存储器集成在一起的,也可以是处理器与存储器通过接口连接,可以根据实际应用场景调整,并不作限定。
本申请实施例还提供了一种计算机程序或包括计算机程序的一种计算机程序产品,该计算机程序在某一计算机上执行时,将会使所述计算机实现上述任一方法实施例中与网络设备的方法流程。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例中与网络设备相关的方法流程。
在上述图3-图4中各个实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
本申请各实施例中提供的消息/帧/信息、模块或单元等的名称仅为示例,可以使用其他名称,只要消息/帧/信息、模块或单元等的作用相同即可。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本申请实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。
取决于语境,如在此所使用的词语“如果”或“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (24)
1.一种数据处理方法,其特征在于,包括:
第一网络设备生成第一报文,所述第一报文携带第一校验和,所述第一校验和根据所述第一报文和第一链式码生成,所述第一链式码根据第二报文生成,所述第二报文为所述第一网络设备在所述第一报文之前向第二网络设备发送的报文;
所述第一网络设备向所述第二网络设备发送所述第一报文。
2.根据权利要求1所述的方法,其特征在于,第一网络设备生成第一报文之后,所述方法还包括:
所述第一网络设备根据所述第一报文和所述第一链式码得到第二链式码,所述第二链式码用于生成第二校验和,所述第二校验和用于验证所述第一网络设备在所述第一报文之后向所述第二网络设备发送的报文;
所述第一网络设备保存所述第二链式码。
3.根据权利要求1或2所述的方法,其特征在于,所述第一网络设备生成第一报文之前,所述方法还包括:
所述第一网络设备生成所述第二报文,所述第二报文携带源校验和,所述源校验和根据预设值生成,所述预设值为所述第一网络设备和所述第二网络设备预先设置的,所述源校验和用于所述第二网络设备验证所述第二报文,所述第一链式码根据所述预设值和所述第二报文生成;
所述第一网络设备向所述第二网络设备发送所述第二报文。
4.根据权利要求3所述的方法,其特征在于,所述第二报文为所述第一网络设备向所述第二网络设备发送的数据流中的首个待验证报文。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
所述第一网络设备接收所述第二网络设备发送的第三报文,所述第三报文携带第三校验和,所述第三校验和用于验证所述第三报文;
所述第一网络设备根据第三链式码和所述第三报文生成第四校验和,所述第三链式码为所述第一网络设备根据第四报文生成,所述第四报文为所述第一网络设备在接收到所述第三报文之前从所述第二网络设备接收到的报文;
若所述第四校验和与所述第三校验和相同,则所述第一网络设备确定所述第三报文未被篡改。
6.根据权利要求5所述的方法,其特征在于,所述第一网络设备确定所述第三报文未被篡改之后,所述方法还包括:
所述第一网络设备根据所述第三链式码和所述第三报文得到第四链式码,所述第四链式码用于生成第五校验和,所述第五校验和用于验证所述第一网络设备在所述第三报文之后从所述第二网络设备接收的报文;
所述第一网络设备保存所述第四链式码。
7.根据权利要求6所述的方法,其特征在于,所述第一网络设备接收所述第二网络设备发送的第三报文之前,所述方法还包括:
所述第一网络设备接收所述第四报文,所述第四报文携带第六校验和,所述第六校验和用于验证所述第四报文;
所述第一网络设备根据预设值和所述第四报文生成第七校验和,所述预设值为所述第一网络设备和所述第二网络设备预先设置的,所述第四报文为所述第一网络设备从所述第二网络设备接收的数据流中的首个待验证报文,所述第三链式码为所述第一网络设备根据第四报文和所述预设值生成;
若所述第六校验和与所述第七校验和相同,则所述第一网络设备确定所述第四报文未被篡改。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一报文至所述第四报文的各个校验和设置于对应的各个报文的头部。
9.一种数据处理方法,其特征在于,包括:
所述第二网络设备接收所述第一网络设备发送的第一报文,所述第一报文携带第一校验和,所述第一校验和用于验证所述第一报文;
所述第二网络设备根据第一链式码和所述第一报文生成第八校验和,所述第一链式码为所述第一网络设备根据第二报文生成,所述第二报文为所述第二网络设备在接收到所述第一报文之前从所述第一网络设备接收到的报文;
若所述第一校验和与所述第八校验和相同,则所述第二网络设备确定所述第一报文未被篡改。
10.根据权利要求9所述的方法,其特征在于,所述第二网络设备确定所述第一报文未被篡改之后,所述方法还包括:
所述第二网络设备根据所述第一链式码和所述第一报文得到第二链式码,所述第二链式码用于生成第九校验和,所述第九校验和用于验证所述第二网络设备在所述第一报文之后从所述第一网络设备接收的报文;
所述第二网络设备保存所述第二链式码。
11.根据权利要求10所述的方法,其特征在于,所述第二网络设备接收所述第一网络设备发送的第一报文之前,所述方法还包括:
所述第二网络设备接收所述第二报文,所述第二报文携带源校验和,所述源校验和用于验证所述第二报文;
所述第二网络设备根据预设值和所述第二报文生成第十校验和,所述预设值为所述第一网络设备和所述第二网络设备预先设置的,所述第二报文为所述第二网络设备从所述第一网络设备接收的数据流中的首个待验证报文,所述第一链式码根据所述预设值和所述第二报文生成;
若所述源校验和与所述第十校验和相同,则所述第二网络设备确定所述第二报文未被篡改。
12.一种网络设备,其特征在于,包括:
生成单元,用于生成第一报文,所述第一报文携带第一校验和,所述第一校验和根据所述第一报文和第一链式码生成,所述第一链式码根据第二报文生成,所述第二报文为所述第一网络设备在所述第一报文之前向第二网络设备发送的报文;
发送单元,用于向所述第二网络设备发送所述第一报文。
13.根据权利要求12所述的网络设备,其特征在于,所述网络设备还包括:
处理单元,用于根据所述第一报文和所述第一链式码得到第二链式码,所述第二链式码用于生成第二校验和,所述第二校验和用于验证所述第一网络设备在所述第一报文之后向所述第二网络设备发送的报文;
保存单元,用于保存所述第二链式码。
14.根据权利要求12或13所述的网络设备,其特征在于,所述生成单元还用于生成所述第二报文,所述第二报文携带源校验和,所述源校验和根据预设值生成,所述预设值为所述第一网络设备和所述第二网络设备预先设置的,所述源校验和用于所述第二网络设备验证所述第二报文,所述第一链式码根据所述预设值和所述第二报文生成;
所述发送单元还用于向所述第二网络设备发送所述第二报文。
15.根据权利要求14所述的网络设备,其特征在于,所述第二报文为所述网络设备向所述第二网络设备发送的数据流中的首个待验证报文。
16.根据权利要求12至15中任一项所述的网络设备,其特征在于,所述网络设备还包括:
接收单元,用于接收所述第二网络设备发送的第三报文,所述第三报文携带第三校验和,所述第三校验和用于验证所述第三报文;
所述生成单元还用于根据第三链式码和所述第三报文生成第四校验和,所述第三链式码为所述第一网络设备根据第四报文生成,所述第四报文为所述第一网络设备在接收到所述第三报文之前从所述第二网络设备接收到的报文;
若所述第四校验和与所述第三校验和相同,则所述处理单元还用于确定所述第三报文未被篡改。
17.根据权利要求16所述的网络设备,其特征在于,所述处理单元还用于根据所述第三链式码和所述第三报文得到第四链式码,所述第四链式码用于生成第五校验和,所述第五校验和用于验证所述第一网络设备在所述第三报文之后从所述第二网络设备接收的报文;
所述保存单元还用于保存所述第四链式码。
18.根据权利要求17所述的网络设备,其特征在于,所述接收单元还用于接收所述第四报文,所述第四报文携带第六校验和,所述第六校验和用于验证所述第四报文;
所述生成单元还用于根据预设值和所述第四报文生成第七校验和,所述预设值为所述第一网络设备和所述第二网络设备预先设置的,所述第四报文为所述第一网络设备从所述第二网络设备接收的数据流中的首个待验证报文,所述第三链式码为所述第一网络设备根据第四报文和所述预设值生成;
若所述第六校验和与所述第七校验和相同,则所述处理单元还用于确定所述第四报文未被篡改。
19.根据权利要求12至18中任一项所述的网络设备,其特征在于,所述第一报文至所述第四报文的各个校验和设置于对应的各个报文的头部。
20.一种网络设备,其特征在于,包括:
接收单元,用于接收所述第一网络设备发送的第一报文,所述第一报文携带第一校验和,所述第一校验和用于验证所述第一报文;
生成单元,用于根据第一链式码和所述第一报文生成第八校验和,所述第一链式码为所述网络设备根据第二报文生成,所述第二报文为所述网络设备在接收到所述第一报文之前从所述第一网络设备接收到的报文;
若所述第一校验和与所述第八校验和相同,则所述网络设备还包括:
确定单元,用于确定所述第一报文未被篡改。
21.根据权利要求20所述的网络设备,其特征在于,所述网络设备还包括:
处理单元,用于根据所述第一链式码和所述第一报文得到第二链式码,所述第二链式码用于生成第九校验和,所述第九校验和用于验证所述网络设备在所述第一报文之后从所述第一网络设备接收的报文;
保存单元,用于保存所述第二链式码。
22.根据权利要求21所述的网络设备,其特征在于,所述接收单元还用于接收所述第二报文,所述第二报文携带源校验和,所述源校验和用于验证所述第二报文;
所述生成单元还用于根据预设值和所述第二报文生成第十校验和,所述预设值为所述第一网络设备和所述网络设备预先设置的,所述第二报文为所述网络设备从所述第一网络设备接收的数据流中的首个待验证报文,所述第一链式码根据所述预设值和所述第二报文生成;
若所述源校验和与所述第十校验和相同,则所述确定单元还用于确定所述第二报文未被篡改。
23.一种网络设备,其特征在于,所述网络设备包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器执行所述存储器中存储的计算机程序,以使所述网络设备执行如权利要求1-11中任一项所述的方法。
24.一种可读存储介质,用于存储有指令,当所述指令被执行时,使如权利要求1-11中任一项所述的方法被实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010494782.4A CN113765851B (zh) | 2020-06-03 | 2020-06-03 | 一种数据处理方法及其设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010494782.4A CN113765851B (zh) | 2020-06-03 | 2020-06-03 | 一种数据处理方法及其设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113765851A true CN113765851A (zh) | 2021-12-07 |
CN113765851B CN113765851B (zh) | 2022-11-08 |
Family
ID=78783233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010494782.4A Active CN113765851B (zh) | 2020-06-03 | 2020-06-03 | 一种数据处理方法及其设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113765851B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917267A (zh) * | 2010-08-13 | 2010-12-15 | 福州星网视易信息系统有限公司 | 一种基于可存储加密狗的加密文件的随机密钥保存方法 |
CN102833259A (zh) * | 2012-09-03 | 2012-12-19 | 中科华核电技术研究院有限公司 | 系统间数据防篡改检测方法、校验码生成方法及装置 |
CN104837150A (zh) * | 2015-06-03 | 2015-08-12 | 重庆邮电大学 | IPv6无线传感网安全测试系统 |
WO2016177385A1 (en) * | 2015-05-04 | 2016-11-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Generating cryptographic checksums |
US20160380770A1 (en) * | 2015-06-23 | 2016-12-29 | Trifone Whitmer | System and Method for Hash-Based Data Stream Authentication |
CN106357690A (zh) * | 2016-11-08 | 2017-01-25 | 浙江中控技术股份有限公司 | 一种数据传输方法、数据发送装置及数据接收装置 |
CN106790250A (zh) * | 2017-01-24 | 2017-05-31 | 郝孟 | 数据处理、加密、完整性校验方法及身份鉴别方法及系统 |
CN109120649A (zh) * | 2018-11-02 | 2019-01-01 | 美的集团股份有限公司 | 密钥协商方法、云服务器、设备、存储介质以及系统 |
CN109766375A (zh) * | 2017-11-09 | 2019-05-17 | 布罗德里奇金融解决方案公司 | 用于加密保护的分布式数据管理的以数据库为中心的计算机网络系统和计算机实现的方法 |
CN110650018A (zh) * | 2019-09-06 | 2020-01-03 | 南京南瑞继保工程技术有限公司 | 一种报文防篡改方法和装置 |
CN111149127A (zh) * | 2017-12-04 | 2020-05-12 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
-
2020
- 2020-06-03 CN CN202010494782.4A patent/CN113765851B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917267A (zh) * | 2010-08-13 | 2010-12-15 | 福州星网视易信息系统有限公司 | 一种基于可存储加密狗的加密文件的随机密钥保存方法 |
CN102833259A (zh) * | 2012-09-03 | 2012-12-19 | 中科华核电技术研究院有限公司 | 系统间数据防篡改检测方法、校验码生成方法及装置 |
WO2016177385A1 (en) * | 2015-05-04 | 2016-11-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Generating cryptographic checksums |
CN104837150A (zh) * | 2015-06-03 | 2015-08-12 | 重庆邮电大学 | IPv6无线传感网安全测试系统 |
US20160380770A1 (en) * | 2015-06-23 | 2016-12-29 | Trifone Whitmer | System and Method for Hash-Based Data Stream Authentication |
CN106357690A (zh) * | 2016-11-08 | 2017-01-25 | 浙江中控技术股份有限公司 | 一种数据传输方法、数据发送装置及数据接收装置 |
CN106790250A (zh) * | 2017-01-24 | 2017-05-31 | 郝孟 | 数据处理、加密、完整性校验方法及身份鉴别方法及系统 |
CN109766375A (zh) * | 2017-11-09 | 2019-05-17 | 布罗德里奇金融解决方案公司 | 用于加密保护的分布式数据管理的以数据库为中心的计算机网络系统和计算机实现的方法 |
CN111149127A (zh) * | 2017-12-04 | 2020-05-12 | 索尼公司 | 信息处理装置、信息处理方法和程序 |
CN109120649A (zh) * | 2018-11-02 | 2019-01-01 | 美的集团股份有限公司 | 密钥协商方法、云服务器、设备、存储介质以及系统 |
CN110650018A (zh) * | 2019-09-06 | 2020-01-03 | 南京南瑞继保工程技术有限公司 | 一种报文防篡改方法和装置 |
Non-Patent Citations (2)
Title |
---|
E. DUBROVA等: """CRC-Based Message Authentication for 5G Mobile Technology"", 《 2015 IEEE TRUSTCOM/BIGDATASE/ISPA》 * |
王永庆等: "" 一种改进的旋转CRC数据校验设计方法"", 《国防科技大学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN113765851B (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11864263B2 (en) | Wireless connection establishing methods and wireless connection establishing apparatuses | |
JP2020519090A (ja) | アップリンクデータ解凍、圧縮方法および装置 | |
CN107046495B (zh) | 用于构建虚拟专用网络的方法、装置和系统 | |
WO2019105143A1 (zh) | 一种基于蓝牙的数据通讯的方法、设备及存储介质 | |
WO2021022794A1 (zh) | 基于rdma的数据传输方法、网卡、服务器及介质 | |
JP2009525708A (ja) | プロトコルリンクレイヤ | |
US20180176230A1 (en) | Data packet transmission method, apparatus, and system, and node device | |
EP3654579A1 (en) | Methods and devices for providing message authentication code suitable for short messages | |
CN114095195B (zh) | 用于安全套接字层代理的自适应控制的方法、网络设备以及非瞬态计算机可读介质 | |
US8407468B2 (en) | System and method for authenticating streamed data | |
US11082411B2 (en) | RDMA-based data transmission method, network interface card, server and medium | |
WO2022099683A1 (zh) | 一种数据传输方法、装置、设备、系统及存储介质 | |
CN113765851B (zh) | 一种数据处理方法及其设备 | |
CN108429700B (zh) | 一种发送报文的方法及装置 | |
CN114513418B (zh) | 一种数据处理方法及相关设备 | |
CN112104635B (zh) | 通信方法、系统和网络设备 | |
WO2017067224A1 (zh) | 一种报文处理方法及装置 | |
CN115333782A (zh) | 数据发送方法、数据接收方法、存储介质及计算机设备 | |
US20230239279A1 (en) | Method and apparatus for security communication | |
WO2021036189A1 (zh) | Rdma数据发送及接收方法、电子设备及可读存储介质 | |
CA2549919C (en) | System and method for authenticating streamed data | |
US12010243B2 (en) | Methods and devices for providing message authentication code suitable for short messages | |
CN114979172B (zh) | 数据传输方法、装置、设备以及存储介质 | |
EP3881490B1 (en) | Methods and devices for providing message authentication code suitable for short messages | |
US9094861B2 (en) | Method and system for generating and processing medium access control packet data units in a broadband wireless network environment |
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 |