【文档说明】信息安全系统工程VPN和IPSEC.pptx,共(113)页,5.992 MB,由精品优选上传
转载请保留链接:https://www.ichengzhen.cn/view-292342.html
以下为本文档部分文字说明:
一、VPN概述◼VPN—VirtualPrivateNetwork,虚拟专用网。◼VPN是将物理上分布在不同地点的网络通过公用骨干网(尤其是Internet)连接而成的逻辑上的虚拟子网。◼为了保障信息安全,VPN技术采用了鉴别、访问控制、保密性、完整性等措施,以防止信息被泄露、篡改和复制。V
irtual、Private、Network◼Virtual◼针对传统的“专用网络”而言。◼传统的专用网络往往需要建立自己的物理专用线路(如长途拨号或专线服务),而VPN则是利用公共网络资源和设备建立一个逻辑上的专用通道。
◼尽管没有自己的专用线路,但是这个逻辑上的专用通道却可以提供和专用网络同样的功能。Virtual、Private、Network(续)◼Private◼表示VPN是被特定企业或用户私有的,并不是任何公共网络上的用户
都能够使用已经建立的VPN通道,而是只有经过授权的用户才能使用。◼在VPN通道内传输的数据经过了加密和认证,从而保证了传输内容的机密性和完整性。◼Network◼表示VPN是一种专门的组网技术和服务,企业为了建立和使用VPN,必须购买和配备相应的网络设备。VPN的类型◼VPN主要有三种类型:◼Ac
cessVPN:远程访问VPN;◼IntranetVPN:企业内部VPN;◼ExtranetVPN:企业扩展VPN。AccessVPN◼AccessVPN即移动VPN,适用于企业内部人员出差或远程办公的情况,对应于传统的远程访问网络。◼外地员工利用当地的ISP(InternetServi
ceProvider)接入Internet,就可以和企业VPN网关建立私有的隧道连接。出差员工家庭办公Internet总部网关AccessVPN(续)◼在传统方式中,在企业网络内部需要架设一个拨号服务器作为RA
S(RemoteAccessServer),用户通过拨号到该RAS来访问企业内部网◼这种方式需要购买专门的RAS设备,价格昂贵;用户只能进行拨号,也不能保证通信安全,而且对于远程用户可能要支付昂贵的长途拨号费用
。◼AccessVPN通过拨入当地的ISP进入Internet再连接企业的VPN网关,在用户和VPN网关之间建立一个安全的“隧道”,通过该隧道安全地访问远程的内部网,这样既节省了通信费用,能保证安全性。IntranetVPN◼如果要进行企业内部异地分支机构之间的互联,可以使用IntranetVPN
,即网关对网关VPN。◼IntranetVPN在异地两个网络的网关之间建立了一个加密的VPN隧道,两端的内部网络可以通过该VPN隧道安全地进行通信,就好像和本地网络通信一样。◼IntranetVPN利用公共网络(如Internet)连接
企业总部、远程办事处和分支机构,企业拥有和专用网络相同的策略,包括安全、服务质量、可管理性和可靠性等。IntranetVPN(续)总部分部网关网关Internet内部IP,如:192.168.1.1内部IP,如:192.168.1.100好像可直接通过内部IP通
信公网IP公网IP采用隧道协议(如IPoverIP)进行传输,用公网IP报文承载内部IP报文ExtranetVPN◼如果企业希望将客户、供应商、合作伙伴连接到企业内部网,可以使用ExtranetVPN。◼ExtranetVP
N也是一种网关对网关的VPN。总部分部网关网关网关合作伙伴InternetVPN的主要优点◼1、降低成本:◼VPN是利用了现有的Internet或其他公共网络的基础设施为用户创建安全隧道,不需要使用专门的线路,如DDN和PS
TN,这样就节省了专门线路的租金。◼如果是采用远程拨号进入内部网络,访问内部资源,还需要支付长途话费;而采用VPN技术,只需拨入当地的ISP就可以安全地接入内部网络,这样也节省了线路话费。VPN的主要优点(续)◼2、易于扩展:◼如果采用专线连接,实施起来比较困难,在分部
增多、内部网络结点越来越多时,网络结构趋于复杂,费用昂贵。◼如果采用VPN,只是在结点处架设VPN设备,就可以利用Internet建立安全连接,如果有新的内部网络想加入安全连接,只需添加一台VPN设备,改变相关配置即可。VPN的主要优点(续)◼3、保
证安全:◼VPN技术利用可靠的加密认证技术,在内部网络之间建立隧道,能够保证通信数据的机密性和完整性,保证信息不被泄漏或暴露给未授权的实体,保证信息不被未授权的实体改变、删除或替代。◼在现在的网络应用
中,除了让外部合法用户通过VPN访问内部资源外,还需要内部用户方便地访问Internet,这样可将VPN设备和防火墙配合,在保证网络畅通的情况下,尽可能的保证访问安全。二、VPN技术◼1、密码技术◼2、身份认证技术◼3、隧道技术◼4、密钥管理技术1、
密码技术◼VPN利用Internet的基础设施传输企业私有的信息,因此传递的数据必须经过加密,从而确保网络上未授权的用户无法读取该信息。◼因此可以说密码技术是实现VPN的关键核心技术之一。2、身份认证技术◼VPN需要解决的
首要问题就是网络上用户与设备的身份认证。◼从技术上说,身份认证基本上可以分成两类:非PKI体系和PKI体系的身份认证。◼非PKI体系的身份认证协议主要有:◼PAP—PasswordAuthenticationProtocol◼CHAP—Challenge-HandshakeAuthentica
tionProtocol◼MS-CHAP—MicrosoftCHAP◼RADIUS—RemoteAuthenticationDialInUserService◼PKI体系的身份认证主要依赖CA(CertificateAuthority)签发的符合X.509规范
的数字证书。CHAP◼CHAP是一种基于散列函数的认证协议,见RFC1994。◼CHAP协议流程:用户U认证服务器AS1)提出认证请求(N)2)发送“挑战”(R)3)应答挑战H(PW||R)1)提出认证请求(N)4)认证通过,登录系统CHAP协议流程1、U—〉AS:
N用户输入用户名N,向认证服务器发出认证请求。2、AS—〉U:R认证服务器首先检索数据库,若无与之匹配的用户名N,则拒绝用户的认证请求;否则选择随机数R作为挑战信息传给用户,同时提示用户输入口令。3、U—〉AS:H(PW||R)用户输入口令PW并计算H(PW||R)
,然后将H(PW||R)作为应答信息传给认证服务器。CHAP协议流程(续)4、AS—〉U:验证用户,确定是否允许登录。认证服务器根据自己存储的用户口令PW计算H(PW||R),然后与接收到的应答信息进行比较。如果二者相等,则通过对用户的身份认证,登录成功;否则认证用户身份非法,拒绝
登录请求。5、登录成功后的周期性验证在随后的通信过程中,认证服务器周期性地发送新的挑战信息给用户,重复步骤(2)~(4),以便随时验证用户身份的合法性,防止入侵者进行插入信道攻击,接管会话过程。3、隧道技术◼隧道◼所谓“隧道”就是一种封装技术,它利用一种网络传输
协议,将其他协议产生的数据报文封装在它自己的报文中在网络中传输。◼生成隧道的协议有两种:◼第二层隧道协议,典型包括◼L2F:Layer2Forwarding,RFC2341;◼PPTP:PointtoPointTunnelingProtocol,RFC2637;◼L2TP:LayerTwo
TunnelingProtocol,RFC2661。◼第三层隧道协议,典型包括◼IPSec:IPSecurity,目前最常用的VPN解决方案;◼GRE:GeneralRoutingEncapsulati
on,RFC2784。隧道协议◼任何隧道协议的数据包格式都是由乘客协议、封装协议和传输协议三部分组成。◼例如,L2TP协议的格式如下:PPP(数据)L2TPUDPIP传输协议封装协议乘客协议隧道协议(续)◼乘客协议◼指用户要传输的数据,也就是被封装的数据,可以是IP、PPP、
SLIP等,这是用户真正要传输的数据。◼如果是IP协议,其中包含的地址有可能是保留IP地址。◼封装协议◼封装协议用于建立、保持和拆卸隧道,如PPTP、L2TP、GRE就属于封装协议。◼传输协议◼乘客协议被封装后应用传输协议实际进行传输。◼典型的传输协议仍然是IP。隧道协议(续)◼为
了理解隧道,可以用邮政系统做比较:◼乘客协议就是写的信,信的语言可以是汉语、英语、法语等,具体如何解释由写信人、读信人自己负责。这就对应于多种乘客协议,对乘客协议数据的解释由隧道双方负责。◼封装协议就是信封,
可能是平信、挂号或者是EMS。这对应于多种封装协议,每种封装协议的功能和安全级别有所不同。◼传输协议就是信的运输方式,可以是陆运、海运或者空运,这对应于不同的传输协议。隧道分类◼根据隧道的端点是用户计算机还是拨号接入服务器(或网关),隧道可以分成两种:自愿隧道和强制隧道。◼自愿隧道(V
oluntaryTunnel)◼客户计算机可以通过发送VPN请求来配置和创建一条自愿隧道,此时用户端计算机作为隧道的客户方成为隧道的一个端点。◼客户计算机上必须安装有隧道客户软件。◼强制隧道(Compu
lsoryTunnel)◼强制隧道由支持VPN的拨号接入服务器(或网关)来配置和创建。◼在强制隧道中,客户端的计算机不作为隧道端点,而是由位于客户计算机和服务器之间的拨号接入服务器(或网关)作为隧道客户端,成为隧道
的端点。(强制)隧道例子Internet安全网关1安全网关222.13.2.5927.168.3.6011.143.1.25463.168.2.25463.168.2/2411.143.1/2411.143.1.163.168.2.1主机21主机11AH隧道AHAH内部头通信终点内部头
通信终点外部头(IP)终点外部头(IP)终点隧道端点访问主机21源IP:11.143.1.1目的IP:63.168.2.1封装隧道内部源IP:11.143.1.1内部目的IP:63.168.2.1外部源IP:22.13.2.59外部目的IP:27.168.3.60解封源IP:11.
143.1.1目的IP:63.168.2.14、密钥管理技术◼在VPN应用中密钥分发与管理非常重要,常用的密钥分发有两种方法:◼1)通过手工配置方式。◼2)采用密钥交换协议动态分发。◼手工配置方式:只适合于简单网络情况,密钥更新不能太频繁。◼自动化的密钥交换协议:◼采用软件方式动态
生成密钥,保证密钥在公网上安全地传输而不被窃取,适合于复杂网络情况,而且密钥可快速更新。◼目前主要的协议有:◼SKIP:SimpleKeyManagementforIP;◼ISAKMP:InternetSecurityAssociationandKeyManagementProtocol(RFC
2408)/Oakley(RFC2412)。三、第二层隧道协议—PP2P和L2TP◼第二层隧道协议用于传输第二层网络协议,它主要应用于构建AccessVPN。◼第二层隧道协议主要有3种:◼1、L2F:由Cisco、Nortel等公司支持的协议,Cisco路由器中支持此协议;◼
2、PPTP:由Microsoft、Ascend、3COM等公司支持的协议,WindowsNT4.0以上版本中支持此协议;◼3、L2TP:二层隧道协议的工业标准,由IETF起草并由Microsoft、Ascend、Cisco、3COM等公司参与制定,
它结合了上述两个协议的优点。1、PPTP协议◼PPTP◼PointtoPointTunnelingProtocol(点到点隧道协议),在RFC2637中定义。◼该协议将PPP数据包封装在IP数据包内,通过IP网络(如Internet或Intranet)进行传送。◼PPTP可看作是
PPP协议的一种扩展◼它提供了一种在Internet上建立多协议的VPN的通信方式,远端用户能够通过任何支持PPTP的ISP访问公司的专用网络。PPTP的协议报文◼PPTP客户端和服务器之间的报文有两种:◼1、控制报文:负责
PPTP隧道的建立、维护和断开;◼2、数据报文:负责传输用户的真正数据。PPTP的控制报文◼PPTP客户端连接PPTP服务器的TCP端口(默认端口号为1723)建立控制连接◼PPTP控制连接负责隧道的建立、维护和断开。◼PPTP控制连
接携带PPTP呼叫控制和管理信息,用于维护PPTP隧道,其中包括周期性地发送回送请求和回送应答报文,以期检测出客户机与服务器之间可能出现的连接中断。◼在创建基于PPTP的VPN连接过程中,使用的认证机制与创建PPP连接时相同,主要有EAP、MS-C
HAP、CHAP、SPAP和PAP。PPTP的控制报文(续)◼PPTP控制连接数据包包括三部分:◼1、IP报头◼2、TCP报头◼3、PPTP控制信息PPTP的数据报文◼PPTP的数据报文的格式如下:外部的IP封装内部实际载荷,可以是另一个I
P报文PPTP的数据报文(续)◼当隧道建好之后,用户数据经过加密和/或压缩之后,再依次经过PPP、GRE、IP的封装,最终得到一个IP包,通过IP网络发送到PPTP服务器。◼PPTP服务器收到该IP后层层解包,得到真正的用户数据,并将用户数据转发到
内部网络上。◼用户的数据可以是多种协议,比如IP数据包、IPX数据包或者NetBEUI数据包。◼PPTP采用RSA公司的RC4作为数据加密算法,保证了隧道通信的安全性。2、L2TP协议◼L2TP:◼LayerTwoTun
nelingProtocol(第二层隧道协议),由RFC2661定义。◼它结合了L2F和PPTP的优点,可以让用户从客户端或访问服务器端发起VPN连接。◼L2TP是由Cisco、Ascend、Microsoft等公司在1999年联合制定的,已经成为二层隧道协议的工业标准,并得到了众多网络厂
商的支持。◼L2TP协议支持IP、X.25、帧中继或ATM等作为传输协议,但目前仅定义了基于IP网络的L2TP。◼L2TP隧道协议可用于Internet,也可用于其他企业专用Intranet中。L2TP协议
术语◼L2TP主要由LAC和LNS构成。◼LAC:◼L2TPAccessConcentrator(L2TP访问集中器),是附属在交换网络上的具有PPP端系统和L2TP协议处理能力的设备,它为用户通过PSTN/ISDN提供网络接入服务。◼LAC支持客户端的L2TP,它用于发起呼叫,接收呼
叫和建立隧道。◼LNS:◼L2TPNetworkServer(L2TP网络服务器),是PPP端系统上用于处理L2TP协议服务器端部分的软件。◼LNS是所有隧道的终点。在传统的PPP连接中,用户拨号连接的终点是LAC,L2TP使得PP
P协议的终点延伸到LNS。L2TP隧道的建立过程L2TP协议报文◼L2TP客户端和服务器之间的报文也有两种:控制报文和数据报文,这两种报文均采用UDP协议封装和传送PPP帧。◼PPP帧的有效载荷即用户传输数据,可以经过加密和
/或压缩◼需要指出的是,与PPTP不同,在Windows2000中,L2TP客户机不采用MPPE对L2TP连接进行加密,L2TP连接的加密由IPSecESP提供。L2TP协议控制报文◼控制报文:◼用于隧道的建立与维护。与PPTP不同,L2TP不是通过TCP协议来进行隧道维护
,而是采用UDP协议。◼在Windows2000中,L2TP客户端和服务器都使用UDP1701端口,不过Windows2000L2TP服务器也支持客户端使用非1701UDP端口。L2TP协议控制报文(续
)L2TP协议数据报文◼L2TP隧道维护控制报文和隧道化用户传输数据具有相同的包格式。◼L2TP用户传输数据的隧道化过程采用多层封装的方法。L2TP数据发送端的发送处理过程◼1)L2TP封装:初始PPP有效载荷如IP数据报、IPX数据报或NetBEUI帧等首先经过PPP报头和L2TP报头的封
装。◼2)UDP封装:L2TP帧进一步添加UDP报头进行UDP封装,在UDP报头中,源端和目的端端口号均为1701。◼3)IPSec封装:基于IPSec安全策略,UDP报文通过添加IPSec封装安全负载ESP报头、报
尾和IPSec认证报尾,进行IPSec加密封装。◼4)IP封装:在IPSec数据报外再添加IP报头进行IP封装,IP报头中包含VPN客户机和服务器的源端和目的端IP地址。◼5)数据链路层封装:数据链路层封装是L2TP帧多层封
装的最后一层,依据不同的物理网络再添加相应的数据链路层报头和报尾。L2TP数据接收端的处理过程◼接收端的处理过程是发送处理过程的逆过程,包括:◼1)处理并去除数据链路层报头和报尾。◼2)处理并去除IP报
头。◼3)用IPSecESP认证报尾对IP有效载荷和IPSecESP报头进行认证。◼4)用IPSecESP报头对数据报的加密部分进行解密。◼5)处理UDP报头并将数据报提交给L2TP协议。◼6)L2TP协议依据L2TP报头中Tunn
elID和CallID分解出某条特定的L2TP隧道。◼7)依据PPP报头分解出PPP有效载荷,并将它转发至相关的协议驱动程序做进一步处理。PPTP与L2TP的比较◼1)PPTP要求互联网络为IP网络,L2TP只要求隧道媒介提供面向数据包的点对点的连接◼L2TP可以在IP(使用UDP)、帧中继永久虚
拟电路(PVCs)、X.25虚拟电路(VCs)或ATMVCs网络上使用。◼2)PPTP只能在两端点间建立单一隧道,L2TP支持在两端点间使用多隧道◼使用L2TP,用户可以针对不同的服务质量创建不同的隧道。◼3)L2TP可以提供包头压缩◼当压缩包头时,系统开销占用4个字节,而PPT
P协议下要占用6个字节。◼4)L2TP可以提供隧道验证,而PPTP不支持隧道验证。四、第三层隧道协议—GRE◼GRE—GenericRoutingEncapsulation(通用路由封装协议)◼由Cisco和NetSmiths公司于1994年提交给IETF,标号为RFC1701和RF
C1702。◼在2000年,Cisco等公司又对GRE协议进行了修订(GREV2),标号为RFC2784。◼GRE支持全部的路由协议(如RIP2、OSPF等),用于在IP包中封装任何协议的数据包,包括IP、IPX、NetBEUI、AppleTalk、BanyanV
INES、DECnet等。◼在GRE中,乘客协议就是上面这些被封装的协议,封装协议就是GRE,传输协议就是IP。GRE报文利用GRE实现VPNGRE协议的优点◼1)通过GRE,用户可以利用公共IP网络连接非IP网络,如
IPX网络、AppleTalk网络等。◼2)通过GRE,可以使用保留地址进行网络互联,或者对公网隐藏企业网的IP地址。◼3)GRE扩大了网络的工作范围,包括那些路由网关次数有限的协议◼如IPX包最多可以转发16次(即经过16个路由器),而在一个隧道连接中看上去只经
过一个路由器。◼4)GRE只提供封装,不提供加密,对路由器的性能影响较小,设备档次要求相对较低。GRE协议的缺点◼1)GRE只提供了数据包的封装,而没有加密功能来防止网络监听和攻击,所以在实际环境中经常与IPSec一起使用。◼由IP
Sec提供用户数据的加密,从而给用户提供更好的安全性。◼2)由于GRE与IPSec采用的是同样的基于隧道的VPN实现方式,所以IPSecVPN在管理、组网上的缺陷,GREVPN也同样具有。◼3)由于对原有IP报文进行了重新封装,所以无法实施IPQoS策略。五、IPSEC◼1
、IPSec协议概述◼2、IPSec协议重要概念◼3、IPSec安全协议—AH◼4、IPSec安全协议—ESP◼5、ISAKMP协议和IKE协议1、IPSec协议概述◼IPSec(IPSecurity)是一种由IETF设计的端到端的确
保IP层通信安全的机制。◼IPSec不是一个单独的协议,而是一组协议◼其定义文件包括了12个RFC文件和几十个Internet草案,已经成为工业标准的网络安全协议。◼IPSec是随着IPv6的制定而产生的,鉴于IPv4的应用仍然很广泛,所以后来在IPSec的制定中也增加了
对IPv4的支持◼IPSec在IPv6中是必须支持的,而在IPv4中是可选的。IPSec要解决的主要安全问题◼IPv4协议在当初设计时并没有过多地考虑安全问题,而只是为了能够使网络方便地进行互联互通,因此IP协议从本质上就是不安全的。◼IPV4的主要安全问题有:◼1)
窃听:◼一般情况下IP通信是明文形式的,第三方可以很容易地窃听到IP数据包并提取出其中的应用层数据;◼“窃听”虽然不破坏数据,却造成了通信内容外泄,甚至危及敏感数据的安全。IPSec要解决的主要安全问题(续)◼2)篡改:
◼攻击者可以在通信线路上非法窃取到IP数据包,修改其内容并重新计算校验和,数据包的接收方一般不可能察觉出来。◼作为网络通信用户,即使并非所有的通信数据都是高度机密的,也不想看到数据在传输过程中有任何差错。◼3)IP欺骗:◼在一台机器上可以假
冒另外一台机器向接收方发包,接收方无法判断收到的数据包是否真的来自该IP包中所声称的源IP地址。◼4)重放攻击:◼搜集特定的IP包,进行一定的处理,然后再一一重新发送,欺骗接收方主机。IPSec协议族的RFC文档
RFC内容2401IPSec体系结构2402AH(AuthenticationHeader)协议2403HMAC-MD5-96在AH和ESP中的应用2404HMAC-SHA-1-96在AH和ESP中的应用2405DES-CB
C在ESP中的应用2406ESP(EncapsulatingSecurityPayload)协议2407IPSecDOI2408ISAKMP协议2409IKE(InternetKeyExchange)协议
2410NULL加密算法及在IPSec中的应用2411IPSec文档路线图2412OAKLEY协议IPSec的功能◼1、作为一个隧道协议实现了VPN通信:◼IPSec作为第三层的隧道协议,可以在IP层上创建一个安全的隧道,使两
个异地的私有网络连接起来,或者使公网上的计算机可以访问远程的企业私有网络。◼2、保证数据来源可靠:◼在IPSec通信之前双方要先用IKE认证对方身份并协商密钥,只有IKE协商成功之后才能通信。◼由于第三方不可能知道验证和加密的算法以及相关密钥,因此无
法冒充发送方,即使冒充,也会被接收方检测出来。IPSec的功能(续)◼3、保证数据完整性◼IPSec通过验证算法功能保证数据从发送方到接收方的传送过程中的任何数据篡改和丢失都可以被检测。◼4、保证数据机密性◼IPSec通过加密算法使只有真正的接收方才能获取真正的发送内容,而他人无法获知数
据的真正内容。IPSec体系结构图IPSec的AH和ESP协议数据完整性验证:Hash函数产生的验证码数据源身份认证:计算验证码时加入共享会话密钥防重放攻击:在AH报头中加入序列号封装安全载荷(ESP)
:除上述三种服务,还能够数据加密两台主机之间两台安全网关之间主机与安全网关之间鉴别头(AH)AH和ESP可单独/嵌套使用2、IPSec协议重要概念◼1)解释域(DOI)◼2)安全联盟(SA)和安全联盟数据库(SAD)◼3)安全策略(SP)和安全策略数据库(SPD)◼4)传输模式和
隧道模式解释域(DOI)◼DOI:DomainofInterpretation◼为使用IKE进行协商SA的协议统一分配标识符。◼共享一个DOI的协议从一个共同的命名空间中选择安全协议和变换、共享密码以
及交换协议的标识符等,DOI将IPSec的RFC文档联系到一起。安全联盟(SA)◼SA(SecurityAssociation,安全联盟)是构成IPSec的基础,它是两个IPSec实体(主机、安全网关
)之间经过协商建立起来的一种协定。◼SA的内容包括采用的具体协议(AH还是ESP)、运行模式(传输模式还是隧道模式)、验证算法、加密算法、加密密钥、密钥生存期、抗重放窗口、计数器等,从而决定了保护什么、如何保护以及谁来保护。◼SA是单向的:进入SA负责处理接收到的数据包,外出SA负责处理要发送
的数据包◼每个通信方必须要有两种SA,一个进入SA,一个外出SA,这两个SA构成了一个SA束(SABundle)。SA的管理方法◼1)手工管理:◼SA的内容由管理员手工指定、手工维护。◼手工维护容易出错,而且手工建立的SA没有生存周期限制,一旦建立了就不会过期(除
非手工删除),因此有安全隐患。◼2)通过IKE自动管理:◼SA的自动建立和动态维护一般通过IKE协议进行。◼利用IKE创建和删除SA,不需要管理员手工维护,而且SA有生命期。◼如果安全策略要求建立安全、保密的连接,但又不存在与该连接相应的SA,IPSec的内核会立刻启动IKE来协商SA。S
A的标识◼每个SA由三元组(SPI、源/目的IP地址、IPSec协议)惟一标识,含义如下:◼SPI(SecurityParameterIndex,安全参数索引):32位的安全参数索引,用于标识同一个目的地的SA。◼源/目的IP地址:◼表示对方的IP地址。◼对于外出数据包,指
目的IP地址;对于进入IP包,指源IP地址。◼IPSec协议:标识SA采用的是AH还是ESP协议。安全联盟数据库(SAD)◼SAD(SecurityAssociationDatabase,安全联盟数据库)
是将所有的SA以某种数据结构集中存储的一个列表。◼对于外出的流量,如果需要使用IPSec处理,然而相应的SA不存在,则IPSec将启动IKE来协商出一个SA,并存储到SAD中。◼对于进入的流量,如果需要进行IPSec处理,IPSec将从IP包中得到三元组,并利用这个三元组在S
AD中查找一个SA。SA的主要内容◼1)本方序号计数器◼32位,用于产生AH或ESP头的序号字段,仅用于外出数据包。◼SA刚建立时,该字段值设置为0,每次用SA保护完一个数据包时,就把序列号的值递增1,对方利用这个字段来检测
重放攻击。◼通常在这个字段溢出之前,SA会重新进行协商。◼2)对方序号溢出标志◼标识序号计数器是否溢出。如果溢出,则产生一个审计事件,并禁止用SA继续发送数据包。◼3)抗重放窗口◼32位计数器,用于决定进入的AH或ESP数据包是否为重发的。◼该窗口仅
用于进入数据包,如接收方不选择抗重放服务(如手工设置SA时),则不用抗重放窗口。SA的主要内容(续)◼4)AH验证算法、密钥等。◼5)ESP加密算法、密钥、加密模式、IV等。◼6)ESP验证算法、密钥等。◼7)SA的生
存期◼表示SA能够存在的最长时间。◼生存期的衡量可以用时间也可以用传输的字节数,或将二者同时使用。◼SA过期之后应建立一个新的SA或终止通信。◼8)运行模式:传输模式还是隧道模式。◼9)PMTU:所考察的路径的MTU及其TTL变量。安全策略(SP)◼SP(SecurityPolicy,安
全策略)指示对IP数据包提供何种保护,并以何种方式实施保护。◼SP主要根据源IP地址、目的IP地址、入数据还是出数据等来标识。◼IPSec还定义了用户能以何种粒度来设定自己的安全策略◼由“选择符”来控制粒度的大小,不仅可以控制到IP地址,还
可以控制到传输层协议或者TCP/UDP端口等。安全策略数据库(SPD)◼SPD(SecurityPolicyDatabase,安全策略数据库)是将所有的SP以某种数据结构集中存储的列表。◼当要将IP包发送出去时,或者接收到IP包时,首先要查找SPD来决定如何进行
处理,有3种可能的处理方式:◼1)丢弃:流量不能离开主机或者发送到应用程序,也不能进行转发。◼2)不用IPSec:对流量作为普通流量处理,不需要额外的IPSec保护。◼3)使用IPSec:对流量应用IPSec保护,此时这条安全策略要指向一个SA。对于外出流量,如
果该SA尚不存在,则启动IKE进行协商,把协商的结果连接到该安全策略上。IPSec运行模式◼IPSec有两种运行模式:◼传输模式(TransportMode)和隧道模式(TunnelMode)。◼AH
和ESP都支持这两种模式,因此有4种可能的组合:◼传输模式的AH;◼隧道模式的AH;◼传输模式的ESP;◼隧道模式的ESP。IPSec传输模式◼传输模式要保护的内容是IP包的载荷,可能是TCP/UDP等传输层协议,也可能是ICMP协议,还可能是AH或者ESP协议(在嵌套的情况下)。◼通常情况下,传
输模式只用于两台主机之间的安全通信◼这就需要在每台主机上安装IPSEC处理软件。IPAHTCPIPESPTCPIPAHTCPESP应用AH应用ESP应用AH+ESPIPSec传输模式下的报文格式的修改UDP头+UD
P数据TCP头+TCP数据IP头4176①AH头651②ESP头②ESP头③AH头50506516协议类型字段IPSec隧道模式◼隧道模式保护的内容是整个原始IP包◼通常情况下,只要IPSec双方有一方是安全网关或路由器,就必须使用隧
道模式。◼IPSec隧道模式的数据包有两个IP头◼内部头由路由器背后的主机创建,外部头由提供IPSec的设备(可能是主机,也可能是路由器)创建。◼隧道模式下,通信终点由受保护的内部IP头指定,而IPSec终点则由外部IP头指定◼如IPSec终点为安全网关,则该网关会还原出内部IP包,再转发
到最终目的地。外部IPESP内部IP+TCPESP隧道模式IPSec隧道模式下的报文格式的修改17505144UDP头+UDP数据TCP头+TCP数据新IP头46①AH头51②ESP头②ESP头③AH头504旧IP头协议类型字段协议类型字段3、IPSec的AH协议◼AH—Authe
nticationHeader(验证头部协议)◼由RFC2402定义,是用于增强IP层安全的一个IPSec协议。◼该协议可以提供无连接的数据完整性、数据来源验证和抗重放攻击服务。◼AH对IP层的数据使用的H
MAC算法,从而使得对IP包的修改可以被检测出来◼通过HMAC算法可以检测出对IP包的任何修改,不仅包括对IP包的源/目的IP地址的修改,还包括对IP包载荷的修改,从而保证了IP包内容的完整性和IP包
来源的可靠性。◼不同的IPSec系统,其可用的HMAC算法也可能不同,但是有两个算法是所有IPSec都必须实现的:HMAC-MD5和HMAC-SHA1。AH头部格式AH协议和TCP、UDP协议一样,是被IP协议封装的协议之一。一个IP包的载荷是否是AH协议,由IP协
议头部中的协议字段判断,AH协议的协议类型是51。AH头部格式(续)◼1)下一个头(NextHeader)◼最开始的8位,表示紧跟在AH头部的下一个载荷的类型,也就是紧跟在AH头部后面数据的协议。◼在传输模式
下,该字段是处于保护中的传输层协议的值,比如6(TCP)、17(UDP)或者50(ESP);在隧道模式下,AH所保护的是整个IP包,该值是4,表示IP-in-IP协议。◼2)载荷长度(PayloadLength)◼接下来的8位,其值是以32位(4字节)为单位的整
个AH数据(包括头部和变长的认证数据)的长度再减2。◼3)保留(reserved)◼16位,作为保留用,实现中应全部设置为0。AH头部格式(续)◼4)SPI(SecurityParameterIndex)◼SPI是一个32位整数,与源/目的IP地址、IPSec协议一起组成的三元组可以为该IP包惟
一地确定一个SA。◼5)序列号(SequenceNumber)◼序列号是一个32位整数,作为一个单调递增的计数器,为每个AH包赋予一个序号。◼当通信双方建立SA时,计数器初始化为0。◼SA是单向的,每发送一个包,外出SA的计数器增1;每接收一个包,进入SA的计数器增1。◼该字段可
以用于抵抗重放攻击。AH头部格式(续)◼6)验证数据(AuthenticationData)◼可变长部分,包含了验证数据,也就是HMAC算法的结果,称为ICV(IntegrityCheckValue,完整性校验值)。◼该字段必须为3
2位的整数倍,如果ICV不是32位的整数倍,必须进行填充。◼用于生成ICV的算法由SA指定。AH的传输模式◼在传输模式中,AH插入到IP头部(包括IP选项字段)之后,传输层协议(TCP、UDP)或其他IPSec协议之前。◼被AH验证的区域是整个IP包(可变字段除外)
,包括IP包头部◼因此传输模式下源IP地址、目的IP地址是不能修改的,否则会被检测出来。◼然而,如果IP包在传送的过程中经过NAT网关,其源/目的IP地址将被改变,将造成到达目的地址后的完整性验证失败◼因此,AH在传输模式下和NAT是冲突的,不能同时使用,或者可以说AH不能穿越NAT。TCP下的
AH的传输模式源和目的IP地址将不能修改AH传输模式的例子Internet安全网关1安全网关222.13.2.5927.168.3.6011.143.1.25463.168.2.25463.168.2/2411.143.1/2411.143.1.163.
168.2.1主机21主机11AH隧道AHAH端到端安全性(完整性等)AH传输模式的优缺点◼优点◼内网中其他用户也不能篡改11和21主机之间的传输内容;◼分担IPSec处理负荷,避免IPSec处理的瓶颈问题。◼缺点◼希望实现传输模式
的主机都必须安装IPSec协议,服务对端用户不透明(内存、处理时间);◼不能使用私有IP地址,必须用公有IP地址资源;◼暴露子网内部拓扑。AH的隧道模式◼在隧道模式中,AH插入到原始IP头部字段之前,然后在
AH之前再增加一个新的IP头部。◼隧道模式下,AH验证的范围也是整个IP包,因此上面讨论的AH和NAT的冲突在隧道模式下也存在。◼在隧道模式中,AH可以单独使用,也可以和ESP一起嵌套使用。TCP下的AH的隧道模式外部IP头内部IP头AH隧道模式的例子Internet安全
网关1安全网关222.13.2.5927.168.3.6011.143.1.25463.168.2.25463.168.2/2411.143.1/2411.143.1.163.168.2.1主机21主机11AH隧道AHAH内部头通信终
点内部头通信终点外部头IPSec终点外部头IPSec终点网关到网关安全性内网无安全保护AH隧道模式的优缺点◼优点◼子网所有主机都可透明享受安全网关提供的安全保护;◼子网内部可使用私有IP地址,无须公有IP地址;◼子网内部的拓扑结构被保护。◼缺点◼
增大网关的处理负荷,容易形成通信瓶颈;◼对内部诸多安全问题(如篡改等)不可控。AH的完整性机制◼AH的完整性机制概括如下:◼在发送方:整个IP包和验证密钥被作为输入,经过HMAC算法计算后得到的结果被填充到AH头部的“验证数据”字段(ICV)中;◼在接收
方:整个IP包和验证算法所用的密钥也被作为输入,经过HMAC算法计算的结果和AH头部的“验证数据”字段进行比较,如果一致,说明该IP包数据没有被篡改,内容是真实的。AH完整性机制中对可变字段的处理◼在计算ICV时,要考虑在IP字段中,有一些是可变的,这些字段在传输过程中被(路由器等)修改是合理的
,不能说该数据包是被非法篡改的。◼这些可变字段如下:◼ToS(TypeofService)、标志字段(DF、MF)、分片偏移字段、TTL(生命期字段)、头部校验和、选项字段。◼这些字段在发送方和接收方计算ICV时,被临时用0填充◼即这些字段不受AH
的完整性保护。◼另外,ICV字段本身在计算之前也要用0填充,计算之后再填充验证结果。AH完整性机制保护的范围◼IP协议中除了上述可变字段外,其余部分都认为是应该不变的,这些部分也正是受到AH协议保护的部分。◼这些不变的部分包括如下:◼IP头部的
字段,包括:版本字段、头部长度字段、IP总长字段、ID字段、协议字段、源地址、目的地址;◼AH头中除“验证数据”(ICV)以外的其他字段。◼数据:指经过AH处理之后,在AH头部后面的数据。◼传输方式下,指T
CP、UDP或ICMP等传输层数据;◼隧道模式下,指被封装的原IP包。AH的反重放机制AH的反重放机制(续)◼AH中的序列号是一个32位整数,作为一个单调递增的计数器,为每个AH包赋予一个序号。◼当通信双方建立SA时,计数器初始化为0,每发送一个包,外
出SA的计数器增1。◼发送者不允许序号从232-1循环到0,如果到了232-1的极限,发送者会终止这个SA并且协商新的SA。AH的反重放机制(续)◼由于IP本身是无连接、不可靠的服务,协议不能保证分组的按序
到达,因此,IPSec规定接收者应该实现大小为W(默认W=64)的窗口。◼窗口的右边界代表目前已经收到的合法分组的最高序号N,对于任何已经正确接收的(即经过了正确鉴别的)其序号处于N-W+1到N范围之间的分组,窗口的相应插槽被标记。AH的反重放机制(续)◼当AH收到一个分组时,按
照如下步骤进行进入处理:◼1、如果收到的分组落在窗口之内并且是新的,就进行MAC检查,如果通过鉴别,就对窗口的相应插槽作标记;◼2、如果收到的分组落在窗口的右边并且是新的,就进行MAC检查,如果通过鉴别,窗口
就向前走,使得该序号成为右边界,并对窗口的相应插槽作标记;◼3、如果收到的分组落在窗口的左边,或者鉴别失败,就丢弃该分组。4、IPSec安全协议—ESP◼ESP(EncapsulatingSecurityPay
load,封装安全载荷)也是一种增强IP层安全的IPSec协议,由RFC2406定义。◼ESP协议提供的服务:◼无连接的完整性、数据来源验证和抗重放攻击服务;◼数据包或数据流加密服务。◼ESP协议提供数据完整性和数据来源验证的原理和AH一样,也是通过验证算法实现◼然而,与AH
相比,ESP验证的数据范围要小一些。◼ESP提供的数据包加密服务通过对单个IP包或IP包载荷应用加密算法实现;数据流加密是通过隧道模式下对整个IP包应用加密算法实现。ESP和AH的区别AH不提供加密服务验证的范围不同
ESP和AH的最大区别ESP不验证IP报头,AH验证部分报头;验证失败的包被丢弃,不需再耗时解密结合使用AH和ESP保证机密性和完整性ESP采用的算法◼报文鉴别算法:◼ESP协议规定了所有IPSec系统必须实现的鉴别算法:HMAC
-MD5、HMAC-SHA1、NULL。◼NULL认证算法是指实际不进行认证。◼加密算法:◼ESP协议规定了所有IPSec系统都必须实现的算法:DES-CBC、NULL。◼NULL加密算法是指实际不进行加密。◼NULL算法的作用:◼ESP的加密和认证都是可选的,但是ESP协议规定加密
和认证不能同时为NULL。◼换句话说,如果采用ESP,加密和认证至少必选其一,当然也可以二者都选,但是不能二者都不选。ESP头部格式ESP和TCP、UDP、AH协议一样,是被IP协议封装的协议之一。一个IP包
的载荷是否是ESP,由IP协议头部中的协议字段判断,ESP协议字段是50。ESP头部的字段◼SPI◼SPI是一个32位整数,与源/目的IP地址、IPSec协议一起组成的三元组可以为该IP包惟一地确定一个SA。◼序列号(SequenceNumber)◼序列号是一个32
位整数,作为一个单调递增的计数器,为每个ESP包赋予一个序号。◼当通信双方建立SA时,计数器初始化为0。◼SA是单向的,每发送一个包,外出SA的计数器增1;每接收一个包,进入SA的计数器增1。◼该字段可以用
于抵抗重放攻击。ESP头部的字段(续)◼载荷数据(PayloadData)◼这是变长字段,包含了实际的载荷数据。不管SA是否需要加密,该字段总是必需的。◼如果采用了加密,该部分就是加密后的密文;如果没有加密,该部分就是明文。◼如果采用的加密算法需要一个IV(InitialVector,初始
向量),IV也是在本字段中传输的。◼填充(Padding)◼填充字段包含了填充位。ESP头部的字段(续)◼填充长度(PadLength)◼填充长度字段是一个8位字段,以字节为单位指示了填充字段的长度,其范围为[0,255]。◼下一个头(NextHeader)◼8位字段,指明了
封装在载荷中的数据类型,例如6表示TCP数据。◼验证数据(AuthenticationData)◼变长字段,只有选择了验证服务时才会有该字段,包含了验证的结果。ESP的运行模式◼和AH一样,ESP也有两种运行模式:◼传输模式;◼隧道模式。ESP的传输模式◼传输模式保护的是IP包的载荷,例如T
CP、UDP、ICMP等,也可以是其他IPSec协议的头部。◼在传输模式下,ESP被插入到IP头部(含选项字段)之后,任何被IP协议所封装的协议(如传输层协议TCP、UDP、ICMP,或者IPSec协议)之前。TCP下ESP
传输模式ESP传输模式的例子Internet安全网关1安全网关222.13.2.5927.168.3.6011.143.1.25463.168.2.25463.168.2/2411.143.1/2411.143.1.163.168.2.1主机21主机11ESP隧道ESPE
SPESP传输模式的特点◼1、如果使用了加密,SPI和序号字段不能被加密:◼首先,在接收端,SPI字段用于和源IP地址、IPSec协议一起组成一个三元组来惟一确定一个SA,利用该SA进行验证、解密等后续处理,如果SPI被加密了就无法解密;◼其次,序号字段用于
判断包是否重复,从而可以防止重放攻击。序号字段不会泄漏明文中的任何机密,没有必要加密。◼2、如果使用了验证,验证数据也不会被加密:◼因为如果SA需要ESP的验证服务,那么接收端会在进行任何后续处理(例如检查重放、解密)之前进行验证。◼数据包只有经过验证证明该包没有经过任何修改,才
会进行后续处理。ESP传输模式的特点(续)◼3、和AH不同,ESP的验证不会对整个IP包进行验证,IP包头部(含选项字段)不会被验证:◼因此,ESP不存在像AH那样的和NAT模式冲突的问题,如果通信的任
何一方具有私有地址或者在安全网关背后,双方的通信仍然可以用ESP来保护其安全。◼当然,ESP在验证上的这种灵活性也造成ESP传输模式的验证服务要比AH传输模式弱一些。如果需要更强的验证服务并且通信双方都是公有IP地址,应该采用AH来验证,或者将AH认证与ESP验证同时使用。E
SP隧道模式◼隧道模式保护的是整个IP包,对整个IP包进行加密。◼ESP插入到原IP头部(含选项字段)之前,在ESP之前再插入新的IP头部。TCP下ESP隧道模式ESP隧道模式的例子Internet安全网关1安全网关222.13.2.5927.168.3.6011.
143.1.25463.168.2.25463.168.2/2411.143.1/2411.143.1.163.168.2.1主机21主机11ESP隧道ESPESPESP隧道模式的特点◼1、在隧道模式下,有两个IP头部:◼里面的IP头部是原始的
IP头部,含有真实的源IP地址、最终的目的IP地址(可以是保留地址);◼外面的IP头部可以包含与里面IP头部不同的IP地址。◼2、ESP内部IP头部被加密和验证,而外部IP头部既不被加密也不被验证。◼不被加密是因
为路由器需要这些信息来为其寻找路由;◼不被验证是为了能适用于NAT等情况。ESP隧道模式的特点(续)◼3、ESP隧道模式的验证和加密能够提供比ESP传输模式更加强大的安全功能◼因为隧道模式下对整个原始IP包进行验证和加密,可以提
供数据流加密服务;◼而ESP在传输模式下不能提供流加密服务,因为源、目的IP地址不被加密。◼4、隧道模式下将占用更多的带宽,因为隧道模式要增加一个额外的IP头部。AH和ESP的嵌套使用发送方封装时:先用ESP对原始报文加密再用AH进行完整性计算接收方解封时:先对
数据进行完整性验证再对通过验证的数据解密(因为解密非常耗时)IP头+AH头+ESP头+被保护数据包5、ISAKMP协议◼ISAKMP(InternetSecurityAssociationKeyManagementProtocol,Internet安全联盟密钥管理协议)由RFC
2408定义,定义了协商、建立、修改和删除SA的过程和包格式。◼ISAKMP只是为SA的属性和协商、修改、删除SA的方法提供了一个通用的框架,并没有定义具体的SA格式。◼ISAKMP没有定义任何密钥交换协议的细节,也没有定义任何具体的加密算法、密钥生成技术或者认
证机制,这个通用的框架是与密钥交换独立的,可以被不同的密钥交换协议使用。◼ISAKMP双方交换的内容称为载荷(payload),这些载荷按照某种规则“叠放”在一起,然后在最前面添加上ISAKMP头部,这样就组成了一个ISAKMP报文。IKE
协议◼IKE(InternetKeyExchange,Internet密钥交换协议)是一种混合型协议,由RFC2409定义,包含了3个不同协议的有关部分:ISAKMP、Oakley和SKEME。◼IKE和ISAKMP的不同之处在于:IKE真正定义了一个密钥交换的过
程,而ISAKMP只是定义了一个通用的可以被任何密钥交换协议使用的框架。◼IKE为IPSec通信双方提供密钥材料,这个材料用于生成加密密钥和验证密钥。另外,IKE也为IPSec协议AH和ESP协商SA。小结◼1、VPN概述◼2、VPN的主要技术◼3、PPT
P和L2TP◼4、GRE◼5、IPSEC◼主要参考书◼《网络安全》第2版,胡道元,闵京华编著◼《密码编码学与网络安全-原理与实践》(第四版),WilliamStallings著◼《现代密码学》,杨波编著