IPSec原理(PPT)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

※IPSec协商简述●协商过程图示●IKEPhase1●IKEPhase2●自动连接※ISAKMP报头※DH密钥交换※SA※IPSec的两个数据库●SPD●SADB※IPSec的两种模式※IPSec的两种协议●ESP协议●AH协议※PKI●简述●PKI的构成部分●数字签名、数字证书和CA※对称算法与非对称算法※增强的IPSec特性●NAT穿越原理●配置NAT穿越●空闲超时●抗重放●DPDIKE(InternetKeyExchange,因特网密钥交换)协议在与Photuris的竞争中取得胜利,成为IPSec框架下强制推行的密钥管理手段。换句话说,IKE为IPSec协议产生所需的全部密钥,在产生了密钥后,防火墙就可以使用密钥对用户数据进行加密并传输了。IKE的协商包含两个阶段:IKEPhase1和IKEPhase2。下页图中展示了IKE的协商和加密过程,图中“使用进行加密”的说法并不严谨,为了便于理解,可以暂时把SA想成一把钥匙。IKE两个阶段的协商和用户数据的传输,其中是在协商前预先获得的:通过交互IKE消息进行IKEPhase1协商主模式的第5、6条消息使用进行加密通过交互IKE消息进行IKEPhase2协商所交互的IKE消息均使用进行加密在IPSectunnel上传输用户数据用户数据均使用进行加密密文明文明文FW-1FW-2100.0.0.0/24IKEPhase1协商后得到ISAKMPSA:IKEPhase2协商后得到IPSecSA:IKEPhase1协商后得到ISAKMPSA:IKEPhase2协商后得到IPSecSA:1.1.1.0/242.2.2.0/24e0/0e0/0IKEPhase1(第一阶段)IKEPhase1协商时使用的可以通过两种方式获取:·预共享密钥(由用户预先在两台对等体设备上配置的对称密钥);·公钥加密算法,如RSA或DSA(稍后介绍)。该阶段在协商后将得到ISAKMPSA(也被称为IKESA),用于加密IKEPhase2的协商控制报文(可以暂时将SA想成加解密时使用的密钥)。协商时还通过交换DH得到一个“密钥K”,用于推算出IPSec密钥。该阶段协商过程的安全性高,但算法会消耗大量资源,计算速度慢。IKE和ISAKMP的区别:虽然在描述时经常混合使用IKE(InternetKeyExchange)和ISAKMP(InternetSecurityAssociationandKeyMangementProtocol),但两者还是存在区别的。IKE和ISAKMP的不同之处在于:IKE真正定义了一个密钥交换的过程,而ISAKMP只是定义了一个通用的可以被任何密钥交换协议使用的框架。IKE(InternetKeyExchange)是一种混合型协议,由RFC2409定义,包含了3个不同协议的有关部分:ISAKMP、Oakley和SKEME。·ISAKMP是一个框架,定义了每一次交换的包结构,每次需要几个包交换(主模式6个包和野蛮模式3个包),由美国国家安全处开发;·Oakley:定义IKE提供了一个多样化,多模式的应用,让IKE可以用在很多场合,由大学开发;·SKEME:提供了IKE交换密钥的算法和方式,即通过DH进行密钥交换和管理的方式,由个人开发。IKEPhase1阶段的配置截图:配置IKEPhase1协商参数配置ISAKMP对等体IKEPhase1的配置命令行:IKEPhase1的配置:FW-1(config)#showconfiguration!interfaceethernet0/0zonetrustipaddress100.0.0.1255.255.255.0!isakmpproposalP1hashsha512encryptionaes!isakmppeerFW2isakmp-proposalP1pre-share123456modemainpeer100.0.0.2interfaceethernet0/0!IKEPhase1协商后得到的ISAKMPSA:查看ISAKMPSA:FW-1(config)#showisakmpsa100.0.0.2Cookies:6685ea6292c7fcb4:0780e823498a1cf9Status:establishedGateway:100.0.0.2Port:500Algorithms:pre-sharesha512/aesLifetime:81239DPD:disableIKEPhase1有两种协商模式,分别是主模式和野蛮模式:主模式共交互6条IKE消息,第5、6条被加密,该方式较安全。野蛮模式共交互3条IKE消息,消息均以明文发送,只能通过散列值判断IKE消息的完整性,不提供机密性,该方以牺牲安全性为代价换来了更快的协商速度。野蛮模式主要提供给远程接入IKE客户使用。主模式协商过程发起方i(Alice)接收方r(Bob)如果参数协商失败,将回应“拒绝提议”消息。就参数达成一致交换密钥相关信息,生成密钥验证成功,第一阶段协商完成参数说明C随机生成的32位Cookie,用于标识本端SAPhase1的参数提议X&YDH协商时可用的公开值N临时值(nonce),是用于确保安全的随机数ID对方身份,在使用预共享密钥的主模式中,ID是发起方的源IP地址HASH哈希值,公式:HASHi=hash(SKEYID,X|Y|Ci|Cr|SAr|IDi)HASHr=hash(SKEYID,X|Y|Ci|Cr|SAi|IDr)野蛮模式协商过程野蛮模式的协商消息全部以明文方式传输,不能协商DH参数。发起方i(Alice)接收方r(Bob)协商中的CookieCookie是一个计算出的32位值,用于关联ISAKMPSA。由于ISAKMP没有对Cookie的生成方法给出具体规定,因此在实现上,Cookie中可能存在一些秘密,例如可以根据设备的厂商、型号、生产批次、licence有效期等信息来生成,也可以追加一个时间戳以防止过期的数据包进入。IKEPhase2(第二阶段)IKEPhase2将进行IPSec参数的协商,协商是在IKEPhase1协商后所提供的安全信道上进行的,IPSec协商的参数包含传输方式、验证算法、加密算法和隧道模式等。由于在IKEPhase1阶段已经获得了“密钥K”,因此可以推导出当前和后续将要更新的IPSec密钥。通过第二阶段的协商确定了加密方式和密钥等,最终得到IPSecSA,用于加解密用户数据。因为IPSecSA是单向的,因此每个方向都会分别产生一个IPSecSA。由于全部的IPSec的密钥是通过“密钥K”推导出来的,所以不需要用户配置任何密钥。IKEPhase2阶段的配置截图:配置IKEPhase2协商参数配置IPSec隧道IKEPhase2的配置命令行:IKEPhase2的配置:FW-1(config)#showconfiguration!ipsecproposalP2hashshaencryption3des!tunnelipsecIPSec_tunnelautoisakmp-peerFW2ipsec-proposalP2modetunnel!interfacetunnel1zonetrustipaddressunnumberethernet0/0tunnelipsecIPSec_tunnel!IKEPhase2协商后得到的IPSecSA:查看IPsecSA:FW-1(config)#showipsecsa1ID:1VPNName:IPSec_tunnelOutboundInboundGateway:100.0.0.2Gateway:100.0.0.2Port:500Port:500Algorithms:esp:3des/sha/-Algorithms:esp:3des/sha/-SPI:2579619cSPI:5b93897aCPI:0CPI:0Lifetime(S):23293Lifetime(S):23293Lifesize(KB):Lifesize(KB):Encryptedpackets:9Decryptedpackets:9Encryptedbytes:792Decryptedbytes:792Status:ActiveStatus:Active其他配置:Policy和routing的配置Policy和routing的配置:FW-1(config)#showconfiguration!ipvroutertrust-vriproute0.0.0.0/0tunnel1!policy-globaldefault-actionpermit!默认情况下,IPSec隧道的创建是由流量触发的。当配置了自动连接后,设备将定期(60秒)检测SA是否存在,如果不存在,将会自动进行IPSec的协商并创建IPSec隧道。IKE消息由ISAKMP报头和其有效负荷组成,通过交互IKE消息来完成IKE两个阶段的协商。ISAKMPSA的报头格式如下:发起方Cookie应答方Cookie下一有效负荷主版本次版本交换类型标记消息ID长度ISAKMP有效负荷Cookie通过计算对等体身份(IP地址、端口、协议)、本地生成的密钥数字、日期和时间的散列值得到,该散列值用于关联协商时需要使用的ISAKMPSA。下一有效负荷跟在报头后面的ISAKMP有效负荷。主版本和次版本用于标识ISAKMP的版本,当前主版本为1,次版本为0。交换类型用于指出使用的消息类型。标记标记字段长1字节,低3bit目前被使用。第0bit:加密位,置1表明有效负荷已被加密;第1bit:提交位,置1确保建立SA之后才能收到加密的内容;第2bit:纯验证位,置1时说明只做验证,不做加密。该位主要由那些希望在ISAKMP中引入密钥恢复机制的人使用。消息ID消息的ID值。长度指出整个消息的总长度。ISAKMP有效负荷的内容很多,具体可以参见相关RFC2408。附件中给出了某厂商防火墙IPSec野蛮(积极)模式下IKE两个阶段的协商报文分析。WhitefieldDiffie和MartinHellman于1976年首次发表了他们的算法Diffie-Hellman,该算法是以离散对数难题为基础的。DH算法不能防止“中间人”攻击。下图展示了Alice和Bob交换密钥的过程,最终双方得到了相同的密钥Kab:2、生成私钥a7、计算新密钥KabKab=gabmodp算法需要两个参数参数:(1)p,是一个大型素数;(2)g,常被称为生成器,是一个比p小的整数。1、公开系统参数p和g3、生成私钥b6、计算新密钥KabKab=gabmodp4、gamodp5、gbmodp下图展示了“中间人”的攻击过程:计算出新密钥Kangamodp生成伪装私钥:伪装成Alice生成私钥:m伪装成Bob生成私钥:ngnmodp计算出新密钥Kbmgbmodpgmmodp伪装成Alice伪装成BobEve“中间人”在Alice和Bob之间截获用户数据:在将用户数据转发给Bob时,本地拷贝了一份副本Eve伪装成Alice伪装成BobSA(SecurityAssociation,安全关联)SA是通信双方达成的一个协定,只有知道协定的全部信息,才能进行正确的IPSec处理。例如,协定好使用ESP方式进行封装,就不能使用AH方式进行解封装;同样,协定好使用3DES加密,就不能使用AES方式解密。第一阶段协商得到的ISAKMPSA中规定了所采用的认证方式(如使用预共享密钥或RSA)、加密算法、密钥、验证算法、DH组和生存时间。第二阶段协商得到的IPSecSA中规定了所采用的IPSec协议、隧道模式、加密算法、密钥、验证算法、是否压缩、PFS组和生存时间等。在前面我们看到,ISAKMPSA和IPSecSA分别是IKE两个阶段的协商产物。虽然都是SA,但两者的作用是不同的:·ISAKMPSA在IKEPhase1中通过交换DH、cookie和ID得到,用于加解密防火墙之间IKEPhase2协商时产生的控制报文;·IPSecSA的用途是加解密防火墙之间所转

1 / 131
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功