基于IPSec协议的VPN安全网关设计.pdf
《基于IPSec协议的VPN安全网关设计.pdf》由会员分享,可在线阅读,更多相关《基于IPSec协议的VPN安全网关设计.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 146 基于基于 IPSec 协议的协议的 VPN 安全网关设计安全网关设计 王志刚,石王志刚,石 颖颖(海军计算技术研究所,北京 100841)摘摘 要:要:随着 Internet 技术在各行业信息系统中的广泛应用,企业内部网络和应用系统的安全保密问题日益突出。在研究 IP 安全协议和虚拟专用网(VPN)技术的基础上,提出一种集防火墙技术和网络加密技术于一体的 VPN 安全网关的设计方案,给出主要软件模块的设计,对安全网关在实际应用系统中的应用模式进行了分析。关键词:关键词:虚拟专用网;IP 安全协议;隧道技术;加解密技术 Design of VPN Security Gateway Ba
2、sed on IPSec Protocol WANG Zhi-gang,SHI Ying(Navy Computing Technology Research Institute,Beijing 100841)【Abstract】As a result of extensive application of Internet/Intranet technology in the information system of the enterprise,the information of socialand more and more sharpening problems of networ
3、k security and information secrecy.This paper gives a resolving scheme of Virtual PrivateNetwork(VPN)security gateway with firewall and network encryption technology,based on IP Security(IPSec)protocol and VPN technology,itgives a design of main software module,and a deep analysis is made into the a
4、pplication of the scheme.【Key words】Virtual Private Network(VPN);IP security protocol;tunneling technology;encryption and decryption technology 计计 算算 机机 工工 程程Computer Engineering第第35卷卷 第第17期期Vol.35 No.17 2009 年年 9 月月September 2009安全技术安全技术 文章编号:文章编号:10003428(2009)17014603文献标识码:文献标识码:A 中图分类号:中图分类号:TP3
5、09Internet技术提供的互联性和开放性使信息的交换与共享成为现实,保护网络安全、保证信息安全成为人们日益关注的问题。防火墙和信息加密是最行之有效的2种技术,VPN安全网关则是综合这2种技术的网络安全设备。1 VPN简介简介 1.1 VPN概念及作用概念及作用 VPN技术是指采用隧道技术、加密和身份认证等方法,在公众网络上构建专用网络的技术,数据通过安全的“加密管道”在公众网络中传播。VPN技术实现了内部网络信息在公众信息网上的安全保密传输,就如同在广域网中为用户拉出一条专线。对于用户来讲,公众网络起到了“虚拟专用”的效果。通过VPN,网络对每个使用者也是专用的,不同的用户组可以建立自己的
6、“专用网”。1.2 VPN的关键技术及协议的关键技术及协议 实现VPN的关键技术和协议主要包括:(1)安全隧道技术(secure tunneling technology)。将待传输的原始信息经过加密和协议封装处理后再嵌套装入另一种协议的数据包送入网络中,像普通数据包一样进行传输。(2)用户认证技术(user authentication technology)。在隧道连接之前确认用户身份,以便系统实施资源访问控制或用户授权(authorization)。(3)访问控制技术(access control technology)。由服务提供者与网络信息资源的提供者共同协商确定对特定资源的访问权限
7、,以此实现基于用户的细粒度访问控制。(4)IPSec协议。IPSec是IETF设计的确保基于IP通信的数据安全性的机制,它不是一个单独的协议,而是给出了应用于IP层上网络数据安全的一整套体系结构1,包括:AH(Authentication Header)协议2,ESP(Encapsulating Security Payload)协议3,IKE(Internet Key Exchange)协议和用于网络验证和加密的一些算法等。IPSec规定了如何在对等层之间选择安全协议、确保安全算法和密钥交换,向上层提供了访问控制、数据源验证、数据加密等网络安全服务。IPSec定义的相关概念和术语如下:(1)
8、安全联盟(Security Association,SA)。SA构成IPSec的基础,它是2个通信实体经协商确定的一种协定。它们确定了用来保护数据包安全的IPSec协议、加密方式和密钥信息等。SADB是一个SA数据库。(2)安全策略数据库(Security Police Database,SPD)。安全策略决定了为一个数据包提供的安全服务,而对所有的IPSec方案来说,都将策略保存在一个数据库中,即SPD。(3)选择符。外出的数据包需要用选择符在SPD中检索相应的安全策略,它包括源地址、目标地址、名字、协议、上层端口。(4)安全参数索引(Security Parameter Index,SPI
9、)。SPI用于独一无二的标识出接收端的SA。由于包接收端在IP层不一定能访问到选择符内的所有字段,因此需要用SPI,目标地址,协议元组对SADB进行检索。2 VPN安全网关设计安全网关设计 2.1 设计原则和目标设计原则和目标(1)操作系统核心为自主开发的嵌入式安全增强操作 系统。(2)核心设计除了协议分析模块静态编译进OS内核外,其余的模块都作为独立的模块动态加载。作者简介:作者简介:王志刚(1965),男,高级工程师、硕士研究生,主研方向:安全操作系统,信息系统安全与保密;石 颖,助理工程师 收稿日期:收稿日期:2009-04-15 E-mail: 147(3)桥式转发,透明接入,对用户原
10、有的网络环境不产生影响。(4)支持TCP/IP协议族,对其他协议可选支持。(5)基于主机地址或子网地址的访问控制,防止数据的非授权访问。(6)支持IKE密钥分发方式。(7)使用DOC+RAMdisk的存储结构。(8)支持本地串口超级终端和WINDOWS图形界面管理。(10)提供完善的审记功能。(11)支持802.1Q的VLAN 结构,支持IPSec协议的ESP加解密模式。2.2 系统平台设计系统平台设计(1)硬件平台:采用高档Intel Server平台。2U工控机结构,高性能Server主板。Intel 体系结构,至强四核CPU。内存:2 GB。集成双1 000 MB网卡。高性能加密模块(内
11、置密码算法)。(2)系统软件平台:采用嵌入式Linux操作系统4,进行裁剪和安全增强。2.3 软件设计软件设计 在操作系统的网络模块中,设计实现了以太网网桥模块。网桥这一层是进出安全网关的所有网络数据包必须经过的一层,直接利用网桥实现了对IP数据包的安全控制。其系统软件总体结构如图1所示。在线管理模块SKE模块审计管理模块状态显示模块应用层API核心层系统配置数据维护加密认证显示管理动态连接库应用层传输层网络层网桥协议分析模块网卡驱动防火墙模块SPD处理模块SADB处理模块加密引擎模块加密模块网络协议栈过滤规则表加密参数库安全策略数据库 图图1 安全网关系统软件总体结构安全网关系统软件总体结构
12、 相关概念描述如下:(1)通信关系表 通信关系表存放2类信息:(1)与本机有密码通信关系的远端VPN网关的ID号和IP地址;(2)加密通信所使用的加密参数。此表主要用于索引远端VPN网关的加密算法及其他相关参数。(2)本地保护关系表 此表存放本地VPN网关所保护的内部子网列表,其主要作用是为了与有通信关系的远端VPN网关进行保护关系表交换,以完成VPN网关保护关系自动学习的功能。(3)远端保护关系表 此表存放所有与本机有密码通信关系的远端VPN网关保护子网的列表,用于根据加密IP包的目的地址检索保护远端网络的VPN网关。2.3.1 功能模块的设计(1)协议分析模块 该模块是整个系统最重要的模块
13、,对进出数据包进行分析,提取协议号、端口号、IP头等,然后分别调用防火墙模块,对数据包进行过滤;调用安全策略维护模块,对数据包进行安全策略查询;调用加密引擎模块,对数据包进行加解密处理。然后将处理后的IP数据包转发至其他协议栈。该模块表态编译到内核中,在系统启动时自动装载。篇幅所限,下面介绍该模块的主要设计内容。VPN安全网关设计有2块网卡:eth0和eth1。将eth0设定为内部网口,eth1设定外部网口,内部网口连接所要保护的主机或子网,外部网口连接路由器的以太网口,这样可以只对进出外部网口的数据包进行安全保密处理。协议分析模块是整个核心中的总体调度模块,它是几大核心模块中最先被加载的。L
14、inux的源代码是开放的,因此,该模块通过修改Linux核心源代码(网络层部分),静态地编译到核心内。在这个模块中需要调用其他几个模块,而它又是最先被加载的,为了找到其他模块中的函数入口,在协议分析模块初始化时,需初始化一个全局变量,将各字段的函数指针置空,变量结构如下:typedef struct _Ker_Crypt_Info ushort version;unsigned char ip_crypt_flag;/*IP报文加密标识*/unsigned char fw_log_flag;/*防火墙日志记录标识*/unsigned char(*ip_fw_ask)(/*防火墙功能函数调用入口
15、*/struct iphdr*ip_head,struct sk_buff*skb,int flag);unsigned char(*ip_crypt_ask)(/*IP报文加密判断函数入口*/struct sk_buff*skb,struct iphdr*ip_head,ulong selp_ipaddr,unsigned char flag,PSAID said,unsigned char*log_buf);unsigned char(*ker_enc_buffer)(/*IP报文加密函数调用入口*/PSAID said,unsigned char*data_buf,ushort buf_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 IPSec 协议 VPN 安全网关 设计
限制150内