售前咨询-朱:19381904226
售前咨询-杨:19381903226 English
前沿资讯 真实、准确的物联网、互联网行业新闻

基于Linux的VPN网关研究与实现

你的位置: 网站首页 新闻动态 技术应用
基于Linux的VPN网关研究与实现
2022-08-29 23:39:45 阅读: 发布人:纵横智控

本文在Linux 2.6内核中的IPsec支持机制作了深入的研究和分析,给出了一个全面构建VPN网关的设计方:包括用户网关控制台,内核模块的通信和IKE模块,设计并实施一个IPsec VPN安全网关原型。

安全性是互联网发展的重要前提。1998年2月,IETF发布了IP安全协议,通常被称为IPsec。这是一套协议在网络层,为IPv4和IPv6提供数据源认证,数据完整性和数据保密。作为一个可扩展的网络安全集,lPsec的支持和越来越广泛的采用。IPsec安全体系结构包括四个部分:

(1)安全协议:身份验证头(AH)用于为IP数据报提供无连接的完整性,数据源认证。ESP提供机密性,数据源认证,无连接的完整性,网络层的保密性和有限的流量保密。AH和 ESP都支持两种使用模式:传输模式和隧道模式。在传输模式下的协议主要为上层协议提供保护,在隧道模式下,该协议适用于隧道IP数据包。工业网关

(2)安全关联和安全策略。安全关联(SA)是一个单纯的“连接”,能应用AH或ESP提供单向的安全服务,如果同时使用AH和 ESP保护被施加到的交通流,则需要创建两个(或更多)的SA。为了确保典型,在两台主机之间的双向通信,或在两个安全网关之间,两个安全关联(每个方向一个)是必

需的。安全策略针对多个通信参数(如IP地址、端口号、协议等),定义特定的网络流量具体应用的网络安全服务。

(3)密码交互协议。Internet密钥交换(IKE)是一个重要的IPsec协议。它的目的是进行协商,并提供安全协会认证的密钥材料在受保护的方式。目前协议的版本为IKEv2,其定义了

更高效的密钥交换类型,键,更安全的验证和加密机制,新方法的产生。

RTU

(4)安全算法。IPsec指定算法包括 HMAC-MD5-96、HMAC-SHA-96、DES-CBC 密码算法等多少算法。

1 Linux IPSec支持

Linux2.6内核提供了全新的对 IPSec的支持机构。Linux2.6内核中的IPSec支持机构主要包括:内核网络协议栈中IPSec处理的/无缝接入0,AH协议、ESP协议的处理,IPSec重要组件安全关联SA和安全策略SP的数据结构及相关访问算法,安全关联数据库SAD和安全策略数据库SPD的构建和访问,IPSec加密算法函数库的支持,基于Netlink套接字的内核态与用户态的通信支持,以及内核IPSec的管理等。2VPN 网关总体设计与实现

VPN安全网关分为用户控制台模块和内核空间模块和。如图1所示。

安全网关管理控制台为管理员提供一个管理配置接口。VPN管理员通过控制台可以开启或关闭安全网关功能,并且在安全网关开启情况下,可以通过管理控制台手工建立安全通道,配置安全策略、安全关联等安全通信参数。

安全网关与内核交互模块是一个通信中枢,负责连接用户空间进程与内核空间IPSec部分,主要进行两方面工作:

(1)接收用户空间进程主动发起的消息,包括管理控制台和IKE守护进程发送的请求,将用户进程的请求封装成内核IPSec管理可接受的消息格式,发送给内核,最后监听内核处理的结果;

(2)监听内核主动发起的消息,包括:要求建立SA请求、SA生存期超期通知、安全策略生存期超期通知。

内核 IPSec管理部分也包含由内核提供的内核IPSec与用户空间交互的通信接口,该部分接收用户空间消息,调用内核中提供的相应的函数,完成具体操作。

安全关联数据库SAD中包含了所有用于保护通信的安全关联,安全策略数据库SPD中包含了所有使用的策略条目。所有入站和出站信包经过IP层,接受IPSec处理时都要查询SAD和SPD,来采取相应的处理措施。

IPSec处理对外出数据提供加密和完整性保护,对接收的和数据进行解密和完整性检验,真正实现安全网关安全保障功能,这部分功能内核提供。内核加密算法库为IPSec提供各种加密操作所需的函数。


友情链接