《基于PKI的IPSec_VPN网关间通信研究和实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
中山大学硕士学位论文基于PKI的IPSec_VPN网关间通信研究和实现姓名:严石申请学位级别:硕士专业:检测技术与自动化装置指导教师:吕志民20060508 基于PKI的IPSec-VPN网关间通信研究和实现专业:检测技术与自动化装置硕士研究生:严石指导教师:吕志民教授摘要随着世界经济全球化的高速发展,计算机网络技术的进步也是日新月异。传统的以TCP/IP协议族为支撑的网络互联技术虽然成功地解决了异型计算机之间、异构网络之间的互联互通问题,但它的设计初衷及其使用环境基本未考虑此互联技术造成的安全隐患和安全漏洞。随着跨国公司业务的扩展,总部和异地分公司间通信,公司业务人员的移动办公:国家机关,各地政府部门问的安全通信等等安全网络应用的需求迫切。但IP数据包本质上是不安全的,IP头校验和仅仅对IP头计算,并不包括数据域:基于口令和IP地址的身份认证已经不能满足各种级别用户的安全需求。虚拟专用网(VPN)技术的产生和发展为以上问题的解决带来希望。但是与VPN相关的协议众多,功能和安全机制各异,因此应用效果参差不齐。本文的出发点正是为了完善VPN的身份认证功能,提高VPN通信过程中IP包的安全系数。因此,本文提出了在VPN中应用公钥基础设施PKI的解决方案,实现基于数字证书的身份认证;实施IP安全标准IPSec,使用高强度的密码认证和加密算法来保护IP通信的完整性和保密性。本文主要以IP安全协议体系(IPSec)为基础,对VPN这一目前广泛应用的信息安全技术及其实现方案进行深入的研究。论文依次阐述了安全问题的现状、分类和对策;IPSec协议体系的组成和关键技术;VPN技术的定义、分类和协议基础;PKI原理和相关组件。然后,详细描述了基于LirtHX平台上利用Netfilter机制构造应用IPSec的VPN网关的方法,包括系统构成,IPSec—VPN网关的安装和配置,并利用Windows2003Sever平台实现在线申请数字证书和基于数字证书的网关身份认证。最后对该IPSec—VPN网关进行了测试,包括功能测试和应用模式测试,验证目标系统的安全性能和通信效率。关键词:IPSec,VPN,PKI,数字证书,安全网关 ResearchandImplementationofCommunicationinIPSec—VPNGatewayBasedonPKISpecialty:DetectionTechniqueandAutomaticEquipmentName:YanShiSupervisor:Prof.L6ZhiminABSTRACTWiththeswiftdevelopmentofeconomyglobalization,technologyinnovationoncomputernetworkoccurscorrespondingly.AlthoughthenetworktechnologybasedonTCP/IPsuccessfullysolvedtheproblemofinterconnectionofdifferentmodelsofcomputeranddifferentnetworkstructures,whenitwasoriginaldesignedandintheapplicationenvironment,securityproblemsandbugscausedbythetechnologyitselfwerenottakenintoconsideration.Asthebusinessofmultinationalcompanyexpands,communicationbetweenheadquartersandbranches,mobileaccessofemployeesonbusiness,commtmicationbetweengovernmentsofdifferentdistricts,alloftheseneedsecurecommunicationurgently.ButIPpackagesareinsecureessentially,becausethechecksum.ofIPheaderisonlytbritselfanddatadomainisexcluded.IdentityauthenticationbasedonpasswordandIPaddresscouldnotmeetthesecurityrequirementofdifferentsubscribers.Asaresult,VirtualPrivateNetworkTechnologyisdevelopedandappliedcorrespondingly.ButthenumerousVPNrelatedprotocolsmakethesecureapplicationnotpreferable,SothemainintentionofthisthesisistoimprovethefunctionofidentityauthenticationandsecurityofIPpackagesinVPN.Inthisthesis,theapplicationofPKIinVPNisputforwardtOrealizeidentityauthenticationbasedondigitalcertificate,andtheimplementationofIPSeciscarriedoutbasedonhighstrengthencryptionalgorithmandauthentication,TheintegrityandconfidentialityofIPpackagesaresecuredinthissolution.ThisthesisismainlybasedonIPSecprotocolsystem,andsecuritytechnologiesandapplicationsolutionarethoroughlystudied.Then,inthethesis,researchonVPNcoverssecuritystatusandproblemclassification,strategiesofsolution,IPSecprotocolsystemandkeytechnologies,definition,categoryandprotocoltbundationofVPN,principlesandcomponentofPKI.Theninthethesis,asolutionforIPSec—VPNgatewaybasedonLinuxoperatingsystemwithNetfiltermechanismisdetailedly presented,includingsystemstructure,gatewayinstallationandconfiguration,aswellasrealizationofonlineapplyingdigitalcertificateandidentityauthenticationbasedoncertificateofIPSec—VPNgateway.Attheendofthethesis,experimentsarecarriedouttotesttheIPSec—VPNgateway.Targetsystem’sfunctionsandapplicationmodesaretestedandtheresultsreflectitsqualityofsecurityandefficiencyofcommunication.Keyword:IPSec,VPN,PKI,DigitalCertificate,SecureGatewayV 基于PKI的IPSec—VPN网关问通信研究和实现第一章引言1.1课题的意义当今基于TCP/IP协议实现互通和共享网络资源已经不是传统的局域网、城域网和广域网的概念了,虽然原来的局域网、城域网和广域网技术的经典部分仍然可用,但整个技术体系和运行协议上己经发生了根本性变化。随着Intemet的蓬勃发展,企业和生意伙伴、供应商之间的交流越来越多,Intemet简化了信息交换途径,增加了信息交换的速度,这样的交流不仅带来网络复杂性,而且带来了管理和安全上的问题。开放性互联的以TCP/IP协议族为支撑的网络互联技术虽然成功地解决了异型计算机之间、异构网络之间的互联互通问题,但它的设计初衷及其使用环境基本未考虑此互联技术造成的安全隐患和安全漏洞。基于Intemet的信息交流面临非善意的信息威胁和安全隐患⋯。目前企业内部广域网连接一般都采用向电信运营商租用专线的方法,实现企业内部的数据通信,形成自己的内部基础网络。对于远程访问和移动用户的访问,通常做法是在企业内部创建庞大的MODEMPOOL,远程访问者需拨打长途电话访问企业内部网。企业向电信运营商租用的DDN,FR或者ATM来连接企业的分支机构。由于长期以来形成的观点,大家认为从电信运营商租用的是完全属于自己使用的实专线(如DDN)或虚拟专线(如FR和ATM),用户对所谓的“专线”的安全性,即使是对数据传输安全性要求极高的政府部门和金融行业,也没有任何疑问。因此,用户在传递数据时并没有考虑任何安全措施。但我们应该清楚的认识到,企业的整个基础网络架构的权限都掌握在别人(电信运营商)手里。而且专线两端的终端设备价格昂贵,线路的租用费用高,管理也需要一定专业水平人员,这些都增加了用户的运营成本。DDN,FR,ATM也不能像Internet那样,可以随时和世界上任何一个使用Internet网络的用户连接。与此同时,部分企业随着自身的发展壮大和跨国化,企业分支机构越来越多,相互间网络基础设施互不兼容也越来越普遍。因此,企业的信息部门为连接分支机构,管理移动办公的业务人员的拨号接受企业内部网等网络安全问题感到日益棘手。以上的用户需求正是虚拟专业网VPN技术快速发展的主要原因。VPN技术是建筑再在Intemet上的可自行管理的专用网络。VPN提供了可靠、安全的Intemet访问通道,为企业的进一步发展提供了可靠的技术保证。VPN能提供专用线路类型服务,企业可以采用VPN在Intemet建立自己的私有网络,甚至不需要建立自己的广域网维护系统,而把这一繁重的工作交由电信运营商来完成。 中山大学硕:仁学位论文但是【P数据包本质上是不安全的,【P头校验和仅仅对IP头计算,并不包括数据域;伪造IP地址,篡改IP数据包的内容,监测传输中的IP包等等黑客行为严重破坏网络安全【2】【⋯。IP安全协议(IPSec)提供网络层安全服务,它允许通信双方进行身份认证,并建立会话密钥,改会话密钥用于保护该会话过程的通信数据,任何上层协议如TCP,UDP,ICMP和IGMP都能使用这些服务。运用IPSec协议与VPN系统中,把IP数据包分割成带有报头和密码学保护的记录,为数据通信提供高强度的加密,保护了IP报文的完整性和机密性。网络数据监听,离线密码分析,IP地址欺骗使得基于口令和IP地址的身份认证已经不能满足各种级别用户身份认证的安全需求。在IPSec—VPN系统中通信双方的身份认证问题没有彻底解决。公钥基础设施PKI咀密码学作为理论基础,提供身份鉴别、机密性、完整性和不可否认性服务,成为网络应用中信任和授权的重要安全平台。PKI以用户公钥证书为载体,记录用户的身份信息:并且,以一系列的协议规范为标准,为用户签发标准的X.509证书,以供用户在正常的网络活动中使用,从而保证用户网络活动的合法性和安全性,这恰好弥补了IPSec在身份认证方面的不足。目前的应用中,客户终端很少有拥有自己的证书,但随着PKI技术的日益成熟和应用范围的增长,考虑到VPN实现时的很多安全问题,以X.509证书作为身份认证的方案,将PKI技术应用到IPSec—VPN中有着重要实践意义。结合数字证书的身份认证方案,应用IPSec跚议到VPN网关后,能够充分发挥VPN相对于专线的技术优势口J:降低成本一一VPN可以显著的降低成本,通过连接到Intemet,实际上只需要网络安全简化网络容易扩展支付本地通讯费,却达到了长途通讯的效果。VPN主要可以减少以下的费用:移动用户的远程通讯费。只需要连接到Internet,不再需要支付昂贵的长途电话费。租用线路的成本。相对于专线,VPN连接的成本只相当于专线的40%.60%.主要设备的成本。采用VPN以后,不再需要昂贵的专线设备。VPN具有高度的安全性,以多种方式增强了网络的智能和安全性。通过采用VPN连接技术代替专线连接,远程用户通过Internet与企业内部建立VPN连接,可以大大简化专线连接的配置管理任务。企业想扩大网络VPN的容量和覆盖范围很容易,不再需要每次都另外搭建专线。与合作伙伴的互连也很方便,在过去,需要双方协商如何在双方之间租用何种专线。有了VPN,这种协商 基于PKI的IPSec—VPN网关问通信研究和实现非常简单。完全控制一一借助VPN,企业利用电信运营商的设施和服务,同时又完全掌握自己网络的控制权。支持新应用一一许多专用网对新应用准备不足,VPN则可以支持各种高级应用。如IP电话、IP传真、各种协议,如[Pv6,MPLS,SNMPv3等。1.2课题的研究背景和国内外现状1.2.1课题的研究背景互联网的进一步发展需要有效的网络安全来保驾护航。我们知道,随着Internet的“爆炸”式增长,Internet应用范围的不断扩大,人们对它的依赖程度也越来越高,同时人们对网络安全的需求也越来越强烈。但是以TCP/IP协议为基础的Internet网络,在发展初期,限于当时的客观环境,只注意到了网络的连接性、开放性和兼容性,而没有很好地考虑网络的安全性。作为网络层的安全标准,IPSec一经提出,就引起了计算机网络界的注意,世界上大多数的计算机公司都宣布支持这个标准,并且不断推出自己的产品。但是由于标准提出的时间很短,尽管产品种类很多,真正合格的产品却很少。国外对IPSee的研究起步较早,已有了一些基于IPSec的试验性VPN,但大部是在专用平台下实现,与操作系统绑定得都比较紧密,有的甚至就是一个黑盒子(如CISC0)。关于不同的IPSec实现问的互操作性,目前还没有令人满意的测试报告”1。1.2.2课题研究的国内外现状美国、欧洲各国以及韩国、日本是世界上较早涉足信息安全技术及产业的国家,他们大多数对PKI及其相关技术、产业用法律予以固化。其中韩国在1998年正式通过数字签名法,1999年7月这一法律开始正式实施;德国立法时削更早,是在1997年。美国在1998年立法,N2000年6N30日,美国总统克林顿又签署了美国的《全球及全国商业电子签名法》,这是美国历史上第一部联邦级的电子签名法。这一法律的签署,极大地推动了电子签名、数字证书的应用。在亚洲各国,PKI的发展并不平衡、不过很多国家己经意识到它的重要性。为了缩小各国技术及制度上的差异,推动PKI等技术的标准化,并充实法律制度,2000年由日本、韩国、印尼等国家发起设立了“亚洲PKI论坛”。该论坛将在今后五至十年之内开展以下工作:一、PKI标准化;二、对在引进信息技术方面落后的国家予以技术上的支援:三、支持制订电子签名法以充实亚洲各国的法律”1。与此同时,论坛也考虑与美国信息技术业创设的美国PKI论坛携手,朝世界性的标准化迈进。PKI的概念是近几年才提出来的,尽管在概念提出之前许多公司并 中山大学硕=E学位论文没有直接销售PKI终极解决产品,但是PK32的技术早己经被用于他们的产品当中,例如LotusNotes从1989年就开始用PKI对用户进行认证,PGP从1991年就开始对用户进行认证。目前,PKI基础理论研究己经比较完备,各个厂商己将他们的产品广泛地应用于需要数字证书的认证中,例如:Amer[canExpressBluecreditcard和香港邮政采用lBaltimoreTechnologies的PKI技术,美国邮政采用TCylink的IBIP(1nformationBasedIndiciaProgram),加拿大联邦采用TEntrust的技术,TeleCashGmbh采用了Xcert的PKI产品。目前,国际上能够开发PKI产品的公司有很多,比较有影响力的是Baltimore,Verisign和Entrust等。已存在的根cA有:卑VeriSignhierarchy(4classes)木CommerceNet}USPostalServiceCA}RSACAs(numerous)女AmericanBankingAssociatiOn掌Keywitness木Dig【talSignatureTrustCompany{BelSign女CanadaPost}ThawteCA国外的知名PKI产品有:$VeriSignOnsite{.CertCoOistributedMulti$Entrust/Server—StepSigning木EntrustWebCA.Entrust/Direct木TradeWaveTradeAuthority木MicrosoftCertificateServer丰GTECybertrust牢NetscapeCertificateServer半MotorolaCipherNetSystem木EntegrityWebAssure丰XcertSoftwareSentry术PGPCertificateServer术galtimoreTechnologiesUniCert国外的知名PKIJ抿务提供商有:女VeriSignOnSite十Entrust“in—sourcing”%GTE。”V[rtualCA“诛Tradewave“in—sourcing‘木IBM”WorldRegistry”丰”Insourcing”growinginpopularity}DigitalSignatureTrust国内的比较知名的PKI厂商有:$东大阿尔派$吉大正元$天威诫信$诺方信业国内的数字证书服务中心有:$CTCA中国电信认证中心4 摹于PKI的[PSecVPN网关问通信研究和实现$CFCA中国金融认证中心}上海CA{北京CA$北京国福安电子商务安全认证中一巴1.3课题完成的目标本文首先分析了现今形势下基于TCP/IP阱议网络的安全性缺陷和人们对网安全服务的需求分析。根据安全需求分析的结果,以IP安全协议体系(IPSec)为基础,对VPN这一目前广泛应用的信息安全技术及其实现方案进行深入的研究,本课题的目标就是建立一个基于PKI的IPSec—VPN网关系统,其中认证机构cA需要具备接受在线申请数字证书和基于数字证书的网关身份认证。VPN网关具备IPSec处理的功能,它通过对IP数据包进行加密和认证来保障IP数据包的机密性、完整性、真实性,从而保证整个IP网络传输的安全,防止机密信息的泄漏和抗击网络黑客的攻击。以及[PSecVPN网关能够实现在IKE协商过程中使用X.509证书进行身份认证的功能,从而实现在IPSec—VPN网关中应用PKI技术,增强IPSec—VPN网关的身份认证功能。最后进行系统测试,在两个局域网间建立安全的IPSec—VPN网关,采用各种通信的方案进行试验,得到量化的通信效率及安全指标参数。1.4论文的结构概况第一章介绍了课题的意义、研究现状和课题的目标第二章主要对IPSec协议体系和VPN隧道技术作系统性的分析和介绍;第三章介绍了PKI体系结构和相关的标准、协议、法规和常用的算法:第四章描述了本人提出的基于Linux平台上利用NetFnter机制构造应用IPSec的VPN网关的方法,包括系统构成,IPSec—VPN网关的安装和配置,并利用Windows2003Sever平台实现在线申请数字证书和基于数字证书的网关身份认证。第五章中详细介绍了对该IPSec—VPN网关进行了测试,包括功能测试和应用模式测试,验证目标系统的安全性能和通信效率,并指出本系统的缺点和不足以及下一步的研究工作。 基于PKI的[PSee—VPN劂关问通信研究和实现第二章IPsec-VPN协议体系2.1IPsec协议体系结构IPSec(IPSecurity)是一个网络层安全协议和算法的框架标准,如下图所示,它使得数据在网络层安全地传输。[8I㈣IPSec协议体系由IETF委员会制定.它提供了一个开放系统的安全框架,向IPv4/IPv6提供互操作的高质量的基于密码的安全性。其服务包括访问控制、无连接的完整性、数据源认证、抗重播保护、机密性和有限传输流机密性。IPSec框架IPSec协议加密图2.1IPsec框架它们主要由下面两个协议来实现:AH(AuthenticationHeader,认证头)协议,ESP(EncapsulatingSecurityPayload,封装安全负载)协议。IPSec根据系统所选择的安全协议提供【P层上的安全服务,决定服务所需的算法和密钥,并在主机之间、安全网关之问或主机与安全网关之问建立起一条或多条安全连接。Ipsec协议体系包括:AH、ESP,IKE(Internet密钥交换)、ISAKMP/Oakley等。IPsec发展规划定义了IPsec各组件之间的交互方式,如下图所示【¨Ⅱ121[b1:]日]日曰固曰曰同同 中山大学硕二b学位沦文图2.2IPsec各组件交互方式图2.2IPsec协议体系工作原理IPsec为IP层提供安全服务,它使系统能按需选择需要的安全协议,决定服务所使用的算法及放置服务所需密钥到相应位置。IPsec用来保护一条或多条主机与主机间、安全网关与安全网关间、安全网关与主机间的路径。它在协议栈中的通信平台模式如下图:数据链路层图2-3IPSec通信平台模式图 基于PKI的IPSecVPN网关间通信瓦叶究和实现IPSec的工作原理如下图所示,当IP模块收到一个IP分组时,通过查询安全策略数据库SPDB(SecurityPolicyDatabase)来决定对收到的这个【P数据分组的处理:丢弃IPsec、转发或IPSec处理,通过查询安全关联数据库SADB(SecurityAssociationDatabase)来获取安全关联所需的参数。图2.4[PSec的工作原理图IPsec协议实现可以工作在两种模式下:传输模式和隧道模式。主机上的IPsec可以工作在两种模式下,路由器上的IPsec只能工作在隧道模式下。在两种模式下,IPsec协议保护的对象不同。在传输模式下,受保护的对象包括传输层的头部和数据部分,IP头部并不受保护,只能用在通信的双方都做主机用途的情况下。在隧道模式下,受保护的对象是内部的整个IP数据包,只要通信的一方是做路由器用途或者转发数据报时,IPsec就一定要工作在隧道模式下。对于两种工作模式,后面会有更具体的介绍。2.3IPsec的关键技术:2.3.1IKE”州IKE在RFC2409中定义,可以将其想象成IPsec的维护协议。它负责各种IPsec选项的协商、认证通信的每~端(应用时包括公钥交换),以及管理IPsec隧道的会话密钥。IKE包括Oakley(RFC2412)、Intemet安全连接和密钥管理协议(ISAKMP)(RFC2407)、安全密钥交换机制(SKEME)等部分。SKEME用于认证IKESA的两端,Oakley用户从会话中得到加密密钥,[SAKMP定义交换 中山大学硕十学位论义的消息格式。IKE使用用户数据报协议(UDP)端口500进行通信。2-3.2AHplRFC2402中详细描述了AH,它是用于IPsec的一个主要认证选项。IPsec通过AH和ESP协议来提供安全保护,两者提供的安全保护和保护的范围不尽相同,AH为IP数据报提供数据完整性、数据源认证和一些可选的,有限的抗重播服务。ESP为IP数据报提供机密性、数据源认证、抗重播以及数据完整性等安全服务。在传输模式中,AH对招个IP数据报(包括IP头部和AH头部的固定域1提供认证,ESP只对IP数据报的数据部分提供保护,而不保护IP头部。在隧道模式下,AH对内部IP数据包和外部IP头部提供认证服务,ESP只对内部IP数据部提供安全服务。AH使用IP协议端口51进行通信。AH的协议头格式如下所示下一个头负载长度保留安全数据索引(SPI)顺序号认证数据图2—5AH蜘议头格式图(I)下一扩展头:标识AH头后的负载类型。.(2)负载长度:以32位字长为单位,其值为AH头长度减2。当认证数据为标准的96位时该值为4。f3)保留:留作将来使用,必须置为零。(4)安全参数索引(sPI):与目的端IP地址及安全协议(AH)一起唯一表示该报文的安全关联。它通常在建立安全关联的基础上由目的端系统柬选择。f5)顺序号:用于反重发服务,但无论接收方是否选择该服务,它都照常计数。(6)认证数据:含有该报文的完整性检查值(ICV)。长度可变,但必须是32的倍数。陔域可能含有填充数据,以确保整个AH协议头长度为32的整数倍(IPv4)或64的整数倍(IPv61。2.3.3ESPtl2】ESP的协议头格式如下图所示 接于PKI的IPSec—VPN网关问通信研究和实现32bit安全参数索引(SPD32bit顺序号负载数据0~255个填充字节填充长度下一扩展头认证数据图2-6ESP协议头格式图(1)安全参数索引(spD,顺序号的含义与AH中的相同。(2)负载数据:包含下一扩展头中描述的数据。(3)填充域:该域是可选的,包含0-255字节任何算法必须支持填充数据的产生和清除。f4)填充长度:指示填充域中填充的字节数。(5)下一扩展头:指示负载数据域中所含数据的类型,如IPv6中的扩展首部或对上层协议的标识。(6)认证数据:该域是可选的。只有在建立安全连接时选择了认证服务才有。它包含对ESP报文中除去认证:数据后计算的一个完整性检查值0cv),其长度由认证函数决定。2.3.4认证和加密算法【7】AH和ESP计算ICV的认证算法由安全关联决定。对于端到端通信,有基于对称加密算法(如DES)或单向希函数f如MD5,SHA—1)的消急认证代码。对于多目广播通信,可以采用与非对称签名算法相结合的单向哈希算法。所有AH实现必须支持哈希消息认证码HMAC(HashedMessageAuthenticationCode)的不同算法如HMAC—MD5,HMAC—SHA—l。ESP中的加密算法由安全关联决定,与对称加密算法一起使用。由于IP报文可能不是按顺序到达,所以每个报文必须携带一些信息以使接收端为解密建立保密同步。这些信息可以放在负载数据域中,如初始向量(InitializationVector),也可以从报头中提取。由于ESP中的信息是明文的,ESP的加密算法可以采用块或流模式。所有的ESP实现必须支持DESinCBCmode,HMAC.MD5,HMAC.SHA.1,NULL认证算法,NULL加密算法。 中山大学硕士学位论文2-3.5IPSec技术的具体应用AH的报文输出处理过程如下:(1)查找安全关联(2)产生顺序号:发送方计数器在安全关联建立时初始化为o。当进行输出报文处理时自动递增,并把新值加入到顺序号域中。如果选择了抗重播服务f缺省1,发送端在插入新值前需要检查并确保计数器没有循环。如果计数器己经循环,发送端将建立一个新的安全关联和密钥。如果没有选择抗重播服务,发送端不需要监测并重置计数器。当计数器达到最大值时将重新返回到o。(3)计算完整性检查值:AH完整性检查值的计算是针对IP报头、AH头、上层协议数据进行的。计算前主要包括两方面的处理:+处理可变域:如果某一域中的值在传输过程中被改变了。则将陔域的值置0。如果域的值是可变的,但可以被接收端预测,则将浚值插入到域中。在计算时,认证数据域中的值将置0。置0的方法保证了对齐,也保证了域长度在传输过程中不被改变。+填充:包括认证数据填充和报文填充。认证数据填充是为了确保AH头长度为32的倍数(IPv4)或64的倍数(IPv6)。对于一些认证算法,进行完整性检查值计算的字节流必须为算法所定义的块长度的整数倍。如果包括AH头在内的IP报文不符合该要求,那么必须在报文的末尾加上填充数据,填充数据必须为O.且不随报文一起发送。(4)分片:在传输模式中,分片处理在AH处理之后进行,经过AH处理的IP报文可以由路由器来分片,但在接收端必须在AH处理前进行重组。在隧道模式中可以对已经分片的IP报文进行AH处理。ESP的报文输出处理过程与AH大致相同主要有以下两点区别:(1)在查找安全关联之后,需要进行报文加密:发送方把上层协泌信息(传输模式)或整个IP报文(隧道模式)封装到ESP负载域中,然后添加必要的填充信息,最后用安全关联中指定的密钥、加密算法、算法模式以及保密同步数据对结果数据(包括负载数据、填充、填充长度、下一扩展头)进行加密。如果选择了认证服务,那么必须在认证之前进行加密,而且加密对象不能包括认证数据域。这种顺序加快了接收端检测和拒收重发报文或伪报文的速度,从而减少了服务拒绝攻击的影响。同时它也允许接收端对报文进行并行处理,也就是晚,解密和认证可以同时进行。(2)完整性检查值计算的对象有所不同:在ESP中ICV计算的对象是整个ESP报文中除了认证数据以外的所以数据AH的报文输入处理过程如下: 基于PKI的IPSecVPN网关问通信研究和实现f11重组:如果需要的话重组将在AH处理之前进行。f21查找安全关联:在收到包含AH协议头的报文之后,接收方根据目的端IP地址、安全协议fAH)和SPI确定相应的安全关联。如果无有效的安全关联存在,接收方将丢弃该报文。f3)JIl页序号检查:当安全关联建立时,接收方报文计数器必须初始化为0。在一个安全关联生命期内,对于每一个到达的报文必须确保其顺序号没有重复。重复的报文将通过使用滑动接收窗口被丢弃。如果接收端没有选择反重发服务,就不需要对输入报文进行该项检查。(41完整性检查值验证:接收方用指定的认证算法对报文的相应域计算ICV,并与报文的认证数据域中的ICV进行比较,如果不一致则丢弃该报文。ESP的报文输入处理过程比AH多一个报文解密过程。接收方使用安全关联中指定的密钥、加密算法、算法模式以及保密同步数据对负载数据、填充、填充长度、下一扩展头进行解密,然后用加密算法中指定的方法处理填充数据,最后重建初始IP报文。对于传输模式,从ESP负载域中提取IP报头和初始上层协议信息,对于隧道模式,从ESP负载域中提取隧道IP头和整个IP报文。如果选择了认证服务,ICV验证和解密可以串行或并行地进行。如果串行执行,将先进行ICV验证浊口果井行执行,那么在对解密报文进行进一步处理前必须完成ICV验证。2.4安全关联SA(SecurityAssociation,安全关联)是构成IPsec的基础。SA是两个通信实体经协商建立起来的一种协定。它们决定了用来保护数据包安全的IPsec协议、转码方式、密钥以及密钥的有效存在期间等等。任何IPsec实施方案始终会构建一个SA数据库(SADB),由它来维护IPsec协议用来保障数据包安全的SA记录。SA是单向的,换言之,它的设计非常简化。如果两个主机(比如A和B)正在通过ESP进行安全通信,那么主机A就需要有一个SA即SA(out),用来处理外发的数据包:另外还需要有一个不同的SA,即SA(in),用来处理进入的数据包。主机A的SA(out)j}n主机B的SA(in)将共享相同的加密参数(比如密钥)。类似地,主机A的SA(in)和主机B的SA(out)也会共享同样的加密参数。由于SA是单向的,所以针对外发和进入处理使用的SA,分别需要维护一张单独的数据表。另外,SA还是“协议相关”的。SA通过AH或ESP但不是两者同时使用而提供安全服务。如果主机A和B同时通过AH和ESP进行安全通信,那么每个主机都会针对每一种协议来构建一个独立的SAII⋯。 中山大学硕士学位论文2.4.1安全关联的参数安全关联(SA)是两对等体主机之间的契约,并描述了对等体将怎样使用IPsec安全服务来保护网络流量。SA维持者两个实体之进行安全通信的“场景”或“背景”。SA需要同时保存由具体协议所规定的子段,以及一些通用字段。安全连接由三部分内容唯一标识,SPI(SecurityParametersIndex安全参数索71)、IP目的地址、安全协议(AH和ESP)标识符。SPI是一个32位长的数据实体,目的地址可以是一个点播地址、IP广播地址或多播组地址。安全关联的参数包括:(1)序列号计数:器(SequeneeNumberCounter):--个用来产生AH或ESP协议头中序列号的32位字段,目标主机用它来侦测重播攻击。安全关联刚建立时,该字段为零,每通过SA发送一个数据包,该字段增加。在该字段溢出之前,安全关联会重新进行协商:(2)序列号计数器溢出标志(SequenceCounterOverfloW):表明序列号计数器溢出是否应该产生审查事件并且阻止SA上额外的包传输的标志:(3)抗重播窗口:一个确定内部AH或ESP报文是否为重传报文的32位计数器:(4)AH认证算法及其使用的密钥;(5)ESP加密算法算法模式及其使用的密钥:(6)ESP认证算法及其使用的密钥;(7)安全关联的生命期:时间问隔计数器,在浚参数指定的时间间隔后,SA必须被新的SA和新SPI替换或者终止,浚参数还包括指明该采取上述哪个动作的标志。该参数可以是时间或字节计数表示,或同时做两个用途(此时第一个生命期优先1;(8)IPsec协议模式:该参数指出SA工作在传输模式下还是隧道模式下:(9)路径最大传输单元。2.4.2安全关联的类型安全关联有两种类型:传输模式和隧道模式‘”1,如下图所示臣丑!IP数据包IP首部IPSec首部IP载荷传输模式下经[Psec处理的数据报 基于PKI的IPSec—VPN网关问通信研究和实现隧道模式下经[Psec处理的数据报图2—7安全关联工作模式图f1)传输模式的安全关联要求必须建立在两台主机或作主机用途的两个节点之间。在IPv4中,传输模式的安全协议头位于IP报头和可选部分之后,上层协议f如TCP或UDP)之前;在IPv6中,安全协议头出现在基本首部和扩展首部之后,目的端可选部分之前或之后,上层西议之前。对于ESP,传输模式的安全关联仅为上层协议提供安全服务,不为IP的基本首部和扩展首部提供安全服务:对于AH,这种保护也提供给部分被选择的基本首部、扩展首部和可选部(包括IPv4首部、1Pv6端对端扩展首部、IPv6目的端扩展首部)。当在两台主机之间建立SA时使用传输模式,如下图所示:ARB图2-8传输模式(2)隧道模式的安全关联实质上是一种应用在IP隧道上的安全关联。在隧道模式的安全关联中,有一个外层IP首部指定IPsec处理的目的端,内层IP首部指定IP包的最终目的端。安全协议头位于外层IP首部之后,内层IP首部之前。如果在隧道模式中使用AH协议,部分外层【P首部和所有的隧道IP包(包括内层【P首部和上层协议)可以受到保护;如果使用ESP协议仅仅只有隧道lP包受到保护。当安全关联的任意一端为安全网关时,安全关联必须是隧道模式。两台主机 中山大学倾二E学位论文间也可以建立隧道模式的安全关联。这种要求任意一条包括安全网关的安全关联必须采用隧道模式是为了避免一些潜在的问题,如IPsec包在分片和重组时可能遇到的问题,以及在安全网关后存在多条通往同一目的主机的路径引起的问题等。当在一台IPSec网关之间建立SA时使用隧道模式,如下图所示:ARIR2B‘磊i种一磊高—露露面鬲i可i■雨磊习L——————————————————————L——。i。越————————————————l——————————j——————J__________——竺!竺竺竺lI。;t⋯丽i馕翦磊忑t可iT琴焉噩瀚L——医.重盏。■一一I:,I苎些I堡.I图2-9.网关到网关隧道模式2.4.3安全关联数据库对于IPsec数据流处理,有两个必要的数据库:SPDB(SecutityPolicyDatabase,安全策略数据库)和SADB(SecurityAssociationDatabase,安全关联数据库)。SPDB指定了用于到达或者源自特定主机或者网络的数据流的策略,SADB包含活动的SA参数。对于SPDB和SADB嘟需要独立的输入输出数据库。(I)安全策略数据库:SPDB是IPsec在系统内核中维护的系统安全策略的副本。在SPDB数据库中,每个入口定义了要保护的是哪种类型的通信、如何保护以及如何共享这种保护。在包处理的过程中,对于每一个进入或者是离开IP协议栈的数据包都需要检索SPDB,查找可能的安全应用。每一个入口可能定义了丢弃、绕过和应用这下种动作中的一个,如果是应用,那么该入口将会提供相应信息用来检索保护该类型数据包的SA,如果SA尚未建立。那么就需要请求[KE(IntemetKeyExchange,Intemet密钥交换)与远端主机协商建立一个。数据包到IPsec策略的映射关系是由选择符决定的,选择符来源于数据包的各个字段,包括:目的地6 基于PKI的IPSecVPN网关间通信研究和实现址、源地址、名字、传输层协议和源目的端IZ]。这些选择符的值可能是一个特定取值、一个范围或者是不透明(表示在处理时不能得到相应的信息)。f21安全连接数据库:SA是构成IPsec的基础,它规定了用来保护数据包安全的IPsec协议、加密算法、验证算法、密钥以及有效时间等,是两个通信实体间为进行安全通信而协商建立起来的一种约定。为了维护当前活动的SA,在IPsec的实现中需要建立一个SA数据库(SADB)。SADB中维护的SA的参数,在前面的章节“安全关联的参数”中已经做过介绍,这里就不重复叙述。IPsec处理对于输入和输出处理,要保存单独的SADB对于输入和输出的数据报,将搜索各自的SADB来查找与从数据报头域中解析出来的选择符相匹配的SPI、源或目的地址以及IPsec协议了。2.5VPN的隧道协议瞳1与实际的点到点连接电路一样,VPN系统可被设计成通过Internet提供安全的点到点(或端到端)的“隧道”。这种连接与常规的直接拨号连接的不同点在于在后一种情形中,PPP(点对点协议)数据包流是通过专用线路传输的。在VPN中,PPP数据包流由一个LAN上的路由器发出,通过共享IP网络上的隧道进行传输,再到达另一个LAN上的路由器。隧道连接与直接拨号连接的关键不同点是隧道代替了实实在在的专用线路。隧道好比是在WAN云海中拉出一根串行通信电缆。因为Intemet是一个公共传输网络,建立在它之上的安全专用网络需要有高度的安全技术要求,而且Intemet不提供像实际的点到点连接那样的町靠性能。在Internet上,经常发生阻塞,导致丢包和包重发,这将影响到网络的整体性能。基于Internet的VPN使用了下面些技术来实现内部数据网。正如网络是依靠相应的网络协议完成一样,VPN技术中的隧道是由隧道协议形成的,隧道协议用来建立通过Intemet的安全的点到点传输,现在大多数的VPN系统使用点到点隧道协议(PPTP—Point2t02PointTunnellingProtoc01)、第二层隧道协议(L2TP—Layer2TunnelingProtoc01)及IPsec(SecureIP)标准。PPTP协议被嵌入到Windows98和WindowsNT4.0中,在VPN中应用最广。L2TP协议综合了PPTP协议和L2F(Layer2Forwarding)协议的优点,并且支持多路隧道,这样可以使用用户同时访问Intemet和企业网。一般而言,PPTP/L2TP的特点是:+封装的PPP数据包中包含用户信息;+支持隧道交换,隧道交换可以根据用户权限,开启并分配新的隧道,将PPP数据包在网络中传输: 中山大学顺=}学位论文·便于企业在防火墙和内部服务器上实旌访问控制。位于企业防火墙的隧道终端器接受包含用户信息的PPP数据包,然后对不同来源的数据包实施访问控制。隧道交换还可以将用户导向指定的企业内部服务器。而IPsec是一个广泛的、安全的VPN协议,IPsec包含了用户身份认证、查验和数据完整性内容。该协议规定了用以在两个IP工作站之问进行加密、数字签名等而使用的一系列IP级协议。IPsec实现来自不同厂商的设备在进行隧道开通和终止时的互操作。同时,IPsec的安全性功能与密钥管理系统松散耦合,当密钥管理系统发生变化时,IPsec的安全机制不需要进行修改。IPsec适应向IPv6迁移,预计它今后将成为VPN的主要标准。隧道协议有两个重要的方面:性能与安全。各公司采用不同的标准,因此这方面有着广泛的技术。I司时可以有很多技术来提高隧道的性能,包括减少丢包、压缩和加密数据,但在目前,这些技术并未被广泛应用。2.5.1PPTP协议即点到点隧道协议。该协议由美国微软设计,用于将PPP分组通过IP网络封装传输。设计PPTP协议的目的正是为了满足这种日益增多的内部职员异地办公的需要。PPTP协议定义了一种PPP分组的运载方法。它通过使用扩展的GRE封装,将PPP分组在IP网上进行传输。PPTP在逻辑上延伸了PPP会话,从而形成了虚拟远程拨号连接。这种虚拟连接一方面保留了PPP协议成熟的鉴别和授权机制,同时保留了PPP协议多协议封装的特征。远处拨号用户图2.10PPTP协议的应用网络拓扑控制连接总部⋯国 基于PKI的IPSeeVPN网关间通信石)f究和实现控制连接是一条TCP连接。在传送任何PPTP分组之前,必须在PAC和PNS之间建立一条控制连接。通过控制连接,PAC通知PNS建立一次入站呼叫,或者PNS通知PAC,发起一次出站呼叫。当呼叫建立之后,控制连接担负维护和关闭由呼叫产生的会话的责任。PAC或PNS为完成这些任务而发送的消息称为控制消息。控制消息必须通过控制连接以TCP数据形式发送。在一个
此文档下载收益归作者所有