基于IPSec协议的IPv6安全机制(三): IPSEC的四种功能

日期: 2007-12-24 作者:Mohammad Heidari 来源:TechTarget中国

三、IPSEC的四种功能

  与IPv4相比,IPv6具有许多优势。首先,IPv6解决了IP地址数量短缺的问题;其次,IPv6对IPv4协议中诸多不完善之处进行了较大的改进。其中最为显著的就是将IP Sec集成到协议内部,从此IP Sec将不再单独存在,而是作为IPv6协议固有的一部分贯穿于IPv6的各个领域。IPSEC提供四种不同的形式来保护通过公有或私有IP网络来传送的私有数据:

  • 安全关联(Security Associations,简称SA)
  • 报头认证(Authentication only(Authentication Header ,简称AH) )
  • IP封装安全载荷(Encryption and authentication known as Encapsulating Security Payload,简称ESP)
  • 密匙管理(Key management)

        1、 安全关联Security Association(SA)

  IP Sec中的一个基本概念是安全关联(SA),安全关联包含验证或者加密的密钥和算法。它是单向连接,为保护两个主机或者两个安全网关之间的双向通信需要建立两个安全关联。安全关联提供的安全服务是通过AH和ESP两个安全协议中的一个来实现的。如果要在同一个通信流中使用AH和ESP两个安全协议,那么需要创建两个(或者更多)的安全关联来保护该通信流。一个安全关联需要通三个参数进行识别,它由安全参数索引(AH/ESP报头的一个字段)、目的IP地址和安全协议(AH或者ESP)三者的组合唯一标识。表6列出AH和ESP报头在传送模式和隧道模式下的区别。

表6   AH和ESP报头在传送模式和隧道模式下的区别

  传送模式 隧道模式
AH 基本IP报头和扩展报头 原始的IP数据包外面封装新IPv6报头和AH
ESP 压缩数据包和IP v6扩展ESP报头 ESP报头
带AH的ESP ESP报头和HA扩展报头  

        传送模式 隧道模式

        AH 基本IP报头和扩展报头 原始的IP数据包外面封装新IPv6报头和AH

        ESP 压缩数据包和IP v6扩展ESP报头 ESP报头

        带AH的ESP    ESP报头和HA扩展报头

        2、报头验证Authentication Header(AH)

  认证协议头(AH)是在所有数据包头加入一个密码。AH通过一个只有密匙持有人才知道的”数字签名”来对用户进行认证。这个签名是数据包通过特别的算法得出的独特结果;AH还能维持数据的完整性,因为在传输过程中无论多小的变化被加载,数据包头的数字签名都能把它检测出来。IPv6的验证主要由验证报头(AH)来完成。验证报头是IPv6的一个安全扩展报头,它为IP数据包提供完整性和数据来源验证,防止反重放攻击,避免IP欺骗攻击。

        ⑴ 验证报头的格式,如图2所示。

      

  图2   验证报头的格式(IP Security Authentication Header )

        验证报头的格式包括以下内容:

  • 下一报头字段(Next Header): 确定跟在验证报头后面的有效载荷的类型(如TCP)
  • 有效载荷长度(Payload length):验证报头的长度。
  • 安全参数索引(Security Parameter Index):用来确定安全关联的安全参数索引。
  • 验证数据字段(Sequence Number):一个变长字段,它包含完整性检查值(ICV, Integrity Check Value),用来提供验证和数据完整性。
  • 保留字段(Reserved):(16 位)供以后使用

        ⑵验证数据(Authentication Data)

  验证数据,它包含完整性检查值(ICV),用来提供验证和数据完整性。用来计算ICV的算法由安全关联指定。ICV是在这种情况下计算的,即IP报头字段在传递过程中保持未变,验证报头带有的验证数据置0,IP数据包为有效载荷。有些字段在传递的过程中可能改变,包括最大跳数、业务类别和流标签等。IP数据包的接收者使用验证算法和安全关联中确定的密钥对验证报头重新计算ICV。如果ICV一样,接收者知道数据通过验证并且没有被更改过。验证数据包工作过程,如图3所示。

 

图3   验证数据包工作过程

        ⑶防止重放攻击(Prevent Reply Attack)

  重放攻击是一种获得加密数据包,然后发送设定的目的地。收到复制加密数据包后,可能而而面临破解及其它一引起意想不到的后果。序列号计数器可阻止此类攻击,当发送者和接收者之间的通信状态建立的时候,序列号被置0。当发送者或者接收者传送数据的时候,它随后被加1。如果接收者发觉一个IP数据包具有复制的序列号字段,它将被丢弃,这是为了提供反重放的保护。该字段是强制使用的,即使接收者没有选择反重放服务它也会出现在特定的安全关联中。验证报头带有的验证数据置0,IP数据包为有效载荷。

        3、封装安全有效载荷数据(Encapsulating Security Payload)

  安全加载封装(ESP)通过对数据包的全部数据和加载内容进行全加密来严格保证传输信息的机密性,这样可以避免其他用户通过监听来打开信息交换的内容,因为只有受信任的用户拥有密匙打开内容。ESP也能提供认证和维持数据的完整性。ESP用来为封装的有效载荷提供机密性、数据完整性验证。AH和ESP两种报文头可以根据应用的需要单独使用,也可以结合使用,结合使用时,ESP应该在AH的保护下。

        ⑴封装安全有效载荷数据包格式,如图4所示。

图4   封装安全有效载荷数据包格式

        封装安全有效载荷数据包含以下字段:

  • SPI字段(Security Parameter Index(SPI)):确定安全关联的安全参数索引
  • 序列号字段(Sequence Number:):用来提供反重放保护,跟验证报头中描述的一样
  • 有效载荷数据(Payload Data):存放加密数据
  • 填充字段(Padding: Extra bytes):加密算法需要的任何填充字节
  • 填充长度(Pad length):包含填充长度字段的字节数
  • 下一报头(Next Header):描述有效载荷数据字段包含的数据类型
  • 有效载荷数据(Authentication Data):用ICV加密算法加密的所有数据(非加密数据区)

        ⑵ESP计算 (ESP Computation )

  在IPv6中,加密是由ESP扩展报头来实现的。ESP用来为封装的有效载荷提供机密性、数据来源验证、无连接完整性、反重放服务和有限的业务流机密性。ESP数据包压缩工作过程,如图5所示。

图5    ESP数据包压缩工作过程

        ⑶局限性

  ESP不保护任何IP报头字段,除非这些字段被ESP封装(隧道模式),而AH则为尽可能多的IP报头提供验证服务。所以如果需要确保一个数据包的完整性、真实性和机密性时,需同时使用AH和ESP。先使用ESP,然后把AH报头封装在ESP报头的外面,从而接收方可以先验证数据包的完整性和真实性,再进行解密操作,AH能够保护ESP报头不被修改。

        4、钥匙管理(Key Management)

  密匙管理包括密匙确定和密匙分发两个方面,最多需要四个密匙:AH和ESP各两个发送和接收密匙。密匙本身是一个二进制字符串,通常用十六进制表示,例如,一个56位的密匙可以表示为5F39DA752E0C25B4。注意全部长度总共是64位,包括了8位的奇偶校验。56位的密匙(DES)足够满足大多数商业应用了。密匙管理包括手工和自动两种方式。

  手工管理(Manual):手工管理方式是指管理员使用自己的密钥及其它系统的密钥手工设置每个系统。这种方法在小型网络环境中使用比较实际。

  自动管理系统(Automated):可以随时建立新的SA密钥,并可以对较大的分布式系统上使用密钥进行定期的更新。自动管理模式是很有弹性的,但需要花费更多的时间及精力去设置,同时,还需要使用更多的软件。

        IP Sec的自动管理密钥协议的默认名字是ISAKMP/Oakley。

        ⑴Oakley 协议(Oakley Key Determination)

  OAKLEY协议,其基本的机理是Diffie-Hellman密鈅交换算法。OAKLEY协议支持完整转发安全性,用户通过定义抽象的群结构来使用Diffie-Hellman算法,密鈅更新,及通过带外机制分发密鈅集,并且兼容用来管理SA的ISAKMP协议。

  Diffie-Hellman密钥交换算法,当A和B要进行秘密通信时,他们可以按如下步骤建立共享密钥:

  • A选取大的随机数x,并计算X=gx (mod P),A将g、P、X传送给B。
  • B选取大的随机数y,并计算Y = gy(mod P),B将Y传送给A。
  • A计算K=Yx(mod P);B计算K’ =Xy(mod P),易见,K=K’ =gxy(mod P)。A和B获得了相同的秘密值K。双方以K作为加解密钥以对称密钥算法进行保密通信。

        ⑵ISAKMP 协议(Internet Security Association and Key Management Protocol)

  因特网安全联盟和密钥管理协议(ISAKMP)定义程序和信息包的格式来建立、协商、修改和删除安全连接(SA)。SA包括所有如IP层服务、传输或应用层服务、流通传输的自我保护的各种各样的网络协议所需要的信息。ISAKMP 定义交换密钥生产的有效载荷和认证数据。ISAKMP 通过集中安全连接的管理减少了在每个安全协议中复制函数的数量。ISAKMP 还能通过一次对整个服务堆栈的协议来减少建立连接的时间。

  四、结论

  IPv6网络由于IPSec提供的安全服务,能有效防止长期困扰人们的许多网络攻击,如IP欺骗、拒绝服务攻击、数据篡改和网络探测活动等。IP Sec是目前可提供的最好的网络安全解决方案,它努力使Internet上的安全机制标准化,向更安全的Internet迈进了一大步。IPsec中可能有许多安全问题需要解决,如FTP, Telnet, DNS, and SNMP,但其它安全可通过防火墙或NAT转换来加以解决,但对QOS和DHCP可能会导致IPSEC无效或受限。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐