IPSec原理与实践.docx
IPSec原理与实践1一原理(组图)叛者越来越多的企业.单位接入Internet和接入速度的不断提药,网络平安正日掠成为网珞管理的一个重要课H-作为广泛部召的WindCWS(NTSerVer系统机身的平安受到越来鳍多的关注.市场上也出现了很多软.硬件防火墙产品来保证内网效劳器的平安。其实.Windows(NTSerVer系统囱8便带有功能强大的防火推案统一IPSec,共全面的平安保护功能并不楮于共它商业防火墙产品.本文将介绍基于Wind5s操作系统的昉火墙系统-IPSeC的原理与实现。1TCP/IP过渡在深入探讨IPSeC之前,我们首先来看一下UindoWS系统的TCP/IP过沧功能.Windows2000SCrVCr系统内部集成了截多平安特性,这包括"本地平安及审核筠略加生文件系统,TCP/IP过遗IP早安(IPSec)"等等.其中的"TCP/IP过爱"为用户提供了一个胃单、易于配置、易于使用的网塔平安保障工具。它是用于入站本地主机TCP/IP通讯的一组萍通信。使用TCP/IP佛选可以为每个IP接D严格指定所处理的传入TCP/IP通讯类型.这个功能设计用于隔类IInernet或Intranet效劳器所处理的通信。如图1所示.使用-TCP/IP"脩选,可以根据以下三种方贪来;艮制本劭主机的入站TCP/IP通讯:目标TCPi口目标UDP0IP的仪(号)"TCP/IP,布选"的使用有偎多限制,如不能根据源地址来区别对待数据包的人站、不能/出站通信进行筛选、不能对巳允许的通信进行加密等等.如果想要实现更加灵活、平安的设计,则必须使用IPSec.2IPSecAS使用internet协议平安(InternetProtoco1.Security.IPSec是解决网络平安问JS的长久之计.它能针对那些来自专用网络和internet的攻击提供重要的防坎,并在网络平安姓与使用性之间取得平街。IP阶C是一种加密的标准.它允许在差异很大的设备之间进行平安通信.利用IPSCC不仅可以为建基于操作系统的防火墙.实现一般防火墙的功能.它还可以为许可通信的两个墙点速立加密的、可靠的数据通道.为了便于理解IPSeC的工作原理,首先介绍一些数据加密和平安方面常用的一些术语和根本知识,然后再介绍IPSeC的实现以及它如何在网珞中隈供平安通信的。这种介绍仅仅是一个慨逑并为后面讨论IPSeC做一个铺垫.加密是一个复杂的领域,它包分了许多规则,算法以及数学方面的知识.这里我们将着重讨论和宙技术的实际实现.对于它内在的理论只作一个简要的板述。2.1.1先扣密标准数据加冬标准(DaIaEnCryPIionStandard.DES是美国国家标准局于1977年开发的对称击钥算法。它是一种对称密钥算法,可以快用40'56位长的密钥.另一种称为3DES的加密策唱也使用同样的DES算法,但它并不只是加密一次,而是先加密一次,再扣否(解密)一次,鬃后做第三次加密,每一次加再都使用不同的密钥,这一过程显著地增加了解击数据的淮度。2.1.2RSA算法RSA是一椁根据它的创造者RiVeSt.Shamir和Ad1.ran命名的公开苗钢算法。它方便了对称也钢加密中的宓制交换过程。它迂可以用来产生数字爸名。2.1.3Diffie-IIe1.1.BanDiffiCfC1.1.man是一种简化在零平安网络上交换秘雷击钢的公开冬钥加农算法。算法是以DiffiC和He1.Iman命名的,他们在1977年出版了第一个公开密钥加密的公开援素.它的主要目的是转化在不平安府络上交换秘密会话密密的过程。2.1.4散列西数散列(Hash)函数是一种单向的算法,它提取任意长度的一段信息并产生因定长度的乱序的摘要.摘要是文本的一小截取,只包含与文本最相关的局部,这就是HaSh函数所产生的结果。HaSh是一种单向的定义.我们可以在给定的文本上运行算法来获得固定长度的HaShtS,但不能从HaSh过程中茨得最初的文本。ItaSh函数可以唯一地定义文本.它对每个唯一的消息而吉茨像是指纹一样.不同的消息可以产生不同的值,并且相同的消息会产生完全相同的HaSh,HaSh值可以用于维持数据的完整性。如果A发送一个消息给B,并始B消息的HaSh。B可以在消息上运行用在该消息上的同一HaSh算法,并用计算存到的HaSh值与B收料的HaSh值相比较。如果发现根据消息计算出来的HaSh与B收到的HaShtS不同,就可以知道数据在传输的过程中出钳了。2.1.5消息摘要:皿5消息摘要(MessageDiRCSt5.MD5)是一种将合工业标准的单向128位的HaSh算法,*RSADataSecuri1.yInc.开发,它可以从一段任意长的消息中产生一个128位的Hi1.Sh值.(例如,质询握手身份验证协议(CHAP)通过使用MD5来防商一种扣密身份验证的平安形式.CHAP在响应时使用质询一响应机制和单向MD5散列,用这种方法,用户可以向效劳器证明自己跖道密码,但不必实际将密码发送到网烙上,从而保证了密码本身的平安性。)2.1.6平安取列算法:SHA-ISecureHashA1.gorithm(S1.i1)是一种产生160位HaShtfi的单向HaSh算法.它类以于MD5,但平安位比M05更高.2.1.7Hash信息验证7HMAC(Hashmessageauthenticationcodes)出伍C可以用来险证接收消息和发送消息的完全一致性完整性.2.1.8数字签名歌字卷名标准(Digita1.SignatureStandard.DSS)是国家标准技术研究所开发的数字卷名算法,故字症名(Digita1.Signature.DS)是一种用使用者的私有密钥加也的HaSh值。它可以像正常生名一样用于认证,但它也可以用班与签名相关的信息完整性的认i£.2.1.9认证授权认证授权(CertificateAuthority.CA)是一个实体.通常是一台计算机,它保存了一些公开宝钢。事实上,它保存的一些称为认证的目标包含了用户或设备的佶息,其中包括它们的公开密钥.认证包含某个公开密期的所有者的认证信息,如:姓名、地址、公司等。认证的目的有两个:标志一个用户或设备的公开宓钢。确认馒设的公开密铜的拥有者是公开密铜的真实拥有者.认证按权(CA)是一个记录了所有认证的第三方。使用CA,用户可以有一个认证的集中贮藏处,它允许用户荻得其他用户的公开密钥并认证那些用户.它提供了一个记录用户和设备公开密钥的集中存放点.它还提供了认证授权,当用户从CA中获得用户A的公开密钥时,密娴俄实是用户A的而不是其他人的.2. 1.10OAK1.EY密钢决定协议Hi1.arieOrman提出的'OAK1.EY密钥决定饰议",Oak1.ey和SKEHE各自定义了一片建立已认证帝期交换的方法,包括皎荷的站彻,所承我就荷信息、是理它们的顺序以及如何使用它们。Oak1.ey描述了一系列的第钥交换模式.提供老钥交换和刷新功能。3. 1.11SKEME:SecureKeyExchangeMechanismHugoKrawczikj出的"平安宝钢交换机制(SKEME'SKEME描述了通用雷钥交换技术,提供区名性.防蚊低和快速刷新.4. 1.12互连网平安联强及击钥管理协议互连眄平安联发及密钥管理协议(InternetSecurityAssociationandKeyManagementProtoco1.,ISAKMP)是一个定义在主机之间交搂密钥和法商平安蒙数的雁架,ISAKYP定义密钥在非平安网珞上交搂的一般机制.ISAKMP定义的信息包括报文中消息的位置和通信过程发生的机制,但它不指明使用的擀议和算法。2.I.13互连网密钥交换互连网密钥交换(InternetKeyExchange,IKE)是一种实现常钥交换定义的协议.IKE是一种在ISAKMP更架下运行的岬伙。它是从其他密钥交换侨议OaK1.ey和SKEME中派生而来的,IKE用于在对等端之同认证密钥并在它们之间建立共享的平安策略。IKE用于编认.兽如标志一个要求加雷会话的对等提.以及决定对等靠使用何种算法和何种省钥。IKE考虑了IPSeC使用的所有算法交换秘密密钥的复杂性。通过将密钥管理函数替代普通的音的管理协议,简化了格新的算法添加迸IPseC协议校的过程。IKE使用公开空钥加密算法在非平安网络上平安地交换秘密密钥.2.1.14KerberosV6身份验证KerberosV5是用于处理用户和系统,身份的身份验证的Internet标准平安林议.是在WindoWS2000Server域中进行身份骁证的主要平安林议。使用KCrbCrosV5,通过何络线,路所发送的冬码将羟过加密而不作为她文本进行发送.KerberosV5协议校粉了用户的身份和网塔效劳.这种双重险证帔称为相互身份验迂.2.2.1IPSeC根本悔念IPSeC通过使用基子密码学的保护效劳.平安协议和动态密钥管理,可以实现以下这几个目标:1、认证IP报文的来源基于IP地址的访何控制十分脆弱,因为攻击者可以很容易利用伪装的【P地址来发送IP报文.许多攻击者利用机器间基于IP地址的信任.来伪装IP地址。IPSCC允许设备使用比源IP地址更平安的方式来认证IP数据报的来源.IPSeC的这一标准班为原始认证(Origin)IPSeC原理与实践2配置步骤上(一组图)1IPSeC根本配,步费前文中提到的AH和ESP掖头中值得注意的一点是没有指明用来产生认证数据和负我蚊据的算法。可以使用一些不同的算法。这意味着,如果出现了一个新的算法.它可以不作明显改动地合成进IPScc标准中。目前.MD5和SHA是用来产生认证数据的两种算法.ESP加密算法包括DES,3DES,RC5和IDEA.下面讨论IPSeC配置的步藤以及如何选取不同的算法.选择"开始二程序"I'管理工具"I"本地平安策略"菜单,真开"水地平安设置"对话笈,单击以选择UP平安策珞:在本地机器如图1所示。即本地安全设置探fE(八)三<(v)g-.E00)町像直走叫名称I揶:Qi1.滑”1.P安全设置豺安翎.务器(要求安对于所有IP通讯,总是要否图_3住户第监团客尸翁(只啕应)进行正常遇讯(没有加再否田J)本地第略勖服务器(话求安全设看)息是用Ketb60S信任为所否由CJ公初第aS“IJj图I'本地平安设置'讲话框最初的窗口显示三种预定义的策略项:客户端,效劳器、平安效劳器,在每个想定义的笈略的描述中在维解择了该策略的操作原则.如果想要修改系统情定义的彷珞细节.可以右击相应的策略并选撵"属性"进行修改。下面,我们将通过新建一个策略对各种策略的属性进行介貂.拒树I了安全设S?_3稼尸策略&._3本地策略f_j公钥策略1«fc/劭安全危务霹要求安全设杳)团客户蟠(只|胸)图2创立IP平安策略豺船务跟语求安全设置)图3平安策略向导(4)单击'下一步,接受对话框中“默认的响应”复选项.之后单击"下一步如图5所示。S4.平安策略名称'时话根S5平安逋讯请求'对话根(6)保存编辑禺-1I的选择并单击'完成"按钮完成IPSeC的初步配置.如图7所示.图6设置身份验证方法图7完成IP平安