来自当知百科
跳转到: 导航搜索

目录

简介

  IPSec 是安全联网的长期方向。它通过端对端的安全性来提供主动的保护以防止专用网络与 Internet的攻击。在通信中,只有发送方和接收方才是唯一必须了解 IPSec 保护的计算机。在 Windows XP 和 WindowsServer 2003 家族中,IPSec提供了一种能力,以保护工作组、局域网计算机、域客户端和服务器、分支机构(物理上为远程机构)、Extranet以及漫游客户端之间的通信。

作用目标

1、

  保护 IP 数据包的内容。

2、

  通过数据包筛选及受信任通讯的实施来防御网络攻击。

  这两个目标都是通过使用基于加密的保护服务、安全协议与动态密钥管理来实现的。这个基础为专用网络计算机、域、站点、远程站点、Extranet和拨号用户之间的通信提供了既有力又灵活的保护。它甚至可以用来阻碍特定通讯类型的接收和发送。

3、

  其中已接收和发送最为重要。

常见问题

  IPSec 基于端对端的安全模式,在源 IP 和目标 IP 地址之间建立信任和安全性。考虑认为 IP 地址本身没有必要具有标识,但IP地址后面的系统必须有一个通过身份验证程序验证过的标识。只有发送和接收的计算机需要知道通讯是安全的。每台计算机都假定进行通讯的媒体不安全,因此在各自的终端上实施安全设置。除非两台计算机之间正在进行防火墙类型的数据包筛选或网络地址转换,否则仅从源向目标路由数据的计算机不要求支持IPSec。该模式允许为下列企业方案成功部署 IPSec:

  局域网 (LAN):客户端/服务器和对等网络

  广域网 (WAN):路由器到路由器和网关到网关

  远程访问:拨号客户机和从专用网络访问 Internet

  通常,两端都需要 IPSec 配置(称为 IPSec策略)来设置选项与安全设置,以允许两个系统对如何保护它们之间的通讯达成协议。Microsoft®Windows® 2000、Windows XP 和 Windows Server 2003 家族实施 IPSec是基于“Internet 工程任务组 (IETF)”IPSec 工作组开发的业界标准。IPSec 相关服务部分是由 Microsoft与 Cisco Systems, Inc. 共同开发的。

  IPSec 协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议Authentication Header(AH)、封装安全载荷协议Encapsulating SecurityPayload(ESP)、密钥管理协议Internet Key Exchange(IKE)和用于网络认证及加密的一些算法等。IPSec规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。

一、安全特性

  IPSec的安全特性主要有:

·不可否认性

  "不可否认性"可以证实消息发送方是唯一可能的发送者,发送者不能否认发送过消息。"不可否认性"是采用公钥技术的一个特征,当使用公钥技术时,发送方用私钥产生一个数字签名随消息一起发送,接收方用发送者的公钥来验证数字签名。由于在理论上只有发送者才唯一拥有私钥,也只有发送者才可能产生该数字签名,所以只要数字签名通过验证,发送者就不能否认曾发送过该消息。但"不可否认性"不是基于认证的共享密钥技术的特征,因为在基于认证的共享密钥技术中,发送方和接收方掌握相同的密钥。

·反重播性

  "反重播"确保每个IP包的唯一性,保证信息万一被截取复制后,不能再被重新利用、重新传输回目的地址。该特性可以防止攻击者截取破译信息后,再用相同的信息包冒取非法访问权(即使这种冒取行为发生在数月之后)。

·数据完整性

  防止传输过程中数据被篡改,确保发出数据和接收数据的一致性。IPSec利用Hash函数为每个数据包产生一个加密检查和,接收方在打开包前先计算检查和,若包遭篡改导致检查和不相符,数据包即被丢弃。

·数据可靠性(加密)

  在传输前,对数据进行加密,可以保证在传输过程中,即使数据包遭截取,信息也无法被读。该特性在IPSec中为可选项,与IPSec策略的具体设置相关。

·认证

  数据源发送信任状,由接收方验证信任状的合法性,只有通过认证的系统才可以建立通信连接。

二、基于电子证书的公钥认证

  一个架构良好的公钥体系,在信任状的传递中不造成任何信息外泄,能解决很多安全问题。IPSec与特定的公钥体系相结合,可以提供基于电子证书的认证。公钥证书认证在Windows2000中,适用于对非Windows 2000主机、独立主机,非信任域成员的客户机、或者不运行Kerberosv5认证协议的主机进行身份认证。

三、预置共享密钥认证

  IPSec也可以使用预置共享密钥进行认证。预共享意味着通信双方必须在IPSec策略设置中就共享的密钥达成一致。之后在安全协商过程中,信息在传输前使用共享密钥加密,接收端使用同样的密钥解密,如果接收方能够解密,即被认为可以通过认证。但在Windows2000 IPSec策略中,这种认证方式被认为不够安全而一般不推荐使用。

四、公钥加密

  IPSec的公钥加密用于身份认证和密钥交换。公钥加密,也被称为"不对称加密法",即加解密过程需要两把不同的密钥,一把用来产生数字签名和加密数据,另一把用来验证数字签名和对数据进行解密。

  使用公钥加密法,每个用户拥有一个密钥对,其中私钥仅为其个人所知,公钥则可分发给任意需要与之进行加密通信的人。例如:A想要发送加密信息给B,则A需要用B的公钥加密信息,之后只有B才能用他的私钥对该加密信息进行解密。虽然密钥对中两把钥匙彼此相关,但要想从其中一把来推导出另一把,以目前计算机的运算能力来看,这种做法几乎完全不现实。因此,在这种加密法中,公钥可以广为分发,而私钥则需要仔细地妥善保管。

五、Hash函数和数据完整性

  Hash信息验证码HMAC(Hash message authenticationcodes)验证接收消息和发送消息的完全一致性(完整性)。这在数据交换中非常关键,尤其当传输媒介如公共网络中不提供安全保证时更显其重要性。

  HMAC结合hash算法和共享密钥提供完整性。Hash散列通常也被当成是数字签名,但这种说法不够准确,两者的区别在于:Hash散列使用共享密钥,而数字签名基于公钥技术。hash算法也称为消息摘要或单向转换。称它为单向转换是因为:

  1)双方必须在通信的两个端头处各自执行Hash函数计算;

  2)使用Hash函数很容易从消息计算出消息摘要,但其逆向反演过程以目前计算机的运算能力几乎不可实现。

  Hash散列本身就是所谓加密检查和或消息完整性编码MIC(Message IntegrityCode),通信双方必须各自执行函数计算来验证消息。举例来说,发送方首先使用HMAC算法和共享密钥计算消息检查和,然后将计算结果A封装进数据包中一起发送;接收方再对所接收的消息执行HMAC计算得出结果B,并将B与A进行比较。如果消息在传输中遭篡改致使B与A不一致,接收方丢弃该数据包。

  有两种最常用的hash函数:

  ·HMAC-MD5MD5(消息摘要5)基于RFC1321。MD5对MD4做了改进,计算速度比MD4稍慢,但安全性能得到了进一步改善。MD5在计算中使用了64个32位常数,最终生成一个128位的完整性检查和。

  ·HMAC-SHA 安全Hash算法定义在NIST FIPS 180-1,其算法以MD5为原型。SHA在计算中使用了79个32位常数,最终产生一个160位完整性检查和。SHA检查和长度比MD5更长,因此安全性也更高。

六、加密和数据可靠性

  IPSec使用的数据加密算法是DES--Data EncryptionStandard(数据加密标准)。DES密钥长度为56位,在形式上是一个64位数。DES以64位(8字节)为分组对数据加密,每64位明文,经过16轮置换生成64位密文,其中每字节有1位用于奇偶校验,所以实际有效密钥长度是56位。IPSec还支持3DES算法,3DES可提供更高的安全性,但相应地,计算速度更慢。

七、密钥管理

·动态密钥更新

  IPSec策略使用"动态密钥更新"法来决定在一次通信中,新密钥产生的频率。动态密钥指在通信过程中,数据流被划分成一个个"数据块",每一个"数据块"都使用不同的密钥加密,这可以保证万一攻击者中途截取了部分通信数据流和相应的密钥后,也不会危及到所有其余的通信信息的安全。动态密钥更新服务由Internet密钥交换IKE(InternetKey Exchange)提供,详见IKE介绍部分。

  IPSec策略允许专家级用户自定义密钥生命周期。如果该值没有设置,则按缺省时间间隔自动生成新密钥。

·密钥长度

  密钥长度每增加一位,可能的密钥数就会增加一倍,相应地,破解密钥的难度也会随之成指数级加大。IPSec策略提供多种加密算法,可生成多种长度不等的密钥,用户可根据不同的安全需求加以选择。

·Diffie-Hellman算法

  要启动安全通讯,通信两端必须首先得到相同的共享密钥(主密钥),但共享密钥不能通过网络相互发送,因为这种做法极易泄密。

  Diffie-Hellman算法是用于密钥交换的最早最安全的算法之一。DH算法的基本工作原理是:通信双方公开或半公开交换一些准备用来生成密钥的"材料数据",在彼此交换过密钥生成"材料"后,两端可以各自生成出完全一样的共享密钥。在任何时候,双方都绝不交换真正的密钥。

  通信双方交换的密钥生成"材料",长度不等,"材料"长度越长,所生成的密钥强度也就越高,密钥破译就越困难。除进行密钥交换外,IPSec还使用DH算法生成所有其他加密密钥。

  AH报头字段包括:

  ·Next Header(下一个报头): 识别下一个使用IP协议号的报头,例如,NextHeader值等于"6",表示紧接其后的是TCP报头。

  ·Length(长度): AH报头长度。

  ·Security Parameters Index (SPI,安全参数索引): 这是一个为数据报识别安全关联的 32位伪随机值。SPI 值 0 被保留来表明"没有安全关联存在"。

  ·SequenceNumber(序列号):从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。接收端校验序列号为该字段值的数据包是否已经被接收过,若是,则拒收该数据包。

  ·Authentication Data(AD,认证数据):包含完整性检查和。接收端接收数据包后,首先执行hash计算,再与发送端所计算的该字段值比较,若两者相等,表示数据完整,若在传输过程中数据遭修改,两个计算结果不一致,则丢弃该数据包。

数据包结构

  如图二所示,AH报头插在IP报头之后,TCP,UDP,或者ICMP等上层协议报头之前。一般AH为整个数据包提供完整性检查,但如果IP报头中包含"生存期(TimeTo Live)"或"服务类型(Type of Service)"等值可变字段,则在进行完整性检查时应将这些值可变字段去除。

  图2 AH为整个数据包提供完整性检查

一、ESP协议结构

  ESP(Encapsulating SecurityPayload)为IP数据包提供完整性检查、认证和加密,可以看作是"超级 AH",因为它提供机密性并可防止篡改。ESP服务依据建立的安全关联(SA)是可选的。然而,也有一些限制:

  ·完整性检查和认证一起进行。

  ·仅当与完整性检查和认证一起时,"重播(Replay)"保护才是可选的。

  ·"重播"保护只能由接收方选择。

  ESP的加密服务是可选的,但如果启用加密,则也就同时选择了完整性检查和认证。因为如果仅使用加密,入侵者就可能伪造包以发动密码分析攻击。

  ESP可以单独使用,也可以和AH结合使用。一般ESP不对整个数据包加密,而是只加密IP包的有效载荷部分,不包括IP头。但在端对端的隧道通信中,ESP需要对整个数据包加密。

  如图三所示,ESP报头插在IP报头之后,TCP或UDP等传输层协议报头之前。ESP由IP协议号"50"标识。

  图3 ESP报头、报尾和认证报尾

  ESP报头字段包括:

  ·Security Parameters Index (SPI,安全参数索引):为数据包识别安全关联。

  ·SequenceNumber(序列号):从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。接收端校验序列号为该字段值的数据包是否已经被接收过,若是,则拒收该数据包。ESP报尾字段包括:

  ·Padding(扩展位):0-255个字节。DH算法要求数据长度(以位为单位)模512为448,若应用数据长度不足,则用扩展位填充。

  ·Padding Length(扩展位长度):接收端根据该字段长度去除数据中扩展位。

  ·Next Header(下一个报头):识别下一个使用IP协议号的报头,如TCP或UDP。

  ESP认证报尾字段:

  ·Authentication Data(AD,认证数据):包含完整性检查和。完整性检查部分包括ESP报头、有效载荷(应用程序数据)和ESP报尾。见图四。

  图4 ESP的加密部分和完整性检查部分

  如上图所示,ESP报头的位置在IP报头之后,TCP,UDP,或者ICMP等传输层协议报头之前。如果已经有其他IPSec协议使用,则ESP报头应插在其他任何IPSec协议报头之前。ESP认证报尾的完整性检查部分包括ESP报头、传输层协议报头,应用数据和ESP报尾,但不包括IP报头,因此ESP不能保证IP报头不被篡改。ESP加密部分包括上层传输协议信息、数据和ESP报尾。

二、ESP隧道模式和AH隧道模式

  以上介绍的是传输模式下的AH协议和ESP协议,ESP隧道模式和AH隧道模式与传输模式略有不同。

  在隧道模式下,整个原数据包被当作有效载荷封装了起来,外面附上新的IP报头。其中"内部"IP报头(原IP报头)指定最终的信源和信宿地址,而"外部"IP报头(新IP报头)中包含的常常是做中间处理的安全网关地址。

  与传输模式不同,在隧道模式中,原IP地址被当作有效载荷的一部分受到IPSec的安全保护,另外,通过对数据加密,还可以将数据包目的地址隐藏起来,这样更有助于保护端对端隧道通信中数据的安全性。

  ESP隧道模式中签名部分(完整性检查和认证部分)和加密部分分别如图所示。ESP的签名不包括新IP头。

  图5 ESP隧道模式

  下图标示出了AH隧道模式中的签名部分。AH隧道模式为整个数据包提供完整性检查和认证,认证功能优于ESP。但在隧道技术中,AH协议很少单独实现,通常与ESP协议组合使用。

  图6 AH隧道模式

个人工具
名字空间

变换
查看
操作
导航
工具箱