CN115378705B - 协议无关的多模态安全方法及装置 - Google Patents
协议无关的多模态安全方法及装置 Download PDFInfo
- Publication number
- CN115378705B CN115378705B CN202211006618.XA CN202211006618A CN115378705B CN 115378705 B CN115378705 B CN 115378705B CN 202211006618 A CN202211006618 A CN 202211006618A CN 115378705 B CN115378705 B CN 115378705B
- Authority
- CN
- China
- Prior art keywords
- data packet
- target data
- header
- target
- packet header
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012795 verification Methods 0.000 claims abstract description 77
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000001514 detection method Methods 0.000 claims description 16
- 230000002265 prevention Effects 0.000 claims description 15
- 230000001502 supplementing effect Effects 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 7
- 230000004048 modification Effects 0.000 claims description 7
- 238000000638 solvent extraction Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 description 27
- 230000005540 biological transmission Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 238000005538 encapsulation Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013478 data encryption standard Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 101150097252 Nptn gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
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/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
-
- 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/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种协议无关的多模态安全方法及装置,该方法应用于第一电子设备,接收并解析目标数据包,以确定目标数据包的处理操作;进而,如果目标数据包的处理操作为加密操作,则依次对目标数据包添加数据包尾部;进一步,按照已指定的加密算法对目标数据包中从数据包头开始的原始数据和数据包尾部进行加密得到加密数据;再进一步,在目标数据包中加密后的数据包头之前添加数据包头部;更进一步,确定数据包头部中安全参数索引对应的验证算法,按照验证算法对数据包头和加密数据进行验证,并将验证结果添加至数据包尾部之后;最后,在填充字段之前对目标数据包添加模态包头,并将添加模态包头后的目标数据包发送给第二电子设备。
Description
技术领域
本发明涉及网络空间安全技术领域,更具体地说,涉及一种协议无关的多模态安全方法及装置。
背景技术
随着网络技术的快速发展,网络数据安全的重要性也尤为突。各种加密算法如DES(Data Encryption Standard,数据加密标准)、AES(Advanced Encryption Standard,高级加密标准)、以及Macsec(Media Access Control Security,以太网安全协议)、IPsec(Internet Protocol Security,互联网安全协议)等加密封装技术被广泛用来保障数据的安全传输。通过建立端到端的IPsec安全隧道,实现了数据的私有性,完整性,真实性以及实现防重放的反重复性。
尽管当前的VPN(Virtual Private Network,虚拟专用网络)技术已经能够在网络的二层和三层实现安全传输,但却只能对特定的协议进行加密和封装。然而目前单一协议已经不能满足用户的需求,需要多种模态来实现新的网络功能。因此,如何保证各种模态在应用过程中的安全传输应该是亟需解决的问题。当前一个可能的方法是,参考IPsec,使用哪种模态就开发出针对该模态的安全传输机制,那么使用不同模态则需要开发出不同的安全机制。然而这种方法过于僵化,并且与协议强相关,而且不能根据用户的需求可选择地进行安全传输。
发明内容
有鉴于此,为解决上述问题,本发明提供一种协议无关的多模态安全方法及装置,技术方案如下:
一种协议无关的多模态安全方法,所述方法应用于第一电子设备,所述方法包括:
接收并解析目标数据包,以确定所述目标数据包的处理操作;
如果所述目标数据包的处理操作为加密操作,对所述目标数据包添加数据包尾部,所述数据包尾部中包含填充字段、所述填充字段的长度和所述目标数据包对应的协议号,所述填充字段中记录有从所述目标数据包中数据包头开始进行分块所得到的最后一块中所补齐的字符;
按照已指定的加密算法对所述目标数据包中从数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据;
在所述目标数据包中加密后的数据包头之前添加数据包头部,所述数据包头部中包含已指定的序列号和所述加密算法对应的安全参数索引;
确定所述安全参数索引对应的验证算法,按照所述验证算法对所述数据包头和所述加密数据进行验证,并将验证结果添加至所述数据包尾部之后;
在所述数据包头部之前对所述目标数据包添加模态包头,并将添加模态包头后的目标数据包发送给第二电子设备,所述模态包头中包含已指定的数据包头被修改的字段。
优选的,所述对所述目标数据包添加数据包尾部,包括:
获取所述目标数据包中数据包头的长度信息,并将所述长度信息计入已定义的结构体中;
将所述目标数据包中数据包头的数据内容复制至已定义的特定字段中;
从所述目标数据包中提取用于加密的匹配字段,并基于所述匹配字段确定相应的安全参数索引,以获得所述安全参数索引所对应的加密算法;
按照目标长度从所述目标数据包中数据包头开始进行分块,并且对于最后一块中不足所述目标长度的部分长度,在所述填充字段中补齐所述部分长度的字符,所述目标长度为与所述加密算法相对应的长度;
将所述填充字段补入所述数据包尾部;
确定所述填充字段的长度,并在所述数据包尾部中补入所述填充字段的长度,所述填充字段在所述数据包尾部中的位置位于所述填充字段之后;
对所述目标数据包中以太网头部进行解析以获得所述协议号,并在所述数据包尾部中补入所述协议号,所述协议号在所述数据包尾部中的位置位于所述填充字段的长度之后。
优选的,所述按照已指定的加密算法对所述目标数据包中从数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据,包括:
获取针对所述目标数据包中数据包头所输入的第一偏移量;
根据所述第一偏移量和所述结构体中的长度信息,确定所述目标数据包中作为加密开始的目标数据包头;
按照所述加密算法对所述目标数据包中从所述目标数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据。
优选的,所述在所述目标数据包中加密后的数据包头之前添加数据包头部,包括:
在所述数据包头部中补入所述序列号,所述数据包头部位于所述目标数据包头之前;
在所述数据包头部中补入所述安全参数索引,所述安全参数索引在所述数据包头部中的位置位于所述序列号之前。
优选的,所述在所述数据包头部之前对所述目标数据包添加模态包头,包括:
获取针对所述目标数据包中被指定的起始数据包头所输入的第二偏移量、以及针对所述目标数据包中被指定的末尾数据包头所输入的第三偏移量;
根据所述第二偏移量和所述第三偏移量确定所述目标数据包中由所述起始数据包头至所述末尾数据包头之间的数据包头;
对所述目标数据包中由所述起始数据包头至所述末尾数据包头之间的数据包头进行字段修改,并将修改的字段补入至位于所述数据包头部之前的所述模态包头中。
一种协议无关的多模态安全装置,所述装置包括:
第一接收模块,用于接收并解析目标数据包,以确定所述目标数据包的处理操作;
加密模块,用于如果所述目标数据包的处理操作为加密操作,对所述目标数据包添加数据包尾部,所述数据包尾部中包含填充字段、所述填充字段的长度和所述目标数据包对应的协议号,所述填充字段中记录有从所述目标数据包中数据包头开始进行分块所得到的最后一块中所补齐的字符;按照已指定的加密算法对所述目标数据包中从数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据;在所述目标数据包中加密后的数据包头之前添加数据包头部,所述数据包头部中包含已指定的序列号和所述加密算法对应的安全参数索引;确定所述安全参数索引对应的验证算法,按照所述验证算法对所述数据包头和所述加密数据进行验证,并将验证结果添加至所述数据包尾部之后;在所述数据包头部之前对所述目标数据包添加模态包头,并将添加模态包头后的目标数据包发送给第二电子设备,所述模态包头中包含已指定的数据包头被修改的字段。
优选的,用于对所述目标数据包添加数据包尾部的所述加密模块,具体用于:
获取所述目标数据包中数据包头的长度信息,并将所述长度信息计入已定义的结构体中;将所述目标数据包中数据包头的数据内容复制至已定义的特定字段中;从所述目标数据包中提取用于加密的匹配字段,并基于所述匹配字段确定相应的安全参数索引,以获得所述安全参数索引所对应的加密算法;按照目标长度从所述目标数据包中数据包头开始进行分块,并且对于最后一块中不足所述目标长度的部分长度在所述填充字段中补齐所述部分长度的字符,所述目标长度为与所述加密算法相对应的长度;将所述填充字段补入所述数据包尾部;确定所述填充字段的长度,并在所述数据包尾部中补入所述填充字段的长度,所述填充字段在所述数据包尾部中的位置位于所述填充字段之后;对所述目标数据包中以太网头部进行解析以获得所述协议号,并在所述数据包尾部中补入所述协议号,所述协议号在所述数据包尾部中的位置位于所述填充字段的长度之后。
优选的,用于按照已指定的加密算法对所述目标数据包中从数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据的所述加密模块,具体用于:
获取针对所述目标数据包中数据包头所输入的第一偏移量;根据所述第一偏移量和所述结构体中的长度信息,确定所述目标数据包中作为加密开始的目标数据包头;按照所述加密算法对所述目标数据包中从所述目标数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据。
一种协议无关的多模态安全方法,所述方法应用于第二电子设备,所述方法包括:
接收并解析目标数据包,以确定所述目标数据包的处理操作;
如果所述目标数据包的处理操作为解密操作,则删除所述目标数据包的模态包头;
对所述目标数据包的数据包头部进行解析得到序列号和安全参数索引,并确定与所述安全参数索引对应的加密算法和验证算法;
按照所述验证算法对所述目标数据包的数据包头和加密数据进行验证,对所得到的验证结果与所述目标数据包的验证结果进行比对,以检测所述目标数据包的完整性;
如果所述目标数据包的完整性检测通过,根据所述序列号对所述目标数据包进行防重放攻击的检测;
如果所述目标数据包的防重放攻击检测通过,删除所述目标数据包的验证结果,并按照所述加密算法对所述加密数据进行解密得到解密数据,所述解密数据包含所述目标数据包中从数据包头开始的原始数据和数据包尾部;
从所述数据包尾部获取所述目标数据包的填充字段、填充字段的长度和协议号;
对所述目标数据包删除所述数据包尾部中的所述填充字段、所述填充字段的长度和所述协议号;
对所述目标数据包删除所述数据包头部,得到所述目标数据包被加密前的原始数据;
对所述目标数据包被加密前的原始数据封装以太网包头,将更新后的协议号填充至所述以太网包头中,并进行转发。
一种协议无关的多模态安全装置,所述装置包括:
第二接收模块,用于接收并解析目标数据包,以确定所述目标数据包的处理操作;
解密模块,用于如果所述目标数据包的处理操作为解密操作,则删除所述目标数据包的模态包头;对所述目标数据包的数据包头部进行解析得到序列号和安全参数索引,并确定与所述安全参数索引对应的加密算法和验证算法;按照所述验证算法对所述目标数据包的数据包头和加密数据进行验证,对所得到的验证结果与所述目标数据包的验证结果进行比对,以检测所述目标数据包的完整性;如果所述目标数据包的完整性检测通过,根据所述序列号对所述目标数据包进行防重放攻击的检测;如果所述目标数据包的防重放攻击检测通过,删除所述目标数据包的验证结果,并按照所述加密算法对所述加密数据进行解密得到解密数据,所述解密数据包含所述目标数据包中从数据包头开始的原始数据和数据包尾部;从所述数据包尾部获取所述目标数据包的填充字段、填充字段的长度和协议号;对所述目标数据包删除所述数据包尾部中的所述填充字段、所述填充字段的长度和所述协议号;对所述目标数据包删除所述数据包头部,得到所述目标数据包被加密前的原始数据;对所述目标数据包被加密前的原始数据封装以太网包头,将更新后的协议号填充至所述以太网包头中,并进行转发。
相较于现有技术,本发明实现的有益效果为:
本发明提供一种协议无关的多模态安全方法及装置,该方法应用于第一电子设备,接收并解析目标数据包,以确定目标数据包的处理操作;进而,如果目标数据包的处理操作为加密操作,则对目标数据包添加数据包尾部,该数据包尾部中包含填充字段、填充字段的长度和目标数据包的协议号,该填充字段中记录有从目标数据包中数据包头开始进行分块所得到的最后一块中所补齐的字符;进一步,按照已指定的加密算法对目标数据包中从数据包头开始的原始数据和数据包尾部进行加密得到加密数据;再进一步,在目标数据包中加密后的数据包头之前添加数据包头部,数据包头部中包含已指定的序列号和加密算法对应的安全参数索引;更进一步,确定安全参数索引对应的验证算法,按照验证算法对数据包头和加密数据进行验证,并将验证结果添加至数据包尾部之后;最后,在数据包头部之前对目标数据包添加模态包头,并将添加模态包头后的目标数据包发送给第二电子设备,模态包头中包含已指定的数据包头被修改的字段。
针对当前多模态新型寻址路由技术缺乏相关的安全传输机制,且不存在一个范式化的方法能够对所有模态实现用户可以定义的安全传输问题,本发明设计了一种协议无关的能够对任意模态进行加密封装的安全传输方法,该方法适用性广、灵活度高、且细节可定义。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的协议无关的多模态安全方法的方法流程图;
图2为本发明实施例提供的目标数据包的封装示意图;
图3为本发明实施例提供的协议无关的多模态安全装置的结构示意图;
图4为本发明实施例提供的协议无关的多模态安全方法的另一方法流程图;
图5为本发明实施例提供的安全参数索引与安全连接的对应关系;
图6为本发明实施例提供的协议无关的多模态安全装置的另一结构示意图;
图7为本发明实施例提供的多模态数据包在数据平面的处理流程。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明提出基于P4可编程语言的协议无关、目标设备无关和具备现场可重配置能力的用户可定义的多模态安全传输方法。通过这种安全传输方法,可以实现对任意模态的数据包在进行转发或其他基本操作的同时,根据用户的需求选择性地进行安全传输,从而为多模态数据在网络传输当中提供安全支持,并为多模态的应用提供一种新的视角。
本发明中对原数据包进行块加密和验证,并插入一个预定义的头部进行封装,最后为用户提供相关的接口和参数,以便根据实际需求定义加密细节。基于P4可编程语言,可以开发extern函数,设计一种新的多模态通信保护协议(即ESP),在原数据包的任意位置添加或删除数据包头,以及修改相应字段值,实现了安全封装;在解封装部分,根据相关策略解密并还原数据包。
参见图1,图1为本发明实施例提供的协议无关的多模态安全方法,该方法应用于第一电子设备,该第一电子设备可以为数据生产者侧的数据处理设备,比如交换机,该方法包括如下步骤:
S101,接收并解析目标数据包,以确定目标数据包的处理操作。
本发明实施例中,目标数据包为数据生产者传输给第一电子设备的数据包,其中包含用于指示处理操作的标志位,对该目标数据包进行解析可以获得该标志位,通过查询安全策略数据库(SPD)表可以确定该标志位所指示的处理操作,该处理操作包括加密操作、解密操作、转发操作和丢弃操作中的一种。需要说明的是,本发明实施例中目标数据包为多模态数据包。
S102,如果目标数据包的处理操作为加密操作,对目标数据包添加数据包尾部,数据包尾部中包含填充字段、填充字段的长度和目标数据包对应的协议号,填充字段中记录有从目标数据包中数据包头开始进行分块所得到的最后一块中所补齐的字符。
本发明实施例中,如果目标数据包的处理操作为加密操作,则需要对目标数据包添加数据包尾部,该数据包尾部中包含填充字段、填充字段的长度和目标数据包对应的协议号。对于填充字段,需要从目标数据包的数据包头开始,按照一定长度对目标数据包进行分块,最后一块不足该长度的在填充字段中以字符“0”填充补齐,填充字段的长度为填充字段所占的字节数,目标数据包对应的协议号则可以对目标数据包的以太网头部解析所获得,其用于指示下一头部。
参见图2,图2为本发明实施例提供的目标数据包的封装示意图。继续参见图2,目标数据包在加密前由以太网头部、网络层头部、上层头部和载荷数据所组成,其中网络层头部包含n个数据包头部,即Pt1-Ptn。继续参见图2,目标数据包的处理操作为加密操作,经由步骤S20可以在目标数据包的载荷数据之后添加数据包尾部(即图2中的ESP尾部),数据包尾部包含填充字段(即图2中的填充),填充字段的长度为0-255位,在填充字段之后还包含填充长度,填充长度的长度为8位,在填充长度之后还包含协议号(即图2中的下一头部),协议号的长度为8位。
具体实现过程中,步骤S102“对目标数据包添加数据包尾部”可以采用如下步骤:
获取目标数据包中数据包头的长度信息,并将长度信息计入已定义的结构体中;将目标数据包中数据包头的数据内容复制至已定义的特定字段中;从目标数据包中提取用于加密的匹配字段,并基于匹配字段确定相应的安全参数索引,以获得安全参数索引所对应的加密算法;按照目标长度从目标数据包中数据包头开始进行分块,并且对于最后一块中不足目标长度的部分长度,在填充字段中补齐部分长度的字符,目标长度为与加密算法相对应的长度;将填充字段补入数据包尾部;确定填充字段的长度,并在数据包尾部中补入填充字段的长度,填充字段在数据包尾部中的位置位于填充字段之后;对目标数据包中以太网头部进行解析以获得协议号,并在数据包尾部中补入协议号,协议号在数据包尾部中的位置位于填充字段的长度之后。
本发明实施例中,继续参见图2,可以获取目标数据包中Pt1-Ptn这n个数据包头各自的长度信息,以此可以确定各数据包头的位置,将所获取的长度信息计入已定义的用于描述包结构的结构体中。
进而,对目标数据包中Pt1-Ptn这n个数据包头的数据内容进行复制,并将复制的数据内容存入已定义的特定字段中。
进一步,为确定用户所定义的加密算法,可以从目标数据包中提取用于加密的匹配字段,并通过查询安全联盟数据库(SAD)中的匹配表来确定相应的安全参数索引,以此获得该安全参数索引所对应的加密算法和加密密钥。
更进一步,确定与加密算法所对应的用于分块的长度(即目标长度),从数据包头开始,以该目标长度对目标数据包中的网络层头部、上层头部和载荷数据进行分块,并且对最后一块中不足该目标长度的部分(即部分长度),在填充字段中补齐该部分长度的字符“0”,并将该填充字段补入数据包尾部。
再进一步,计算填充字段所占的字节数,以确定填充字段的长度,并在数据包尾部中字段的后8位中补入该填充字段的长度。
又进一步,解析目标数据包的以太网头部,从中获取“eth_type”这一字段的值(后续称之为eth_type值),通过传入该eth_type值可以获取“next_head”这一字段的值(后续称之为next_head值),该next_head值即为协议号。在数据包尾部中填充字段的长度的后8位中填充该协议号。
S103,按照已指定的加密算法对目标数据包中从数据包头开始的原始数据和数据包尾部进行加密得到加密数据。
本发明实施例中,继续参见图2,按照加密算法和加密密钥对目标数据中某一数据包头开始至载荷数据、以及数据包尾部进行加密得到加密数据,举例来说,从数据包头Pt1开始,可以对Pt1-Ptn这n个数据包头、上层头部、载荷数据和数据包尾部进行加密。继续参见图2,图2中Pt1-Ptn这n个数据包头、上层头部、载荷数据和数据包尾部组成加密区。
具体实现过程中,步骤S103“按照已指定的加密算法对目标数据包中从数据包头开始的原始数据和数据包尾部进行加密得到加密数据”可以采用如下步骤:
获取针对目标数据包中数据包头所输入的第一偏移量;根据第一偏移量和结构体中的长度信息,确定目标数据包中作为加密开始的目标数据包头;按照加密算法对目标数据包中从目标数据包头开始的原始数据和数据包尾部进行加密得到加密数据。
本发明实施例中,可以获得用户针对数据包头所输入的偏移量(即第一偏移量),模态数据包有多个层级包头,即目标数据包具有多个数据包头时,不同的第一偏移量可以对应不同的数据包头,即不同的加密起始位置,由此,根据第一偏移量和结构体中各数据包头的长度信息可以确定作为加密开始的数据包头(即目标数据包头),按照安全参数索引所对应的加密算法对该目标数据包头开始的原始数据(包含目标数据包头开始的至少一个数据包头、上层头部、载荷数据)和数据包尾部进行加密得到加密数据。
S104,在目标数据包中加密后的数据包头之前添加数据包头部,数据包头部中包含已指定的序列号和加密算法对应的安全参数索引。
本发明实施例中,对目标数据包中加密后的数据包头前64位添加数据包头部,该数据包头部中包含已指定的序列号和安全参数索引,其中,安全参数索引位于加密的数据包头前32位,序列号位于安全参数索引前32位。
继续参见图2,图2中从数据包头Pt1作为目标数据包头,即从数据包头Pt1开始进行加密,因此,在数据包头Pt1之前添加数据包头部(即图2中的ESP头部),该数据包头部包含安全参数索引和序列号,安全参数索引的长度为32位、序列号位于安全参数索引之后,长度为32位。
具体实现过程中,步骤S104中“在目标数据包中加密后的数据包头之前添加数据包头部”可以采用如下步骤:
在数据包头部中补入序列号,数据包头部位于目标数据包头之前;在数据包头部中补入安全参数索引,安全参数索引在数据包头部中的位置位于序列号之前。
本发明实施例中,首先在目标数据包头部前32位填充序列号,即先将序列号补入数据包头部中,以应对防重放攻击,进而根据安全联盟数据库(SAD)的查询结果将安全参数索引填充至序列号前32位。
S105,确定安全参数索引对应的验证算法,按照验证算法对数据包头和加密数据进行验证,并将验证结果添加至数据包尾部之后。
本发明实施例中,为实现对目标数据包的信息摘要和认证,可以通过安全参数索引查询安全联盟数据库(SAD)中的匹配表可以确定对应的验证算法,该验证算法包括完整性算法和验证密钥,按照该验证算法对加密数据进行数据鉴别,通过摘要计算完成完整性验证,进而将验证结果添加至数据包尾部之后,该验证结果的长度为32位的整数倍。继续参见图2,在获得验证结果(即图2中ESP认证)后,可以将验证结果添加至数据包尾部之后。继续参见图2,图2中数据包头部、Pt1-Ptn这n个数据包头、上层头部、载荷数据和数据包尾部组成认证区。
S106,在数据包头部之前对目标数据包添加模态包头,并将添加模态包头后的目标数据包发送给第二电子设备,模态包头中包含已指定的数据包头被修改的字段。
继续参见图2,本发明实施例中,在目标数据包的数据包头之前添加模态包头(即图2中的新网络层头部),图2中模态包头中包含Pt1-Ptn这n个数据包头被修改的字段,即NPt1-NPtn这n个新数据包头,也就是说,新数据包头NPt1中包含数据包头Pt1被修改的字段、新数据包头NPt2中包含数据包头Pt2被修改的字段、……、新数据包头NPtn中包含数据包头Ptn被修改的字段。
具体实现过程中,步骤S106“在数据包头部之前对目标数据包添加模态包头”可以采用如下步骤:
获取针对目标数据包中被指定的起始数据包头所输入的第二偏移量、以及针对目标数据包中被指定的末尾数据包头所输入的第三偏移量;根据第二偏移量和第三偏移量确定目标数据包中由起始数据包头至末尾数据包头之间的数据包头;对目标数据包中由起始数据包头至末尾数据包头之间的数据包头进行字段修改,并将修改的字段补入至位于数据包头部之前的模态包头中。
本发明实施例中,用户可以指定存在字段修改的数据包头,其可以输入被指定的起始数据包头对应的偏移量(即第二偏移量)、以及被指定的末尾数据包头对应的偏移量(即第三偏移量)。继续参见图2,起始数据包头即为Pt1、末尾数据包头即为Ptn,在获得用户针对起始数据包头和末尾数据包头所输入的第二偏移量和第三偏移量后,可以确定存在字段修改的数据包头为数据包头Pt1-Ptn之间的数据包头,进一步,按照需求修改Pt1-Ptn这n个数据包头中的相关字段,比如协议类型、源地址、目的地址等字段,并将修改的字段补入模态包头中,由此,模态包头中包含NPt1-NPtn这n个新数据包头。
需要说明的是,本发明中提供安全参数索引这一参数,可以实现选择用户自定义的加密算法,提供偏移量这一参数,则可以实现加密时对多包头数量的自定义。
本发明设计了一种协议无关的能够对任意模态进行加密封装的安全传输方法,该方法适用性广、灵活度高、且细节可定义。
基于上述实施例提供的协议无关的多模态安全方法,本发明实施例则对应提供执行上述协议无关的多模态安全方法的装置,该装置的结构示意图如图3所示,包括:
第一接收模块101,用于接收并解析目标数据包,以确定目标数据包的处理操作;
加密模块102,用于如果目标数据包的处理操作为加密操作,对目标数据包添加数据包尾部,数据包尾部中包含填充字段、填充字段的长度和目标数据包对应的协议号,填充字段中记录有从目标数据包中数据包头开始进行分块所得到的最后一块中所补齐的字符;按照已指定的加密算法对目标数据包中从数据包头开始的原始数据和数据包尾部进行加密得到加密数据;在目标数据包中加密后的数据包头之前添加数据包头部,数据包头部中包含已指定的序列号和加密算法对应的安全参数索引;确定安全参数索引对应的验证算法,按照验证算法对数据包头和加密数据进行验证,并将验证结果添加至数据包尾部之后;在数据包头部之前对目标数据包添加模态包头,并将添加模态包头后的目标数据包发送给第二电子设备,模态包头中包含已指定的数据包头被修改的字段。
可选的,用于对目标数据包添加数据包尾部的加密模块102,具体用于:
获取目标数据包中数据包头的长度信息,并将长度信息计入已定义的结构体中;将目标数据包中数据包头的数据内容复制至已定义的特定字段中;从目标数据包中提取用于加密的匹配字段,并基于匹配字段确定相应的安全参数索引,以获得安全参数索引所对应的加密算法;按照目标长度从目标数据包中数据包头开始进行分块,并且对于最后一块中不足目标长度的部分长度,在填充字段中补齐部分长度的字符,目标长度为与加密算法相对应的长度;将填充字段补入数据包尾部;确定填充字段的长度,并在数据包尾部中补入填充字段的长度,填充字段在数据包尾部中的位置位于填充字段之后;对目标数据包中以太网头部进行解析以获得协议号,并在数据包尾部中补入协议号,协议号在数据包尾部中的位置位于填充字段的长度之后。
可选的,用于按照已指定的加密算法对目标数据包中从数据包头开始的原始数据和数据包尾部进行加密得到加密数据的加密模块102,具体用于:
获取针对目标数据包中数据包头所输入的第一偏移量;根据第一偏移量和结构体中的长度信息,确定目标数据包中作为加密开始的目标数据包头;按照加密算法对目标数据包中从目标数据包头开始的原始数据和数据包尾部进行加密得到加密数据。
可选的,用于在目标数据包中加密后的数据包头之前添加数据包头部的加密模块102,具体用于:
在数据包头部中补入序列号,数据包头部位于目标数据包头之前;在数据包头部中补入安全参数索引,安全参数索引在数据包头部中的位置位于序列号之前。
可选的,用于在数据包头部之前对目标数据包添加模态包头的加密模块102,具体用于:
获取针对目标数据包中被指定的起始数据包头所输入的第二偏移量、以及针对目标数据包中被指定的末尾数据包头所输入的第三偏移量;根据第二偏移量和第三偏移量确定目标数据包中由起始数据包头至末尾数据包头之间的数据包头;对目标数据包中由起始数据包头至末尾数据包头之间的数据包头进行字段修改,并将修改的字段补入至位于数据包头部之前的模态包头中。
需要说明的是,本发明实施例各模块的细化功能可以参见上述协议无关的多模态安全方法实施例对应公开部分,在此不再赘述。
参见图4,图4为本发明实施例提供的另一协议无关的多模态安全方法,该方法应用于第二电子设备,该第二电子设备可以为数据使用者侧的数据处理设备,比如交换机,该方法包括如下步骤:
S201,接收并解析目标数据包,以确定目标数据包的处理操作。
本发明实施例中,目标数据包在由第一电子设备传输给第二电子设备之前,其中包含用于指示处理操作的标志位已被第一电子设备所修改,由指示加密操作修改为解密操作。
对此,对于第二电子设备来说,在获得目标数据包后,可以解析获得其中的标志位,通过查询安全策略数据库(SPD)表可以确定该标志位所指示的处理操作。
S202,如果目标数据包的处理操作为解密操作,则删除目标数据包的模态包头。
本发明实施例中,如果目标数据包的处理操作为解密操作,则通过解析目标数据包可以确定模态包头的位置,对目标数据包进行拆包时即首先删除该模态包头。当然,第二电子设备还会进一步处理模态包头中的信息的,本发明实施例对此不再赘述。
S203,对目标数据包的数据包头部进行解析得到序列号和安全参数索引,并确定与安全参数索引对应的加密算法和验证算法。
本发明实施例中,在删除相应长度的模态包头后,进一步解析目标数据包的数据包头,以获得其中的安全参数索引和序列号。进一步,通过安全参数索引查询安全联盟数据库(SAD)中的匹配表可以确定对应的安全连接(SA),安全连接中包含了ESP加密过程中所需的数据,如SA生存期、加密算法、加密密钥、验证算法、验证密钥等,图5为本发明实施例提供的安全参数索引与安全连接的对应关系。
当然,如果安全联盟数据库(SAD)查询成功,则进入后续步骤,反之,则查询失败,丢弃该目标数据包。
S204,按照验证算法对目标数据包的数据包头和加密数据进行验证,对所得到的验证结果与目标数据包的验证结果进行比对,以检测目标数据包的完整性。
本发明实施例中,按照安全参数索引所查询到的验证算法,可以对数据包头和加密数据进行数据鉴别,该验证算法包括完整性算法和验证密钥,通过摘要计算完成完整性验证,将验证结果与目标数据包中的验证结果进行比对,若两者一致,则确定目标数据包具有完整性,反之,若两者不一致,则确定目标数据包不具有完整性。
S205,如果目标数据包的完整性检测通过,根据序列号对目标数据包进行防重放攻击的检测。
本发明实施例中,如果目标数据包具备完整性,则进一步将步骤S203所获得的序列号与寄存器所记录的已使用过的序列号进行比对。如果步骤S203所获得的序列号与寄存器内的一个序列号相同,则认为目标数据包是重放攻击,此时目标数据包的防重放攻击检测不通过;反之,如果步骤S203所获得的序列号与寄存器内的任意一个序列号不同,则认为目标数据包无重放攻击,此时目标数据包的防重放攻击检测通过。
S206,如果目标数据包的防重放攻击检测通过,删除目标数据包的验证结果,并按照加密算法对加密数据进行解密得到解密数据,解密数据包含目标数据包中从数据包头开始的原始数据和数据包尾部。
本发明实施例中,如果目标数据包的防重放攻击检测通过,则删除目标数据包中相应字段长度的验证结果,并进行后续的解密。
按照安全参数索引所查询到的加密算法和加密密钥可以对目标数据包的加密数据进行解密得到解密数据,该解密数据中则包含目标数据中某一数据包头(即作为加密开始的目标数据包)开始至载荷数据、以及数据包尾部的数据。
S207,从数据包尾部获取目标数据包的填充字段、填充字段的长度和协议号。
本发明实施例中,在解密获得数据包尾部后,可以获得其中的目标数据包的协议号,具体的,查询数据包尾部最后8位得到next_head值,进一步,通过传入该next_head值可以获取相应的eth_type值。此外,还可以获得数据包尾部中长度为0-255位的填充字段、长度为8位的填充字段的长度、长度为8位的协议号。
S208,对目标数据包删除数据包尾部中的填充字段、填充字段的长度和协议号。
本发明实施例中,在数据包尾部中向前删除长度为0-255位的填充字段、以及长度为8位的填充字段的长度。
S209,对目标数据包删除数据包头部,得到目标数据包被加密前的原始数据。
本发明实施例中,在目标数据包之前,对目标数据包删除长度为64位(包括序列号的32位和安全参数索引的32)的数据包头部,得到目标数据包被加密前的原始数据。
S210,对目标数据包被加密前的原始数据封装以太网包头,将更新后的协议号填充至以太网包头中,并进行转发。
本发明实施例中,由于在解密过程中,目标数据包有多个头部被删除,数据包头起始位置发生变化,因此解密后需要在正确的位置添加新的以太网包头。对目标数据包被加密前的原始数据封装二层数据包,具体的,在数据包头的前48位添加以太网包头,并将传入next_head值所获得eth_type值填充至以太网包头中,得到原始数据包(即数据生成者传输给第一电子设备的数据包),并送入三层转发功能块中进行转发。
本发明设计了一种协议无关的能够对任意模态进行加密封装的安全传输方法,该方法适用性广、灵活度高、且细节可定义。
基于上述实施例提供的协议无关的多模态安全方法,本发明实施例则对应提供执行上述协议无关的多模态安全方法的装置,该装置的结构示意图如图6所示,包括:
第二接收模块201,用于接收并解析目标数据包,以确定目标数据包的处理操作;
解密模块202,用于如果目标数据包的处理操作为解密操作,则删除目标数据包的模态包头;对目标数据包的数据包头部进行解析得到序列号和安全参数索引,并确定与安全参数索引对应的加密算法和验证算法;按照验证算法对目标数据包的数据包头和加密数据进行验证,对所得到的验证结果与目标数据包的验证结果进行比对,以检测目标数据包的完整性;如果目标数据包的完整性检测通过,根据序列号对目标数据包进行防重放攻击的检测;如果目标数据包的防重放攻击检测通过,删除目标数据包的验证结果,并按照加密算法对加密数据进行解密得到解密数据,解密数据包含目标数据包中从数据包头开始的原始数据和数据包尾部;从数据包尾部获取目标数据包的填充字段、填充字段的长度和协议号;对目标数据包删除数据包尾部中的填充字段、填充字段的长度和协议号;对目标数据包删除数据包头部,得到目标数据包被加密前的原始数据;对目标数据包被加密前的原始数据封装以太网包头,将更新后的协议号填充至以太网包头中,并进行转发。
需要说明的是,本发明实施例各模块的细化功能可以参见上述协议无关的多模态安全方法实施例对应公开部分,在此不再赘述。
参见图7,图7为本发明实施例提供的多模态数据包在数据平面的处理流程。
本发明提出了一种协议无关的多模态安全方法,在数据平面的处理逻辑如图5所示,主要包含SPD匹配功能块、ESP加密功能块、ESP解密功能块和三层转发功能块。其中,可编程解析器(图7中的解析器)用于解析输入数据包头部。SPD(安全策略数据库)匹配功能块将数据包头部的匹配字段(源目的地址等)与匹配表进行匹配,查找相应的安全策略,对于不需要加密的数据包直接送入转发进行转发。ESP加密功能块使用ESP安全协议完成步骤S101~步骤S106的加密操作,也就是对数据包加密。
数据包进入ESP加密功能块后使用数据包头部的匹配字段与安全连接数据库(SAD)中的匹配表进行匹配,选择相应的安全连接(SA)。密码套件为安全连接(SA)中所有密钥、参数的集合。该ESP加密功能块使用密码套件中信息加密数据包。寄存器用于记录已处理数据包的数量,当数量达到SA生存期时,对SA进行更新。加密后的数据包将包含数据包头部(即图2中的ESP头部)。
ESP解密功能块完成步骤S101~步骤S210所有解密操作。数据包进入ESP解密功能块后解析ESP包头部的安全参数索引(SPI),找到所对应的SA。SPI用于标识特定的安全连接(SA),为一一对应关系,可参见图5。根据安全连接(SA)对数据包进行验证和解密。
整体的处理逻辑如下:
当数据包通过入口到达时,可编程解析器根据配置解析数据包头部。如果不包含数据包头部,解析器会将数据包转发到SPD匹配功能块。然后,SPD匹配功能块处理该数据包,SPD中的匹配表决定了要对数据包执行的操作。在丢弃的情况下,数据包被丢弃。在旁路时,数据包直接发送至三层转发功能块,在三层转发功能块这里,数据包根据表项定义的规则进行转发动作匹配。在保护的情况下,数据包被传递到ESP加密功能块,完成加密操作,加密后同样送入转发模块选择相应的转发端口,最后送到逆解析器中。重新回到解析器:如果数据包经解析包含ESP包头,它将被转发到ESP解密功能块,该功能块执行解密操作,验证数据包的真实性、解密并提取原始数据包,然后将其传递给三层转发功能块。
如果SPD匹配功能块、ESP加密功能块、ESP解密功能块或三层转发功能块的匹配表中缺少匹配条目,数据包将被丢弃。逆解析器会重新组装所有报头,并重新计算校验和,如生存时间(TTL),校验值等字段,然后通过出端口送出交换设备。数据平面的匹配和转发行为统一通过SDN控制器来统一管理,匹配表中的匹配条目也由SDN控制器统一下发。
本发明基于P4可编程语言,开发extern函数,设计了一种新的通信保护协议ESP,实现协议无关的多模态安全方法,具有以下优势:
协议无关:相对于IPsec,该安全方法并不局限于某一种协议,而是可以对多种模态进行安全封装和传输,协议无关。在这种情况下,该安全方法可以部署在任意交换设备,对用户需要的模态类型,或本身不支持加密的模态提供安全服务。
加密可定义:用户可以根据需求,定义加密和认证算法;当加密的包头由多个同层级包头时,可以定义全部加密或部分加密,当部分加密时可选择加密的包头数量;同样,用户也可以定义新添加包头的字段值。
使用便捷:我们将该方法打包封装,并向外提供接口。用户不需要了解该方法的内部算法和具体原理,只需要根据需求传入相关的参数,实现对多钟模态的可定义安全传输。
以上对本发明所提供的一种协议无关的多模态安全方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种协议无关的多模态安全方法,其特征在于,所述方法应用于第一电子设备,所述方法包括:
接收并解析目标数据包,以确定所述目标数据包的处理操作;
如果所述目标数据包的处理操作为加密操作,对所述目标数据包添加数据包尾部,所述数据包尾部中包含填充字段、所述填充字段的长度和所述目标数据包对应的协议号,所述填充字段中记录有从所述目标数据包中数据包头开始进行分块所得到的最后一块中所补齐的字符;
按照已指定的加密算法对所述目标数据包中从数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据;
在所述目标数据包中加密后的数据包头之前添加数据包头部,所述数据包头部中包含已指定的序列号和所述加密算法对应的安全参数索引;
确定所述安全参数索引对应的验证算法,按照所述验证算法对所述数据包头和所述加密数据进行验证,并将验证结果添加至所述数据包尾部之后;
在所述数据包头部之前对所述目标数据包添加模态包头,并将添加模态包头后的目标数据包发送给第二电子设备,所述模态包头中包含已指定的数据包头被修改的字段;
其中,所述对所述目标数据包添加数据包尾部,包括:
获取所述目标数据包中数据包头的长度信息,并将所述长度信息计入已定义的结构体中;
将所述目标数据包中数据包头的数据内容复制至已定义的特定字段中;
从所述目标数据包中提取用于加密的匹配字段,并基于所述匹配字段确定相应的安全参数索引,以获得所述安全参数索引所对应的加密算法;
按照目标长度从所述目标数据包中数据包头开始进行分块,并且对于最后一块中不足所述目标长度的部分长度,在所述填充字段中补齐所述部分长度的字符,所述目标长度为与所述加密算法相对应的长度;
将所述填充字段补入所述数据包尾部;
确定所述填充字段的长度,并在所述数据包尾部中补入所述填充字段的长度,所述填充字段在所述数据包尾部中的位置位于所述填充字段之后;
对所述目标数据包中以太网头部进行解析以获得所述协议号,并在所述数据包尾部中补入所述协议号,所述协议号在所述数据包尾部中的位置位于所述填充字段的长度之后。
2.根据权利要求1所述的方法,其特征在于,所述按照已指定的加密算法对所述目标数据包中从数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据,包括:
获取针对所述目标数据包中数据包头所输入的第一偏移量;
根据所述第一偏移量和所述结构体中的长度信息,确定所述目标数据包中作为加密开始的目标数据包头;
按照所述加密算法对所述目标数据包中从所述目标数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据。
3.根据权利要求2所述的方法,其特征在于,所述在所述目标数据包中加密后的数据包头之前添加数据包头部,包括:
在所述数据包头部中补入所述序列号,所述数据包头部位于所述目标数据包头之前;
在所述数据包头部中补入所述安全参数索引,所述安全参数索引在所述数据包头部中的位置位于所述序列号之前。
4.根据权利要求1所述的方法,其特征在于,所述在所述数据包头部之前对所述目标数据包添加模态包头,包括:
获取针对所述目标数据包中被指定的起始数据包头所输入的第二偏移量、以及针对所述目标数据包中被指定的末尾数据包头所输入的第三偏移量;
根据所述第二偏移量和所述第三偏移量确定所述目标数据包中由所述起始数据包头至所述末尾数据包头之间的数据包头;
对所述目标数据包中由所述起始数据包头至所述末尾数据包头之间的数据包头进行字段修改,并将修改的字段补入至位于所述数据包头部之前的所述模态包头中。
5.一种协议无关的多模态安全装置,其特征在于,所述装置包括:
第一接收模块,用于接收并解析目标数据包,以确定所述目标数据包的处理操作;
加密模块,用于如果所述目标数据包的处理操作为加密操作,对所述目标数据包添加数据包尾部,所述数据包尾部中包含填充字段、所述填充字段的长度和所述目标数据包对应的协议号,所述填充字段中记录有从所述目标数据包中数据包头开始进行分块所得到的最后一块中所补齐的字符;按照已指定的加密算法对所述目标数据包中从数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据;在所述目标数据包中加密后的数据包头之前添加数据包头部,所述数据包头部中包含已指定的序列号和所述加密算法对应的安全参数索引;确定所述安全参数索引对应的验证算法,按照所述验证算法对所述数据包头和所述加密数据进行验证,并将验证结果添加至所述数据包尾部之后;在所述数据包头部之前对所述目标数据包添加模态包头,并将添加模态包头后的目标数据包发送给第二电子设备,所述模态包头中包含已指定的数据包头被修改的字段;
其中,用于对所述目标数据包添加数据包尾部的所述加密模块,具体用于:
获取所述目标数据包中数据包头的长度信息,并将所述长度信息计入已定义的结构体中;将所述目标数据包中数据包头的数据内容复制至已定义的特定字段中;从所述目标数据包中提取用于加密的匹配字段,并基于所述匹配字段确定相应的安全参数索引,以获得所述安全参数索引所对应的加密算法;按照目标长度从所述目标数据包中数据包头开始进行分块,并且对于最后一块中不足所述目标长度的部分长度,在所述填充字段中补齐所述部分长度的字符,所述目标长度为与所述加密算法相对应的长度;将所述填充字段补入所述数据包尾部;确定所述填充字段的长度,并在所述数据包尾部中补入所述填充字段的长度,所述填充字段在所述数据包尾部中的位置位于所述填充字段之后;对所述目标数据包中以太网头部进行解析以获得所述协议号,并在所述数据包尾部中补入所述协议号,所述协议号在所述数据包尾部中的位置位于所述填充字段的长度之后。
6.根据权利要求5所述的装置,其特征在于,用于按照已指定的加密算法对所述目标数据包中从数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据的所述加密模块,具体用于:
获取针对所述目标数据包中数据包头所输入的第一偏移量;根据所述第一偏移量和所述结构体中的长度信息,确定所述目标数据包中作为加密开始的目标数据包头;按照所述加密算法对所述目标数据包中从所述目标数据包头开始的原始数据和所述数据包尾部进行加密得到加密数据。
7.一种协议无关的多模态安全方法,其特征在于,所述方法应用于第二电子设备,所述方法包括:
接收并解析目标数据包,以确定所述目标数据包的处理操作;
如果所述目标数据包的处理操作为解密操作,则删除所述目标数据包的模态包头;
对所述目标数据包的数据包头部进行解析得到序列号和安全参数索引,并通过所述安全参数索引查询安全联盟数据库中的匹配表确定对应的安全连接,所述安全连接包括加密算法、加密密钥和验证算法;
按照所述验证算法对所述目标数据包的数据包头和加密数据进行验证,对所得到的验证结果与所述目标数据包的验证结果进行比对,以检测所述目标数据包的完整性;
如果所述目标数据包的完整性检测通过,根据所述序列号对所述目标数据包进行防重放攻击的检测;
如果所述目标数据包的防重放攻击检测通过,删除所述目标数据包的验证结果,并按照所述加密算法和所述加密密钥对所述加密数据进行解密得到解密数据,所述解密数据包含所述目标数据包中从数据包头开始的原始数据和数据包尾部;
从所述数据包尾部获取所述目标数据包的填充字段、填充字段的长度和协议号;
对所述目标数据包删除所述数据包尾部中的所述填充字段、所述填充字段的长度和所述协议号;
对所述目标数据包删除所述数据包头部,得到所述目标数据包被加密前的原始数据;
对所述目标数据包被加密前的原始数据封装以太网包头,将更新后的协议号填充至所述以太网包头中,并进行转发。
8.一种协议无关的多模态安全装置,其特征在于,所述装置包括:
第二接收模块,用于接收并解析目标数据包,以确定所述目标数据包的处理操作;
解密模块,用于如果所述目标数据包的处理操作为解密操作,则删除所述目标数据包的模态包头;对所述目标数据包的数据包头部进行解析得到序列号和安全参数索引,并通过所述安全参数索引查询安全联盟数据库中的匹配表确定对应的安全连接,所述安全连接包括加密算法、加密密钥和验证算法;按照所述验证算法对所述目标数据包的数据包头和加密数据进行验证,对所得到的验证结果与所述目标数据包的验证结果进行比对,以检测所述目标数据包的完整性;如果所述目标数据包的完整性检测通过,根据所述序列号对所述目标数据包进行防重放攻击的检测;如果所述目标数据包的防重放攻击检测通过,删除所述目标数据包的验证结果,并按照所述加密算法和所述加密密钥对所述加密数据进行解密得到解密数据,所述解密数据包含所述目标数据包中从数据包头开始的原始数据和数据包尾部;从所述数据包尾部获取所述目标数据包的填充字段、填充字段的长度和协议号;对所述目标数据包删除所述数据包尾部中的所述填充字段、所述填充字段的长度和所述协议号;对所述目标数据包删除所述数据包头部,得到所述目标数据包被加密前的原始数据;对所述目标数据包被加密前的原始数据封装以太网包头,将更新后的协议号填充至所述以太网包头中,并进行转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211006618.XA CN115378705B (zh) | 2022-08-22 | 2022-08-22 | 协议无关的多模态安全方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211006618.XA CN115378705B (zh) | 2022-08-22 | 2022-08-22 | 协议无关的多模态安全方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115378705A CN115378705A (zh) | 2022-11-22 |
CN115378705B true CN115378705B (zh) | 2024-04-05 |
Family
ID=84066710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211006618.XA Active CN115378705B (zh) | 2022-08-22 | 2022-08-22 | 协议无关的多模态安全方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115378705B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104980497A (zh) * | 2015-05-18 | 2015-10-14 | 东南大学 | 基于Wishbone总线的ESP封装处理装置 |
CN108390860A (zh) * | 2018-01-24 | 2018-08-10 | 北京奇艺世纪科技有限公司 | 一种数据包的加密、解密方法及装置 |
CN113067839A (zh) * | 2021-06-02 | 2021-07-02 | 中国人民解放军国防科技大学 | 一种基于多模态神经网络的恶意加密流量检测方法 |
CN113542259A (zh) * | 2021-07-12 | 2021-10-22 | 中山大学 | 基于多模态深度学习的加密恶意流量检测方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012173667A2 (en) * | 2011-02-10 | 2012-12-20 | Trilliant Holdings, Inc. | Device and method for facilitating secure communications over a cellular network |
US11012367B2 (en) * | 2018-03-30 | 2021-05-18 | Intel IP Corporation | Technologies for managing TCP/IP packet delivery |
-
2022
- 2022-08-22 CN CN202211006618.XA patent/CN115378705B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104980497A (zh) * | 2015-05-18 | 2015-10-14 | 东南大学 | 基于Wishbone总线的ESP封装处理装置 |
CN108390860A (zh) * | 2018-01-24 | 2018-08-10 | 北京奇艺世纪科技有限公司 | 一种数据包的加密、解密方法及装置 |
CN113067839A (zh) * | 2021-06-02 | 2021-07-02 | 中国人民解放军国防科技大学 | 一种基于多模态神经网络的恶意加密流量检测方法 |
CN113542259A (zh) * | 2021-07-12 | 2021-10-22 | 中山大学 | 基于多模态深度学习的加密恶意流量检测方法及系统 |
Non-Patent Citations (2)
Title |
---|
《基于密码学的网络多模态信息动态加密系统设计》;糜小夫;《信息科技》;20200215;第43卷(第4期);全文 * |
Giuseppe Aceto ; Domenico Ciuonzo ; Antonio Montieri ; Alfredo Nascita ; Antonio Pescapé.《Encrypted Multitask Traffic Classification via Multimodal Deep Learning》.《 ICC 2021 - IEEE International Conference on Communications》.2021,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115378705A (zh) | 2022-11-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11870761B1 (en) | Hardware security accelerator | |
US6092191A (en) | Packet authentication and packet encryption/decryption scheme for security gateway | |
CN102035814B (zh) | 通过vpn ipsec隧道确保服务质量 | |
CN107113239B (zh) | 包混淆和包转发 | |
US5235644A (en) | Probabilistic cryptographic processing method | |
US5594869A (en) | Method and apparatus for end-to-end encryption of a data packet in a computer network | |
US7430204B2 (en) | Internet protocol tunnelling using templates | |
JP4107213B2 (ja) | パケット判定装置 | |
JP2009246801A (ja) | 分割されたパケットの暗号化方法、分割暗号化パケットの復号方法、暗号化装置及びプログラム | |
CN114050921B (zh) | 一种fpga实现的基于udp的高速加密数据传输系统 | |
CN106453314A (zh) | 数据加解密的方法及装置 | |
CN115174520B (zh) | 一种网络地址信息隐藏方法及系统 | |
US20180176230A1 (en) | Data packet transmission method, apparatus, and system, and node device | |
JP2007036834A (ja) | 暗号装置、プログラム、記録媒体、および方法 | |
CN118118267A (zh) | 一种基于fpga实现ipv4和ipv6混合业务的ipsec协议方法和装置 | |
CN115378705B (zh) | 协议无关的多模态安全方法及装置 | |
CN116827651A (zh) | 通信安全防护方法、装置、计算机设备和存储介质 | |
CN115225414A (zh) | 基于ipsec的加密策略匹配方法、装置及通信系统 | |
JP5119184B2 (ja) | 中継装置、端末装置及び秘密通信システム | |
AU2010245117A1 (en) | Method and apparatus for secure packet transmission | |
WO2023179174A1 (zh) | 一种报文传输方法及相关设备 | |
CN118381684B (zh) | 软硬件协同加密的安全通信实现方法及网络设备 | |
US12088562B1 (en) | Tunneling of MACsec frames | |
CN111541681B (zh) | 一种基于物联网的语言下传方法 | |
CN115549900B (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 |