论文部分内容阅读
本论文选用了开放源代码的Linux操作系统作为开发平台,在自主开发的专用协议栈基础上,采用网络层的IPSec协议族实现了虚拟专用网(VPN)网关,并集成于防火墙系统中。课题采用标准的C语言进行程序开发。 本论文参考了IETF关于IPSec协议族的RFC建议文档,通过研究对比,确定了在专用协议栈上以ESP隧道模式的工作方式实现VPN网关,主要的结构包括动态密钥交换、安全服务协议、安全策略等几大模块;详细分析了在Linux网络协议栈中实现IPSec协议的自由软件FreeS/WAN,研究了在对IPSec协议的具体实现流程中需要考虑和重点解决的问题;分析了Linux网络协议栈处理流程,完成了基于专用协议栈的IPSec模块的设计,并成功地将其嵌入专用协议栈中,实现了ESP隧道模式的安全服务;最后,采用UDP封装的方案,很好地实现了IPSec对NAT网关的穿越,并试探性地采用IP载荷压缩技术,以优化由于ESP协议和UDP封装所增加的数据包长度而可能影响到的网络性能。 本系统所采用和借鉴的均为Linux平台上的开放源码和自由软件,所参考的RFC文档为IETF公开发布的权威性文件,故系统实现具有较低的开发成本以及良好的移植性。从安全角度出发,专用协议栈的处理方案也成为本VPN网关坚实的安全堡垒。再加上对IPSec与NAT冲突的解决和IP载荷压缩技术的考虑,本VPN网关很好地实现了集安全、实用、高效于一体的最终目的,为广大中小型企业解决专用网到Internet的接入提供了有效的解决方案。