资源描述
本科生毕业论文
基于SSL的VPN技术的研究与应用
Research and Application for VPN Technology
Base on SSL
学生姓名
所在专业
所在班级
申请学位
指导教师
职称
副指导教师
职称
目 录
目 录
摘 要 ……………………………………………………………………………………...I
ABSTRACT II
1 前言 1
1.1 网络安全的现状 1
1.2 SSL VPN课题的提出 1
1.3 SSL VPN在国内的发展状况 2
1.4 课题的目标 2
1.5 本文的主要内容 3
2 网络安全与防护的理论基础 3
2.1 网络安全的概念 3
2.2 网络上的威胁 4
2.3 网络安全技术 4
2.3.1现代密码技术 4
2.3.2 VPN技术 5
2.3.3身份认证技术 5
3 虚拟专用网(VPN)技术的研究 6
3.1 虚拟专用网(VPN)技术的概念 6
3.2 VPN中的隧道技术 7
3.3 VPN实现的层次 8
4 SSL VPN的原理与技术 8
4.1 SSL VPN的定义 8
4.2 SSL协议的分析 9
4.2.1 SSL协议简介 9
4.2.2 SSL记录协议 10
4.2.3 SSL握手协议 12
4.3 SSL VPN的代理(Proxy) 14
4.3.1 Web数据的代理 15
4.3.2 非Web数据的访问代理 16
5 SSL VPN技术应用的研究 17
5.1 SSL VPN与IPSec VPN的安全性对比 18
5.1.1成熟度和应用广泛性的比较 18
5.1.2数据加密的比较 18
5.1.3远程访问技术的比较 19
5.1.4身份认证的对比 19
5.1.5访问控制的对比 19
5.2 SSL VPN与IPSec VPN的建设与维护成本对比 20
5.2.1运营成本与用户数的关系 20
5.2.2初始投资和人工成本分析对比 21
5.2.3维护、支持和操作的成本比较 22
6 SSL VPN网关的应用研究 23
6.1 SSL VPN在企业网中的网络结构 23
6.2 SSL VPN网关系统的设计 25
6.2.1 通信处理模块的设计 27
6.2.2 SSL协议处理模块设计 27
6.2.3 记录层处理模块设计 28
6.2.4 身份认证模块设计 28
6.2.5日志处理模块设计 30
结束语 …………………………………………………………………………………….31
鸣 谢 …………………………………………………………………………………….32
参考文献 33
摘 要
摘 要
随着Internet技术的发展,网络的应用也产生了各种各样的问题,其中安全问题尤为突出。现在,虚拟专用网(VPN)技术已成为了希望在全球连通的公司解决网络安全问题的自然之选。基于SSL协议的SSL VPN可以通过特殊的加密通讯协议,在Internet远程用户的一端和公司内网的另一端网络之间建立一条专有的通讯通道,这样就好比架设了一条专线,使合法用户可以轻松访问公司内部核心资源。由于SSL VPN具有使用方便,能够高效快捷地实现网络安全的优点,因此,SSL VPN的应用成为了现今网络安全应用的一个重要课题。本研究首先对现今网络安全的现状进行了分析,从而引出了对基于SSL协议的虚拟专用网(VPN)的研究。最后,本研究还设计了SSL VPN网关在企业中的网络结构,并对SSL VPN网关的各个模块功能进行详细分析,目的在于使人们对SSL VPN的就任有一个更加深入的理解。通过对SSL VPN工作原理的研究,本研究得出了SSL VPN确实能够安全地实现企业子网间的互连,为企业和用户提供一个安全的网络环境,是一个能够较好地解决网络安全问题方案的结论。
关键词:网络安全;VPN;SSL协议;代理;
II
ABSTRACT
ABSTRACT
With the development of Internet technology, the network application produced a wide variety of issues, security is a particularly problem. Now, Virtual Private Network (VPN) technology has become the hope that the global connectivity of network security companies to overcome the problem of the natural choice.The VPN which based on the SSL through the SSL encryption special communication protocol, Internet users in the remote side and the company network at the other side of the establishment of a network between proprietary communications channel This can be compared to the erection of a green, so that legitimate users can easily visit the company internal core resources. As SSL VPN is easy to use, fast and efficient to achieve the advantages of network security, SSL VPN application become a modern network security applications an important issue. This paper first analysis the current network security status, thus led to a pair of SSL-based Virtual Private Network (VPN) study. Finally, this study was designed to the SSL VPN gateway in the enterprise network structure, as well as SSL VPN Gateway functions of the various modules to conduct a detailed analysis, The objective is to make the people as a more in-depth understanding SSL VPN. The principle study of the SSL VPN security can indeed achieve enterprise-networks interconnection for enterprises and provide users with a secure network environment, is a better solution to the issue of network security programs conclusions.
KEYWORDS: Network Security;VPN; SSL Protocol;Proxy;
基于SSL的VPN技术的研究与应用
1 前言
1.1 网络安全的现状
作为一种战略资源,网络信息的应用从原来的军事、科技、文化和商业等领域逐渐渗透到当今社会的各个领域,在社会生产,社会生活中的作用日益显著。在计算机网络中,传播、共享和自增值是网络信息有固有属性。与此同时,人们又要求信息的传播是可控的、共享是授权的、增殖是确认的。因此在任何情况下,网络的安全性和可靠性是我们必须给予保证的。Internet是一种开放的和标准的面向所有用户的技术,其资源是通过计算机网络共享的。而资源共享和网络安全是一对矛盾,随着Internet的飞速发展,计算机网络的资源共享程度进一步加强,随之而来的网络安全问题就变得日益突出了。
对于一个企业而言,保护网络安全,就意味着保护了企业的安全。而随着PC机数目的增加,网络安全事故的数量也在日益增加。近年来,各种各样的计算机病毒给人们带来了不仅仅是不便,而更多的是财产的损失。如2007年出现的熊猫烧香病毒在Internet上四处传播,令所有感染了病毒的计算机成为病毒制造者口中所说的“网络疆尸” ,给企业单位带来的是直接的经济损失和不可挽救的数据灾难。
在经济领域上,企业的收购与合并,再加上企业本身的发展壮大与跨国化,使它的分支机构越来越多,Intranet的覆盖面积也越来越大。在企业网的功能上,不但要要求能够满足移动用户以及远程用户访问企业网络的需求,同时还需要某种机制来保证企业信息的安全。目前,对通信安全尤其是对企业分散子网间的通信安全问题的解决方法主要有两种:一是直接建立专用网,也就是通过租用并独占专用线路或自建线路来连接分布在不同地域的企业子网。主要的缺点是由于通信信道是被独占的,因此它不管用户是否使用了信道传送信息它都是要全时付费的,这样就导致了资源浪费和费用非常昂贵。另一种方法就是使用虚拟专用网(Virtual Private Network),它通过在公用的IP网络上建立隧道等方式虚拟出专线来,连接分布在各地的企业子网甚至移动用户,由于在IP网络上信道主要是统计复用的,用户在没有传输数据时就不必计费,因此使用这种方法的费用比较低廉,从而成为了企业解决信息通信安全问题的首选方案。
1.2 SSL VPN课题的提出
虚拟专用网作为解决企业信息通信安全问题的首选方案,它就必须具有合适现今企业对网络的各种需求,例如能够满足日益增加的分散的公司部门和移动的成员的要求及低廉的运行费用和维护费用等。今天,人们对VPN的远程访问要求越来越高,而目前被广泛应用的基于IP的IPSec的VPN提供的远程访问能力在使用的方便性,维护的简洁性,建设的总体成本等方面都存在着一定的局限性。SSL VPN作为一种新的远程接入解决方案便应运而生了。
SSL VPN是建立在SSL(Secure Sockets Layer,安全套接字协议层)基础之上的一种虚拟专用网技术。SSL协议又被IETF称为TLS(Transport Layer Security,传输层安全协议)。一个最基本的SSL VPN由两部分组成:Web浏览器和SSL VPN网关。Web浏览器向SSL VPN网关申请建立连接,网关验证用户身份之后对会话数据进行加密,这样就建成了一个安全连接。SSL VPN 网关通常位于企业防火墙后的隔离区DMZ (Demilitarized Zone)内,接收来自端口号为443的加密数据,它对数据进行解密并根据用户的接入方式向用户提供一个入口,入口包含了用户能够接入的应用的菜单,或者提供一个能够模拟用户在办公室里工作的网络连接。由于只需要一个Web浏览器就能够实现基本的接入,因而极大地降低了企业对远程接入的总体拥有成本,SSL VPN变得越来越受欢迎。
1.3 SSL VPN在国内的发展状况
由于利用SSL协议实现VPN具有诸多的优势,目前已有很多企业开始对SSL VPN的实现方法进行研究。“Juniper网络公司取得了又一个季度的胜利,尤其在应用安全网关(SSL VPN)这个市场上。从2007第一季度到第二季度,全球SSL VPN的市场收入增长10%,到2008年第二季度将增长92%。而我们预计从2005年到2007年,该市场的年收入以467%的速度增长”[12]。Infonetics Research公司的资深分析师Jeff Wilson在报告中这样写到。在最近Infonetics的一份调查报告中指出:“在2005年~2006年内,在移动用户中有80%的人会使用到VPN技术与企业内部网络进行通信。在这么多的移动用户中,大部分是来自于SSL VPN网络系统的应用,原因是它可以避免客户端安装和管理所带来的麻烦”[12] 。Gartne副总裁John Girard在最近的一份研究报告中对SSL VPN的应用前景做出了这样的评价,他说:“作为传统VPN的升级,那些希望使用更加简单更加灵活的方式部署他们的安全远程访问系统的企业应该考虑使用SSL VPN作为一项新的投资。现在,许多企业已经开始使用这项基于SSL技术、简单、易用而且不需要高额费用的VPN解决方案部署他们的系统。”在国内,与IPSec VPN比较起来,SSL VPN只算处在刚刚起步,F5公司吴若松认为:“SSL VPN在国内市场不大,是因为中国的VPN市场还处在初级阶段,很多用户的需求仅是网络对网络的安全互联,这属于IPSec VPN的适用范畴;而对SSL VPN所支持的“远程安全访问VPN”需求不多,即使有需求,也是把它当作对IPSec VPN技术的补充来看待。”但是,随着移动用户的大规模发展以及电子商务的规模化应用,基于SSL的VPN市场将获得更大的发展。
1.4 课题的目标
目前,我国企业的分散子网之间的通信安全问题主要是由基于IPSec的VPN来解决的。一种最新的研究表明近乎90%的企业采用VPN进行的内部网和外部网的联接都只是用来进行因特网访问和电子邮件通信,另外10%的用户是利用诸如x11、聊天协议和其它私有客户端应用,属于非因特网应用。使用基于IPSec的VPN这种方案来解决这类问题具有安装维复杂、需要安装客户端、费用昂贵、维护复杂等缺点。《基于SSL的VPN的研究与应用》这一课题的目标就是通过对基于SSL的VPN方案进行深入的研究,增加人们对SSL VPN系统的了解,并能将其在我国推广使用。使人们在今后设计分散的企业子网或是分散的政府机构部门子网中使用SSL VPN技术,实现随时随地的轻松办公,安全实现远程接入,使之能够在VPN的设计上达到性能和价格上的优化的目标。
1.5 本文的主要内容
本文在充分学习网络安全的基础上进行了基于SSL的VPN的技术研究,包括对网络安全的分析,SSL协议体系的研究,SSL VPN网关代理技术等等。最后通过与目前广泛应用的IPSec VPN方案与SSL VPN技术进行比较,分析SSL VPN在应用上的特点。本文的研究内容包括以下几点:
(1)对现代网络安全基础知识进行研究,分析当今网络应用中存在的安全问题以及对此类问题的具体的解决方案。
(2)对VPN的理论基础进行深入的学习,并对现时所流行的VPN技术进行详细的研究。
(3)对SSL协议的体系结构和SSL VPN代理技术进行深入的研究。
(4)通过与现在广泛使用的IPSec VPN进行具体比较,具体阐述基于SSL的VPN技术的应用的优点,并突出SSL VPN在企业内应用的优越性,从而说明了SSL VPN为今后VPN的主要发展方向,并推荐人们在今后的网络设计中使用SSL VPN来方便地解决安全问题。
(5)以某一个企业为例,设计一个SSL VPN网络,并对SSL VPN网关的各个模块功能进行分析,加深人们对SSL VPN的理解。
2 网络安全与防护的理论基础
2.1 网络安全的概念
在今天这个信息爆炸的网络时代,谁掌握了信息,谁就掌握了主动权。网络安全问题已经成了现代信息化社会的焦点。网络安全是指网络系统的部件、程序、数据的安全性,它通过网络信息的存储、传输和使用过程体现。所谓的网络安全性就是保护网络程序、数据或者设备,使其免受非授权使用和访问。它的保护内容包括:
(1)保护信息和资源
(2)保护客户和用户
(3)保护私有性
网络安全包括物理安全和逻辑安全。在于物理安全方面,需要加强计算机机房管理,如门卫、出入者身分检查以及各种硬件安全手段等预防措施;在于逻辑安全方面,则需要用口令字、文件许可和查帐等方法来实现。
2.2 网络上的威胁
今天,尽管网络的应用充满了蓬勃的生机,但是它在安全性上还是非常脆弱的,它在公共数据网上进行通信时极易遭受到攻击,尤其是连在Internet上的局域网,随时都面临着很大的被袭击的危险。
计算机网络所面临的威胁大体可以分为两种:一是对网络中信息的威胁;二是对网络中设备的威胁。影响计算机网络的因素很多,有些因素可能是有意的,也可能是无意的。可能是人为的,也可能是非人为的。归结起来,针对网络安全的威胁主要有以下的三个方面[6]:
(1)人为的无意失误。如操作员配置不当造成的安全漏洞,用户安全意识不强,用户口令选填不慎,用户将自己的帐号随意转借给他人或与别人共享等都会对网络安全带来威胁。
(2)人为的恶意攻击。这是计算机网络所面临的最大威胁,敌手的攻击和计算机犯罪就属于这一类。此类攻击又可以分为以下两种:一种是主动攻击,它以各种方式有选择地破坏信息的有效性和完整性;另一类是被动攻击,它是在不影响网络正常工作的情况下,进行截取、窃取、破译以获得重要机密信息。这两种攻击均可对计算机网络造成极大的危害,并进行机密数据的泄漏。
(3)网络软件的漏洞和“后门”。网络软件不可能百分之百无缺陷和无漏洞的,然而,这些漏洞和缺陷恰恰是黑客进行攻击的首选目标。曾经出现过的黑客攻入网络内部的事件大部分就是因为安全措施不完善所招致的苦果。另外,软件的“后门”都是软件公司的设计编程人员为了自便而设置的,一般不为外人所知,但一旦“后门”洞开,其造成的后果将不堪设想。
2.3 网络安全技术
2.3.1 现代密码技术
现代密码技术是保障网络信息安全的核心技术。通过现代密码技术,人们可以实现信息加密、信息的完整性检验、信息的不可否认和身份认证等功能。加密技术主要涉及两个算法:加密算法和解密算法。一个密码系统的强度由以下因素决定:
(1)密码空间的大小。
(2)算法的复杂程度及其实现是否可靠以及它对于攻击的抵抗能力。
目前,密码机制主要有两种类型:对称密钥机制和公开密钥机制。对称密钥机制采用对称编码技术,加密算法和解密算法采用同一把密钥,加密和解密互为逆过程。典型的算法有DES算法、IDEA算法。对称密钥加/解密算法的优点在于速度都非常快,很适合对大块数据加密。但它的主要缺点在于密钥的分发和销毁难于管理。公开密钥机制的加密算法和解密算法使用不同的密钥,其中加密密钥是公开的、众所周知的,而解密密钥是秘密的,只为拥有者知道。该类加密机制尽管没有密钥的分发和销毁管理之忧,但速度较慢,并且公开密钥身份的真实性需要严格的认证。典型的算法有RSA算法。 在实际应用中,人们通常将对称加密密钥算法和公开密钥密码算法结合在一起使用,以实现最佳性能[2]。
2.3.2 VPN技术
可信任的内部网络与不安全的外部网络进行互连时,数据在信息公用网的信道上的传输其实是暴露在攻击者眼前的。但是当分散在世界各地的企业子网想通过公用网来交流信息时,防止企业信息不被外涉是必须的。由于TCP/IP协议在安全方面存在缺陷,攻击者可以直接在网络上获取、删改或者完全破坏这些内部信息。而且通过这种方式比穿过防火墙进入Intranet内部获取信息更为方便简单,也更不易被发现(进入内部网络至少会留下访问记录)。因此,如何把需要保护的数据隐藏地、完整地传送到正确的地址,是当前备受关注的问题。 VPN技术就是针对通信安全尤其是分散的企业子网间通信安全问题的一种解决办法。它通过采用在公用网上建立加密的隧道的方式虚拟不同的专线来连接分布在各地的企业子网及移动用户。简单地说,隧道就是指一个网络通过另一个网络的连接传输分组,将一种协议的数据单元封装在另一种协议的数据单元中。隧道是一种虚拟的点到点的连接,这个连接可以为隧道的两个端点提供了认证、加密和访问控制。我们可以在不同的协议层上来实现隧道技术,但是在每个协议层上的实现具有不同的实现难度,也提供了不同强度的安全保护。VPN因其灵活、价廉、可以很好地与IP网络直接结合等优点而成为当前的一个研究热点。选择VPN组建专用网也成为了国内外企业组网的一个趋势。
2.3.3 身份认证技术
身份认证是指计算机及网络系统确认操作者身份的过程。计算机和计算机网络组成了一个虚拟的数字世界。在数字世界中,一切信息包括用户的身份信息都是由一组特定的数据表示,计算机只能识别用户的数字身份,给用户的授权也是针对用户数字身份进行的。而我们生活的现实世界是一个真实的物理世界,每个人都拥有独一无二的物理身份。如何保证以数字身份进行操作的访问者就是这个数字身份的合法拥有者,即如何保证操作者的物理身份与数字身份相对应,就成为一个重要的安全问题。身份认证技术的诞生就是为了解决这个问题。
(1)用户名/密码方式
用户名/密码是最简单也是最常用的身份认证方法,它是基于“What you know”的验证手段。每个用户的密码是由用户自己设定的,只有他自己才知道,因此只要能够正确输入密码,计算机就认为他就是这个用户。然而实际上,由于许多用户为了防止忘记密码,经常采用诸如自己或家人的生日、电话号码等容易被他人猜测到的有意义的字符串作为密码,或者把密码抄在一个自己认为安全的地方,这都存在着许多安全隐患,极易造成密码泄露。即使能保证用户密码不被泄漏,由于密码是静态的数据,并且在验证过程中需要在计算机内存中和网络中传输,而每次验证过程使用的验证信息都是相同的,很容易被驻留在计算机内存中的木马程序或网络中的监听设备截获。因此用户名/密码方式一种是极不安全的身份认证方式。可以说基本上没有任何安全性可言。
(2)动态口令技术
动态口令技术是一种让用户的密码按照时间或使用次数不断动态变化,每个密码只使用一次的技术。它采用一种称之为动态令牌的专用硬件,内置电源、密码生成芯片和显示屏,密码生成芯片运行专门的密码算法,根据当前时间或使用次数生成当前密码并显示在显示屏上。认证服务器采用相同的算法计算当前的有效密码。用户使用时只需要将动态令牌上显示的当前密码输入客户端计算机,即可实现身份的确认。由于每次使用的密码必须由动态令牌来产生,只有合法用户才持有该硬件,所以只要密码验证通过就可以认为该用户的身份是可靠的。而用户每次使用的密码都不相同,即使黑客截获了一次密码,也无法利用这个密码来仿冒合法用户的身份。 动态口令技术采用一次一密的方法,有效地保证了用户身份的安全性。但是如果客户端硬件与服务器端程序的时间或次数不能保持良好的同步,就可能发生合法用户无法登陆的问题。并且用户每次登录时还需要通过键盘输入一长串无规律的密码,一旦看错或输错就要重新[8]。
3 虚拟专用网(VPN)技术的研究
3.1 虚拟专用网(VPN)技术的概念
VPN是Virtual Private Network的简称,中文翻译为“虚拟专用网”。现在,虚拟专用网已经被人们作为一个专门的术语来接受。从字面意义来说,术语VPN由虚拟(Virtual)、专用或私有(Private)、以及网络(Network)三个词组成。 在这里,我们将其定义为:VPN是以公共开放的网络(如Internet、帧中继ATM等)作为基本传输媒介,利用加密、封装、认证等技术对信息进行封装,向最终用户提供类似于专用网络(Private Network)性能的网络服务技术[3]。
VPN技术发展至今,已不再局限于某种技术,而是代表一个广泛的技术概念。现在我们可以将VPN理解为依靠ISP (Internet服务提供商)和其它NSP(网络服务提供商)的,在公用网络中建立专用的数据通信网络的技术。在虚拟专用网中,任意两个节点之间的连接并没有传统专用网所需的端到端的物理链路,而是利用某种公众网的资源动态组成的。IETF草案理解基于IP的VPN为:“使用IP机制仿真出一个私有的广域网” 是通过私有的隧道技术在公共数据网络上仿真一条点到点的专线技术。所谓虚拟,是指用户不再需要拥有实际的长途数据线路,而是使用Internet公众数据网络的长途数据线路。所谓专用网络,是指用户可以为自己制定一个最符合自己需求的网络。虚拟专用网络允许远程通讯方,销售人员或企业分支机构使用Internet等公共互联网络的路由基础设施以安全的方式与位于企业局域网端的企业服务器建立连接。虚拟专用网络对用户端透明,用户好象使用一条专用线路在客户计算机和企业服务器之间建立点对点连接,进行数据的传输。这种跨越Internet建立的VPN连接逻辑上等同于两地之间使用广域网建立的连接。虽然VPN通讯建立在公共互联网络的基础上,但是用户在使用VPN时感觉如同在使用专用网络进行通讯,所以得名虚拟专用网络。
用户现在在电信部门租用的帧中继(Frame Relay)与ATM等数据网络提供固定虚拟线路(PVC-Permanent Virtual Circuit)来连接需要通讯的单位,所有的权限掌握在别人的手中。如果用户需要一些别的服务,需要填写许多的单据,再等上相当长一段时间,才能享受到新的服务。更为重要的是两端的终端设备不但价格昂贵,而且管理也需要一定的专业技术人员,无疑增加了成本,而且帧中继、ATM数据网络也不会像Internet那样,可立即与世界上任何一个使用Internet网络的单位连接。
使用VPN技术可以解决在当今远程通讯量日益增大,企业全球运作广泛分布的情况下,员工需要访问中央资源,企业相互之间必须进行及时和有效的通讯的问题。
VPN在公共网上构建虚拟专用网,进行数据通信,需要满足通信安全的需要。
这些要求主要有3个方面:身份认证、数据保密性和数据完整性。身份认证确保数据是从正确的发送方所发送的;数据保密性确保数据传输时外人无法看到或获得正确数据;数据完整性确保数据在传输过程中没有被非法改动。我们建立虚拟专用网时,必须使网络满足上述三个安全需要,这样才是真正安全的虚拟专用网。
为了满足上面3个方面的安全性要求,VPN采取了相应的保证安全的措施。目前建立VPN时主要采用4种安全技术:
(1)全隧道技术(Secure Tunneling)是VPN的一项基本技术,主要做的工作是将待传输的原始信息经加密、协议封装和压缩处理后再嵌套入另一种协议的数据包中,然后送入网络中像普通数据包一样进行传输。
(2)密钥管理技术(Key Management)主要用于在公用数据网上安全地传输密钥。现行密钥管理技术又分为SKIP与ISAKMP/OAKLEY两种。SKIP主要是利用Diffie-Hellman的演算法则在网络上传输密钥。在ISAKMP中,双方都有两把密钥,即有各自的公钥和私钥。
(3)访问控制技术(Access Control)是由VPN服务的提供者根据用户身份标识来限制其访问某些信息项或使用某些控制的权限的技术。
(4)用户身份认证技术(User Authentication)是相对比较成熟的一类技术,是在正式的隧道连接开始前进行用户身份确认,以便系统进一步实施相应的资源访问控制和用户授权[4]。
3.2 VPN中的隧道技术
隧道就是指一个数据包被封装在另一个数据包的净荷中进行传送时所经过的路径。隧道协议是由传输的载体、不同的封装协议以及被传输的数据包所组成的。一个数据包在进入隧道之前,通过隧道中的传输协议对其进行封装,使其能够在公共数据网上安全地进行传输[5]。
在当前的VPN协议中,可分为基于第二层的隧道协议和基于第三层的隧道协议。所谓第二层的隧道协议是指,将第二层的数据帧封装在网络层报文中形成IP报文,在Internet中进行传输,L2TP和PPTP是其中最为成熟的两个协议。第三层的隧道协议是将第三层的数据包封装在网络层的报文中形成一个IP包,在Internet中传输。常见的第三层隧道协议为IpinIP,GRE,IPSec。
3.3 VPN实现的层次
(1)链路层VPN。在该层实施VPN的最大好处在于速度,因为可以使用专用的硬件设备来加密。其次是对用户应用来说完全透明,用户的上层程序和协议完全不知道改变的存在。然而,因为没有被广泛接受地链路加密工业标准,因此链路层加密解决方案通常需要特别的硬件支持。
(2)网络层VPN。在该层实现IPSec VPN是目前应用最广泛的VPN模式。首先,由于多种传输协议和应用程序可共享由网络层提供的密钥管理框架,因而密钥协商地开销被大大削减。其次它对用户应用来说也是基本透明的,用户无需为每个应用设计专用的安全机制。IPSec作为广泛应用的协议来说,得到了许多厂家的支持。由于在网络层实施,很难在一部多用户的机器上实现对每个用户的控制,另外对通信内容的控制也比较困难。
(3) 传输层VPN。在传输层之上应用层之下实现的VPN是近年兴起的SSL VPN技术。SSL的英文全称Secure Sockets Layer,中文名为安全套接字协议层,它是网景(Netscape)公司提出的基于Web应用的安全协议。SSL协议指定了一种在应用程序协议(如HTTP,TELNET等)和TCP / IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。SSL提供的加密和身份验证的安全方法与IPSec非常类似,但SSL协议只对通信双方所进行的应用通道进行加密,而不是对从一个主机到另一个主机的整个通道进行加密。
(4)应用层VPN。应用层VPN必须在终端主机上实施,理论上应用层的VPN提供最大的安全性,因为它是针对每一个具体的应用来设计和实现的。但同时它的优点正好也是它的缺点:针对每一个应用,都要单独设计一套安全机制,这意味着对现有的应用来说,必须对其进行改进,才能提供安全保障。但由于每个应用都必须定义自己的安全机制,所以犯错误的机率增加,系统存在的漏洞增多,安全性难以得到证明。而且通信双方要同时采用这种改变后的应用才能够通信,这样就限制了不同应用层软件的发展。
4 SSL VPN的原理与技术
4.1 SSL VPN的定义
SSL是用来保证Internet上数据安全传输的一种非常普遍的协议。它运行在TCP/IP层之上、应用层之下,使用协商确定的加密算法和密钥对SSL连接中的数据进行加密。与IPSec相比,SSL更接近应用层,因而它能够对远程访问进行很好的控制。SSL VPN主要使用SSL和代理(Proxy)技术来为终端用户提供安全的远程接入,包括HTTP,C/S应用和文件共享等。代理技术具有更大的安全性,它可以防止用户直接连接进入企业内部网络[6]。SSL VPN可以提供用户级的认证,保证符合公司安全策略的合法用户才能访问特定的资源。SSL VPN的一大优点是支持无客户端(Clientless)远程访问。由于SSL己经内嵌在标准浏览器中,Microsoft Internet Explorer和Netscape,用户使用浏览器就可以安全的访问企业资源,这省却了IT部门为用户员工安装和维护复杂的IPSec客户端的麻烦。SSL VPN除了能够无缝的支持Web应用外,它还可以支持邮件、文件共享、TELNET等应用。通过让浏览器实时动态下载Java Applet或ActiveX,SSL VPN还可以支持一般的C/S应用 。
目前业界并没有一个对SSL VPN的通用定义,但通过对主要SSL VPN技术方案和产品的研究,我们认为SSL VPN应该具备以下2个特征:
(1)使用SSL技术保证数据在Internet上传输的安全性。SSL技术是目前Internet使用得最广泛的技术之一,其安全性己经得到大家的一致认可。
(2)使用代理技术提供远程访问。代理技术能够阻止用户与内网直接建立连接,减小网络风险,并且能够对用户的访问实施有效控制。
4.2 SSL协议的分析
4.2.1 SSL协议简介
SSL的英文全称是“Secure Sockets Layer”,中文名为“安全套接层协议层”。它是网景公司(Netscape)于1994年提出的基于Web应用的网络安全通信协议。它主要是使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性。SSL指定了一种在应用程序协议(如Http、Telnet、SMTP和FTP等)和TCP/IP协议之间提供数据安全性分层的机制,为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证[6]。
SSL在TCP上提供一种通用的通道安全机制,使任何可以在TCP上承载的协议都能够使用SSL加以保护。在TCP/IP四层协议族中,SSL协议位于传输层与应用层之间,基于可靠传输协议TCP,服务于各种应用层协议,如HTTP、 POP、TELNET,它们在SSL协议上运行分别被称作HTTPS,POPS,TELNETS协议等,分别对应的端C号为443, 995, 992等。SSL协议在TCP/IP协议栈中的位置如图4-1所示。
992端口
HTTP协议
TELNET协议
POP协议
443端口
995端口
SSL握手协议
SSL记录协议
传输层(TCP)
应用层
SSL协议
图4-1 SSL协议在TCP/IP协议栈中的位置
SSL协议在结构上分为两个层次:底层为记录层协议(Record Protocol),负责封装高层协议(包括握手协议)的数据,保证SSL连接的数据保密性和完整性;高层由四个并行的协议构成:握手协议(Handshake Protocol)、密码格式变换协议(Change CipherSpec Protocol)、报警协议(Alert Protocol)、应用数据协议(Application Data Protocol),高层协议需要记录层协议支持,其中握手协议与其他的高层协议不同,主要负责在交换应用层数据之前进行协商加密算法与密钥,其他高层协议属于应用开发的范畴,而要得到握手协议的支持,而握手协议则是SSL底层实现必须具有的功能,因为记录层协议的完成也由它来作保证。
4.2.2 SSL记录协议
SSL记录协议是一种相当简单的协议封装,它由一系列经过加密、受完整性保护的记录组成。每条记录都由一个短小的头信息块和一个加密数据块组成,而数据块本身又包含内容与MAC(消息校验码)信息[11]。SSL记录格式如图4-2所示[15]。
16bits
16bits
8bits
类型
版本
长度
明文(可选地压缩)
MAC(0,16或20字节)
图4-2 SSL记录格式
记录协议的工作流程。
上层传来的信息
分块(=16K字节)
)
压缩(若定义了压缩算法)
添加MAC
加密
添加记录协议报头
将信息交给上层应用
合并块
解压数据
校验MAC
解密
去掉记录协议头
传输
图4-3 SSL记录协议工作流程图
SSL记录协议的全部操作如图4-3所描述的,SSL记录协议先把高层协议的应用数据分段成可以操作的数据块,最大的数据片段尺寸为214字节,然后使用连接参数中指定的压缩算法对数据执行压缩(如没指定压缩算法,则不压缩),使用指定的哈希函数计算出数据的MAC,加入MAC信息,数据连同MAC值一起使用指定的加密算法加密,最后附加SSL记录协议的报头,最后把组装好的数据交给提供可靠连接的传输层协议(如TCP)发送出去,接收端执行去除报头、解密、验证MAC、重组分段数据工作后,然后才能交付高级协议。
其中MAC的计算方式是:
SSLv3 MAC=hash(MAC_write_secret+pad_2+hash(MAC_write_secret+pad_1+seq_num+content_type+length+c
展开阅读全文