《毕业设计(论文)IPSec VPN动态密钥协商机制的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)IPSec VPN动态密钥协商机制的设计与实现.doc(109页珍藏版)》请在三一办公上搜索。
1、摘 要IPSec作为虚拟专用网(VPN)的实现技术之一,具有其他VPN实现技术不具备的诸多优点。IKE是IPSec体系的重要组成部分,它能够动态协商和管理IPSec SA,从而建立IPSec VPN之间安全的通讯隧道。而IKE的改进版本IKEv2进一步增强了通讯隧道的安全性。目前国内研发的同类VPN网关大都没有实现IKEv2动态密钥协商机制,国外成熟产品由于安全原因不能大规模地应用于我国的重要部门,所以研制适合我国国情的IPSec VPN系统具有很好的现实意义。本文首先简要介绍了IPSec VPN的基本原理,阐述了IKE和IPSec VPN之间的关系,同时分析了国内外同类研究的现状,并且说明了
2、课题的来源和意义。然后,分析了IKEv2及其相关技术,提出了本课题的IPSec VPN和IKEv2实现方案,建立了全新的模块架构。在此基础之上,对动态协商模块、内核通讯模块、加密认证算法模块分别进行了设计与实现。本文通过扩展IKEv2改进了动态IP地址环境下IKEv2协商的不足,并且通过BAN逻辑分析证明了扩展方案的可靠性。另外,通过提出增加新的消息类型和扩展项,本文对PF_KEY协议第二版本进行扩展,增加了IKEv2进程和内核中安全策略数据库以及ID-IP映射数据库之间的交互能力。然后,本文分析实现了IKEv2相关的密码学算法,提出了预共享密钥认证方式的整体改进思路。最后,本文对所做工作进行
3、了总结,并讨论了 VPN和IKE的发展趋势,提出了课题下一步扩展的若干思路。关键字:IPSec,IKEv2,安全关联,PF_KEY,虚拟专用网 作 者: 指导教师: AbstractCompare to other VPN realization technologies, IPSec has a lot of advantages. As an important part of IPSec system, IKE mechanism can negotiate and manage IPSec SA dynamically, so as to build the secure commun
4、ication tunnels between IPSec VPNs. IKEv2, the IKEs improved edition, enhances the security of the IPSec VPN communication tunnels greatly. At present, most of domestic VPN gateways have not implemented the IKEv2 dynamic key negotiation mechanism. And in our country, foreign mature products can not
5、be used by important departments in a large scale due to secure reasons. So it has momentous current significance to study and develop IPSec VPN systems that fit in with our countrys situation.This article first introduces the basic principles of IPSec VPN simply, elaborates the relations between IK
6、E and IPSec VPN. Moreover, it analyzes the present situation of similar researches, and explains the source and meaning of the study. Then, the article analyzes IKEv2 and related technologies, put forwards the realization schemes for IPSec VPN and IKEv2, establishes the new module framework. Based o
7、n above works, the article designs and realizes the dynamic negotiation module, kernel communication module, encryption and authentication module. The article rectifies the defect of IKEv2 negotiation with dynamic IP address to extend IKEv2. And the reliability of the extension scheme is proved thro
8、ugh BAN logic analysis. By adding new message types and items, the article extends the PF_KEY second edition to make IKEv2 procession contact with SPD and IDPD in kernel. To rectifies the insufficiency of the safety in pre-shared key authentication mechanism, this article presents the improved schem
9、e. Finally, it summarizes our work, discusses the development tendency of IPSec and IKE, and gives our thoughts about the further work.Keywords: IPSec,IKEv2,SA,PF_KEY,VPN Written by Gao Zhendong Supervised by Zhu Yanqin目 录引 言1第一章 课题概述41.1 IPSec VPN概述41.2 IKE与IPSec VPN的关系51.3 国内外研究现状61.4 课题来源和意义91.5
10、本文主要工作和贡献111.6 小结12第二章 协议分析和总体设计132.1基本概念132.1.1 安全关联(SA)132.1.2 安全关联数据库(SAD)132.1.3 安全策略数据库(SPD)142.2 AH和ESP协议152.3 IKE协议152.4 IKEv2协议162.5 PF_KEY协议172.5.1 PF_KEY与IKEv2的关系172.5.2 PF_KEY的优势172.6 VPN与动态密钥协商机制总体结构设计182.7 小结21第三章 动态密钥协商过程223.1相关消息格式223.1.1 IKEv2协商消息格式223.1.2消息头和通用载荷头233.1.3载荷类型253.2 IK
11、Ev2协商过程263.2.1初始交换263.2.2协商子SA交换283.2.3信息交换293.3 IKEv2协商的扩展设计293.3.1 扩展方案总体思路293.3.2 提交阶段343.3.3 协商主阶段363.3.4 BAN逻辑分析证明383.4 IKEv2的实现403.4.1 总体实现思路403.4.2 提交阶段的实现433.4.3 协商主阶段的实现453.5 小结51第四章 内核通讯机制524.1 PF_KEY协议简介524.2 针对IDPD的扩展设计544.2.1 扩展项类型扩充544.2.2 消息类型扩充554.3 针对SPD的扩展设计564.3.1 扩展项类型扩充574.3.2 消
12、息类型扩充594.3.3 扩展方案应用614.4 PF_KEY的实现644.4.1 PF_KEY协议注册644.4.2 套接字的创建和关闭644.4.3 应用层向内核发送消息684.4.4 内核向应用层发送消息694.4.5 应用层接收内核反馈消息704.5小结71第五章 加密认证算法725.1 Diffie-Hellman算法725.2预共享密钥认证算法745.3 RSA数字签名认证算法755.4 小结79第六章 系统测试806.1网络拓扑结构806.2 IKEv2协商测试816.2.1 功能测试816.2.2 性能测试856.3 IPSec VPN整体测试866.3.1 功能测试866.3
13、.2 性能测试876.3.3 安全性测试906.4 与国内外同类系统的比较906.5 测试结论916.6 小结91第七章 总结与展望937.1 总结937.2 展望957.2.1 VPN的发展趋势957.2.2 IKE的发展趋势957.2.3 椭圆曲线密码体制96参考文献97附录 缩略语101致 谢102攻读硕士学位期间公开发表的论文103引 言伴随着网络信息时代的到来,网络安全问题日益突出,已经引起全球的普遍关注。VPN(Virtual Private Network,虚拟专用网)1技术的产生为解决网络安全问题提供了一条有效途径。VPN可以将物理上分布在不同地点的网络通过公用骨干网(Inte
14、rnet)连接成逻辑上直通的虚拟子网。为了保障信息在公共网络传输的安全性,VPN技术采用了加密、认证、存取控制等措施,提供了机密性和数据完整性等安全服务,保证信息在传输过程中不被偷看、篡改和复制。由于使用Internet等公共网络相对租用专线来说,费用极为低廉,所以VPN技术能使企业通过Internet等公共网络廉价又安全地传输数据信息。IPSec(IP Security)2是VPN实现技术之一,它是IP层的安全体系结构,包括AH(Authentication Header,认证头)3、ESP(Encapsulating Security Payload,封装安全载荷)4和IKE(Intern
15、et动态密钥交换)5。IPSec使用AH和ESP这两个安全协议对数据进行安全处理,提供数据源的验证、无连接数据完整性、数据机密性、抗重播和有限业务流机密性等安全服务,利用认证、加密等安全措施为上层协议的应用提供安全保障。各种应用程序可以享用IP层提供的安全服务,而不必设计和实现自己的安全机制,降低了产生安全漏洞的可能性。VPN技术要求在物理上分离的各个网络之间建立高强度的安全通讯隧道,以保证数据能够在这个虚拟的通讯隧道中安全地传输。建立安全通信隧道的安全参数包括通讯双方的认证机制、使用的加密解密算法、密钥等,这些安全参数共同构成SA(Security Association,安全关联)。SA可
16、以进行手工管理,也可以进行动态管理。在这两种方式中,动态协商管理方式相对手工管理方式更安全、更灵活,可以显著地提高通讯隧道的安全性。IKE协议正是实现这种动态协商管理方式的技术之一,它也是IPSec协议默认的自动密钥协商交换机制,可以用于动态地建立安全关联(SA),为通信双方协商IPSec 通信所需的相关信息,例如加密算法、密钥信息、通信双方的身份信息等。IKE 建立在ISAKMP 定义的框架基础之上,并且实现了两种密钥管理协议OAKLEY和SKEME 的一部分功能,它是建立在多个协议基础之上的混合型协议。由于IKE具有很多不足之处,例如协议复杂、理论上容易受到攻击等,所以如何改进IKE已经成
17、为当今业界在IPSec VPN实施方案中关注的焦点。IETF一直在对现有IKE的不合理部分积极征集改进意见,其IPSec工作组也于2004年9月推出了最新的IKE第二版本的草案6,该草案对IKE进行了全面的优化与改进,使之具有更好的性能、更高的安全性以及更清晰的协议框架。目前,以IKE第二版本取代原有的IKE已经成为业内人士的共识。另外,国内现有的大部分VPN同类产品由于底层操作系统被国外垄断,因此不具备很高的安全性。另外,目前所有的国内同类产品只是实现了原有版本的IKE协议,而在这些产品中,还有一部分虽然宣称具备IKE动态密钥协商功能,但是大部分没有通过权威机构的测评。相对而言,国外的同类研
18、究起步较早,VPN同类产品比较成熟,对新的IKE第二版本已经推出了相关产品实现,极大地提高了VPN的安全性。但是由于国外公司对重要技术的垄断,使用非本国产品存在很多安全隐患,而国外的成熟产品由于安全原因不能大规模应用于我国的重要部门,所以研究开发一套适合我国使用的VPN相关产品具有深远意义。本课题来源于编号为BK2004039的江苏省自然科学基金项目,该基金项目的目标是在Linux平台下建立高强度的VPN安全网关核心系统。为了达到预期目标,本文主要在IPSec VPN网关系统中引入了新的IKEv2动态密钥协商机制。本文在讨论了和IKEv2相关的多种技术规范的基础上,提出了IKEv2的实现框架,
19、并在该框架下详细讨论了相关的模块设计与实现,其中包括动态协商模块、内核通讯模块、加密认证算法模块等。在这个过程中,本文分析研究了IKEv2及其不足,提出了针对动态IP地址环境下进行协商的相应扩展方案,并对内核通讯模块中的PF_KEY协议进行了相应的扩展,增加了新的消息类型,扩充了PF_KEY协议的功能,以满足IKEv2协商进程的需要。针对预共享密钥认证方式安全性不高的弱点,本文在加密认证算法模块中提出了将密钥共享思想和认证方法结合的整体改进思路。为了阐述本人所作工作,本文共分七章,各章的内容安排如下: 第一章主要介绍目前国内外相关研究的现状,阐述了课题的来源和意义,并且概括了本文所作的工作。第
20、二章讨论系统涉及的主要技术,并对这些技术进行了简要分析,然后提出了VPN系统的总体结构设计和动态密钥协商机制的实现框架。第三章首先讨论了IKEv2动态协商的具体过程,其中包括了协商消息的格式组成,然后针对IKEv2协商过程中的不足,本文提出了相应的扩展方案,并使用BAN逻辑在理论上证明了该方案的可靠性。第四章讨论了内核通讯模块的设计实现。在分析了PF_KEY协议第二版本的基础之上,本章提出了扩展方案以增强其功能。第五章介绍了加密认证算法模块的设计与实现,包括Diffie-Hellman算法、预共享密钥认证算法和RSA数字签名认证算法。第六章对系统进行了测试,并与国内外的同类系统进行了比较。第七
21、章对所作工作进行了总结,随后阐述了VPN和IKE的发展趋势,提出了系统下一步扩展的思路。第一章 课题概述1.1 IPSec VPN概述对于传统的企业组网方案,如果要进行远地网络和本地网络互联,一般的解决方法是租用DDN等专线,而对于外出办公人员只能通过拨号线路进入公司内部的局域网。随着业务的发展,公司必须要为此支付昂贵的费用,虚拟专用网(VPN)技术的出现改变了这种情况。VPN是指依靠Internet服务提供商(ISP)和其它网络服务提供商(NSP)在公共网络中建立专用数据通信网络的技术7。如图1.1所示,在虚拟专用网中,VPN网关之间的连接没有使用传统专用网络所需要的端到端的物理链路,而是利
22、用某种公共网络资源(如Internet)动态组成。图1.1 VPN示意图VPN采用隧道技术在公共网络中形成企业专用的链路网络。为了创建隧道,位于隧道两端的客户机和服务器必须使用相同的隧道协议。目前存在以下几种解决方案8:属于第三层隧道协议的IPSec、在数据链路层实现数据封装的PPTP和L2TP以及SSL(存在SOCKS4和SOCKS5两个版本)。另外还有Cisco公司提出的L2F隧道协议。IPSec是目前网络安全领域的热门话题,它是IETF(因特网工程任务组)的 IPSec工作组为了在IP层提供通讯安全服务而制定的一套协议簇,它包括安全协议部分(ESP和AH)和密钥协商部分(IKE)。安全协
23、议部分定义了对通讯的安全保护机制,密钥协商部分定义了如何为安全协议协商安全保护参数以及如何对通讯实体的身份进行认证。IPSec是网络层的VPN技术,它独立于应用程序,能够使其它软件无需修改就能自动拥有IPSec提供的安全功能。IPSec使用自己的数据包封装原始的IP信包,因此可以保护所有应用协议的信息。另外,IPSec比其他同类协议具有更好的兼容性,密钥自动管理功能也使IPSec优于PPTP和L2TP。IPSec VPN安全网关的基本原理是对子网内经过网关的IP数据包进行数据加密和摘要认证,并且附加新的数据包头,然后以公网的数据包格式发送至公共网络中,在到达对方子网的IPSec VPN网关后,
24、对数据包进行验证和解密,恢复原始的IP数据包,再将其发送至子网内相应的主机完成整个通讯过程。由于原始数据包已经被加密处理,所以即使在公共网络中被截获,对于截取者来说也只是无用的内容。即使截取者最终能够将截获的数据包解密,其花费的时间将使解密工作毫无意义,因为此时主机之间的通讯已经完成。1.2 IKE与IPSec VPN的关系 IPSec VPN安全网关为了实现在不安全的公共网络中建立一个安全的、验证过的通讯隧道,必须要和通讯另一端的IPSec VPN网关协商通讯隧道的安全参数,即安全关联(SA)。安全关联描述了IPSec VPN安全网关之间通信所使用的加密和认证算法、密钥、传输模式、密钥生存期
25、、密钥的更新频率、安全关联生存期以及其他附加参数。利用这些安全参数,两个IPSec VPN网关可以安全地在通讯隧道中传输数据。目前安全关联(SA)的管理方法有以下两种:(1) 手工配置手工配置方式通常是用户或者系统管理员在通讯隧道两端的VPN网关手工配置安全关联,提供与其他IPSec VPN网关进行安全通讯所需要的加密密钥以及其他安全参数。手工配置管理技术虽然原理简单,但是有以下诸多缺点:n 通讯隧道两端的IPSec VPN网关如果不隶属于同一个组织,隧道两端的网关就有可能不能被很好地配置。n 由于系统管理员要为每个可能参加通讯的IPSec VPN网关手工配置安全关联,所以造成管理工作非常复杂
26、。当网络规模扩大的时候,这种管理上的复杂性也随之成倍增加。n 安全关联中的通讯密钥等安全参数不能得到及时地更新。n 人工介入安全关联的管理也带来了潜在的安全隐患。综上所述,手工管理安全关联的方式并不适合大型网络,它只能适用于小范围或者静态的网络环境。(2) 动态协商动态协商管理方式相对于手工管理方式更灵活、更安全。它通过使用动态密钥协商协议,可以自动地创建、协商密钥和其他安全要素。动态协商管理方式极大地降低了管理上的复杂性,提高了安全关联的安全性,也为变化的、较大型的分布式系统提供了更大的扩展性,并且避免了位于不同组织之间的网关互通管理问题。对于动态协商过程,VPN网关可以使用多种协议,但是I
27、KE目前已经成为事实上的工业标准。对于IPSec VPN实现来说,IKE是目前实现动态密钥协商的首选机制,同时也是IPSec VPN的重要组成部分。没有IKE动态密钥协商机制的支持,包含密钥的安全关联只能通过手工进行配置管理,这样IPSec VPN的安全性将受到极大地影响。所以综上所述,IKE能够在很大程度上提高IPSec VPN的安全性,是IPSec VPN必不可少的组成部分。1.3 国内外研究现状目前,IPSec相关技术在国内正处于蓬勃发展时期,一些国内厂商已经陆续推出自己单独的VPN产品,例如北京天融信公司的TOPSEC VPN网关产品。而另外一些厂商在防火墙中加载了VPN模块,以实现V
28、PN的部分功能91011,例如东软、华为、联想等。目前国内比较流行的VPN产品有北京天融信、上海华依、广州天网等品牌。另外,国内很多相关产品在Windows平台上实现VPN功能,由于底层操作系统被国外垄断,所以此类产品不具备很高的安全性,也就不适合运用于我国的要害部门。此类产品有深圳惠尔顿信息技术有限公司的e地通IPSec VPN系统12和上海东显通讯科技有限公司的VPN系统13等。作为IPSec VPN的重要技术之一的IKE,对IPSec VPN的安全性有着非常重要的作用。而原有版本的IKE具有很多缺点,遭到了业界的广泛批评14。随着技术的发展,原有的IKE已经不能很好地满足业界的需要,制定
29、一个全新的替代协议成为迫切的需求。IKEv2作为对IKE的全面修复、改进的协议,自从IETF于2002年推出了第一版草案之后,迅速成为了业界关注的焦点。在业内众多国外知名厂商的支持下,IKEv2已经先后推出了17个草案版本,在这一过程中,IKEv2得到了不断地扩充与完善。相信在不久的将来,IKEv2将很快成为得到广泛支持的RFC正式标准。目前,国内对IKEv2的研究正处于起步阶段。由于IKEv2草案推出的时间并不是很长,很多国内VPN厂商只是在自己的产品中实现了原有版本的IKE,还没有引入IKEv2。这样,国内厂商的VPN产品就不能发挥IKEv2的各种优势,不同程度地存在原有版本潜在的安全漏洞
30、与问题。另外,国内也没有出现专门的IKEv2第三方安全工具包。所以,在IKEv2的相关研究方面,我国明显落后于国外。国外对IPSec VPN的研究起步较早,大多数VPN都是在专用平台下实现,与操作系统绑定得比较紧密,并且VPN服务器正朝着专用硬件化与软件实现相结合的方向发展。国外主流的VPN产品有Cisco、Avaya、NetScreen、朗讯、NETGEAR等公司品牌。在国外,针对IKEv2的相关研究正如火如荼地进行。在国外比较流行的VPN产品的供应商中,Cisco公司已经计划在2005年底在自己的VPN产品中实现IKEv215。而全球网络安全解决方案的领先供应商SafeNet公司也宣布推出
31、了针对电信行业的QuickSec。这是市场上第一款基于电信的IPSec和IKEv2安全工具包,可以无缝地把IKEv2协议集成到高级网络解决方案中16。Intoto公司作为业界领先的安全集成供应商,也宣布已经在iGateway VPN系列产品中实现了IKEv217,以便提供更好的性能、安全性、可靠性以及远程访问能力。另外,CreekSide Networks公司宣布推出了nps IKEv2引擎18,该IKEv2引擎基于IKEv2的第8个草案实现,适用于多种应用场合。Unicoi公司也在自己的产品中提供了升级到IKEv2的方式19,为IKEv2即将成为RFC标准做好准备。在IPv6领域享有盛名的I
32、nterpeak公司在2005年初也宣布了对IKEv2的支持,在公司的产品中实现了IKEv2,以便利用IKEv2的各种优势提高产品的安全性以及性能20。在开源项目方面,Xelerance公司已经计划在著名的VPN开源项目Openswan中加入IKEv2的实现21,因为原有的Openswan只实现了原有版本的IKE。而在互联网著名的SOURCEFORGE开源项目社区中,一个名为“IKEv2”的项目也于2005年7月正式启动22。该项目的目标是在类似UNIX的平台下以守护进程的方式实现IKEv2动态密钥协商机制。此外,关于IKEv2的相关理论研究也在继续进行。根据目前相关的标准RFC文档,无论是原
33、有版本的IKE还是新的IKEv2协议都不能在具有动态IP地址的网络环境建立VPN隧道,这给很多中小型企业带来了很多不便之处。因为电信运营商目前提供的接入方式有虚拟拨号和专线接入,前者为用户提供动态IP,后者为用户提供固定IP,两者的费用差价很悬殊。由于固定IP地址的月租费比较昂贵,过去只有银行、政府和大型企业等少数单位才能负担得起,甚至国内有些地区根本就不提供固定公网IP地址租用业务,这极大地限制了VPN的应用范围。而随着ADSL等廉价高效的宽带接入方式的不断普及,使用动态IP地址可以让中小企业以非常低廉的费用接入Internet。为此IETF推出了IKEv2的扩展方案MOBIKE2324以解
34、决IP地址变动情况下进行IKEv2密钥交换协商的问题,这些扩展方案目前还处于草案阶段。但是,值得注意的是,MOBIKE扩展方案只是考虑了IKEv2协商双方在协商过程结束之后IP地址发生变化的情况,并没有考虑到在IKEv2协商过程之前参加协商的IPSec VPN网关的公网IP地址已经发生变化这种情况,也就是说在以动态IP接入互联网的情况下,IKEv2协商双方无法进行协商。本文针对以上问题,在后面的章节提出了相应的扩展方案。目前,一些厂商已经陆续推出了以下几种动态IP地址环境下建立VPN隧道的解决方案。(1)使用动态域名服务(DDNS)动态域名服务(DDNS)为使用动态IP接入Internet的系
35、统提供固定的域名,可以帮助解决建立动态IP地址环境下的VPN隧道。在这种方式下,VPN服务器要求安装DDNS相关软件,并为自己申请域名和主机名,其IP地址更新后,自动在DDNS上通过验证来更新自己的IP地址。当VPN网关之间或者VPN客户端需要进行IKE协商的时候,使用VPN服务器的域名呼叫VPN服务器,由DDNS服务器负责将域名解析为VPN服务器的IP地址,这样就能使IKE建立VPN隧道。这是一种比较常见的动态地址协商的解决方案,如美国NETGEAR公司的VPN系列产品、居易公司的Vigor系列、天网安公司的安全网关SNSG-800等。此类产品的共同特点是支持ADSL、CableModem等
36、宽带接入方式,一般支持IPSec、PPTP、L2TP等协议,提供完整的动态域名解决方案,内置第三方DDNS服务商的DDNS客户端软件。基于DDNS的动态协商机制简便易行,但还存在一些问题。如需要专门的第三方服务提供商支持,而一些DDNS注册服务程序繁琐。如果DDNS服务提供商停止服务,会给用户带来不可预见的风险。DDNS最初是为动态IP提供Web服务设计的,DDNS客户端与DDNS服务器之间的通信存在安全隐患。另外,一些DDNS服务是有偿的,需要投入长期的服务成本。(2)Web寻址深信服公司的WebAgent专利技术是一种支持全动态IP接入的纯软件VPN方案。该方案通过基于Web的动态寻址,使
37、VPN产品可以支持各种上网方式,无需固定IP或有效IP,为企业选择合适的ISP提供了极大的方便。WebAgent为一普通的文件,只要求网站支持ASP或PHP即可。用户完全可以将WebAgent置于自己的网站上,建立完全属于自己的VPN全套系统。与动态域名技术相比,WebAgent动态寻址更安全,更稳定,更节省成本(不因寻址而增加额外费用),不依赖于专门的第三方服务提供商,但客户端与服务器之间的通讯同样存在安全风险,Web安全问题值得关注。1.4 课题来源和意义本课题来源于名为“基于PKI、ECC的高强度VPN安全网关技术与核心系统的研究”的江苏省自然科学基金项目,项目编号为BK2004039。
38、该基金项目是在课题组对VPN与IPSec前期研究的基础上,在密钥协商协议IKE/IKEv2中引入PKI体系,并在PKI现有RSA算法外研究新的高强度算法,对椭圆曲线加密(ECC)、基于ECC的密钥交换、数据加密、数字签名、快速算法与优化以及在VPN和IKE/IKEv2中使用PKI、ECC认证和优化进行研究,研制基于PKI、ECC的高强度VPN安全网关原型与核心系统。目前IPSec VPN的研究是网络安全领域的热门话题,本课题所属项目的研发具有很强的现实意义:(1)目前VPN的应用大大增加了企事业单位的办公效率,它能使分离的网络之间通过廉价的公共网络(Internet)互相访问,而不是使用昂贵的
39、专线,极大地节省了成本。另外VPN的扩展性良好,因为Internet的无处不在决定了增加或减少用户接入数目是非常容易的。而专线则不同,如果要增加接入的用户个数,必须增加专线所需要的接入点,而且必须进行工程布线等繁琐的工作。(2)由于IPsec VPN采用了加密技术,因此国家党政机关、事业单位和军队不可能直接采用国外现有产品来搭建整个VPN网络,而且使用国外的IPSec VPN产品也不利于我国使用自己的加密体系。(3)目前很多国内厂家的VPN产品建立在Windows操作系统之上,由于操作系统被国外垄断,所以不利于我国大规模地运用于要害部门。Linux作为开放源代码的操作系统,使开发方可以对VPN
40、系统拥有全面的安全控制。因此本课题在Linux平台上实现IPSec VPN网关系统,具有很好的现实意义。本文所作工作是该基金项目的重要组成部分,在整个项目中具有重要地位和意义:(1)VPN网关之间的安全通讯需要安全关联(其中包括密钥等安全参数)的保护,而目前安全关联的管理存在动态协商和手工管理两种方式。由于动态协商方式能够动态地生成和改变安全关联,相对于手工方式具有安全性高、灵活性好等优点,所以是否支持安全关联的动态协商机制已经成为衡量VPN产品优劣的一项重要指标。(2)虽然IKE能够动态协商保护IPSec VPN通讯隧道的IPSec安全关联,但是原有版本的IKE存在许多弱点,很多学者和厂商一
41、直在进行IKE的改进工作。IKE弱点的根源在于IKE本身的复杂机制,这不仅让攻击者有可能设计出成功的破解方法,而且带来了协同工作的问题,增加了在不同厂商VPN设备之间建立VPN隧道的困难,并且导致了性能的降低。而IKEv2与原有版本的IKE相比更加安全,并且易于使用,它提供了较少的VPN设备配置参数,从而节省了花费在设备配置上的时间。另外,IKEv2也减少了需要用户填写的域,降低了人为错误的发生概率,而这些人为错误往往是难于发现和更正的。所以使用新一代的IKEv2对于提高VPN的安全性和性能具有重要意义。(3)目前国内虽然有很多厂商推出了自己的VPN产品,但是真正完整地实现整个IPSec协议体
42、系的安全产品还比较缺乏。目前IKEv2的相关研究和应用在国内刚刚起步,国内绝大部分厂商还没有在自己的VPN产品中引入IKEv2,所以本文的工作具有一定的先进性和进步性。(4)本课题提出的动态IP地址下IKEv2扩展协商机制解决了目前中小型企业使用动态IP地址无法建立VPN隧道的问题,必将促进VPN与IKE协商机制的进一步发展。目前,跟踪研究国外IPSec相关技术和产品的发展,开发具有自主版权的IPSec VPN产品已经成为国内众多安全厂家的努力目标。综上所述,本文的研究具有重要意义和良好的应用前景。1.5 本文主要工作和贡献本课题在Linux操作系统下使用C语言进行开发,整个系统主要分为以下三
43、大部分:(1)应用层的IKEv2协议实现部分。(2)应用层IKEv2进程与内核空间相关数据库的交互部分,本课题使用了PF_KEY。(3)内核空间的IPSec(ESP与AH)处理部分。这一部分由课题组其他成员完成。为了实现以上三大部分的功能,本文主要进行了以下三部分工作:(1)动态密钥协商机制本文为了解决IPSec VPN安全网关中安全关联手工管理方式以及传统的IKE导致的一系列不足之处,引入了IKEv2动态密钥协商机制,并对IKEv2机制进行了扩展,提出了一种能够在动态IP地址环境下建立VPN隧道的IKEv2协商扩展机制。目前业内使用的动态IP环境下建立VPN隧道的主要方式包括DDNS和网站寻
44、址交换技术这两种,它们本质上是同一类技术,都是为公众服务的,因为网站是供所有人看的,服务质量定位于信息发布,所以安全性比较差。另外网站寻址机制采用虚拟主机技术,稳定性比较弱。而本文提出的IKEv2扩展方案是一种高安全级别的服务技术,隐蔽性强,相对于DDNS和网站寻址交换技术具有更高的稳定性和安全性。(2)内核通讯机制IKEv2协商进程运行于应用层空间,它需要和内核中的相关数据库进行交互。本文为了满足IKEv2协商进程的需要,使用了PF_KEY协议作为接口。因为PF_KEY协议本身位于应用层与内核之间,所以本文对Linux内核直接进行了改造,部分功能在内核空间得到实现。而国外的产品如FreeS/
45、WAN25软件以及以它为基础发展而来的Openswan和Strongswan26由于采用外挂处理模块的方式,它们和内核的交互以及对IP包的处理所花费的时间必然大大高于直接改造内核的程序。所以从这个角度分析,本课题的性能在此方面是优于外挂式的安全网关程序的。另外,由于目前还没有正式的RFC标准文档描述PF_KEY如何和内核中的安全策略数据库进行交互,所以本文为此提出了相应的PF_KEY扩展方案,以赋予PF_KEY针对安全策略数据库的交互能力。此外,本文针对动态IP环境下IKEv2协商建立VPN隧道的不足,提出了相应的扩展方案。为了满足扩展方案的需要,本文又对PF_KEY进行了必要的相关扩展。(3
46、)加密认证算法由于IKEv2协商进程需要通过不安全的公共网络和其他VPN网关的IKEv2协商进程进行通讯协商,所以协商过程的安全性显的非常重要。本文为此提供了若干种重要的加密认证算法,以保障协商过程的安全性。另外,针对预共享密钥认证方法安全性弱的缺点,本文提出了一种整体改进思路试图提高该认证方法的安全性。1.6 小结本章主要介绍了IPSec VPN以及IKE的基本情况,讨论了国内外研究现状,阐述了本课题的意义,概括了本文的主要工作和贡献。在下一章,本文将简要介绍动态密钥协商机制的相关技术,并在此基础之上提出本课题的VPN和IKEv2实现框架。第二章 协议分析和总体设计IPSec VPN网关是综
47、合多种技术机制的结合体。比如,AH和ESP提供了对进出网关数据包的加密认证等安全服务,在提高IP协议安全性的基础上提供了IPSec VPN的基本功能。AH和ESP对进出网关的数据包提供安全服务时需要检索内核中的安全关联和安全策略等数据库,确定有无策略指定的安全关联,如果不存在就通过内核通讯机制通知应用层的IKEv2守护进程启动IKEv2协商过程在VPN网关之间协商IPSec SA,以此创建安全的通讯隧道。IKEv2协商得到的安全关联将通过通讯机制更新内核中的安全关联数据库。本章在分析了以上几种协议机制之后,提出了本课题的VPN网关的结构设计,并且在此基础上建立了IKEv2机制的实现框架和模块划分。2.1基本概念2.1.1 安全关联(SA)安全关联(SA)27的概念是IPSec VPN的基础,有些文献又把它称之为安全联盟28。安全关联定义了各种类型的安全参数,它是通信对等方之间对一些安全要素的一种约定,