资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,7,章,IP,安全与,Web,安全,内容提要,IPSec,的必要性,,IPSec,中的,AH,协议和,ESP,协议, 密钥交换协议,IKE, VPN,的功能以及解决方案,Web,安全性的,3,个方面和,SSL,和,TLS,安全协议的内容与体系结构,7.1,IP,安全概述,大型网络系统内运行多种网络协议(,TCP/IP,、,IPX/SPX,和,NETBEUA,等),这些网络协议并非为安全通信设计。,而其,IP,协议维系着整个,TCP/IP,协议的体系结构,除了数据链路层外,,TCP/IP,的所有协议的数据都是以,IP,数据报的形式传输的,,TCP/IP,协议簇有两种,IP,版本:版本,4,(,IPv4,)和版本,6,(,IPv6,)。,IPv6,是,IPv4,的后续版本,,IPv6,简化了,IP,头,其数据报更加灵活,同时,IPv6,还增加了对安全性的考虑。,7.1.1,IP,安全的必要性,目前占统治地位的是,IPv4,,,IPv4,在设计之初没有考虑安全性,,IP,包本身并不具备任何安全特性,导致在网络上传输的数据很容易受到各式各样的攻击:比如伪造,IP,包地址、修改其内容、重播以前的包以及在传输途中拦截并查看包的内容等。因此,通信双方不能保证收到,IP,数据报的真实性。,为了加强因特网的安全性,从,1995,年开始,,IETF,着手制定了一套用于保护,IP,通信的,IP,安全协议(,IP Security,,,IPSec,)。,IPSec,是,IPv6,的一个组成部分,是,IPv4,的一个可选扩展协议。,IPSec,弥补了,IPv4,在协议设计时缺乏安全性考虑的不足。,7.1.1,IP,安全的必要性,-,IPSec,协议簇,IPSec,定义了一种标准的、健壮的以及包容广泛的机制,可用它为,IP,以及上层协议(比如,TCP,或者,UDP,)提供安全保证。,IPSec,的目标是为,IPv4,和,IPv6,提供具有较强的互操作能力、高质量和基于密码的安全功能,在,IP,层实现多种安全服务,包括访问控制、数据完整性、机密性等。,IPSec,通过支持一系列加密算法如,DES,、三重,DES,、,IDEA,和,AES,等确保通信双方的机密性。,IPSec,协议簇包括两个安全协议:,AH,协议和,ESP,协议。,AH,协议(,Authentication Header,,验证头):可以证明数据的起源地、保障数据的完整性以及防止相同数据包在因特网重播。,ESP,协议(,Encapsulating Security Payload,,封装安全载荷):具有所有,AH,的功能,还可以利用加密技术保障数据机密性。,虽然,AH,和,ESP,都可以提供身份认证,但它们有,2,点区别:,ESP,要求使用高强度的加密算法,会受到许多限制。,多数情况下,使用,AH,的认证服务已能满足要求,相对来说,,ESP,开销较大。,有两套不同的安全协议意味着可以对,IPSec,网络进行更细粒度的控制,选择安全方案可以有更大的灵活度。,7.1.2,IPSec,的实现方式,-,传输模式,IPSec,的实现方式有两种:传输模式和隧道模式,都可用于保护通信。其中传输模型的作用方式,传输模式用于两台主机之间,保护传输层协议头,实现端到端的安全性。当数据包从传输层传送给网络层时,,AH,和,ESP,会进行拦截,在,IP,头与上层协议之间需插入一个,IPSec,头。当同时应用,AH,和,ESP,到传输模式时,应该先应用,ESP,,再应用,AH,。,7.1.2,IPSec,的实现方式,-,隧道模式,隧道模式用于主机与路由器或两部路由器之间,保护整个,IP,数据包。将整个,IP,数据包进行封装(称为内部,IP,头),然后增加一个,IP,头(称为外部,IP,头),并在外部与内部,IP,头之间插入一个,IPSec,头,。,7.1.3,IPSec,的实施,IPSec,可在终端主机、网关,/,路由器或者两者中同时进行实施和配置。至于,IPSec,在网络什么地方配置,则由用户对安全保密的要求来决定。,在需要确保端到端的通信安全时,在主机实施显得尤为有用。然而,在需要确保网路一部分的通信安全时,在路由器中实施,IPSec,就显得非常重要。,7.1.4,验证头,AH,AH,为,IP,报文提供数据完整性校验和身份验证,还具备可选择的重放攻击保护,但不提供数据加密保护。,AH,不对受保护的,IP,数据报的任何部分进行加密,除此之外,,AH,具有,ESP,的所有其他功能。,AH,的协议分配数为,51,,,AH,和,ESP,同时保护数据,在顺序上,,AH,在,ESP,之后,,AH,格式,封装安全有效载荷,ESP,ESP,为,IP,报文提供数据完整性校验、身份验证、数据加密以及重放攻击保护等。除了,AH,提供的所有服务外,还提供机密性服务。,ESP,可在传输模式以及隧道模式下使用。,ESP,头可以位于,IP,头与上层协议之间,或者用它封装整个,IP,数据报。,ESP,协议分配数为,50,,,ESP,头的格式如图,7.2,密钥交换协议,IKE,IPSec,使用共享密钥执行数据验证以及机密性保障任务,为数据传输提供安全服务。对,IP,包使用,IPSec,保护之前,必须建立一个安全关联,SA,,,SA,可以手工创建或者动态建立。,采用手工增加密钥的方式会大大降低扩展能力,利用因特网密钥交换(,Internet Key Exchange, IKE,)可以动态地验证,IPSec,参与各方的身份。,IKE,的主要用途是在,IPSec,通信双方之间建立起共享安全参数以及验证过的密钥,也就是建立“安全关联”关系。,7.2.1,IKE,协议的组成,整个,IKE,协议规范主要由,3,个文档定义:,RFC2407,、,RFC2408,和,RFC2409,。,RFC2407,定义了因特网,IP,安全解释域。,RFC2408,描述了因特网安全关联和密钥管理协议(,Internet Security Association and Key,Manangement,Protocol,,,KSAKMP,)。,RFC2409,描述了,IKE,协议如何利用,Oakley,,,SKEME,和,ISAKMP,进行安全关联的协商。,Oakley,是美国,Arizona,大学的,Hilarie,Orman,提出的,是一种基于,Diffie-Hellman,算法的密钥交换协议,并提供附加的安全性。,SKEME,是由密码专家,Hugo,Krawczyk,提出的另外一种密钥交换协议,该协议定义了验证密钥交换的一种类型,其中通信各方利用公钥加密实现相互的验证。,ISAKMP,由美国国家安全局的研究人员提出,该机构是一个高度机密的机构,美国政府过去甚至否定过它的存在。,ISAKMP,为认证和密钥交换提供了一个框架,可实现多种密钥交换。,IKE,基于,ISAKMP,,,Oakley,和,SKEME,,是一种“混合型”协议,它建立在由,ISAKMP,定义的一个框架上,同时实现了,Oakley,和,SKEME,协议的一部分。它沿用了,ISAKMP,的基础、,Oakley,的模式以及,SKEME,的共享和密钥更新技术。,7.2.2,ISAKMP,协议,ISAKMP,定义了整套加密通信语言,目的是为了通信双方建立安全关联并初始化密钥。,ISAKMP,提供了对身份进行验证的方法和对安全服务进行协商的方法,还规定了通信双方实体的身份验证,安全关联的建立管理,密钥产生的方法以及安全威胁等。,ISAKMP,消息的构造方法是:在一个,ISAKMP,报头后链接一个或者多个有效载荷。,ISAKMP,报头如图,7.2.3,IKE,的两个阶段,IKE,基于两个阶段的,ISAKMP,来建立安全关联,SA,,第一阶段建立,IKE SA,,第二阶段利用,IKE SA,建立,IPSec,的,SA,。对于第一阶段,,IKE,交换基于两种模式:主模式(,Main Mode,)和野蛮模式(,Aggressive Mode,)。,主模式是一种身份保护交换,野蛮模式基于,ISAKMP,的野蛮交换方法。在第二阶段中,,IKE,提供一种快速交换(,Quick Mode,),作用是为除,IKE,之外的协议协商安全服务。,IKE,的第一阶段,主模式交换和野蛮模式交换,第一阶段的主要任务是建立,IKE SA,,为后面的交换提供一个安全通信信道。使用主模式交换和野蛮模式交换。这两种模式都可以建立,SA,,两者的区别在于野蛮模式只用到主模式一半的消息,因此野蛮模式的协商能力受到限制的,而且它不提供身份保护。,但是野蛮模式可以有一些特殊用途,比如远程访问等。另外如果发起者已经知道响应者的策略,利用野蛮模式可以快速的建立,IKE SA,。主模式和野蛮模式都允许,4,中不同的验证方法:(,1,)预共享密钥(,2,),DSS,数字签名、(,3,),RSA,数字签名(,4,)交换加密。,IKE,的第二阶段,快速模式交换,快速模式交换主要是为通信双方协商,IPSec,SA,的具体参数,并生成相关密钥。,IKE SA,通过数据加密、消息验证来保护快速模式交换。,快速模式交换和第一阶段交换相互关联,来产生密钥材料和协商,IPSec,的共享策略。快速模式交换的信息由,IKE SA,保护,即除了,ISA KMP,报头外,所有的载荷都需要加密,并且还要对消息进行验证。,7.3,VPN,技术,虚拟专用网(,Virtual Private Network,,,VPN,)指通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过公用网络的安全、稳定的隧道,是对企业内部网的扩展。,7.3.1,VPN,的功能,虚拟专用网络可以实现不同网络的组件和资源之间的相互连接。虚拟专用网络能够利用,Internet,或其它公共互联网络的基础设施为用户创建隧道,并提供与专用网络一样的安全和功能保障。虚拟专用网至少应能提供,3,个方面功能:,加密数据,以保证通过公网传输的信息即使被他人截获也不会泄露。,信息认证和身份认证,保证信息的完整性、合法性,并能鉴别用户的身份。,提供访问控制,不同的用户有不同的访问权限。,7.3.2,VPN,的解决方案,VPN,作为一种组网技术的概念,有,3,种应用方式:远程访问虚拟专网(,Access VPN,)、企业内部虚拟专网(,Intranet VPN,)、扩展的企业内部虚拟专网(,Extranet VPN,)。,VPN,可以在,TCP/IP,协议簇的不同层次上进行实现,在此基础上提出了多种,VPN,解决方案,每一种解决方案都有各自的优缺点,用户根据需求采用。,7.3.2,VPN,的解决方案,AccessVPN,(远程访问,VPN,),又称为拨号,VPN(,即,VPDN),,是指企业员工或企业的小分支机构通过公网远程拨号的方式构筑的虚拟网。典型的远程访问,VPN,是用户通过本地的信息服务提供商,(ISP),登录到因特网上,并在现在的办公室和公司内部网之间建立一条加密信道。,7.3.2,VPN,的解决方案,IntranetVPN,(内部网,VPN,),。即企业的总部与分支机构间通过公网构筑的虚拟网。这种类型的连接带来的风险最小,因为公司通常认为他们的分支机构是可信的,并将它作为公司网络的扩展。内部网,VPN,的安全性取决于两个,VPN,服务器之间加密和验证手段上。,7.3.2,VPN,的解决方案,ExtranetVPN,(外联网,VPN,),即企业间发生收购、兼并或企业间建立战略联盟后,使不同企业网通过公网来构筑的虚拟网。它能保证包括,TCP,和,UDP,服务在内的各种应用服务的安全,如,Email,、,HTTP,、,FTP,、,RealAudio,、数据库的安全以及一些应用程序如,Java,、,ActiveX,的安全。,7.3.2,VPN,的解决方案,VPN,技术通过架构安全为专网通信提供具有隔离性和隐藏性的安全需求。目前,,VPN,主要采用,4,种技术来保证安全,,这,4,种技术分别是,隧道技术、加解密技术、密钥管理技术和身份认证技术,。其中隧道技术是,VPN,的基本技术。,7.3.2,VPN,的解决方案,隧道是由隧道协议形成的,分成第二、三层隧道协议,在网络层实现数据封装的协议叫第三层隧道协议,,IPSec,就属于这种协议类型;在数据链路层实现数据封装的协议叫第二层隧道协议,常用的有,PPTP,、,L2TP,等。此外还有两种,VPN,的解决方案:在链路层上基于虚拟电路的,VPN,技术和,SOCKS,同,SSL,(,Secure Socket Layer,)协议配合使用在应用层上构造,VPN,,其中,SOCKS,有,SOCK v4,和,SOCK v5,两个版本。,基于虚拟电路的,VPN,通过在公共的路由来传送,IP,服务。电信运营商或者电信部门就是采用这种方法,直接利用其现有的帧交换或信元交换(如,ATM,网)基础设施提供,IP VPN,服务。它的,QoS,能力由,CIR,(,Committed Information Rate,)和,ATM,的,QoS,来确保,另外它具有虚拟电路拓扑的弹性。但是它的路由功能不够灵活,构建的相对费用比,IP,隧道技术高,而且还缺少,IP,的多业务能力,比如:,VOIP,(,Voice Over IP,)。,7.4,Web,安全概述,Web,是一个运行于,Internet,和,TCP/IP Intranet,之上的基本的,Client/Server,应用。,Web,安全性涉及前面讨论的所有计算机与网络的安全性内容。同时还具有新的挑战。,Web,具有双向性,,Web Server,易于遭受来自,Internet,的攻击,而且实现,Web,浏览、配置管理、内容发布等功能的软件异常复杂,其中隐藏许多潜在的安全隐患。,实现,Web,安全的方法很多,从,TCP/IP,协议的角度可以分成,3,种:网络层安全性、传输成安全性和应用层安全性。,7.4.1,网络层安全性,传统的安全体系一般都建立在应用层上。这些安全体系虽然具有一定的可行性,但也存在着巨大的安全隐患,因为,IP,包本身不具备任何安全特性,很容易被修改、伪造、查看和重播。,IPSec,可提供端到端的安全性机制,可在网络层上对数据包进行安全处理。,IPSec,可以在路由器、防火墙、主机和通信链路上配置,实现端到端的安全、虚拟专用网络和安全隧道技术等。基于网络层使用,IPSec,来实现,Web,安全的模型如图,7.4.2,传输层安全性,在,TCP,传输层之上实现数据的安全传输是另一种安全解决方案,安全套接层,SSL,和,TLS,(,Transport Layer Security,)通常工作在,TCP,层之上,可以为更高层协议提供安全服务。结构如图,7.4.3,应用层安全性,将安全服务直接嵌入在应用程序中,从而在应用层实现通信安全,如图所示。,SET,(,Secure Electronic Transaction,,安全电子交易)是一种安全交易协议,,S/MIME,、,PGP,是用于安全电子邮件的一种标准。它们都可以在相应的应用中提供机密性、完整性和不可抵赖性等安全服务,7.5,SSL/TLS,技术,SSL,是,Netscape,公司在网络传输层之上提供的一种基于,RSA,和保密密钥的安全连接技术。,SSL,在两个结点间建立安全的,TCP,连接,基于进程对进程的安全服务和加密传输信道,通过数字签名和数字证书可实现客户端和服务器双方的身份验证,安全强度高。,7.5.1,SSL/TLS,的发展过程,1994,年,Netscape,开发了安全套接层协议,Secure Socket Layer,,专门用于保护,Web,通讯。最初发布的,1.0,版本还不成熟,到了,2.0,的时候,基本上可以解决,Web,通讯的安全问题,,1996,年发布了,SSL3.0,,增加了一些算法,修改了一些缺陷。,1997,年,IETF,发布了传输层安全协议,TLS 1.0,草稿,也称为,SSL 3.1,,同时,,Microsoft,宣布与,Netscape,一起支持,TLS 1.0,。,1999,年,正式发布了,RFC 2246,,也就是,The TLS Protocol v1.0,的正式版本。这些协议在浏览器中得到了广泛的支持,,IE,浏览器的,SSL,和,TLS,的设置如图,7.5.2,SSL,体系结构,SSL,协议的目标就是在通信双方利用加密的,SSL,信道建立安全的连接。它不是一个单独的协议,而是两层协议,结构如图,7.5.3,SSL,的会话与连接,SSL,会话由握手协议创建,定义了一系列相应的安全参数,最终建立客户机和服务器之间的一个关联。对于每个,SSL,连接,可利用,SSL,会话避免对新的安全参数进行代码繁多协商。,每个,SSL,会话都有许多与之相关的状态。一旦建立了会话,就有一个当前操作状态。,SSL,会话状态参数包括:,(,1,)会话标志符(,Session Identifier,)用来确定活动或可恢复的会话状态;,(,2,)对等实体证书(,Peer Certificate,),是对等实体,X.509 v3,证书;,(,3,)压缩方法(,Compression Method,);,(,4,)加密规范(,Cipher Spec,)包括加密算法,DES,,,3DES,和,IDEA,等、消息摘要算法,MD5,和,SHA-1,等,以及相关参数;,(,5,)主密码(,Master Secret,),由客户机和服务器共享的密码;,(,6,)是否可恢复(,is,Resumable,)会话是否可用于初始化新连接的标志。,7.5.3,SSL,的会话与连接,SSL,连接是一个双向连接,每个连接都和一个,SSL,会话相关。,SSL,连接成功后,可以进行安全保密通信。,SSL,连接状态的参数包括,7,个:,(,1,)服务器和客户机随机数(,Server and Client Random,):,Server,和,Client,为每一个连接所选择的字节序列。,(,2,)服务器写,MAC,秘密(,Server Write MAC Secret,):一个密钥,用来对,Server,送出的数据进行,MAC,操作。,(,3,)客户机写,MAC,秘密(,Client Write MAC Secret,):一个密钥,用来对,Client,送出的数据进行,MAC,操作。,(,4,)服务器写密钥(,Server Write Key,):用于,Server,进行数据加密,,Client,进行数据解密的对称保密密钥。,(,5,)客户机写密钥(,Client Write Key,):用于,Client,进行数据加密,,Server,进行数据解密的对称保密密钥;,(,6,)初始化向量(,Initialization Vectors,):当数据加密采用,CBC,方式时,每一个密钥保持一个,IV,。该字段首先由,SSL Handshake Protocol,,以后保留每次最后的密文数据块作为,IV,。,(,7,)序列号(,Sequence Number,):每一方为每一个连接的数据发送与接收维护单独的顺序号。当一方发送或接收一个改变的,cipher spec message,时,序号置为,0,最大,264-1,7.5.4,OpenSSL,概述,目前实现,SSL/TLS,的软件虽然不多,但都很优秀。除了,SSL,标准提出者,Netscape,实现的,,OpenSSL,是一个非常优秀的实现,SSL/TLS,的开放源代码软件包,主要是作为提供,SSL,算法的函数库供其他软件调用而出现的,可给任何,TCP/IP,应用提供,SSL,功能。,1995,年,,Eric A. Young,和,Tim J. Hudson,开始开发,OpenSSL,,后来不断发展更新,直到现在,,SSL,还在不断的修改和完善,新版本也不断的推出。最新的版本可以从,OpenSSL,的官方网站,http:/,www.openssl.org,下载。,7.6,安全电子交易,SET,简介,电子商务在提供机遇和便利的同时,也面临着一个最大的挑战,即交易的安全问题。在网上购物的环境中,持卡人希望在交易中保密自己的帐户信息,使之不被人盗用;商家则希望客户的定单不可抵赖,并且,在交易过程中,交易各方都希望验明其他方的身份,以防止被欺骗。,1996,年,2,月,美国,Visa,和,MasterCard,两大信用卡组织联合国际上多家科技机构,共同制定了应用于,Internet,上的以银行卡为基础进行在线交易的安全标准,这就是,安全电子交易,(,Secure Electronic Transaction,,,SET,)。它采用公钥密码体制和,X.509,数字证书标准,主要应用于保障网上购物信息的安全性。,本章小结,本章主要介绍了,IP,安全性和,Web,安全性的机制以及实现方法。实现,IP,安全性的方法是使用,IPSec,重点介绍了,IPSec,中的,AH,协议的结构和,ESP,协议的结构。介绍了密钥交换协议,IKE,,需要了解,IKE,协议的组成,重点理解,VPN,的解决方案以及,SSL/TLS,技术的体系结构。,
展开阅读全文