深入解析互联网密钥交换(IKE):工作原理与版本演进

本文详细介绍了互联网密钥交换(IKE)协议的工作原理、IKEv1与IKEv2的差异,以及其在IPsec VPN中的关键作用。涵盖安全关联协商、Diffie-Hellman密钥交换、阶段化通信流程,并分析IKE的优势与潜在挑战。

什么是互联网密钥交换(IKE)及其工作原理?

互联网密钥交换(IKE)是一种标准协议,用于通过虚拟专用网络(VPN)在两方之间建立安全且经过身份验证的通信通道。该协议确保VPN协商、远程主机和网络访问的安全性。

IKE的关键作用是为互联网协议安全(IPsec)协商安全关联(SAs)。SAs是两方或多方实体之间的通信安全策略,包含一组算法和双方在建立VPN隧道或连接时使用的相互认可的密钥。每个系统维护与其通信的其他系统的SA列表。

IKE标准有两个版本:

  • RFC 2409定义的IKE协议。
  • RFC 7296定义的IKE版本2(IKEv2)。

IKE通常使用X.509公钥基础设施证书进行身份验证,并通过Diffie-Hellman密钥交换协议建立共享秘密会话。Diffie-Hellman密钥交换的工作原理是双方选择私钥、计算公钥、共享计算出的密钥,并计算用于安全通信的共享秘密密钥。

作为一种混合协议,IKE还在基于TCP/IP的互联网安全关联和密钥管理协议(ISAKMP)框架内实现了两种早期安全协议:Oakley和SKEME。SKEME协议是交换密钥的替代版本。ISAKMP RFC 2408用于协商、建立SA和保护IPsec对等点之间的连接,指定了密钥交换和身份验证的框架。Oakley RFC 2412用于密钥协商或交换,并定义了在IKE会话中用于密钥交换的机制。Diffie-Hellman是默认的交换算法。

IKE被许多受IPsec保护的技术使用,例如VPN、安全文件传输协议、安全Shell和点对点协议连接。互联网密钥交换为IPsec协商安全关联,通过启用加密隧道保护在公共互联网上传输的数据。

IKE在IPsec中如何工作?

IKE是IPsec的一部分,IPsec是一套用于保护通过网络传输的敏感数据的协议和算法。互联网工程任务组开发了IPsec,通过身份验证和加密IP网络数据包以及安全VPN来提供安全性。

在IPsec中,IKE定义了初始连接期间IPsec SA的自动协商和身份验证方法。这对于加密和解密过程是必需的,因为它协商用于主要通信的安全性。IKE为IPsec配置提供了多个好处,包括自动协商和身份验证、防重放服务、证书颁发机构支持以及在IPsec会话期间更改加密密钥的能力。

IKE协议在传输过程中使用用户数据报协议(UDP)数据包,通常需要四到六个数据包,包含两到三条消息。IPsec堆栈拦截相关的IP数据包,并根据需要加密和解密它们。

为了说明IKE的使用,想象两个之前未见过面的间谍需要开始交换秘密消息。IKE就像是他们第一次见面时使用约定的秘密来识别彼此,例如“我会在公园长椅上戴红帽子;你问关于雪的事情”。然后,他们可以商定如何加密和传递消息。从那时起,他们再也不需要亲自见面,只需要按照约定的方式交换消息。

理解IKE的阶段1和阶段2

原始版本的IKE分两个阶段建立安全通信通道:阶段1和阶段2。

在阶段1中,使用预共享密钥或数字证书在发起者和响应者之间建立经过身份验证的连接。目标是保护在阶段2中发生的通信。Diffie-Hellman密钥交换算法创建一个安全的身份验证通信通道,用于进一步通信。这种数字加密方法使用数字的特定幂次来生成解密密钥。协商应产生会话密钥和一个双向SA。

阶段1在两种模式之一下运行:主模式或积极模式。主模式包括双方发送三次双向交换,总共六条消息。前两条消息确认加密和身份验证算法。第二组两条消息以Diffie-Hellman密钥交换开始,双方提供一个随机数。第三组消息验证各方的身份。

积极模式完成与主模式相同的任务,但仅通过两次交换(三条消息)完成。主模式通过加密保护双方的身份,而积极模式则不保护。

IKE的阶段2协商一个SA来保护通过IPsec传输的数据,使用在阶段1创建的安全通道。结果是至少两个单向SA。双方还交换提案以确定在SA中使用哪些安全参数。

阶段2仅以一种模式运行:快速模式。快速模式提供三种资源:代理ID、完美前向保密(PFS)和重放保护。每个参与者的代理ID相互共享。PFS提供独立于先前密钥的密钥。重放保护是一种防止重放攻击的安全方法。

阶段1中的主模式和积极模式仅适用于IKEv1,而不适用于IKEv2。

什么是IKE版本2及其改进?

IKEv1于1998年发布,随后IKEv2于2005年发布。IKEv2于2014年更新,协商和验证IPsec SA,并在设备之间提供安全VPN通信通道。此版本不像其前身那样包括阶段1或阶段2,但消息交换仍然协商IPsec隧道。

四条消息中的第一条是决定安全属性的协商。第二条是各方验证其身份的地方。第三条包括创建额外的SA。第四条消息删除SA关系、检测IPsec隧道活跃性并报告错误。

IKEv2相对于IKEv1的改进如下:

  • 需要更少的带宽。
  • 需要更少的加密机制来保护数据包。
  • 仅需一个四消息初始交换机制。
  • 支持移动平台,包括智能手机。
  • 支持流控制传输协议流量的安全性。
  • 提供更强的拒绝服务(DoS)攻击抵抗力。
  • 配备内置的网络地址转换(NAT)遍历功能,以支持执行转换的路由器。
  • 自动检测IPsec隧道是否仍然活跃,以便IKE在需要时自动重新建立连接。
  • 启用消息分段,使IKEv2在IP片段可能被阻塞且SA可能无法建立的区域中运行。
  • 启用重新密钥以为SA构建新密钥。

移动性和多宿协议是IKE在v2规范中的扩展,以支持移动设备(如智能手机)。它有助于在设备在网络之间移动时快速重新建立连接。

IKEv2连接如何工作?

IKEv2连接比IKEv1使用更少的步骤:

  • IKE_SA_INIT是初始交换,发起者和响应者交换支持的加密类型。
  • IKE_SA_AUTH是交换身份验证信息并建立连接的地方。
  • CREATE_CHILD_SA是为彼此创建SA的地方。

使用IKE的优势是什么?

IKE包括以下好处:

  • 自动协商和身份验证。
  • 防重放服务。
  • 在IPsec会话期间更改加密密钥的能力。
  • 计算共享密钥。
  • 使用NAT和NAT遍历实现快速连接速度。
  • 在连接断开时尝试恢复连接。
  • 支持各种设备,包括台式机和智能手机。
  • 防止DoS和重放攻击。

使用IKE的潜在挑战是什么?

IKE可能带来以下挑战:

  • IKEv1容易受到Bleichenbacher攻击,该攻击基于设备对接收修改后的密文的响应来获取设备信息。
  • 在某些操作系统(OS)中使用IKEv2可能需要用户进行额外的手动配置。例如,如果Junos OS中的IKE未明确配置,Junos OS默认使用IKE版本1。

防火墙或网络管理员也可能阻止IKEv2的UDP端口,导致VPN停止工作。

什么是L2TP IP VPN互联网密钥交换?

互联网服务提供商使用第二层隧道协议(L2TP)与IPsec结合,使VPN能够通过所有流量。通过使用IKE,此网络协议协商和验证安全VPN连接。使用L2TP比其他VPN稍慢,但使其能够未经更改地传递原始数据包。

IKE的替代方案

IKE已在很大程度上被IKEv2取代。对于使用IPsec的自动连接,IKEv2仍然是最佳选择。如果系统是从头开始设计的,可能会考虑其他方法。

可以配置不使用IKE的手动IPsec隧道。为此,连接两端的所有加密类型都需要预先配置。通过省略IKE,它可以减少初始连接时间。这对于固定隧道(例如站点到站点VPN)可能有用。

其他现代VPN技术可能提供比带有IKE的IPsec更好的VPN性能。OpenVPN是一种流行且易于理解的VPN技术。WireGuard是一种最近的VPN技术,提供卓越的性能,但尚未得到广泛支持。探索始终在线VPN的好处以及VPN与零信任与软件定义边界的差异。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计