互联网协议以TCP/IP最为人们所熟知,大多数通信协议(如TCP、 UDP、 ICMP、 IGMP 等)皆是以IP报文来传送。而IP报文本身没有集成任何安全特性,也就是说,IP数据包在公共网络中传输可能会面临被伪造、窃取或篡改的风险。
由此可见,利用IP协议来传输资料是非常不可靠的,IPsec协议可以解决Internet网络传输不安全的问题。本文将介绍IPsec协议的基本概念、工作原理和应用场景,帮助初学者更好地全面了解IPsec协议及其在网络安全中的作用。
IPsec(IP Security)协议定义了 IP 网络流量安全服务的体系结构,并在 IP 层提供安全性的框架,提供数据验证、数据完整性和机密性。通信双方通过IPsec建立一条IPsec隧道,IP数据包通过IPsec隧道进行加密传输,有效保证了数据在不安全的网络环境中传输的安全性。
| IPsec应用(资料来源:Stallings 2011)
IPsec简史
80 年代初,Internet 协议开发时,安全性在优先级列表中等级并不高。然而,随着互联网用户数量的持续增长,网络需要更高的安全性。1993年12月,John Ioannidis等人在哥伦比亚大学和AT&T贝尔实验室研究了软件IP加密协议swIPe协议。
1994 年 7 月,Trusted Information Systems(TIS)的科学家徐崇伟继续这项研究,增强了 IP 协议,提出了一些关键性的想法和方案,例如基于IKE(Internet Key Exchange)协议的密钥交换机制等,这些方案和想法为IPsec协议的发展奠定了基础。IPsec由IETF在一系列针对各种组件和扩展的征求意见文档中正式标准化。
1995年,IETF推出了第一版IPsec协议,主要用于IPv6。1998年,IETF发布了第二版IPsec协议,主要用于IPv4。第二版IPsec协议简化了协议的实现,增加了更多的加密和身份验证算法,提高了安全性。2005年,IETF发布了第三版IPsec协议,第三版IPsec协议引入了新的加密算法,例如AES和SHA-256,提高了安全性和性能。
| IPsec 架构(资料来源:Worthman 2015)
IPsec 体系架构的关键组件包括:
>安全关联 ( SA ):指定通信主机可识别的安全属性。主机需要两个SA才能安全通信,每个方向一个。在传输受保护的数据包之前,双方就具体的安全保护措施、加密算法、要应用的密钥和要保护的具体流量类型达成一致。
>IPsec 协议: AH(身份验证标头)和ESP(封装安全载荷)协议用于身份验证。它们包含数据源证明、数据完整性和反重放保护。第三个协议IKE(Internet 密钥交换)是一种混合协议,用于在实际数据传输开始之前进行对等身份验证和密钥交换过程。
>IPsec 模式:两种协议(AH和ESP)都支持传输模式和隧道模式。
IPsec 的主要安全协议
构成 IPsec 的三个主要协议是:AH (身份验证标头)、ESP(封装安全载荷) 和IKE (互联网密钥交换)。
>身份验证标头 ( AH ): AH是一个扩展标头,用于提供数据完整性、身份验证和防重放,但不提供加密。反重放保护可确保部分序列完整性,防止未经授权的数据包传输。AH不提供数据机密性。
| IP包头
>封装安全载荷 ( ESP ): ESP由封装的标头和尾部组成,提供机密性、数据源身份验证、无连接完整性、抗重放服务(部分序列完整性的一种形式)和有限的流量机密性。
>Internet 密钥交换 ( IKE ): IETF特定的密钥管理协议,用于交换和协商安全策略。支持手动或动态关联密钥管理。也可以在 IPsec 之外使用。
| AH和ESP包结构(资料来源:Kosem 2018)
IPsec 隧道模式与传输模式
对于身份验证,AH和ESP都支持两种使用模式:传输模式和隧道模式。验证可以应用于除IP报头之外的数据包内容(传输模式)或整个原始数据包(隧道模式)。
传输模式
传输模式涵盖大部分原始数据包,用于端到端通信(例如客户端和服务器之间的通信)。该模式不改变IP报头,只是将IP协议字段改为51(AH)或50(ESP),重新计算IP报头的校验和。
使用传输模式时,IPsec 仅加密 IP 负载,不加密IP 报头。除非使用单独的隧道协议(例如 GRE),否则中间路由器能够看到每个数据包的最终目的地。因此,这种模式最适合主机到主机架构的实现,因为可以在两个端点之间进行直接通信,并且不必更改 IP 报头中的 IP 地址。传输模式通过 AH 或 ESP 标头提供对 IP 负载的保护。
| 传输模式下的 IPsec ESP 封装
优点:提供端到端加密;与隧道模式相比开销最小;更大的MTU(最大传输单元)。
缺点:要求在入侵防御系统 (IPS) 实体上实施 IPsec;NAT穿越难度更大(TCP checksum invalidation)。
隧道模式
隧道模式覆盖整个原始数据包,在该模式下,AH 或 ESP在封装数据包时会创建一个新的 IP 报头,原始IP报头被隐藏,新的 IP 报头包含所涉及端点的源和目标 IP 地址。这种模式可用于VPN网关之间或主机与VPN网关之间的通信。
| 隧道模式下的 IPsec ESP 封装
优点:与现有的 VPN 网关更兼容;无需在 IPS 实体上实施 IPsec;更容易穿越NAT。
缺点;更多开销;较小的MTU 。
例如,给定一个 OSI 网络模型,传输模式将加密传输层及以上的所有内容。使用隧道模式,网络层及以上的所有内容都将被加密。
IPsec是如何工作的?
IPsec的工作原理大致可以分为5个阶段:识别“感兴趣流”启动 IPsec 进程;IKE阶段1;IKE阶段2;数据传输;IPSec 隧道终止。
>第 1 步:识别“感兴趣流”
网络设备接收到报文后,通常会将报文的五元组等信息和IPsec策略进行匹配来判断报文是否需要保护。需要通过IPsec隧道传输的流量通常被称为“感兴趣流”。
>第 2 步:IKE 阶段 1
IKE全称Internet Key Exchange,IKE 阶段 1 的基本目的是验证 IPsec 对等体,并在它们之间建立安全通道以启用 IKE 交换。IKE 阶段 1 执行以下功能:
验证和保护 IPsec 对等体的身份
在对等点之间协商匹配的 IKE SA 策略以保护 IKE 交换
执行经过身份验证的 Diffie-Hellman 交换,最终结果是具有匹配的共享密钥
设置安全隧道以协商 IKE 阶段 2 参数
SA是通信双方对某些协商要素的约定,比如双方使用的安全协议、数据传输采用的封装模式、协议采用的加密和验证算法、用于数据传输的密钥等,通信双方之间只有建立了SA,才能进行安全的数据传输。
>第 3 步:IKE 阶段 2
IKE 阶段 2 的目的是协商 IPsec SA 以建立 IPsec 隧道。IKE 阶段 2 执行以下功能:
协商受现有 IKE SA 保护的 IPsec SA 参数
建立 IPsec 安全联盟
定期重新协商 IPsec SA 以确保安全
可选择执行额外的 Diffie-Hellman 交换
IKE 阶段 2 有一种模式,称为快速模式。快速模式发生在 IKE 阶段1建立安全隧道之后。它协商共享 IPsec 策略,派生用于 IPsec 安全算法的共享密钥材料,并建立 IPsec SA。快速模式还用于在 IPsec SA 生存期到期时重新协商新的 IPsec SA。
>第 4 步:IPsec 加密隧道
IKE 阶段 2 完成并且快速模式已建立 IPsec SA 后,就可以通过 IPsec 隧道交换信息。使用 IPsec SA 中指定的加密对数据包进行加密和解密。
加密机制保证了数据的机密性,防止数据在传输过程中被窃取;验证机制保证了数据的真实可靠,防止数据在传输过程中被仿冒和篡改。加密验证过程如下图所示。
| IPsec加密验证过程
>第 5 步:隧道终止
删除或超时会导致 IPsec SA 终止,发生这种情况时,密钥将被丢弃,并再次执行 IKE 阶段2以生成新的 SA 和密钥。如有必要,还会执行新的阶段1协商。成功的协商会产生新的 SA 和新的密钥。但可以在旧的 SA 到期之前建立新的 SA,以保持流量的连续性。
通常情况下,通信双方之间的会话老化(连接断开)即代表通信双方数据交换已经完成,因此为了节省系统资源,通信双方之间的隧道在空闲时间达到一定值后会自动删除。
IPsec 的实现在 IPv4 和 IPv6 之间有何不同?
IPsec 是为IPv6开发的,然后追溯添加到 IPv4 中。在IPv6标准中,它是一个强制特性,而在IPv4中,它是可选的,必须得到外部支持。
按照设计,IPv6 更安全,可以免受IP地址扫描攻击,因为它的地址空间很大。因此,网络中的IP扫描技术可能无法找到存在安全漏洞的计算机。
IPv4 下的 IPsec 被广泛应用于VPN,在网络边缘终止。在 IPv4 中,IPsec 通常不用于保护端到端流量,因为 IPv4 广泛使用NAT网络地址转换。NAT会破坏 IPv4 标头并破坏 IPsec。而IPv6 中不存在此限制,因此使用IPsec端到端变得更加实用。
| IPv4 和 IPv6 的安全特性比较(资料来源:霍夫曼 2021)
IPsec VPN
顾名思义,IPsec VPN 是利用 IPsec 协议确保安全的VPN 。IPsec VPN 使用加密算法来提供机密性、身份验证和数据完整性,并使用计数器和数字排序来检测重放的数据包。可以使用以下 VPN架构实施 IPsec VPN :
点到点
点到点 VPN指通过IPsec VPN网关连接两个或两个以上的网络(或多个站点)。每个网络应该有一个 VPN 网关,网关可以是支持 IPsec VPN 的路由器或防火墙,也可以是专门为 IPsec VPN 操作设计的单独设备。通常使用点到点 VPN 在中央机构和分支机构之间或两个不同的公司之间建立私有通信和数据交换。
| 站点到站点 IPsec VPN
远程访问
远程访问VPN 使用户能够从 VPN 客户端连接到中央位置(例如数据中心),并访问那里托管的资源。这种类型的 VPN 在需要支持远程工作人员的公司中特别有用。如果有多个设备需要连接到 VPN 网关,那么每个设备上都必须有一个 VPN 客户端。
| 远程访问或客户端到站点 IPsec VPN
主机到主机
当 IT 管理员想要在远程服务器上执行某些任务时,服务器本身提供 VPN 服务,IT 管理员的设备充当VPN 客户端。
| 主机到主机 IPsec VPN
IPsec 与在不同OSI层的其他安全技术相比如何?
网络服务器系统通过支持各种加密的网络安全协议来保护网络中的数据,这些协议的主要区别在于:
IPsec:支持网络级对等体和数据源身份验证、数据完整性、数据加密和保护。
SSL(安全套接字层):不像 IPsec 那样需要预共享密钥,使用公钥加密来协商握手并安全交换加密密钥。可用于绕过防火墙和基于端口的流量阻塞。
TLS(传输层安全):基于服务器和客户端协商的密码套件的加密算法。使用SSL协议。
HTTPS:使用TLS建立加密链接。浏览器和网络服务器之间的数据传输被加密,防止网络罪犯读取或更改数据。
SNMP(简单网络管理协议):基于用户的安全模型 ( USM ),根据访问托管信息的用户提供不同级别的安全性。使用身份验证和数据加密来保护隐私。
OSPF(开放最短路径优先)认证:动态路由协议。支持消息认证和OSPF路由消息的完整性。未经授权的IP资源无法在不被检测到的情况下向网络注入消息。确保OSPF路由网络中路由表的完整性。
| IPsec 与SSL(资料来源:Loshin 2019)
IPsec 有什么缺点?
过度依赖公钥:如果网络的密钥管理不善或密钥的完整性受到损害,那么 IPsec 安全因素就会丢失。
性能开销:CPU使用率高,因为所有通过服务器的数据都必须加密和解密,网络性能会因 IPsec 开销较大而受到影响。可能需要使用硬件设备,例如VPN集中器。
广泛的权限访问范围:在基于 IPsec 的网络中,对单个设备的访问权限也可以为其他设备提供访问权限。因此,如果家庭网络中的任何设备受到威胁,它可能会影响从家庭网络(通过 IPsec 隧道)连接的公司网络。
实现复杂性:IPsec 包含了很多选项和高度的灵活性,这使得它很受欢迎,但相应也增加了复杂性。
网络兼容性问题:当连接到基于 IPsec 的VPN时,由于防火墙的限制,无法连接到另一个网络。此外,IPsec 不提供对多协议和IP多播流量的支持。
IPSec 的未来
IPsec在IP层上实现了加密、认证、访问控制等多种安全技术,极大地提高了TCP/IP协议的安全性,在过去的几十年中,得到了广泛的应用。但是随着网络技术的不断发展,它的未来也存在一些挑战和变化。
IPsec需要更好地支持多种平台和设备,并提供更灵活的安全解决方案。此外,IPsec可能需要提供更轻量级的安全方案,并具备更高效、更灵活的身份认证和密钥管理机制。
总之,IPsec在未来仍将继续发展和改进,并不断适应新的安全需求和技术发展。未来的IPsec可能会更加灵活、高效和安全,并且能够应对新的安全挑战。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !