Username: Password:

IPSec基础-IPSec协议类型
来源:网上收集    作者:佚名     发布时间:2008-03-20 08:46:13


  IPSec提供了两种安全机制:认证和加密。认证机制使IP通信的数据接收方能够确认数据发送方的真实身份连同数据在传输过程中是否遭篡改。加密机制通过对数据进行编码来确保数据的机密性,以防数据在传输过程中被窃听。IPSec 协议组包含Authentication Header(AH)协议、Encapsulating Security Payload(ESP)协议和Internet Key Exchange(IKE)协议。其中AH协议定义了认证的应用方法,提供数据源认证和完整性确保;ESP协议定义了加密和可选认证的应用方法,提供可靠性确保。在实际进行IP通信时,能够根据实际安全需求同时使用这两种协议或选择使用其中的一种。AH和ESP都能够提供认证服务,但是,AH提供的认证服务要强于ESP。IKE用于密钥交换(将在以后部分讨论)。

 

一、Authentication Header(AH)协议结构

  AH协议为IP通信提供数据源认证、数据完整性和反重播确保,他能保护通信免受篡改,但不能防止窃听,适合用于传输非机密数据。AH的工作原理是在每一个数据包上添加一个身份验证报头。此报头包含一个带密钥的hash散列(能够将其当作数字签名,只是他不使用证书),此hash散列在整个数据包中计算,因此对数据的任何更改将致使散列无效--这样就提供了完整性保护。

  AH报头位置在IP报头和传输层协议报头之间,见图一。 AH由IP协议号" 51"标识,该值包含在AH报头之前的协议报头中,如IP报头。AH能够单独使用,也能够和ESP协议结合使用。

 

  图1 AH报头

  AH报头字段包括:

  ·Next Header(下一个报头): 识别下一个使用IP协议号的报头,例如,Next Header值等于"6",表示紧接其后的是TCP报头。
   ·Length(长度): AH报头长度。
   ·Security Parameters Index (SPI,安全参数索引): 这是个为数据报识别安全关联的 32 位伪随机值。SPI 值 0 被保留来表明"没有安全关联存在"。
   ·Sequence Number(序列号):从1开始的32位单增序列号,不允许重复,唯一地标识了每一个发送数据包,为安全关联提供反重播保护。接收端校验序列号为该字段值的数据包是否已被接收过,若是,则拒收该数据包。
   ·Authentication Data(AD,认证数据): 包含完整性检查和。接收端接收数据包后,首先执行hash计算,再和发送端所计算的该字段值比较,若两者相等,表示数据完整,若在传输过程中数据遭修改,两个计算结果不一致,则丢弃该数据包。

  数据包完整性检查:

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

 

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

二、Encapsulating Security Payload(ESP)协议结构

  ESP为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,安全参数索引):为数据包识别安全关联。
   ·Sequence Number(序列号):从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隧道模式


喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅