一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种实现IPsec网络安全协议的装置和方法与流程

2022-02-22 02:52:14 来源:中国专利 TAG:

一种实现ipsec网络安全协议的装置和方法
技术领域
1.本发明涉及互联网安全技术领域,具体涉及一种实现ipsec网络安全协议的装置和方法。


背景技术:

2.当今互联网通信技术发展迅速,出现了各种各样的病毒、黑客攻击、电子欺诈等恶性网络攻击方式,使得用户数据遭受严重威胁。如果计算机或者通讯设备遭到攻击,轻则造成个人层面的信息泄露和经济损失,重则造成国家层面的重要信息丢失,进而威胁国家安全,引发社会动荡。在这种环境下,信息安全显得尤为重要。
3.为保障网络安全,互联网工程组ietf于1998年提出了ipsec协议,用以确保ip层数据安全。ipsec协议主要定义了三个协议:ah协议(认证头协议)、esp协议(封装安全载荷协议)和ike协议(互联网密钥交换协议)。其中,ah协议为ip数据包提供数据来源认证、安全性认证保护和抗重播攻击服务;esp协议除了提供ah协议提供的保护外,还提供数据机密性保护;ike协议提供密钥协商和密钥管理服务,负责产生和交换密钥材料,并且协调ipsec协议的相关参数,ike将密钥协商结果保存在sad(安全关联数据库)中,供ah协议和esp协议处理时使用。而ipsec协议通过ah协议和esp协议来对数据进行保护,使用ike提供协商。
4.目前,实现ipsec网络安全协议的方式包括硬件方式和软件方式,在针对数据需要高速处理的情况时,往往采用处理速度更快的硬件方式,但是现在实现ipsec网络安全协议的硬件装置在适用不同的加密和认证算法时存在较大的局限性,使得加密算法类型与认证算法类型的组合受到限制。
5.因此,有必要提供一种新的实现ipsec网络安全协议的装置,以解决上述问题。


技术实现要素:

6.本发明的目的在于提供一种实现ipsec网络安全协议的装置和方法,能够根据待处理数据所需要的加密算法类型和认证算法类型灵活调用对应的加密算法和认证算法对数据进行加密计算和认证计算,可以适用于需要各种不同加密算法类型和认证算法类型组合处理的数据。
7.为实现上述目的,本发明提供了一种实现ipsec网络安全协议的装置,包括数据输入模块、数据预处理模块、算法调度模块、加密算法模块、认证算法模块和数据封装模块,所述加密算法模块与所述认证算法模块还包括各自的算法子模块;
8.所述数据输入模块被配置为获取初始数据包的策略信息;
9.所述数据预处理模块被配置为根据策略信息预处理初始数据包并生成第一算法包数据;
10.所述算法调度模块被配置为识别第一算法包数据,将需要进行esp协议处理的第一算法包数据传输至所述加密算法模块中对应的算法子模块,将来自所述加密算法模块的第一数据包传输至所述数据封装模块,将来自所述数据封装模块的第二算法包数据传输至
所述认证算法模块中对应的算法子模块,将来自所述认证算法模块的第二数据包传输至所述数据封装模块;以及将需要进行ah协议处理的第一算法包数据传输至所述认证算法模块中对应的算法子模块,将来自所述认证算法模块的第二数据包传输至所述数据封装模块;
11.所述加密算法模块被配置为调用对应的算法子模块对需要进行esp协议处理的所述第一算法包数据加密计算,生成第一数据包;
12.所述认证算法模块被配置为调用对应的算法子模块对第二算法包数据或需要进行ah协议处理的第一算法包数据认证计算,生成第二数据包;
13.所述数据封装模块被配置为将第一数据包封装为第二算法包数据,以及将第二数据包封装成ah报文或esp报文。
14.可选地,所述数据输入模块包括:
15.特征提取模块,所述特征提取模块被配置为提取初始数据包的特征匹配符;
16.策略匹配模块,所述策略匹配模块被配置为将特征匹配符与策略信息库中的信息匹配,获取初始数据包的策略信息。
17.可选地,所述数据封装模块包括:
18.esp第一封装模块,所述esp第一封装模块被配置为识别第一数据包,并将第一数据包封装为第二算法包数据;
19.esp第二封装模块,所述esp第二封装模块被配置为接收并识别所述算法调度模块传输的第二数据包,以及将第二数据包封装为esp报文;
20.ah封装模块,所述ah封装模块被配置为接收并识别所述算法调度模块传输的第二数据包,以及将所述第二数据包封装为ah报文。
21.可选地,所述算法调度模块包括若干算法包数据传输通路和若干数据包传输通路,若干算法包数据传输通路包括与所述数据预处理模块通信的算法包数据传输通路以及与所述esp第一封装模块通信的算法包数据传输通路,各算法包数据传输通路分别与对应的算法子模块通信;若干数据包传输通路包括与所述esp第一封装模块通信的数据包传输通路、与所述esp第二封装模块通信的数据包传输通路以及与所述ah封装模块通信的数据包传输通路,各数据包传输通路分别与对应的算法子模块通信。
22.可选地,所述加密算法模块包括分别支持sm4-cbc、aes-cbc、aes-ctr、des-cbc的算法子模块;
23.所述认证算法模块包括分别支持hmac-sm3、hmac-sha1、hmac-sha256、hmac-sha384、hmac-sha512、hmac-sha3、hmac-md5、aes-xcbc-mac的算法子模块。
24.可选地,策略信息包括对初始数据包的处理方式、对初始数据包应用的ipsec协议类型、对初始数据包应用的ipsec协议工作模式、加密算法类型、认证算法类型、抗重播使能信号、安全参数索引、序列号、认证算法密钥、加密算法密钥及初始化向量。
25.为实现上述目的,本发明还提供了一种实现ipsec网络安全协议的方法,包括:
26.获取初始数据包的策略信息;
27.根据策略信息预处理所述初始数据包,生成第一算法包数据;
28.确认第一算法包数据需要进行esp协议处理还是ah协议处理,并获取对应的加密算法和认证算法;
29.若第一算法包数据需要进行esp协议处理,则执行:
30.采用对应的加密算法对第一算法包数据加密计算,生成第一数据包;
31.将第一数据包封装成第二算法包数据;
32.采用对应的认证算法对第二算法包数据认证计算,生成第二数据包;
33.将第二数据包封装成esp报文;
34.若第一算法包数据需要进行ah协议处理,则执行:
35.采用对应的认证算法对第一算法包数据认证计算,生成第二数据包;
36.将第二数据包封装成ah报文。
37.可选地,所述“获取初始数据包的策略信息”包括:
38.提取所述初始数据包的特征匹配符;
39.将特征匹配符与策略信息库中的信息匹配,获取初始数据包的策略信息。
40.为实现上述目的,本发明还提供了一种电子设备,包括:
41.处理器;
42.存储器,其中存储有所述处理器的可执行指令;
43.其中,所述处理器配置为经由执行所述可执行指令来执行如上所述的实现ipsec网络安全协议的方法。
44.为实现上述目的,本发明还提供了一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现如上所述的实现ipsec网络安全协议的方法。
45.本发明能够完整地支持ah协议和esp协议,可以根据待处理数据所需要的加密算法类型和认证算法类型灵活调用对应的加密算法和认证算法对待处理数据进行加密计算和认证计算,并且适用于需要各种不同加密算法类型和认证算法类型组合处理的数据,具有很强的通用性。
附图说明
46.图1是本发明实施例实现ipsec网络安全协议的装置结构示意图。
47.图2是算法调度模块内部结构示意图。
48.图3是本发明实施例实现ipsec网络安全协议的方法流程图。
49.图4是本发明获取初始数据包的策略信息的方法流程图。
50.图5是本发明实施例电子设备的示意框图。
具体实施方式
51.为了详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
52.实施例一
53.请参阅图1,本发明公开了一种实现ipsec网络安全协议的装置,数据输入模块1、数据预处理模块2、算法调度模块3、加密算法模块4、认证算法模块5和数据封装模块6,加密算法模块4与认证算法模块5还包括各自的算法子模块,数据输入模块1被配置为获取初始数据包的策略信息;数据预处理模块2被配置为根据策略信息预处理初始数据包并生成第一算法包数据;算法调度模块3被配置为识别第一算法包数据,根据识别第一算法包数据的信息,将需要进行esp协议处理的第一算法包数据传输至加密算法模块4中对应的算法子模
块,将来自加密算法模块4的第一数据包传输至数据封装模块6,将来自数据封装模块6的第二算法包数据传输至认证算法模块5中对应的算法子模块,将来自认证算法模块5的第二数据包传输至数据封装模块6;以及将需要进行ah协议处理的第一算法包数据传输至认证算法模块5中对应的算法子模块,将来自认证算法模块5的第二数据包传输至数据封装模块6;加密算法模块4被配置为调用对应的算法子模块对需要进行esp协议处理的第一算法包数据加密计算,生成第一数据包;认证算法模块5被配置为调用对应的算法子模块对第二算法包数据或需要进行ah协议处理的第一算法包数据认证计算,生成第二数据包;数据封装模块6被配置为将第一数据包封装为第二算法包数据,以及将第二数据包封装成ah报文或esp报文。
54.本发明能够完整地支持ah协议和esp协议,可以根据待处理数据所需要的加密算法类型和认证算法类型灵活调用对应的加密算法和认证算法对待处理数据进行加密计算和认证计算,并且适用于需要各种不同加密算法类型和认证算法类型组合处理的数据,具有很强的通用性。
55.具体地,本发明公开的装置可以基于fpga设计。
56.具体地,加密算法模块4包括分别支持sm4-cbc、aes-cbc、aes-ctr、des-cbc等加密算法的算法子模块;认证算法模块5包括分别支持hmac-sm3、hmac-sha1、hmac-sha256、hmac-sha384、hmac-sha512、hmac-sha3、hmac-md5、aes-xcbc-mac等认证算法的算法子模块。
57.具体地,请参阅图1,数据输入模块1包括特征提取模块12和策略匹配模块11,其中,特征提取模块12被配置为提取初始数据包的特征匹配符;策略匹配模块11被配置为将特征匹配符与策略信息库中的信息匹配,获取初始数据包的策略信息。
58.进一步地,策略信息库存储于ram中,可将单个宽度为m,深度为n的ram改为j个宽度为m,深度为k的ram,在进行信息匹配时可一次性读取j个信息,加快匹配过程。
59.策略信息库主要包括spd(安全策略数据库)和sad(安全关联数据库)。其中,spd主要存储了对数据进行何种处理策略,sad主要存储了ipsec协议进行数据处理时的算法、密钥、安全参数索引值等参数信息。
60.进一步地,策略信息包括对初始数据包的处理方式、对初始数据包应用的ipsec协议类型、对初始数据包应用的ipsec协议工作模式、加密算法类型、认证算法类型、抗重播使能信号、安全参数索引、序列号、认证算法密钥、加密算法密钥及初始化向量。
61.具体地,初始数据包的处理方式包括应用ipsec协议保护、旁路输出和丢弃。若策略信息指示对初始数据包的处理方式为应用ipsec协议保护,则特征提取模块12将策略信息附于初始数据包,将策略信息和数据包送往数据预处理模块2;若策略信息指示为旁路输出,则将出初始数据包不做任何处理,直接送出装置;若策略信息指示为丢弃,则清空内部的寄存器,回到初始状态。
62.对初始数据包应用的ipsec协议类型包括esp协议和ah协议;对初始数据包应用的ipsec协议工作模式包括传输模式和隧道模式。
63.此外,若初始数据包的特征匹配符无法在策略信息库中匹配成功,则可将初始数据包直接丢弃或判断匹配失败原因。
64.具体地,数据预处理模块2识别策略信息对初始数据包进行esp协议预处理或ah协
议预处理。若需要对初始数据包进行esp协议处理,则根据ip头内的长度信息,来计算填充长度,构造填充数据,通过调整填充项字段来使得参与加密计算的字段的总长度满足对齐要求,构造对应的第一算法包数据;若需要对初始数据包进行ah协议处理,则将ip头中的协议字段改为ah协议,存储原始ip头之后将ip头中在后续网络传输过程中可能发生改变的字段置零,根据策略信息中的认证算法类型来计算ah头长度,构造ah头,将ah头插入ip头与ip载荷之间,构造对应的第一算法包数据。
65.具体地,第一算法包数据中包括算法头、透传数据和算法数据。算法头包含目的端口、算法类型、透传数据长度、算法数据长度、密钥、初始向量等信息,透传数据指不经过算法处理的数据且包括了后续模块处理的策略信息,算法数据指需要经过加密算法或认证算法处理的数据。
66.若初始数据包需要进行esp协议处理,则应该判断应用于初始数据包的ipsec协议的工作模式为传输模式还是隧道模式,若为传输模式则算法数据包括上层协议载荷、填充项字段、填充项长度字段(1字节)和下一个头字段(1字节);若为隧道模式则算法数据包括ip头、上层协议载荷、填充项字段、填充项长度字段和下一个头字段。
67.若初始数据包进行ah协议预处理构造对应的第一算法包数据,则该第一算法包数据中的算法数据包括相关字段置零的ip头、ah头和上层协议载荷,其中ah头包括下一个头字段、ah头长度字段、保留字段、安全参数索引、序列号、置零的完整性校验值字段和填充字段;透传数据中包括原始ip头和后续模块处理的策略信息。
68.具体地,请参阅图1,数据封装模块6包括esp第一封装模块61、esp第二封装模块62和ah封装模块63,其中,esp第一封装模块61被配置为识别第一数据包,根据识别第一数据包的信息,将第一数据包封装为第二算法包数据;esp第二封装模块62被配置为识别进入esp第二封装模块62的第二数据包,根据识别第二数据包的信息,将第二数据包封装为esp报文;ah封装模块63被配置为识别进入ah封装模块63的第二数据包,根据识别第二数据包的信息,将第二数据包封装为ah报文。
69.具体地,请参阅图1和图2,算法调度模块3包括若干算法包数据传输通路和若干数据包传输通路,若干算法包数据传输通路包括与数据预处理模块2通信的算法包数据传输通路以及与esp第一封装模块61通信的算法包数据传输通路,各算法包数据传输通路分别与对应的算法子模块通信;若干数据包传输通路包括与esp第一封装模块61通信的数据包传输通路、与esp第二封装模块62通信的数据包传输通路以及与ah封装模块63通信的数据包传输通路,各数据包传输通路分别与对应的算法子模块通信。
70.进一步地,请参阅图1和图2,在算法调度模块3内设有与数据预处理模块2和esp第一封装模块61对应的请求模块(ireq模块),并且对应加密算法模块4和认证算法模块5的算法子模块设有多个响应模块(iack模块),每个ireq模块分别与所有的iack模块连接,每个iack模块分别对应一个算法子模块的输入端连接,以形成算法包数据传输通路;在算法调度模块3内设有与每一个算法子模块的输出端分别对应连接的请求模块(oreq模块),并且设有与esp第一封装模块61、esp第二封装模块62和ah封装模块63对应的响应模块(oack模块),每个oreq模块分别与所有的oack模块连接,以形成数据包传输通路。各个数据通路之间相互独立,可同时传输数据。
71.在ireq模块在接收到算法包数据后,根据策略信息向连接对应算法子模块的iack
模块发起连接请求,待iack模块给出响应信号之后,向该iack模块传输算法包数据,算法包数据传输完成后,断开连接。iack模块收到ireq模块的连接请求后,按照时间优先级优先响应最早发起连接请求的ireq模块,给出连接响应之后,接收来自ireq模块的数据,将算法头和旁路数据送往旁路通道,将算法数据送往算法通道,并进行算法处理。在算法子模块处理完成后,oreq模块读取旁路通道里的算法头,识别目的端口等信息,向连接对应目的端口的oack模块发起连接请求,待oack模块给出响应信号之后,向该oack模块传输数据包,所有数据包传输完成后,断开连接。oack模块收到oreq模块的连接请求后,按照时间优先级优先响应最早发起连接请求的oreq模块,给出连接响应之后,接收来自oreq模块的数据包,并将数据包送往目的端口。
72.进一步地,esp第一封装模块61根据加密算法模块4生成的第一数据包内的策略信息构造新的算法头、旁路数据和待认证算法计算数据,生成第二算法包数据。其中,算法头包括下一级目标端口;旁路数据包括ip头和后续模块需要的策略信息;处理待认证算法计算计算数据包括esp头和密文,esp头包括从策略信息中提取的安全参数索引值、序列号等数据。
73.进一步地,esp第二封装模块62根据认证算法模块5生成的第二数据包内的策略信息,修改ip头中的相关字段,将修改后的ip头、esp头、密文、校验值构成esp报文。
74.进一步地,ah封装模块63根据认证算法模块5生成的第二数据包内的策略信息,修改原始ip头中的相关字段,丢弃相关字段被置零的ip头,插入校验值,将修改后的ip头、ah头、校验值、上层协议载荷构成ah协议报文。
75.具体地,加密算法模块4用于将明文数据加密成密文。
76.具体地,认证算法模块5用于将待处理数据映射成特定长度的二进制数据。
77.实施例二
78.请参阅图3,本发明还公开了一种实现ipsec网络安全协议的方法,包括:
79.s1、获取初始数据包的策略信息。
80.s2、根据策略信息预处理初始数据包,生成第一算法包数据。
81.s3、确认第一算法包数据需要进行esp协议处理还是ah协议处理,并获取对应的加密算法和认证算法。
82.若第一算法包数据需要进行esp协议处理,则执行:
83.s41、采用对应的加密算法对第一算法包数据加密计算,生成第一数据包;
84.s42、将第一数据包封装成第二算法包数据;
85.s43、采用对应的认证算法对第二算法包数据认证计算,生成第二数据包;
86.s44、将第二数据包封装成esp报文。
87.若第一算法包数据需要进行ah协议处理,则执行:
88.s51、采用对应的认证算法对第一算法包数据认证计算,生成第二数据包;
89.s52、将第二数据包封装成ah报文。
90.具体地,请参阅图4,步骤s1包括:
91.s11、提取初始数据包的特征匹配符;
92.s12、将特征匹配符与策略信息库中的信息匹配,获取初始数据包的策略信息。
93.本发明能够完整地支持ah协议和esp协议,可以根据待处理数据所需要的加密算
法类型和认证算法类型灵活调用对应的加密算法和认证算法对待处理数据进行加密计算和认证计算,并且适用于需要各种不同加密算法类型和认证算法类型组合处理的数据,具有很强的通用性。
94.实施例三
95.请参阅图5,本发明还公开了一种电子设备,包括:
96.处理器40;
97.存储器50,其中存储有处理器40的可执行指令;
98.其中,处理器40配置为经由执行可执行指令来执行如实施例二所述的实现ipsec网络安全协议的方法。
99.实施例四
100.本发明还提供了一种计算机可读存储介质,其上存储有程序,程序被处理器执行时实现如实施例二所述的实现ipsec网络安全协议的方法。
101.本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行上述实现ipsec网络安全协议的方法。
102.应当理解,在本发明实施例中,所称处理器可以是中央处理模块(centralprocessing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
103.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
104.以上所揭露的仅为本发明的较佳实例而已,不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,均属于本发明所涵盖的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献