发信人: drillwater(灌水英雄)
整理人: sungang(2003-04-02 20:01:24), 站内信件
|
基于IPSec的VPN网关设计(上)
<摘自cosoft.org.cn>
Internet提供的互联性和开放性使信息的交换与共享成为现实,为社会带来了巨大的利益。同时,Internet也为黑客和计算机犯罪提供了可乘之机。目前,计算机系统面临的最重要的风险包括两方面:其一是信息在传输时被窥探或非法修改;其二是来自公网对内部网的非法访问和攻击。
伴随着信息时代的到来,信息的安全保密问题日益突出,并已引起全球的普遍关注。年初发生的大规模黑客攻击事件,使美国、欧洲以及日本的各大网站瘫痪并造成巨额经济损失,使网络安全再度在全球敲响警钟。信息的安全保密问题,说到底,是关系一个国家主权、安全和发展的战略问题。世界上任何一个国家、任何一个政府,在积极促进信息技术发展的同时,都不遗余力地坚决捍卫本国的信息主权,尤其是千方百计地保护本国信息系统和信息资源的安全,以使自己在激烈的国际竞争中有实力掌握主动权。
我国虽处于网络发展的初级阶段,但近年来,党和政府各级部门都建立了计算机网络。由于工作性质,其中许多网络都涉及国家秘密信息,而我国计算机网络保密技术研究和技术防范手段相对滞后,信息化与保护国家秘密的矛盾十分突出,技术安全保密方面的压力越来越大。在去年发生的泄密事件中,有近三分之一的案件与网络有关,其特点是发生快、扩散面广。所以,抓好信息网络的保密工作刻不容缓。 解决好网络信息安全保密问题,归根到底一要靠管理,二要靠技术。党中央、国务院领导同志对信息安全保密工作非常关心和重视,在信息产业迅猛发展的高技术条件下,如何做到该保密的能够保住,该交流的还能交流。所以,今年工作要点中仍明确“要把计算机信息系统的保密防范和管理作为技术防范的重中之重。”
保护网络安全、保证信息安全成为人们日益关注的核心问题。有关这方面的技术研究已在广泛而深入地进行。目前,已有一些安全技术专门保护网络的安全。其中,防火墙、加密是最行之有效的两种技术。VPN网关则是综合这两种技术的网络安全设备。
我国信息安全研究经历了通信保密、计算机数据保护两个发展阶段,正在进入网络信息安全的研究阶段。安全体系的构建和评估,通过学习、吸收、消化TCSEC的原则进行了安全操作系统、多级安全数据库的研制,但由于系统安全内核受控于人,以及国外产品的不断更新升级,基于具体产品的增强安全功能的成果,难以保证没有漏洞,难以得到推广应用。在学习借鉴国外技术的基础上,国内一些部门也开发研制了一些防火墙、安全路由器、安全网关、黑客入侵检测、系统脆弱性扫描软件等。但是,这些产品安全技术的完善性、规范化实用性还存在许多不足,特别是在多平台的兼容性、多协议的适应性、多接口的满足性方面存在很大距离,理论基础和自主的技术手段也需要发展和强化。
操作系统作为计算机系统的基础软件是用来管理计算机资源的,它直接利用计算机硬件并为用户提供使用和编程接口。各种网络安全系统均建立在操作系统提供的系统软件平台之上,操作系统的上层软件系统要想获得运行的高可靠性和信息的完整性、保密性,必须依赖于操作系统提供的系统软件基础,任何想像中的、脱离操作系统基础的高安全性,就如同幻想在沙滩上建立坚不可摧的堡垒一样,毫无根基可言。不难想像,在网络环境中,网络系统的安全性依赖于网络中各主机系统的安全性,而主机系统的安全性正是由其操作系统的安全性所决定的,没有安全的操作系统的支持,网络安全也毫无根基可言。所以,操作系统安全是计算机网络系统安全的基础。因此,建立在自主开发的操作系统基础上的网络安全系统才能支持最彻底的网络安全解决方案。
第1章 VPN简介
1.1 VPN概念及作用
目前,我国各级政府、企业都在建设自己的内部网以提高自身的工作效率和竞争力。随着工作业务的不断扩大,网络规模也在扩大,有些甚至于超过了城域网而真正成为了广域网。如果按照传统的方式来建造自己的专用广域网或城域网,昂贵的费用是任何一个单位都无法承受的。因此,通常都采用通过公众信息网进行内部网络互连的(如图1.1所示)。
公众信息网是对整个社会开放的公众基础网络,具有覆盖范围广、速度快、费用低、使用方便等特点,但同时也存在着安全性差的问题。用户通过公众信息网传输的信息,在传输过程中随时可能被偷看、修改和伪造,使信息的安全性和可靠性降低。因此通过公众信息网进行内部网络互连尽管能够大幅地降低组网的成本,但也带来了重大的安全隐患。解决这一矛盾的方法之一就是采用VPN(Virtual Private Network虚拟专用网)技术。
VPN技术是指采用隧道技术以及加密、身份认证等方法,在公众网络上构建专用网络的技术,数据通过安全的"加密管道"在公众网络中传播。
VPN技术实现了内部网信息在公众信息网中的传输,就如同在茫茫的广域网中为用户拉出一条专线。对于用户来讲,公众网络起到了“虚拟专用”的效果。通过VPN,网络对每个使用者也是专用的。也就是说,VPN根据使用者的身份和权限,直接将使用者接入他所应该接触的信息中。所以VPN对于每个用户,也是“专用”的,这一点应该是VPN给用户带来的最明显的变化。
1.2 VPN的关键技术及协议
实现VPN的关键技术主要包括:
(1) 安全隧道技术(Secure Tunneling Technology)。通过将待传输的原始信息经过加密和协议封装处理后再嵌套装入另一种协议的数据包送入网络中,像普通数据包一样进行传输。经过这样的处理,只有源端和宿端的用户对隧道中的嵌套信息进行解释和处理,而对于其他用户而言只是无意义的信息。这里采用的是加密和信息结构变换相结合的方式,而非单纯的加密技术。
(2) 用户认证技术(User Authentication Technology)。在正式的隧道连接开始之前需要确认用户的身份,以便系统进一步实施资源访问控制或用户授权(Authorization)。用户认证技术是相对比较成熟的一类技术。因此可以考虑对现有技术的集成。
(3) 访问控制技术(Access Control Technology)。由VPN服务的提供者与最终网络信息资源的提供者共同协商确定特定用户对特定资源的访问权限,以此实现基于用户的细粒度访问控制,以实现对信息资源的最大限度的保护。
在VPN的关键技术中,最重要的是安全隧道技术,属于IP Tunneling的协议有很多,主要有:
1.2.1 二层隧道协议
L2F/L2TP是PPP(Point to Point Protocol)协议的扩展,它综合了其他两个隧道协议:CISCO的二层转发协议(L2F,Layer 2 Forwarding)和 Microsoft 的点对点隧道协议(PPTP,Point-to-Point Tunneling)的优良特点。它是由Internet Engineering Task Force (IETF)管理的,目前由Cisco、Microsoft、Ascend、3Com和其他网络设备供应商联合开发并认可。
这些结构都严格通过点对点方式连接,所以很难在大规模的IP VPN下使用。同时这种方式还要求额外的计划及人力来准备和管理,对网络结构的任意改动都将花费数天甚至数周的时间。而在点对点平面结构网络上添加任意节点都必须承担刷新通信矩阵的巨大工作量,且要为所有配置增加新站点后的拓扑信息,以便让其他站点知其存在。这样高的工作负担使得这类VPN异常昂贵,也使大量需要此类服务的中小型企业和部门望而却步。
1.2.2 三层隧道的协议
最重要的是IPSec协议。(详见下节详细介绍)
第2章 IPSec介绍
IPSec 是IETF(因特网工程任务组)于1998年11月公布的IP安全标准。其目标是为IPv4和IPv6提供具有较强的互操作能力、高质量和基于密码的安全。IPSec对于IPv4是可选的,对于IPv6是强制性的。
IPSec在IP层上对数据包进行高强度的安全处理,提供数据源地验证、无连接数据完整性、数据机密性、抗重播和有限业务流机密性等安全服务。各种应用程序可以享用IP层提供的安全服务和密钥管理,而不必设计和实现自己的安全机制,因此减少密钥协商的开销,也降低了产生安全漏洞的可能性。IPSec可连续或递归应用,在路由器、防火墙、主机和通信链路上配置,实现端到端安全、虚拟专用网络(VPN)和安全隧道技术。
IPSec规范中包含大量的文档。其中最重要的是在1998年11月发布的,它们是RFC2401、2402、2406和2408:
? RFC2401:安全体系结构概述;
? RFC2402:包身份验证扩展到IPv4和IPv6的描述;
? RFC2406:包加密扩展到IPv4和IPv6的描述;
? RFC2408:密钥管理能力规范。
对于这些特征的支持,IPv6是强制性的, IPv4为可选的。在这两种情况下,安全特征作为扩展报头实现,它跟在主IP报头后面。身份验证的扩展报头称作身份验证报头(AH头),加密报头称ESP(封装安全性有效载荷)报头。
除了上面四个RFC文档之外,其他许多标准也已经陆续公布。到目前为止,在IPSec协议族中,只有策略还没有正式RFC文档。
IPSec安全体系结构如图2.1所示:
? 安全体系结构:包含了一般的概念、安全需求、定义和定义IPSec的技术机制;
? 封装安全有效载荷(ESP):覆盖了为了包加密(可选身份验证)与ESP的使用相关的包格式和常规问题;
? 验证头(AH):包含使用AH进行包身份验证相关的包格式和一般问题;
? 加密算法:描述各种加密算法如何用于ESP中;
? 验证算法:描述各种身份验证算法如何用于AH中和ESP身份验证选项;
? 密钥管理:密钥管理的一组方案,其中IKE(Internet密钥交换协议)是默认的密钥自动交换协议;
? 解释域:彼此相关各部分的标识符及运作参数;
? 策略:决定两个实体之间能否通信,以及如何进行通信。策略的核心由三部分组成:SA、SAD、SPD。SA(安全关联)表示了策略实施的具体细节,包括源/目的地址、应用协议、Spi(安全策略索引)、所用算法/密钥/长度;SAD为进入和外出包处理维持一个活动的SA列表;SPD决定了整个VPN的安全需求。策略部分是唯一尚未成为标准的组件。
第3章 国内外基于IPSec的产品和技术情况介绍
作为网络层的安全标准,IPSec一经提出,就引起计算机网络界的注意,几乎世界上所有的计算机公司都宣布支持这个标准,并且不断推出自己的产品。但是由于标准提出的时间很短,而且其中又有一个重要组成部分没有标准化,因此尽管产品种类很多,但真正合格的产品却很少。
3.1 国内外产品分析
目前世界上最权威的IPSec产品评测中心为ICSA(国际计算机安全协会)实验室,至2001年5月25日,只有35个产品通过了它的测评。这35个产品都是国外的产品,没有我国的产品。
国内计算机安全产品检测有两个机构:中国国家信息安全测评认证中心计算机测评中心和公安部计算机信息安全产品质量监督检验中心。从介绍来看,这两个都没有专门的IPSec功能评测。一些通过评测的产品,只是说明自己的产品具有IPSec功能。
对国外通过ICSA测评的产品和国内通过中国国家信息安全测评认证中心计算机测评中心和公安部计算机信息安全产品质量监督检验中心测评的产品的分析、比较,基本情况如下:
国外的产品在安全性、可扩展性、使用简单和性能价格比、协议实现的完整性、系统的配置、系统的管理、日志及报表、系统自身的安全性、性能、CA认证等许多方面要成熟和优于国内产品。
国外的产品主要存在以下问题:
? 操作系统的安全问题,这些产品所基于的操作系统都是国外的产品(这更是国内产品存在的主要问题);
? 基于IKE动态密钥管理并没有很好的实现,大部分产品没有实现动态安全关联密钥交换;
? 安全策略系统实现并不完善。
国内产品存在的问题:
? 所基于的核心操作系统都是国外的操作系统,其安全性完全控制在他人手中;
? 管理与配置方面都比较复杂,缺乏友好、方便的配置管理界面;
? 大多是与防火墙整合在一起,重在防火墙功能,而对IPSec的实现相对较为简单和不完善;因此几乎无法作为真正的VPN网关使用;
? 密钥管理几乎都是手工注入,而没有实现动态密钥交换(IKE);
? 安全策略系统实现并不完善。
由于协议标准提出的时间还比较短,而且一部份还没有标准,因此从分析理解协议到推出符合协议标准的产品,必然有一个过程。从以上分析可以得出以下一个结论,如果构建一个VPN,国内的任何产品都无法使用,只有使用国外的产品。但我们知道,VPN的安全性,主要由它的密码算法强度、密钥的长度以及VPN网关所基于的操作系统的安全性所决定,而西方国家严格限制对我国的密码产品的出品,因此真正能够在我国使用的国外产品,安全性几乎为零。因此,我们可以说到目前为止,还没有一个能够适合我国使用的VPN网关。
3.2 目前IPSec技术发展情况
从IPSec协议族来看,IPSec的实现重点是Internet 密钥交换(IKE)和安全策略系统,这两个技术的实现,决定了IPSec实现是否完善和标准。
3.2.1 IKE技术
Internet密钥交换(IKE )用于动态建立SA 。IKE 代表IPSec对SA进行协商,并对SADB 数据库进行填充。由RFC2409文档描述的IKE属于一种混合型协议。它沿用了ISAKMP的基础、Oakley的模式以及SKEME的共享和密钥更新技术,从而定义出自己独一无二的验证加密材料生成技术,以及协商共享策略。此外,IKE还定义了它自己的两种密钥交换方式。IKE使用了两个阶段的ISAKMP。在第一阶段,通信各方彼此间建立了一个已通过身份验证和安全保护的通道,即建立IKE安全联盟。在第二阶段,利用这个既定的安全联盟,为IPSec协商具体的安全联盟。IKE定义了两个阶段,阶段1交换、阶段2交换以及两个额外的交换(用于对安全联盟进行正确的维护)。对阶段1交换,IKE采用的是身份保护交换(“主模式”交换),以及根据基本ISAKMP文档制订的野蛮交换法“野蛮模式”交换;对阶段2,IKE则定义了一种快速模式交换。I K E 定义的另外两种交换均属信息方面的交换。
IKE保证了如何动态地建立安全关联和建立过程的安全。IKE建立安全关联的实现一方面是IPSec协议实现的核心,实现极为复杂;另一方面也很可能成为整个系统的瓶颈。优化IKE程序、优化密钥算法是实现IPSec的核心问题之一。
3.2.2 安全策略
在一个实现IPSec的产品中,IPSec功能的正确性完全依据安全策略的正确制定与配置。传统的方法是通过手工配置IPSec策略,这种方式在大型的分布式网络中存在效率低、易出错等问题。而一个易出错的策略将可能导致通信的阻塞和严重的安全隐患。而且,既使每个安全域策略的制订是正确的,也可能会在不同的安全域中,由于策略之间的交互,出现在局部范围内安全策略的多样性,从而造成端到端间通信的严重安全隐患。因此,必须构建一个安全策略系统来系统地管理和验证各种IPSec策略。
构建一个策略系统,需要解决策略的定义、存取、管理、交换、验证、发现机制等问题以及系统自身的安全性问题。其中策略的表示和策略在动态交换中的安全性问题是系统的核心问题。目前RFC尚未制定关于策略系统的标准,因此还没有成熟的实现方案。今后的发展方向可能是策略系统由四个部分组成:安全策略数据库、策略服务器、安全网关、策略客户端。服务器利用LDAP(轻量级目录访问协议)与数据库交互,安全网关通过COPS(普通开放式策略服务协议)与服务器交互,策略服务器之间以及服务器与客户端之间通过SPP(安全策略协议)进行通信。这一方案能够很好地解决系统的各种问题,特别是系统自身的安全性问题,构建出一个安全高效的策略系统。该系统将对整个私有网络资源进行可靠、安全、可伸缩的管理和利用。
策略系统的实现也是IPSec、VPN网关的重要组成部分。只有基于策略的网络系统,才能提供强大的安全机制,才能对网络内部的所有资源提供不同级别的保护。
第4章 VPN网关设计方案
4.1 VPN系统体系结构
VPN的主要作用是采用加密、认证和网络技术在公共互连网上构建相互信任方之间的安全加密信息传输通道,以期达到专用网络的效果。VPN网关在其中将发挥非常重要的核心作用。
VPN网关工作在本地局域网及与其通信的远程局域网的网关位置,具有加密和认证功能。相互信任的局域网间进行通信时,仍然使用互联网作为中间信道。但是,通过VPN网关的加密功能确保信息在不安全的互联网上流通时是密文形式。这样,即便信息被截取,也无法偷窥或篡改其内容。保证通过互联网连接的局域网间通信的安全性、机密性、可认证性和完整性等安全性能。
4.2 VPN网关目标系统的设计原则
在确定目标系统的过程中,主要遵循了以下几点思想:
? 目标系统要完整实现IPSec协议族,完全支持VPN的要求;
? 目标系统一定要建立在具有自主版权的、安全性完全控制在我们自己手中的内核操作系统之上;
? 目标系统要确保自身的安全、协议的安全和信息通道的安全;
? 目标系统要具有较高的性能,支持千兆网络的要求;
? 目标系统的设计与实现要采用先进的软件技术和开发方法;
? 目标系统尽可能方便管理、灵活配置和界面友好。
4.2.1 目标系统的硬件平台
1. 百兆网络VPN网关硬件平台
1) 高档Intel PC平台
? 高性能工控机主板
? CPU:Intel 体系结构,PⅢ系列
? 内存:512M
? 100兆网卡:两块
2)自行设计的嵌入式操作系统内核插板
2. 千兆网络VPN网关硬件平台
1) 高档Intel Server平台
? 高性能Server机主板
? 双CPU:Intel 体系结构,PIⅢ系列
? 内存:2G
? 1000兆网卡:两块
2)自行设计的嵌入式操作系统内核插板
4.2.2 目标系统的功能和安全服务机制
由于目标系统是一个VPN网关,因此,应具备两大功能:
1) 路由功能:安全加密路由平台介于局域网与边界路由器之间,应具备一定的路由转发功能,即能够将局域网中出网的包转发给边界路由器(再由边界路由器发送出去)以及将边界路由器收到的要进入局域网中的包转发给目的主机。
2) IPSec 协议族功能:具备IPSec协议标准描述的所有功能。
ISO7492-2描述了网络安全体系结构的安全服务及为实现这些服务而采用的安全机制。实际上,为了满足安全策略或用户的要求,建立的系统可以执行一些安全服务的组合。而且,特定的安全机制能实现一些基本安全服务的组合。
(待续) |
|