一、VPN简介
VPN(Virtual Personal Network)即虚拟专用网,泛指通过VPN技术在公用网络上构建的虚拟专用网络。VPN用户在此虚拟网络中传输私网流量,在不改变网络现状的情况下实现安全、可靠的连接。其主要功能是在公用网络上建立专用网络,通过对数据包的加密和数据包目标地址的转换实现远程访问。
1.1VPN按照建设单位分类:
1.2VPN按照组网方式分类:
Client-to-Site VPN:即客户端与企业内网之间通过VPN隧道建立连接,客户端一般是个人计算机。此场景可以使用以下几种VPN技术实现:SSL、L2TP和L2TP over IPsec;
Site-to-Site VPN:即两个局域网之间通过VPN隧道建立连接,部署的设备通常为路由器或者防火墙、VPN网关。此场景可以使用以下几种VPN技术实现:IPSec、L2TP、L2TP over IPSec、GRE over IPSec和BGP/MPLS IP VPN 。
1.3VPN按照工作层次分类:
(1)应用层:SSL VPN
(2)网络层:IPSEC VPN 、GRE VPN、MPLS VPN
(3)数据链路层:L2TP VPN、PPTP VPN
【考点解析】熟悉各层次VPN的类型,一般出现在选择题中。
二、VPN关键技术
身份认证、数据加密和认证技术可以有效保证VPN网络与数据的安全性:
身份认证:可用于部署了远程接入VPN的场景,VPN网关对用户的身份进行认证,保证接入网络的都是合法用户而非恶意用户。也可以用于VPN网关之间对对方身份的认证。
数据加密:将明文通过加密变成密文,使得数据即使被黑客截获,黑客也无法获取其中的信息。
数据验证:通过数据验证技术对报文的完整性和真伪进行检查,丢弃被伪造和被篡改的报文。
2.1 隧道技术
隧道技术是 VPN 的基本技术,类似于点到点连接技术。它的基本过程就是在数据进入源 VPN 网关后,将数据“封装”后通过公网传输到目的 VPN 网关后再对数据“解封装”。“封装/解封装”过程本身就可以为原始报文提供安全防护功能,所以被封装的数据包在互联网上传递时所经过的逻辑路径被称为“隧道”。不同的VPN 技术封装/解封装的过程完全不同,具体封装过程在每个协议中详细介绍。
VPN技术的基本原理是利用隧道(Tunnel)技术,对传输报文进行封装,利用VPN骨干网建立专用数据传输通道,实现报文的安全传输。
位于隧道两端的VPN网关,通过对原始报文的“封装”和“解封装”,建立一个点到点的虚拟通信隧道。
2.2身份认证技术
主要用于移动办公的用户远程接入的情况。通过对用户的身份进行认证,确保接入内部网络的用户是合法用户,而非恶意用户。
不同的 VPN 技术能提供的用户身份认证方法不同:
GRE 不支持身份认证技术。
L2TP:依赖 PPP 提供的认证(比如 CHAP、PAP、EAP)。接入用户的用户名和密码本地认证也可以通过 RADIUS 服务器认证。认证通过以后再给用户分配内部的IP 地址,通过此 IP 地址对用户进行授权和管理。
IPSec:通过 IKEv2 拨号时,支持进行 EAP 认证。接入用户的用户名和密码可以本地认证可以通过 RADIUS 服务器认证。认证通过以后再给用户分配内部的 IP 地址,通过此 IP 地址对用户进行授权和管理。另外 IPSec 还支持数据源认证,在下面的数据验证技术里进行说明。
SSL VPN:支持本地认证、证书认证和服务器认证。主要是对服务器进行身份认证,确认 Web 网页的合法性。
2.3加密技术
加密技术就是把能读懂的报文变成无法读懂的报文,也就是把明文变成密文,这样即便是有黑客获取了报文也无法知道其真实含义。加密对象有数据报文和协议报文之分,能够实现协议报文和数据报文都加密的协议安全系数更高。
GRE 和 L2TP 协议本身不提供加密技术,所以通常结合 IPSec 协议一起使用,使用 IPSec 的加密技术。
IPSec:支持数据报文和协议报文加密。IPSec 一般采用对称密钥算法加密数据。对称加密算法采用相同的密钥加密和解密数据。
采用对称密钥加密的示意图:
SSL VPN:支持数据报文和协议报文加密。SSL VPN 采用公钥体制进行加密。公钥体制加密跟对称密钥加密的差别在于加密和解密的所用的密钥是不同的密钥。采用公钥进行加密,私钥进行解密。公钥和私钥一一对应。
2.4数据验证技术
数据验证技术就是对收到的报文进行验货。对于伪造的、被篡改的数据进行丢弃。那么验证是如何实现的呢?它采用一种称为“摘要”的技术。“摘要”技术主要采用HASH 函数将一段长的报文通过函数变换,映射为一段短的报文。在收发两端都对报文进行验证,只有摘要一致的报文才被认可。
GRE:本身只提供简单的校验和验证和关键字验证,但可结合 IPSec 协议一起使用,使用 IPSec 的数据验证技术。
L2TP:本身不提供数据验证技术,但可结合 IPSec 协议一起使用,使用 IPSec 的数据验证技术。
IPSec:支持对数据进行完整性验证和数据源验证。在 IPSec 中验证和加密通常一起使用,对加密后的报文 HMAC(Keyed-Hash Message Authentication Code)生成摘要,提供数据的安全性。HMAC 利用 Hash 函数,以一个对称密钥和一个数据包作为输入,生成一个固定长度的输出,这个输出被称为完整性校验值 ICV(Integrity Check Value)。由于在 Hash 运算时包含了密钥,即使用户同时修改了数据和摘要也可以被识别出来。
SSL VPN:支持对数据进行完整性验证和数据源验证。SSL VPN 采用公钥体制,利用Hash 算法生成摘要,再用私钥加密摘要生成数字签名。利用公钥进行解密。利用公钥和私钥的一一的关系可以对数据源进行认证。
2.5 GRE、L2TP、IPSec 和 SSL VPN 常用的安全技术和使用的场景
VPN | 用户身份认证 | 数据加密和验证 | 备注 |
GRE | 不支持 | 支持简单的关键字验证、检验和验证 | 可以结合IPSec使用,利用IPSec的数据加密和验证特性。 |
L2TP | 支持基于PPP的CHAP、PAP、EAP认证 | 不支持 | |
IPSec | 支持 | 支持 | 支持预共享秘钥验证或证书认证;支持IKEv2的EAP认证。 |
SSL | 支持 | 支持 | 支持用户名/密码或证书认证。 |
MPLS | 不支持 | 不支持 | 一般运行在专用的VPN骨干网络。 |
三、L2TP /PPTP VPN
L2TP(Layer Two Tunneling Protocol,二层隧道协议) 是VPDN(虚拟专用拨号网络)技术的一种,专门用来进行第二层数据的通道传送,该技术主要应用在远程办公场景中为出差员工远程访问企业内网资源提供接入服务。
L2TP组网架构中包括LAC(L2TP Access Concentrator,L2TP访问集中器)和LNS(L2TP Network Server,L2TP网络服务器)
PPTP(Point to Point Tunneling Protocol),即点对点隧道协议,是对端对端协议(PPP)的一种扩展,可以使远程用户拨入ISP、通过直接连接Internet或者其他网络安全地访问企业网。
【考点解析】目前这两类VPN在实际网络中很少应用,熟悉其工作层次。
四、BGP/MPLS IP VPN
MPLS VPN简介
MPLS是一种利用标签(Label)进行转发的技术、现主要用于VPN、流量工程、QoS等场景。MPLS VPN网络一般由运营商搭建,用户购买VPN服务来实现用户网络之间的路由传递、数据互通等。MPLS VPN使用BGP在运营商骨干网(IP网络)上发布VPN路由,使用MPLS在运营商骨干网上转发VPN报文。
BGP/MPLS IP VPN又被简称为MPLS VPN,是一种常见的L3VPN技术。
MPLS VPN网络架构由CE、PE、P组成:
CE(Customer Edge):CE代表客户边缘设备,是位于客户网络和服务提供商网络之间的设备,CE感知不到VPN的存在也不需要支持MPLS,与PE设备一般通过OSPF、静态路由等路由协议互联。
PE(Provider Edge):运营商边缘设备,与CE直接相连,在MPLS网络中,对VPN的所有处理都在PE设备上。
P(Provider):运营商网络中的骨干路由器,不直接与CE相连,具备MPLS转发能力,不维护VPN信息。
五、GRE VPN
Generic Routing Encapsulation,简称GRE,是一种三层VPN封装技术。GRE可以对某些网络层协议(如IPXApple Talk、IP等)的报文进行封装,使封装后的报文能够在另一种网络中(如IPv4)传输,从而解决了跨越多种网络的报文传输问题。
GRE网络封装技术,基本的构成要素都可以分为三个部分:乘客协议、封装协议、传输协议。
【考点解析】熟悉GRE的三个协议,一般出现在选择题中,GRE目前一般配合IPSec组合使用。
六、IPsec VPN
IPSec(IP Security) VPN一般部署在企业出口设备之间,通过加密与验证等方式,实现了数据来源验证、数据加密、数据完整性保证和抗重放等功能。
-
数据来源验证:接收方验证发送方身份是否合法。
-
数据加密:发送方对数据进行加密,以密文的形式在Internet上传送,接收方对接收的加密数据进行解密后处理或直接转发。
-
数据完整性:接收方对接收的数据进行验证,以判定报文是否被篡改。
-
抗重放:接收方拒绝旧的或重复的数据包,防止恶意用户通过重复发送捕获到的数据包所进行的攻击。
IPSec不是一个单独的协议,它给出了IP网络上数据安全的一整套体系结构,包括AH(Authentication Header)、ESP(Encapsulating Security Payload)、IKE(Internet Key Exchange)等协议。
IPSec SA
建立原理:以IKE密钥交换方式为例子:
-
密钥交换生成
IKE
加密、验证密钥,通过ISAKMP
消息传输,接、发方协商要求一致,协商成功建立IKE SA
-
在
IKE SA
保护下进行IPSec
安全协议,IPSec
加密、验证算法等参数的协商 -
协商成功后这样一对
IPSec SA
就建立成功了(以上的协商都统称为SA
协商) -
之后当
IPSec
定义的保护流进行传输时,进行安全协议的协商并对数据通过安全协议加密
IPSec协议框架
IPSec协议框架主要包含IKE、AH、ESP三个标准协议。
IKE:网络密钥交换协议,有两个版本IKEv1和IKEv2,实现通信双方的密钥协商。
IPSec通过验证头AH和封装安全载荷ESP两个协议实现IP报文的保护。
AH:协议号51,主要提供数据源验证、数据完整性校验和防重放功能,不能提供加密功能;
ESP:协议号50,主要提供加密、数据源验证、数据完整性校验和防重放功能;
IPSec数据封装方式有传输模式和隧道模式两种。
6.1 安全联盟 SA
IPSec对等体
运行IPSec
协议的两个端点称为IPSec
对等体。
基本概念
SA
是通信对等体间对某些要素的约定。
SA
定义了IPSec
对等体间将使用的安全协议、数据封装模式、验证算法、加密算法、密钥、SA
生存周期等参数。
IPSec
安全传输数据的前提是在IPSec
对等体之间成功建立安全联盟。
SA建立方式
项目 | 手工方式建立SA | IKE自动协商方式建立SA |
---|---|---|
SPI生成方式 | 手工配置SPI | SPI随机生成 |
SA参数生成方式 | 手工建立SA所需的全部参数(加密、验证密钥等) | 建立SA的参数由DH算法生成 |
SA生存周期 | 永久存在 | 生存周期由双方配置的生存周期参数控制 |
1)IPSec SA
的建立是单向的,并且其SA
的个数还与安全协议有关
2)当只使用AH
或ESP
来保护两个对等体之间的流量,则对等体之间就有两个SA
,每个方向上一个。
3)如果对等体同时使用了AH
和ESP
,那么对等体之间就需要四个SA
,每个方向上两个,分别对应AH
和ESP
。
SA唯一标识符
通过以下三元组来进行唯一标识:
1)安全参数索引SPI
SPI
是一个32位
比特的数值,指向一张安全关联表指针。封装在AH
和ESP
头部中。
2)目的IP地址
目前仅允许单播地址,是SA
的目的端点地址
3)安全协议号
标识是AH
还是ESP
6.2安全协议
IPSec
使用两种IP
传输层的安全协议对传输报文进行封装来提供认证、加密等安全服务。
AH和ESP协议类型比较
AH:报头验证协议
在每一个数据包的标准IP
报头后面添加一个AH
报文头
Next Header:下一个头部,长度为8
位。使用IP
协议ID
来标识IP
负载。例如,值6
表示TCP
。
Payload Len:负载长度,长度为8
位,用于指示AH
长度减2
,单位是32位
。这里因为AH
也是一个IPv6
扩展头,根据RFC2460
规定,所有IPv6
扩展头必须把负载长度值减去一个64位
。
Reserved:保留,长度16位,为将来保留,现必须设置为0。
SPI安全参数索引 :与目标地址及安全协议(AH
或ESP
)组合使用,以确保通信的正确安全关联。接收方使用该值确定数据包使用哪一安全(SA
)关联标识。
Sequence Number Field序列号 :为该数据包提供抗重播保护。序列号是 32 位、递增的数字(从 1 开始),它表示通过通信的安全关联所发送的数据包数。在快速模式安全关联的生存期内序列号不能重复。接收方将检查该字段,以确认使用该数字的安全关联数据包还没有被接收过。如果一个已经被接收,则数据包被拒绝。
Authentication Data身份验证数据 :包含完整性校验值 (ICV
),也称为消息身份验证码,用于验证消息身份验证与完整性。接收方计算 ICV
值并对照发送方计算的值校验它,以验证完整性。ICV
是通过IP
报头、AH
报头与IP
负载来计算的。为兼容性考虑,AH
强制实现HMAC-MD5-96
和HMAC-SHA-1-96
两种验证算法。
ESP:封装安全载荷协议
在每一个数据包的标准IP报头后面添加一个ESP报文头,并在数据包后面增加一个ESP尾部
SPI安全索引:唯一标识IPSec安全联盟
序列号:唯一标识每个数据包,用于防重放功击
负载数据:包含原始IP报文中可变长度数据内容
填充字段:用于增加ESP报文头的位数、无特殊含义
Pad Lengin:填充长度,给出前面填充字段的长度。置0代表无填充
Authentication Data:认证数据,包含数据完整性校验值ICV,用于接收方进行完整性校验。长度为32比特的整数
Next Header:下一头部,标识ESP报文头后面的下一个负载类型
传输模式下,为被保护的上层协议(
TCP或者UDP
)的编号隧道模式下,为
IP
协议的编号
AH协议和ESP协议比较
安全特性 | AH | ESP |
---|---|---|
协议号 | 51 | 50 |
数据完整性校验 | 支持(验证整个IP报文) | 支持(不验证IP头) |
数据源验证 | 支持 | 支持 |
数据加密 | 否 | 支持 |
防报文重播攻击 | 有限支持 | 支持 |
IPSec NAT-T(NAT穿越) | 否 | 支持 |
报文封装模式
主要分为传输模式和隧道模式,将AH或者ESP的相关字段插入到原始IP报文中,以实现对报文的认证和加密。
注意:
AH-ESP封装 :先根据ESP协议对报文进行封装,再根据AH协议进行封装
-
传输模式
AH
头或ESP
头被插入到IP
头与传输层协议之间
由于未添加额外的IP
头,所以原始报文中的IP
地址在加密后的报文中可见
源目IP可能是私网地址(因为传输模式不对源目IP做任何操作)
一般用于VPN
嵌套的情况(可以避免重复封装IP
地址,例如L2TP over IPSec
、GRE over IPSec
)
-
封装模式
AH
头或ESP
头被插到IP头(旧IP头)
之前,另外在AH头或
ESP头前再生成一个新的
IP`头
由于添加额外的IP
头,所以原始报文中的IP
地址在加密后的报文中不可见
一般用于私网与私网互访没有VPN
嵌套的情况
6.3加解密、验证算法
加解密--IPSec
采用对称加密算法进行数据加密和解密
验证——加密后的报文通过HMAC
生成数字签名,将数字签名填写在ICV
字段(AH
头或ESP
头部中的认证字段)中发送过去
【考点解析】IPsec协议是考试中VPN技术重点,主要考察选择题或者案例题的填空,常考的AH不具备加密功能,传输模式区别等。
七、SSL VPN
SSL VPN是轻量级的远程接入方案,主要应用于移动办公用户远程接入公司内网等场景。市面上很多安全厂商都生产VPN网关,不过基于目前零信任概念的兴起,SDP软件定义边界网关正在逐步替代SSL VPN。
SSL封装位于传输层和应用层协议之间,为高层协议提供数据封装、压缩和加密等功能。
SSL(Security Socket Layer)安全套接字协议主要包括记录协议、告警协议、握手协议。
记录协议:建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
告警协议:用来传递SSL相关警告,标识什么事时候发生了措施需要终止会话等。
握手协议(重点):建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
【考点分析】SSL VPN主要考察应用场景和SSL协议,比如哪个协议不是SSL协议内容等。
八、IPSec的配置
8.1 配置参数以及思路
8.2 手工方式IPSec的配置
配置思路:
采用如下思路配置采用手工方式建立IPSec隧道:
配置接口的IP地址和到对端的静态路由,保证两端路由可达。
配置ACL,以定义需要IPSec保护的数据流。
配置IPSec安全提议,定义IPSec的保护方法。
配置安全策略,并引用ACL和IPSec安全提议,确定对何种数据流采取何种保护方法。
在接口上应用安全策略组,使接口具有IPSec的保护功能。
操作步骤
分别在RouterA和RouterB上配置接口的IP地址和到对端的静态路由
# 在RouterA上配置接口的IP地址。
<Huawei> system-view
[Huawei] sysname RouterA
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] ip address 1.1.1.1 255.255.255.0
[RouterA-GigabitEthernet1/0/0] quit
[RouterA] interface gigabitethernet 2/0/0
[RouterA-GigabitEthernet2/0/0] ip address 10.1.1.1 255.255.255.0
[RouterA-GigabitEthernet2/0/0] quit
# 在RouterA上配置到对端的静态路由,此处假设到对端的下一跳地址为1.1.1.2。
[RouterA] ip route-static 2.1.1.0 255.255.255.0 1.1.1.2
[RouterA] ip route-static 10.1.2.0 255.255.255.0 1.1.1.2
# 在RouterB上配置接口的IP地址。
<Huawei> system-view
[Huawei] sysname RouterB
[RouterB] interface gigabitethernet 1/0/0
[RouterB-GigabitEthernet1/0/0] ip address 2.1.1.1 255.255.255.0
[RouterB-GigabitEthernet1/0/0] quit
[RouterB] interface gigabitethernet 2/0/0
[RouterB-GigabitEthernet2/0/0] ip address 10.1.2.1 255.255.255.0
[RouterB-GigabitEthernet2/0/0] quit
# 在RouterB上配置到对端的静态路由,此处假设到对端下一跳地址为2.1.1.2。
[RouterB] ip route-static 1.1.1.0 255.255.255.0 2.1.1.2
[RouterB] ip route-static 10.1.1.0 255.255.255.0 2.1.1.2
分别在RouterA和RouterB上配置ACL,定义各自要保护的数据流
# 在RouterA上配置ACL,定义由子网10.1.1.0/24去子网10.1.2.0/24的数据流。
[RouterA] acl number 3101
[RouterA-acl-adv-3101] rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255
//匹配源10.1.1.0/24网段,目的10.1.2.0/24网段的流量
[RouterA-acl-adv-3101] quit
# 在RouterB上配置ACL,定义由子网10.1.2.0/24去子网10.1.1.0/24的数据流。
[RouterB] acl number 3101
[RouterB-acl-adv-3101] rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255
[RouterB-acl-adv-3101] quit
分别在RouterA和RouterB上创建IPSec安全提议
# 在RouterA上配置IPSec安全提议。
[RouterA] ipsec proposal tran1 //创建名称为tran1的ipsec提议
[RouterA-ipsec-proposal-tran1] esp authentication-algorithm sha2-256 //配置esp认证算法sha2-256
[RouterA-ipsec-proposal-tran1] esp encryption-algorithm aes-128 //配置esp加密算法aes-128
[RouterA-ipsec-proposal-tran1] quit
# 在RouterB上配置IPSec安全提议。
[RouterB] ipsec proposal tran1
[RouterB-ipsec-proposal-tran1] esp authentication-algorithm sha2-256
[RouterB-ipsec-proposal-tran1] esp encryption-algorithm aes-128
[RouterB-ipsec-proposal-tran1] quit
此时分别在RouterA和RouterB上执行display ipsec proposal会显示所配置的信息。
分别在RouterA和RouterB上创建安全策略
# 在RouterA上配置手工方式安全策略。
[RouterA] ipsec policy map1 10 manual //配置ipsec策略为map1,手动方式,序号为10
[RouterA-ipsec-policy-manual-map1-10] security acl 3101 //引用acl3101
[RouterA-ipsec-policy-manual-map1-10] proposal tran1 //采用tran1的ispec提议
[RouterA-ipsec-policy-manual-map1-10] tunnel remote 2.1.1.1 //隧道本地地址2.1.1.1
[RouterA-ipsec-policy-manual-map1-10] tunnel local 1.1.1.1 //隧道对端地址1.1.1.1
[RouterA-ipsec-policy-manual-map1-10] sa spi outbound esp 12345 //出方向sa编号12345
[RouterA-ipsec-policy-manual-map1-10] sa spi inbound esp 54321 //入方向sa编号54321
[RouterA-ipsec-policy-manual-map1-10] sa string-key outbound esp cipher ruankao //密钥为ruankao
[RouterA-ipsec-policy-manual-map1-10] sa string-key inbound esp cipher ruankao //密钥为ruankao
[RouterA-ipsec-policy-manual-map1-10] quit
# 在RouterB上配置手工方式安全策略。
[RouterB] ipsec policy use1 10 manual
[RouterB-ipsec-policy-manual-use1-10] security acl 3101
[RouterB-ipsec-policy-manual-use1-10] proposal tran1
[RouterB-ipsec-policy-manual-use1-10] tunnel remote 1.1.1.1
[RouterB-ipsec-policy-manual-use1-10] tunnel local 2.1.1.1
[RouterB-ipsec-policy-manual-use1-10] sa spi outbound esp 54321
[RouterB-ipsec-policy-manual-use1-10] sa spi inbound esp 12345
[RouterB-ipsec-policy-manual-use1-10] sa string-key outbound esp cipher ruankao
[RouterB-ipsec-policy-manual-use1-10] sa string-key inbound esp cipher ruankao
[RouterB-ipsec-policy-manual-use1-10] quit
分别在RouterA和RouterB的接口上引用各自的安全策略,使接口具有IPSec的保护功能
# 在RouterA的接口上引用安全策略组。
[RouterA] interface gigabitethernet 1/0/0
[RouterA-GigabitEthernet1/0/0] ipsec policy map1 //应用策略为map1
[RouterA-GigabitEthernet1/0/0] quit
# 在RouterB的接口上引用安全策略组。
[RouterB] interface gigabitethernet 1/0/0
[RouterB-GigabitEthernet1/0/0] ipsec policy use1
[RouterB-GigabitEthernet1/0/0] quit
检查配置结果
# 配置成功后,在主机PC A上执行ping操作仍然可以ping通主机PC B,执行命令display ipsec statistics可以查看数据包的统计信息。
# 分别在RouterA和RouterB上执行display ipsec sa会显示所配置的信息
九、软考真题
2021年5月网络工程师:
通常使用()为IP数据报文进行加密。
A.IPSec B.PP2P
C.HTTPS D.TLS
【解析】IP位于网络层,选择三层的VPN加密协议,选择IPSec。
2020年11月网络规划设计师:
能够增强和提高网际层安全的协议是()
A.IPSec B.L2TP
C.TLS D.PPTP
【解析】网际层是TCP/IP协议叫法,实际对应网络层,选下那个中IPSec工作在网络层,TLS应用在应用层,L2TP和PPTP是二层VPN协议。
2022年11月网络规划设计师:
下列隧道技术中本身自带加密功能的是()
A.GRE B.L2TP
C.MPLS-VPN D.IPSec
【解析】IPSec可以通过ESP实现数据加密。
IPSec的两个基本协议是AH和ESP,下面不属于AH协议的是()
A.数据保密性 B抵抗重放攻击
C.数据源认证 D.数据完整性认证
【解析】数据保密性是ESP的功能,AH不具备数据保密性,常考。