论文部分内容阅读
VPN就是在公用网络上利用专门的加密技术构建一个虚拟的、专用的隧道,连接在Internet的两台机器通过隧道进行通信,VPN技术基于Internet,但又独立于Internet,因为隧道是私有的、不可共享的,仅限当前构建隧道的双方进行通信。VPN的核心技术是隧道,要组建VPN,隧道必不可少。而构建隧道又离不开隧道协议。目前,应用比较广泛的VPN隧道协议主要有IPSec和SSL。IPSec是传统的VPN隧道协议,而SSL是近年兴起的一种基于Web的VPN协议,文章分别对两种协议进行了介绍,并比较了它们的优缺点,在此基础上,引出了一种开源SSL VPN软件OpenVPN。论文从第三章开始深入研究开源的VPN软件OpenVPN,对其实现原理和隧道构建的详细过程进行了归纳与总结。然后将它的功能进行封装与整合,再结合现有的J2SE、WebService、JAVA设计模式、Hibernate数据库持久化等技术,实现了一个方便、安全、高效的VPN软件。该软件的背景是本人实习期间参与开发的一个项目—湖北联通VPN系统,系统的核心需求就是能够让外地出差的联通员工能够方便、安全的访问到联通内部资源,同时也要让联通内部各自网能够相互通信。因此,就软件的功能而言,它的目标不仅是在公网上构建普通的VPN隧道,而且还要能够将内网与外网组织起来,实现对子网内部的访问,甚至是子网之间的相互访问。这是软件所要实现的核心功能,也正是本文的创新点之所在。软件开发基于J2EE平台,所使用的主要技术OpenVPN和WebService也均为开源软件或技术,因此,从成本上来讲,将软件的成本降至了最低,这也是软件的一个亮点。论文重点阐述了软件实现的两项关键技术:OpenVPN和WebService。其中OpenVPN负责VPN隧道的建立,而WebService则负责在VPN隧道建立之前的客户端与服务器通信。同时,给出了软件开发的详细流程、全部的系统接口及方法和它们各自的作用,并对其它的一些系统实现的关键技术和难点进行了简要的论述。论文的最后一章给出了该系统在Internat上的几个实验,证明了系统的实用性和安全性。