一、综述
1、引由
在互联网(Internet)上已有多种安全保密软件,但大都是针对特定应用采用加密技术而实现的。例如,针对电子邮件的PGP(Pretty Good Privacy)/Web-of-trust技术,以及在浏览器与3W服务器间用于保护商用3W信息流的验证与加密的技术安全套接层(SSL)协议。这类技术的局限性在于它们是针对特定应用而设计的,因而不能普遍适于企业网的各种应用需求和ISP(Internet Service Provider)今后可能的新应用需求。因此,IETF有关工作组的任务是要制订一种通用的安全保密技术标准,能够应对将来可能的挑战。
IP网的重要特点是以IP协议为其网络层的惟一选择,任何借助IP网的通信,包括Internet,都必须使用IP协议。因此,如果能保证IP层(即OSI/RM的网络层,详见下图1-1)的安全,就在很大程度上保证了IP网上的通信安全,也为组织安全的虚拟专用网(VPN)奠定了基础。这就是IETF网络安全组制订IPSec协议族的基本思路。下表1-1列出了IPSec协议族的核心目标及其优缺点。
图 1-1:IPSec协议与SSL协议的工作层(OSI/RM)
表 1-1:IPSec协议族的核心目标及其优缺点
2、IPsec定义与框架
因此,IPsec(Internet Protocol Security)是为IP网络提供安全性的一系列协议和服务的集合,通过这些协议和服务,可以在两个设备之间建立一条IPsec加密隧道。数据通过IPsec加密隧道进行传输,能够有效保证数据的安全性。IETF的 RFC中定义了IPsec的框架标准如下图1-2所示,框架的说明详见下表1-2。
图 1-2:IPsec的框架标准
表 1-2:IPsec标准框架的说明
3、IPSec协议族的版本
为此,IETF制定的IPSec协议族版本已从1995年的第一代(RFC 1800系列)演进至目前的在2005年发布的第三代(RFC 4300系列),其中第一代的RFC 1800系列和第二代的RFC 2400系列标准已被废止了,2005年发布的第三代(RFC 4300系列)已成为当前部署和实现所依据的权威版本,当然后续又发布有相关RFC,是为权威版本内容的增补与改进。下表1-3-1概括了IPSec协议族关键标准的发展脉络。第一代为IPSec协议最初的标准,因复杂性和互操作性问题而被取代;而第二代与第三代IPSec协议族的关键标准版本差异,主要体现在其框架标准和配套的密钥交换协议(IKE)两方面的演进上。下图1-3概括了从第二代到第三代核心框架(RFC标准)的主要变化;除了框架层面的演进,而日常所说的“IPSec版本”通常更直接地关联到密钥交换协议(IKE, Internet Key Exchange)的版本,即 IKEv1 与 IKEv2,它们的主要特性区别详见下表1-3-2的简述。简单来说,从“第二代”到“第三代”,IPSec实现了架构的简化和安全性的增强;而从 IKEv1 到 IKEv2,则是效率、可靠性和功能的全面升级。
表 1-3-1:IPSec协议关键标准的发展脉络概览
图 1-3:IPSec协议关键标准第二代到第三代核心框架(RFC标准)的主要变化
表 1-3-2:IKEv1 与 IKEv2的主要特新区别
需要说明的是:第三代IPSec框架(RFC 4300系列)通常与IKEv2配合使用,而第二代框架(RFC 2400系列)则与IKEv1关联。但这并非强制,存在交叉使用的情况。许多现代设备和操作系统(如Windows、主流防火墙)已同时支持IKEv1和IKEv2,在VPN网络的配置时,通常可以选择协商模式。
二、IPSec协议构成
IPSec协议族由三个基本部分组成:分组头认证(AH,Authentication Header)协议、负载数据安全包装(ESP,Encapsulation Secure Payload)协议和因特网密钥交换(IKE,Internet Key Exchange)协议。另外必须提到安全联盟(SA,Security Association)的概念。下表2-0给出了这四个套件的基本特征。
表 2-0:IPSec协议族的基本特征
1、分组头认证(AH)协议
认证头(AH)协议用来对IP报文进行数据源认证和完整性校验,即用来保证传输的IP报文的来源可信和数据不被篡改,但它并不提供加密功能。AH协议在每个数据包的标准IP报文头后面添加一个AH报文头,AH协议对报文的完整性校验的范围是整个IP报文。下图2-1为AH格式示意图,下表2-1-1是各字段的说明。在IPv4时,AH头标紧跟在IP头标之后、传输层头标之前;IPv6时,由于IPv6头标之后会有一些扩展头标、则AH的头标需要满足特定的位置,根据RFC 1883标准规定,IPv6主头标之后的扩展头顺序见下表2-1-2。
图 2-1:AH格式示意图
表 2-1-1:AH格式各字段的说明
表 2-1-2:IPv6主头标之后的扩展头顺序
2、负载数据安全包装(ESP)协议
负载数据安全包装(ESP)协议除了对IP报文进行数据源认证和完整性校验以外,还能对数据进行加密。ESP协议在每一个数据包的标准IP报头后方添加一个ESP报文头,并在数据包后方追加一个ESP尾(ESP Trailer和ESP Auth data)。ESP协议利用严格的加密手段提供安全性服务,通过将各分组中的数据和某些敏感IP地址搅混(Scrambling),使网络窃听者不能获得任何有用信息。ESP字段紧跟在IP报头或AH之后,内含数据及高层协议头,共分6个固定字段和1个可选项字段,其格式如下图2-2所示;下表2-2-1是各字段的说明。ESP的一些特征罗列于下表2-2-2中。
图 2-2:ESP格式示意图
表 2-2-1:ESP格式各字段的说明
表 2-2-2:ESP的相关特性
注意:AH协议和ESP协议可以单独使用,也可以同时使用。AH和ESP同时使用时,报文会先进行ESP封装,再进行AH封装;IPsec解封装时,先进行AH解封装,再进行ESP解封装。AH和ESP都是根据密钥分发和与相关安全协议有关的“流的管理”而提供访问控制的手段。两个协议的比较详见下表2-2-3。
表 2-2-3:AH协议和ESP协议的特性比较
3、因特网密钥交换(IKE)协议
因特网密钥交换(IKE)协议是一种功能极强而灵活性大的协议,它使用户就身份验证方法、加密方式、采用的密钥以及再次修改密钥前原密钥可使用的时间长短等问题,经过协商达成一致。IKE协议是一种基于UDP的应用层协议,它主要用于安全联盟(SA)协商和密钥管理。IKE协议属于一种混合型协议,它综合了ISAKMP(Internet Security Association and Key Management Protocol)、Oakley协议和SKEME协议这三个协议。其中,ISAKMP定义了IKE SA的建立过程,Oakley和SKEME协议的核心是DH(Diffie-Hellman)算法,主要用于在Internet上安全地分发密钥、验证身份,以保证数据传输的安全性。IKE SA和IPsec SA需要的加密密钥和验证密钥都是通过DH算法生成的,它还支持密钥动态刷新。IKE协议分IKEv1和IKEv2两个版本,IKE与AH/ESP间的关系详见图2-3。
图 2-3:IKE与AH/ESP间的关系
4、关于安全联盟(SA)
安全联盟(SA,Security Association)是IPSec协议中的一个重要概念,AH和ESP协议都需要使用这一概念;IKE协议的主要功能则是建立和维护SA。IPsec SA由一个三元组来唯一标识,即安全参数索引(Security Parameter Index,SPI)、目的IP地址和安全协议(AH或ESP)。其中,SPI是为唯一标识SA而生成的一个32比特的数值,它被封装在AH和ESP头中传输。一个SA是一条能够对在其上运载的数据流提供安全服务的单工(单向传输)连接,因此,要在两主机间或两个安全网关间对双向通信提供安全保障,应在各方向上分别建立一个SA,如下图2-4所示。如果需要把AH和ESP协议的保护功能同时施加给数据流,则需要创建更多的SA。
图 2-4:IPSec的安全联盟(SA)示意
三、IPSec 的原理机制
1、两种工作模式
IPSec协议可能工作于两种模式:传送模式(Transport Mode)和隧道模式(Tunnel Mode)。前一种模式主要用于对IP以上的协议保护;后一种模式主要用于对IP报文利用隧道进行传输。下表3-1揭示了两种工作模式的相关特征。显然隧道模式的使用较广,常用于虚拟专用网(VPN,Virtual Private Network)的安全保护。
表 3-1:传送模式和隧道模式的特征
2、两种组网需求
从组网需求的维度划分,IPsec可分为点到点IPsec和点到多点IPsec。其中,点到点IPsec主要用于两个设备之间建立IPsec隧道,实现两个局域网之间点到点的安全互通,如下图3-2-1所示。点到多点IPsec主要用于一个设备同时和多个设备之间建立IPsec隧道,实现一个局域网与多个局域网之间的安全互通,如图3-2-2所示。
图 3-2-1:点到点IPsec组网示意
图 3-2-2:点到多点IPsec组网示意
3、四阶段工作原理
IPsec的工作原理大致可以分为4个阶段(以隧道模式工作为例):识别“感兴趣流”、协商安全联盟(SA)、数据传输和隧道拆除。具体各阶段的说明详见下表3-3-1;下图3-3展示了IPsec加密验证的过程;下表3-3-2给出了IPsec加密验证过程中可使用的算法。
表 3-3-1:IPsec的工作原理简述
图 3-3:IPsec加密验证的过程示意图
表 3-3-2:IPsec加密验证过程中可使用的算法
欲详细了解IPsec协议更多内容的请进入。
IPSec 是构建安全网络基础设施的基石技术,通过灵活的协议组合和工作模式,适应从端到端到网关间的多种安全需求。IPSec已成IPv6网络的强制配置。尽管其配置和管理复杂度较高,但其强大的安全性使其在企业VPN、跨网络安全通信等领域仍是不可替代的解决方案。随着技术的发展,IPSec 常与软件定义网络(SDN)、零信任架构等新兴技术结合,持续演进以适应云时代的安全挑战。
欲进一步了解安全套接字(SSL)协议介绍的请进入。