IPSec是专门设计为IP提供安全服务的一种协议(其实是一个协议族)。IPSec可有效保护IP数据报的安全,所采取的具体保护形式包括:数据源验证;无连接数据的完整性验证;数据内容的机密性保护;抗重播保护等。
使用IPSec协议中的认证头(AH)协议和封装安全载荷(ESP)协议,可以对IP数据报或上层协议(如UDP和TCP)进行保护,这种保护由IPSec两种不同的工作模式(分别对应隧道模式和传输模式)来提供。其中AH可以验证数据的起源、保障数据的完整性以及防止相同数据包的不断重播。ESP除具有AH的所有能力之外,还可选择保障数据的机密性,以及为数据流提供有限的机密性保障。
AH和ESP协议根据安全联盟(SA)规定的参数为IP数据包提供安全服务。SA可以手工建立,也可以自动建立。IKE就是IPSec规定的一种用来自动管理SA的协议。IKE的实现可支持协商VPN,也可支持IP地址事先并不知道的远程接入。IKE必须支持协商方不是SA协商发生的端点的客户协商模式,这样可以隐藏端方身份。
虽然到目前为止,全球安全专家普遍认为IPSec是最安全的IP协议,但也并非全是赞美之词,最主要的批评是它的复杂性,因为系统复杂性是系统安全的主要威胁之一。IPSec有两个运行模式:传输模式和隧道模式,有两个安全协议:AH和ESP。
AH提供认证,ESP提供认证和/或加密。这导致了额外的复杂性:打算认证一个包的两台机器之间的通信总共有四种模式可供选择:传输/AH,隧道/AH,空加密的传输/ESP以及空加密的隧道/ESP,而这些选择之间的功能和性能差别都很小(因此没有太大实际意义)。
产生这种问题的原因是IPSec是多个国家的安全专家经过多年的研究和讨论后折衷的产物。因此有安全专家已经提出安全协议的设计原则应是多家竞争,择优使用,正如AES(高级加密标准)那样。
ATM/帧中继VPN的“专用”性体现在虚电路连接的是一组闭合的用户或社区,安全性保证主要来自它的“闭合用户群(CUG)”的特性,假设运营商不会(恶意)错误配置而导致数据传递错误,不会监听用户的流量,不会不经过授权就进入用户网络,不会被修改,不会被非授权方进行流量分析等,根本不提供认证和加密等安全服务(当然如果用户需要传递特别敏感的数据(如金融信息)等,通常需要采用用户自己实施的链路加密等方法)。而对于IPSec VPN,连接的也是一组闭合的用户或社区,但这时提供的安全服务还包括认证和加密等。因此可以这样认为,IPSec比传统的ATM/帧中继 VPN更强的安全服务,是到目前为止最为安全的VPN技术。