本发明涉及信息安全领域,特别涉及一种数据保护方法、装置、设备及存储介质。
背景技术:
1、随着卫星技术的普及、卫星通信使用者的网络安全意识提高及近些年逐渐发生利用卫星链路对卫星通信使用者发生的网络攻击。但是由于对卫星进行安全通信加固困难较大,不易实现,现在往往采用在总部基地与远端小站部署ipsec vpn(internet protocolsecurity virtual private network,一种虚拟专用网技术)对用户通信数据包进行网络传输保护,在未部署vpn网关与vpn装置前,远端业务系统与总部基地的办公系统、业务系统之间业务数据在网络中明文传输,而在部署vpn网关与vpn装置后,总部基地与远端小站之间的网络数据得到保护,可防窃听、防篡改。
2、现有ipsec vpn技术主要采用ike协议(internet key exchange,因特网密钥交换协议)使用数字证书保护进行会话密钥协商,采用linux内核xfrm框架实现安全数据载荷的封装,基于linux内核协议栈收发流转数据包。由于现阶段卫星通信带宽紧张、卫星通信资费昂贵,卫星链路中传输的多为100字节左右的短报文数据,但vpn安全封装后的格式比封装前长度增加了74字节,也就会增加约74%的现有卫星通信带宽的开销。这造成了企业在使用数据保护的同时,网络传输成本也相应增加,影响企业使用安全措施保护数据传输的积极性。所以需要一种只对业务载荷部分,如tcp(transmission control protocol,传输控制协议)载荷/udp(user datagram protocol,用户数据报协议)载荷等,加密保护的模式。
3、但linux内核的标准xfrm框架不支持对网络报文的数据载荷部分进行单独净荷保护,仅支持vpn的隧道模式或传输模式,并且xfrm的处理过程复杂,由于ipsec vpn隧道模式会创建一个新的ip(internet protocol,互联网协议)首部,xfrm的处理流程是在linux内核的协议栈三层进行的,在出包封装外部ip首部及入包去掉外部ip首部后,都会进行路由创建与查找。这就导致数据包在linux内核中的流程多,加密数据包处理耗时较长,数据转发性能低,往往需要一个较高的中央处理器才能提供较高的加密数据转发性能。但是如果以xfrm框架的基础上进行二次开发,使其支持数据净荷模式,则需对xfrm进行大量的修改,修改之后的xfrm框架不再支持ipsec vpn功能,不利于产品功能扩展。因此,如何改善利用linux内核对数据载荷部分进行保护的效果是本领域有待解决的问题。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种数据保护方法、装置、设备及存储介质,通过将网络设备处于透明网桥模式保护数据包的净荷数据,提高网络数据保护的效率,并通过在协议栈二层实现协议载荷部分的净荷保护,提高数据处理效率。其具体方案如下:
2、第一方面,本技术提供了一种数据保护方法,应用于数据保护设备,包括:
3、将所述数据保护设备的网络接口配置为网桥模式,并通过所述网路接口中的输入网口接收预设服务器发送的初始以太网数据包;
4、将所述初始以太网数据包依次通过brouting链和prerouting链进行处理,并确定处理后得到的目标以太网数据包的目的以太网地址,以通过所述目的以太网地址判断所述目标以太网数据包是否为所述数据保护设备的本地数据包;
5、若所述目标以太网数据包不是所述本地数据包,则将所述目标以太网数据包传入forward链中,并基于所述forward链中的预设安全策略对所述目标以太网数据包进行数据加密或数据解密处理;
6、将处理后的所述目标以太网数据包通过所述forward链和posting链转发至所述网络接口中的输出网口进行输出。
7、可选的,所述通过所述目的以太网地址判断所述目标以太网数据包是否为所述数据保护设备的本地数据包之后,还包括:
8、若所述目标以太网数据包是所述本地数据包,则将所述目标以太网数据包传入所述数据保护设备的预设本地数据处理工具后,直接将处理后的所述目标以太网数据包通过所述posting链转发至所述网络接口中的所述输出网口进行输出。
9、可选的,所述将所述目标以太网数据包传入forward链中之后,还包括:
10、依次遍历所述forward链中的每条所述预设安全策略,以将所述预设安全策略和所述目标以太网数据包进行匹配;
11、若匹配到所述目标以太网数据包对应的所述预设安全策略,则执行所述基于所述forward链中的预设安全策略对所述目标以太网数据包进行数据加密或数据解密处理的步骤;
12、若未匹配到所述目标以太网数据包对应的所述预设安全策略,则根据所述forward链中的预设缺省处理策略对所述目标以太网数据包进行处理。
13、可选的,所述基于所述forward链中的预设安全策略对所述目标以太网数据包进行数据加密或数据解密处理之前,还包括:
14、根据所述预设安全策略中的数据ip地址、数据协议、数据传输端口确定对应的哈希值,并基于所述哈希值和预设会话密钥构建密钥链表,以及将所述密钥链表存储至所述数据保护设备的linux内核层中;
15、相应的,所述将所述预设安全策略和所述目标以太网数据包进行匹配,包括:
16、将所述预设安全策略和所述目标以太网数据包进行匹配,若存在所述目标以太网数据对应的所述预设安全策略,则依次将所述预设安全策略对应的所述数据ip地址、所述数据协议、所述数据传输端口和所述目标以太网数据包进行匹配,以便在匹配成功后对所述目标以太网数据包进行数据加密或数据解密处理;其中,若所述目标以太网数据包中不存在对应的所述数据传输端口时,判定所述目标以太网数据包和所述数据传输端口匹配成功。
17、可选的,所述对所述目标以太网数据包进行数据加密或数据解密处理,包括:
18、确定所述目标以太网数据包的数据包尾部的安全属性载荷的安全标识,并根据所述安全标识对所述目标以太网数据包进行数据加密或数据解密处理。
19、可选的,所述根据所述安全标识对所述目标以太网数据包进行数据加密或数据解密处理,包括:
20、若根据所述安全标识判定对所述目标以太网数据包进行数据加密处理,则根据所述目标以太网数据包的所述数据ip地址、所述数据协议、所述数据传输端口确定所述目标以太网数据包的目标哈希值;
21、根据所述目标哈希值从所述密钥链表中确定所述目标以太网数据包对应的所述预设会话密钥,并根据所述预设会话密钥对所述目标以太网数据包的原始载荷数据进行加密,得到密文载荷;
22、确定所述目标以太网数据包的首部校验和,将所述首部校验和保存至所述密文载荷的数据尾部,并根据预设标识设置规则设置所述目标以太网数据包的目标安全标识,以根据所述首部校验和以及所述目标安全标识构建所述目标以太网数据的安全属性载荷;
23、根据所述安全属性载荷和所述密文载荷构建以太网数据载荷,并根据所述以太网数据载荷更新所述目标以太网数据包的长度字段以及首部校验和字段。
24、可选的,所述根据所述安全标识对所述目标以太网数据包进行数据加密或数据解密处理,包括:
25、若根据所述安全标识判定对所述目标以太网数据包进行数据解密处理,则根据所述目标以太网数据包的所述数据ip地址、所述数据协议、所述数据传输端口确定所述目标以太网数据包的目标哈希值;
26、根据所述目标哈希值从所述密钥链表中确定所述目标以太网数据包对应的所述预设会话密钥,并根据所述预设会话密钥对所述目标以太网数据包的密文载荷进行解密,得到目标载荷数据;
27、确定所述目标载荷数据的第一首部校验和,并将所述目标以太网数据包中的安全属性载荷中的第二首部校验和进行对比;
28、若所述第一首部校验和与所述第二首部校验和相等,则根据所述目标载荷数据更新所述目标以太网数据包的长度字段以及首部校验和字段。
29、第二方面,本技术提供了一种数据保护装置,应用于数据保护设备,包括:
30、数据接收模块,用于将所述数据保护设备的网络接口配置为网桥模式,并通过所述网路接口中的输入网口接收预设服务器发送的初始以太网数据包;
31、数据判断模块,用于将所述初始以太网数据包依次通过brouting链和prerouting链进行处理,并确定处理后得到的目标以太网数据包的目的以太网地址,以通过所述目的以太网地址判断所述目标以太网数据包是否为所述数据保护设备的本地数据包;
32、数据处理模块,用于若所述目标以太网数据包不是所述本地数据包,则将所述目标以太网数据包传入forward链中,并基于所述forward链中的预设安全策略对所述目标以太网数据包进行数据加密或数据解密处理;
33、数据输出模块,用于将处理后的所述目标以太网数据包通过所述forward链和posting链转发至所述网络接口中的输出网口进行输出。
34、第三方面,本技术提供了一种电子设备,所述电子设备包括处理器和存储器;其中,所述存储器用于存储计算机程序,所述计算机程序由所述处理器加载并执行以实现前述的数据保护方法。
35、第四方面,本技术提供了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的数据保护方法。
36、本技术中首先将数据保护设备的网络接口配置为网桥模式,并通过网路接口中的输入网口接收预设服务器发送的初始以太网数据包,然后将初始以太网数据包依次通过brouting链和prerouting链进行处理,并确定处理后得到的目标以太网数据包的目的以太网地址,以通过目的以太网地址判断目标以太网数据包是否为数据保护设备的本地数据包;若目标以太网数据包不是本地数据包,则将目标以太网数据包传入forward链中,并基于forward链中的预设安全策略对目标以太网数据包进行数据加密或数据解密处理,之后将处理后的目标以太网数据包通过forward链和posting链转发至网络接口中的输出网口进行输出。这样一来,本技术中在进行网络数据包净荷保护时,网络设备处于透明网桥模式下,可以实现对网络数据包中的净荷数据部分进行加密等保护,提高网络数据保护的效率,并且通过在协议栈的二层中实现协议载荷部分的净荷保护,与在三层协议栈进行数据处理的方式相比,数据包在协议栈中流转环节和数据封装与解封装的过程少,提高了数据处理效率,并且具有较低的数据转发时延。