网络安全传输通道技术的研究_第1页
网络安全传输通道技术的研究_第2页
网络安全传输通道技术的研究_第3页
网络安全传输通道技术的研究_第4页
网络安全传输通道技术的研究_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络安全传输通道技术的研究2007-9-1216:15:49【大中小】【您是本文第位读者】摘要:安仝传输通道是对待传输的原始信息进行加密和协议封装处理,从而实现安全传输的技术,本文从介绍TCP/IP协议栈的分层体系结构出发,分别在TCP/IP的各个层次I:提出了实现安全传输通道的技术和解决方案。特别是对网络层的安全传输通道技术提出了实现机制。关键词:安全传输通道、TCP/IP协议栈、安全协议、PPTP、L2TP、IPSec,SSL、SSH1概述随着因特网的高速发展,网络上开发的应用越来越多,一些关键业务也开始通过因特网提供。而Internet的一大特性是他的开放性,正是这种开放性给因特网上服务的安全构成了严重威胁。为了保证它健康有序的发展,必须在网络安全上提供强有力的保证。所谓网络安全传输通道,就是利用安全通道技术(SecumTunnelingTechnology),通过将待传输的原始信息进行加密和协议封装处理后再嵌套装入另一种协议的数据包送入网络中,像普通数据包一样进行传输。经过这样的处理,只仃源端和目的端的用户对通道中的嵌套信息能够进行解释和处理,而对于其他用户而言只是无意义的信息。网络安全传输通道应该提供以下功能和特性:.机密性:通过对信息加密保证只有预期的接收者才能读出数据。.完整性:保护信息在传输过程中免遭未经授权的修改,从而保证接收到的信息与发送的信息完全相同。.对数据源的身份验证:通过保证每个计算机的真实身份来检杳信息的来源以及完整性。.反重发攻击:通过保证每个数据包的唯一性来确保攻击者捕获的数据包不能重发或重用。在因特网上普遍采用的是TCP/IP协议,TCP/IP协议的体系结构相对于OSI/ISO体系结构的7层模型是比较简单而实用的,其模型如下:此体系结构中,最下面的主机到网络层实际上.包括了OSI模型中的2层:数据链路层和物理层。木文

将从TCP/IP的各个层次介绍相关的安全传输通道技术。2在数据链路层实现安全传输通道的技术[1]数据链路层技术涉及到软件和硬件两个方面,硬件方面不在本文中讨论。当前能在此层提供安全通道技术的安全协议主要有:PPTP和L2IP。它们主要是为了组建远程访问VPN而提出的。PPTP是第2层协议,它将PPP帧封装在1P数据报里以在IP网络中传输.它是微软开发的一个较旧的协议。相反,L2TP是基于Cisco的“第2层转发(L2F)”协议和微软的PPTP协议的较新协议。它可以封装在IP、X.25、帧中继、异步传输模式等上发送的PPP帧。虽然L2TP比PPTP更灵活,但它比PPTP需要更多的CPU能力。L2TP和PPTP的主要技术性区别如K:I.PPTP要求传输网络基于IP,而L2TP只要求传输网络提供点对点连通性;PPTP只支持VPN客户机和VPN服务器之间的一个隧道,L2Tp允许在终点间使用多个隧道。使用L2TP可以为不同服务质量而创建不同的隧道或满足不同安全要求;L2TP提供信息头压缩,当启用信息头压缩时,L2TP以4字节开销运行相当于PPTP以6字节运行。PPTP的封装原始IP数据报在PPTP客户机和PPTP服务器之间传输时,PPTP封装它。图1显示了PPTP信息包的封装格式:IPQGRE>PPP~IPpTCP或UDPp用户数据,i原始数据报,

图1PPTP的封装格式在上图中,原始数据报首先封装在PPP帧里。使用PPP可压缩和加密该部分数据。然后将PPP帧封装在GRE(GenericRoutingEncapsulation)帧里,该帧是PPTP客户机和PPTP服务器之间发送的新IP数据报的有效负载。该新数据报的源和目标IP地址将和PPTP客户机及PPTP服务器的IP地址相对应。执行中该数据报将进一步封装在数据链路层帧里并且有正确的信息头和信息尾。L2TP的封装和PPTP相似,当经过传输网络传送时,L2TP封装原始IP数据报。由于在L2TP中,是*IPSec提供加密功能,所以L2TP封装分两个阶段完成:初始L2TP封装和IPSec封装。阶段1:初始L2Tp封装IP,UDP“L2TP,PPP|TCP或UDP「用户数据;

初始数据报~阶段2:IPSec封装阶段2:耍睦封装,IP-ESP头+UDP+]L2TP,ppp-TCP或UDP+用户数据;ESP尾1睇嗡证信息.i初始数据报,t使用联加密Q图2L2Tp的两阶段封装如图2所示,L2TP首先将原始数据报封装在PPP帧里(和PPTP一样):然后将PPP帧插入到有UDP信息头和L2Tp信息头的新IP数据报。然后结果数据报再应用IPSec加密。在这里,应用了IPSec标准中的封装安全载荷(ESP)协议的信息头和信息尾以及IPSec验证信息尾,这样就保证了信息的完整性和机密性以及信息源的身份验证。最外层IP报头所包含的源和目标IP地址与VPN客户机和VPN服务器相对应。

3在网络层实现安全传输通道的技术[2]当前,在网络层实现安全已经成为一大研究热点,并且Internet工程任务组(IETF)于1998年公布了因特网安全体系结构——IPSec规范,这更加速了这方面的研究和实施。IPSec简介它是由IETF的IPSec工作组提出的将安全机制引入TCP/IP网络的一系列标准,包括安全协议(验证头AH和封装安全净荷ESP)、安全联盟、密钥管理和安全算法等,它定义了IP数据包格式和相关基础结构,以便为网络通信提供端对端、加强的身份验证、完整性、反重播和保密性等。使用IETF定义的Internet密钥交换(IKE),还提供按需要的安全协商和自动密钥管理服务。IPSec可保障主机之间、安全网美之间(如路由器或防火墙)或主机与安全网关之间的数据报的安全。它可以实现各种方式的VPN:ExtraNetVPN、IntraNetVPN和远程访问VPN.安全协议包括验证头(AH)和封装安全载荷(ESP)。他们既可用来保护一个完整的1P载荷,亦可用来保护某个IP载荷的上层协议。这两方面的保护分别是由IPSec两种不同的实现模式来提供的,如图3所示:传送模式用来保护上层协议;而隧道模式用来保护整个IP数据包。在传送模式中,IP头与上层协议之间需插入一个特殊的IPSec头;而在通道模式中,要保护的整个IP包都需封装到另一个IP数据报里,同时在外部与内部1P头之间插入一个IPSec头。两种安全协议均能以传送模式或隧道模式工作。

IP关TCP头数据「卜

初始弊据报+,IP头W |TCP头2|数据。~|2传送模式下策典处理后的数据报格立

外层IP头HJRS电头QI内层IP头2TCP头CI数据P卜

隧道模式下经史处理后的数据报格式,图3两种模式下的数据报格式。,封装安全载荷(EncapsulatingSecurityPayload,简称ESP):属于IPSec的•种安全协议,它可确保IP数据报的机密性、数据的完整性以及对数据源的身份验证。此外,它也能负责对重放攻击的抵抗。具体做法是在IP头(以及任何选项)之后,并在要保护的数据之前,插入一个新头,亦即ESP头。受保护的数据可以是一个上层协议,或者是整个IP数据报。最后,还要在后面追加一个ESP尾,格式如图4所示。ESP是种新的协议,对它的标识是通过IP头的协议字段来进行的。假如它的值为50,就表明这是一个ESP包,而且紧接在IP头后面的是一个ESP头。[3]IP头ESP头要保护的数据ESP尾图4一个受ESP保护的IP包验证头(AuthenticationHeader,简称AH):与ESP类似,AH也提供了数据完整性、数据源验证以及抗重放攻击的能力。但要注意它不能用来保证数据的机密性。正是由了这个原因,AH比ESP简单得多,AH只有头,而没有尾,格式如图5所示。[4]IP头AH头要保护的数据图5一个受AH保护的IP包安全联盟(SecurityAssociation>简称SA)的概念为了正确封装及提取IPSec数据报,有必要采取•套专门的方案,将安全服务/密钥与要保护的通信数据联系到一起;同时要将远程通信实体与要交换密钥的IPSec数据传输联系到一起。换言之,要解决如何保护通信数据、保护什么样的通信数据以及由谁来实行保护的问题,这样的构建方案称为“安全联盟Internet密钥交换(InternetKeyExchange.简称IKE)IKE的用途就是在IPSec通信双方之间建立起共享的安全参数及验证过的密钥(亦即建立“安全联盟”关系)。IKE协议是Oaklay和SKEME协议的•种混合,并在由ISAKMP规定的框架内运作。ISAKMP是“Internet安全联盟和密钥管理协议”的简称,它定义了包格式、重发计数器以及消息构建要求,事实上,它定义了整套加密通信语言.IKE采用了“安全联盟SA”的概念,1KESA定义了双方的通信形式。举例来说,用哪种算法来加密IKE通信;怎样对远程通信方的身份进行验证;等等。随后,便可用IKESA在通信双方之间提供任何数量的IPSecSA.[5]运用IPSec进行安全通信的大体步骤是:①建立IKESA;②在已经建立好的IKESA上建立IPSecSA;③在已经建立好的IPSecSA上,进行实际的通信;④通信完毕,撤消IPSecSA;⑤当此IKESA上的所有IPSecSA都撤消以后,最后撤消IKESA«IPSec的实现机制IPSec既可在主机系统上实现,亦可在某种安全网关上实现(如路由器或防火墙).由于IPSec的实现是与系统密切相关的,所以在主:机上和在安全网关上的实现机制是不相同的,这里仅简述主机上的实现机制。主机实现[6]可分为两类。1)与操作系统集成:由于IPSec是个网络层协议,所以可作为网络层的•部分来实现,如下图6.它需要IP层的服务来构建IP头,实现机制与其它网络层协议(如ICMP)相似,需要访问IP堆栈。2)堆栈中的块(BumpInTheStack,简称BITS):倘若根本无法访问一台主机的IP堆栈,便需将IPSec作为“堆栈内的块”来实现。通常以一个额外的“填充物”的形式出现,插入到网络层和数据链路层之问,负责从IP堆栈提取数据报,处理后再将其插入,如图7所示。应用层应用层传输层传输层网络层+IPSec网络层数据链路层IPSec图60S集成实现的分层数据链路层图7BITS实现的分层图7BITS实现的分层与OS集成方案有许多好处,其中关键的是:由于1Psec与网络层紧密集成到一起,因此它更有利于诸如分段、PMTU和用户场景(如套接子)之类的网络服务,使实现方案更为有效。但需要访问IP堆栈,即开发人员能拿到IP堆栈的源代码。堆栈中的块实现方案不必访问IP堆栈,开发人员只耍掌握操作系统的链接机制,将IPSec组件插入网络层和数据链路层之间即可。但它最大的问题是功能的重复,要求实现网络层的大部分功能,比如分段和路由,而这些问题又是很难解决的。在操作系统中实现由于IPSec的实现是与操作系统密切相关,所以必须研究各操作系统提供的实现机制。WindowsNT/2000系统:由于微软采用了相时比较封闭的策略,它的内核源码一般是拿不到,所以开发人员只能利用系统公布的编程接口。在内核中有两个公共的接口:网络驱动程序接口规范NDIS和传输驱动程序接口TDI.TCP/IP堆栈就是在这两个接口之间实现的,而此堆栈儿乎是无法插入的,开发人员只能在NDIS接口上做文章。[7]LINUX系统:由于LINUX的所有内核源码都可以免费得到,所以协议模块开发人员是完全可以在它上实现IPSec的•在LINUX中,各层协议之间以及协议层与网络设备驱动程序之间只传递套接字缓冲区,即一个比较复杂的数据结构sk_buff,在sk_buff中有指针和长度域等,这样各层协议即可通过标准函数或方法使用数据。另外,LINUX在文件net/ipv4/pn)tocol.c中也提供了协议模块的注册和注销机制。一旦模块编程完毕,重新编译内核即可。[8]4在传输层实现安全传输通道当前,在传输层能够实现安全传输通道的协议是Netscape通信公司制定的安全套接层协议(SecureSocketLayer,简称SSL),它建立在可*的传输服务(如TCP/IP所提供)基础之上。SSL当前为版本3(SSLv3)于1995年12月制定。它主要由以下两个协议组成:SSL记录协议:它涉及应用程序提供的信息的分段、压缩、数据认证和加密。SSLv3提供对数据认证用的MD5和SHA以及数据加密用的R4和DES等的支持,用来对数据进行认证和加密的密钥可以通过SSL的握手协议来协商。SSL握手协议:用来交换版本号、加密算法、(相互)身份认证并交换密钥。SSLv3提供对Deffie-Hellman密钥交换算法、基于RSA的密钥交换机制和另•种实现在Fortezzachip上的密钥交换机制的支持。1996年4月,IETF授权一个传输层安全(TLS)工作组着手制定一个传输层安全协议(TLSP),以便作为标准提案向1ESG正式提交。TLSP将会在许多地方酷似SSL.因特网层安仝机制的主要优点是它的透明性,即安全服务的提供不要求应用层做任何改变,这时传输层来说是做不到的。原则上,任何TCP/IP应用,只要应用传输层安全协议,比如说SSL或PCT,就必定要进行若干修改以增加相应的功能,并使用(稍微)不同的IPC界面。于是,传输层安全机制的主:要缺点就是要对传输层1PC界面和应用程序两端都进行修改.可是,比起应用层的安全机制来,这里的修改还是相当小的。另一个缺点是,基于UDP的通信很难在传输层建立起安仝机制来。同网络层安全机制相比,传输层安全机制的主要优点是它提供基丁进程对进程的(而不是主机对主机的)安全服务.这一成就如果再加上应用级的安全服务,就可以再向前跨越•大步了.5应用层实现安全传输通道网络层(或传输层)的安全协议允许为主机(进程)之间的数据通道增加安全属性。本质上,这意味着真正的安全数据通道还是建立在主机(或进程)之间,但对同一通道I:传输的具体文件的安全性要求却不能区分.比如说,如果•个主机与另•个主:机之间建立起•条安全的IP通道,那么所有在这条通道上传输的IP包就都要自动地被加密。同样,如果一个进程和另一个进程之间通过传输层安全协议建立起了一条安全的数据通道,那么两个进程间传输的所有消息就都要自动地被加密。如果确实想要区分具体文件的不同的安全性要求,那就必须借助于应用层的安全性。提供应用层的安全服务实际上是最灵活的处理单个文件安全性的手段。例如一个电子邮件系统可能需要对要发出的信件的个别段落实施数字签名。较低层的协议提供的安全功能一般不会知道任何要发出的信件的段落结构,从而不可能知道该对哪一部分进行签名。只有应用层是唯一能够提供这种安全服务的层次。在应用层提供安全服务主要有以下几种可能的做法:1)就是对每个应用(或应用协议)分别进行修改,这是最容易想到的,一些重要的TCP/IP应用也已经这样做了。比如S-HTTP,它是Web上使用的超文本传输协议(HTTP)的安全增强版本,提供文件级的安全机制。2)安全外壳(SecureShell,简称SSH):上述方法面临一个主要的问题,就是每个这样的应用都要单独进行相应的修改,如果能有一个统一的修改手段,那就好多了.通往这个方向的一个步骤就是赫尔辛基大学的TatuYloenen开发的安全sheU(SSH).SSH允许其用户安全地登录到远程主机上,执行命令,传输文件。它实现了•个密钥交换协议,以及主机及客户端认证协议。3)认证和密钥分配协议:把SSH的思路再往前推进一步,就到了认证和密钥分配系统,本质上,认证和密钥分配系统提供的是•个应用编程接口(API),它可以用来为任何网络应用程序提供安全服务,例如:认证、数据机密性和完整性、访问控制以及非否认服务。目前已经有一些实用的认证和密钥分配系统,如:MIT的Kerberos,IBM的CryptoKnight和NetwrokSecurityProgram等都是得到广泛采用的实例。4)通用安全服务编程接I」(SecureServiceProgrammingInterface.简称GSS-API):认证和密钥分配协议的一个问题是它仍要求对应用本身做出改动。考虑到这一点,对一个认证和密钥分配协议来说,提供一个标准化的安全API就显得格外重要。能做到这一点,开发人员就不必再为增加很少的安全功能而对整个应用程序大动干戈了。因此,认证系统设计领域内最主要的进展之一就是制定了标准化的安仝API,即通用安全服务API(GSS-API).GSS-API(vl及v2)对于一个非安全专家的编程人员来说可能仍显得过于技术化了些,但德州Austin大学的研究者们开发的安全网络编程(SNP),把界面做到了比GSS-API更高的层次,使同网络安全性有关的编程更加方便了。6小结在网I:建立安全传输通道是使用网络开展关键业务的必然需求,对了不同的应用,需要在不同的层次来考虑安全传输。也就是说,不同层次的安全传输通道技术提供的功能和特性各不相同,因而应用领域也不同:PPTP和L2TP协议可保障客户机与远程网络之间的通信安全,主要用于远程访问VPN-IPSec规范可保障主机之间、安全网关之间(如路由器或防火墙)或主机与安全网关之间的数据报的安全。它可以实现各种方式的VPN:ExtraNetVPN、IntraNetVPN和远程访问VPN,是应用领域最广泛,功能最全面,使用最灵活的一种保障端到端通信安全的因特网安全标准。传输层安全机制可提供应用程序之间(即进程之间)的安全服务,而不是主机之间(IPSec提供的);缺点是通信的应用程序两端都要进行少量的修改,FL基于UDP的通信很难在传输层建立起安全机制来。应用层安全机制可以区分具体文件的不同的安全性要求,它实际上是最灵活的唯•的处理单个文件安全性的手段;但每种应用为了获得所需的安全服务都要进行大量的修改,不像在数据链路层和网络层实现安全可以做到一劳永逸。参考文献[1][美1ThomasLeeJosephDavies著,北京超品计算机有限责任公司译.Windows2000TCP/IP协议和服务技术参考.人民邮电出版社,2000年11月.410-419页[2](美)NaganandDoraswamy,DanHarkins著,京京工作室译.IPSec新一代因特网安全标准.机械工业出版社,2000年3月S.Kent&R.Atkinson.IPEncapsulatingSecurityPayload(ESP),RFC2406.November1998。S.Kent&R.Atkinson.IPAuthenticationHeader,RFC2402.November1998D.Piper.TheInternetIPSecurityDomainofInterpretationforISAKMPRFC2407.November1998[6](美)NaganandDoraswamy,DanHarkins著,京京工作室译.IPSec新•代因特网安全标准.机械工业出版社,2000年3月.4042页.[7]MicrosoftCorp.MSDN2001,Windows2000DDK,NetworkDrivers.[8](美)DavidA.Rusling等著,朱珂,涂二等译.Linux编程白皮书.The

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论