跳转至

IPSEC

\1. 安全协议

IPsec包括AH和ESP两种安全协议,它们定义了对IP报文的封装格式以及可提供的安全服务。

  • AH协议(Authentication Header)

    • 完整性、抗重放,不具有机密性
  • 认证算法:HMAC-MD5和HMAC-SHA1

  • ESP协议(Encapsulating Security Payload)

    • 机密性、完整性,但认证服务弱于AH
  • 加密算法:DES、3DES、AES等
  • 认证算法:HMAC-MD5和HMAC-SHA1

  • AH和ESP联合使用:先对报文进行ESP封装,再对报文进行AH封装

\2. 封装模式

  • 传输模式(Transport Mode)

    • 该模式下的安全协议主要用于保护上层协议报文
  • 仅传输层数据被用来计算安全协议头
  • 生成的安全协议头以及加密的用户数据(仅针对ESP封装)被放置在原IP头后面
  • 若要求端到端的安全保障,即数据包进行安全传输的起点和终点为数据包的实际起点和终点时,才能使用传输模式
  • 通常传输模式用于保护两台主机之间的数据
  • img

  • 隧道模式(Tunnel Mode)

    • 该模式下的安全协议用于保护整个IP数据包
  • 用户的整个IP数据包都被用来计算安全协议头
  • 生成的安全协议头以及加密的用户数据(仅针对ESP封装)被封装在一个新的IP数据包中
  • 封装后的IP数据包有内外两个IP头,其中的内部IP头为原有的IP头,外部IP头由提供安全服务的设备添加
  • 在安全保护由设备提供的情况下,数据包进行安全传输的起点或终点不为数据包的实际起点和终点时(例如安全网关后的主机),则必须使用隧道模式
  • 通常隧道模式用于保护两个安全网关之间的数据
  • img

  • 安全协议数据封装格式

img

\3. SA(Security Association,安全联盟)

  • 是IPsec的基础,也是IPsec的本质

    • IPsec在两个端点之间提供安全通信,这类端点被称为IPsec对等体
  • SA是IPsec对等体间对某些要素的约定,例如,使用的安全协议(AH、ESP或两者结合使用)、协议报文的封装模式(传输模式或隧道模式)、认证算法(HMAC-MD5或HMAC-SHA1)、加密算法(DES、3DES或AES)、特定流中保护数据的共享密钥以及密钥的生存时间等

  • 是单向的

    • 在两个对等体之间的双向通信,最少需要两个SA来分别对两个方向的数据流进行安全保护
  • 同时,如果两个对等体希望同时使用AH和ESP来进行安全通信,则每个对等体都会针对每一种协议来构建一个独立的SA。

  • 由一个三元组来唯一标识

    • SPI(Security Parameter Index,安全参数索引),用于标识SA的一个32比特的数值,它在AH和ESP头中传输
  • 目的IP地址
  • 安全协议号

  • 有手工配置和IKE自动协商两种生成方式

    • 手工方式:通过命令行配置SA的所有信息
    • 该方式的配置比较复杂,而且不支持一些高级特性(例如定时更新密钥)
    • 优点是可以不依赖IKE而单独实现IPsec功能
    • SA永不老化
    • 主要用于需要安全通信的对等体数量较少,或小型静态的组网环境中
  • IKE自动协商方式:对等体之间通过IKE协议自动协商生成SA,并由IKE协议维护该SA

    • 该配置相对比较简单,扩展能力强
    • SA具有生存时间:基于时间的生存时间,定义了一个SA从建立到失效的时间;基于流量的生存时间,定义了一个SA允许处理的最大流量
    • 在中、大型的动态网络环境中,推荐使用IKE自动协商建立SA。