IP 安全与 IPsec 协议,理论与实践 VI :IPsec IKE 协商 您所在的位置:网站首页 ike和ipsec IP 安全与 IPsec 协议,理论与实践 VI :IPsec IKE 协商

IP 安全与 IPsec 协议,理论与实践 VI :IPsec IKE 协商

2024-05-23 20:24| 来源: 网络整理| 查看: 265

在不安全的信道上可以通过密码学运算来保护消息,实现安全通信。但这需要一个前提条件:在不安全的信道中安全地交换双方用于加解密运算的密钥信息,建立安全连接。

交换密钥信息有以下方式:

预共享密钥(PSK),收发双方通过其他渠道达成了密钥交换,这种渠道可以是与网络通信无关的,比如传递写下密钥的纸条;使用外部密钥管理介质,比如U盾等。该方式需要手动配置或者额外介质,适用于小规模的应用。因特网密钥交换协议(IKE),密钥交换协议在不安全的网络上通过密钥交换算法交换应用于下一阶段安全通信所需的密钥。密钥交换协议可以自动建立安全连接,适用于大规模应用。

IKE 协议目前拥有两代协议:IKEv1 以及 IKEv2,目前使用更为广泛的是更加简洁的 IKEv2,本文讨论基于 IKEv2(以下简称IKE)。IKEv2 的标准为 RFC7296.

IKE协议基于UDP协议,使用 500 端口。

图-IPsec节点间的IKE连接发起IKE协商

IPsec 节点在缺少相应安全关联时发起 IKE 协商,称为初始协商。

IPsec 节点在发出安全通信流量前,需要根据安全流量的 IP 地址等信息来查询该流量的安全策略。若该流量的安全策略为 IPsec 保护,却不存在对应的安全关联时,发送方向流量的目的地址发起 IKE 初始协商。

在安全关联的生命周期结束行将时,IPsec 节点也将向目的地址发起协商请求。因为此时安全关联仍存在,称为重协商。

IKE 协商中发起协商的一方称为发起方,另一方称响应方,通信双方执行的操作不同。

IKE初始交换图-IKE交换示意图

IKE 协议第一阶段将首先通过不安全的网络建立并认证IKE安全关联,称为初始交换,分为两个阶段,一般有 2 个来回,4 份报文(某些认证情况下,报文将超过 4 份)。

第一阶段不可避免地,在双方缺少共识的情况下,使用明文通信。该阶段通信双方首先建立IKE SA,称为 IKE_SA_INIT。双方进行交换以及达成共识:

Diffie-Hellman 交换,交换用于后续IKE加密通信的密钥,建立用于保护通信的IKE安全关联。密码学套件协商,发起方提议若干支持的密码学套件,响应方从提议中选取,达成密码学算法共识。密码学套件包括加密算法完整性认证算法伪随机生成函数D-H 交换组交换用于密钥生成的一组随机数响应方要求发起方提供证书,认证发起方身份

D-H 交换能够在不安全的网络中,通过交换明文数值的方式,交换密钥。D-H 交换的安全性建立在正常通信双方所使用的模素数幂运算相对简单,而攻击方需要使用的离散对数运算复杂得多,甚至不可能这一数学原理之上,本文将在密码学章节中具体讨论 D-H 交换。

第一阶段协商的 IKE SA 对后续会话进行加密保护,IKE SA持有双方的加密密钥与认证密钥。这些密钥是以第一阶段协商的 D-H 密钥为根密钥,使用协商的伪随机函数生成。

第二阶段,双方对建立的 IKE SA 进行认证,称为 IKE_AUTH。认证的目的是为了验证通信双方的身份,防止在前一阶段出现中间人攻击,防止第三方中间人对通信双方分别冒充正常的通信对端,窃取双方 D-H 通信参数计算密钥,从而窃听双方后续的加密通信。D-H 机制本身不具备认证功能,所以需要在该阶段通过证书,数字签名或者其他协议来认证通信者身份。

发起方按照第一阶段响应方的证书请求发送本方证书证明身份,并要求响应方也提供证书。证书代表了权威证书中心对通信方身份的认证。

第二阶段同时进行第一个 IPsec SA 的协商,一般来说,此时双方只需要交换密码学套件而不需要再次协商密钥,使用 IKE SA 协商得到的密钥作为根密钥生成 IPsec SA 密钥。

IKE 安全关联(IKE SA)的应用范围仅限于 IKE 协商通信,最终目的是建立保护后续通信的安全关联(SA)。后者可以被称为IKE子安全关联(IKE child SA),应用范围是 IPsec 通信。

IKE 建立 Child SA 交换

子安全关联可以在初始交换中建立,也可以在初始交换后续的创建子安全关联交换中建立,一次 IKE 会话中可以建立多个子安全关联。在初始交换中创建的是第一个子安全关联,

大多数场景中,只需要建立第一个子安全关联,建立子安全关联阶段时 IKE 中的可选交换阶段。

建立子安全关联阶段也用于子 SA 的重协商。重协商中创建一个新的安全关联并删除原有安全关联。

IKE 信息交换

信息交换是 IKE 交换中可选的交换阶段,发起方向响应方交换新建,删除以及一些通知信息。

响应方指定SPI

安全参数索引(以下简称SPI)是一项在安全关联协商时由响应方指定的参数,每个安全关联持有SPI。发送时,安全相关持有的SPI以明文的形式封装于安全协议首部。接收方根据SPI来选择对应的安全关联处理接收包。

对于接收方,在单播模式下通过SPI和安全协议类型就足以关联到唯一的SA。对于多播模式IP包,通过四元组信息:SPI,本地地址,远端地址,安全协议类型确定唯一SA。

协商过程中,发送方发起的提议中包括SPI,SPI由响应方指定。协议(RFC4301)中未规定SPI的生成规则,SPI是一项本地参数,不会对安全产生影响。部分实现中响应方在不与已有SPI冲突的情况下,采用随机数的方式选取SPI(该实现方式待确定),随机生成出于以下考虑:

当使用SPI参与哈希查找表索引生成时,随机数能够减少哈希冲突的产生

协议建议,具体实现中响应方可以在SPI中插入特定字段来便于本地处理。

推荐阅读



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有