IPSec的体系结构如下图所示:
(1)ESP(封装安全载荷)协议:定义了有关包加密及包格式和提供的服务。
(2)AH(身份验证报头)协议:含用AH报身份验证、包格式及给出的服务。
(3)加密算法:讲述怎样在ESP中用不同的加密算法。如DES、3DES等。
(4)认证算法:讲述怎样在AH和ESP中用不同的身份验证算法,如MAC2MD5、HMAC2SHLA21等。
(5)密钥管理协议:在通信实体间,生成、分发、更新密钥等,如密钥交换,构建加密、认证的安全信道,密钥的安全分发和更新。
(6)DOI(解释域):用来存放密钥管理协议协商的参数,如加密及认证算法的标识符、运作参数等。
(7)安全策略:用来决定两个通信实体间如何通信。其核心由安全关联、安全关联及安全策略数据库三部分组成。
其中的重要概念进一步的解释如下:
①SA:即安全关联,是给安全目标建个单向的逻辑连接。全部经过同一SA的数据流会得到一样的安全服务:AH或ESP。对一样的数据流,同一时间用AH和ESP服务时要两个嵌套的SA。两个方向的数据流要通信实体间保护一对出/入对应的SA。其中借助在AH或ESP报头中的一个32bit数值在接收端识出数据流至SA的绑定关系,即安全参数索引。
②SAD:即安全关联数据库,用于存放与SA关联的所有状态数据的存储结构。
③安全参数索引:一个被携带在AH或ESP报头中的32bit数值,在接收端来识出数据流到SA的绑定关系。
④SPD:即安全策略数据库,指明所有P数据报文应使用何种安全服务以及如何获得这些服务的数据结构。SPD一般是个有序的结构,通过访问控制列表描述据流特点。定义数据流和安全服务方式的接口与具体实现相关。SA创建的先决条件是策略,它决定密钥交换协商协议。
⑤安全处理协议:IP认证协议(AH)、IP封装安全载荷协议(ESP)。这两个协议可独立使用,也可同时使用。前者保护数据的完整性,后者保护数据的私密性和完整性。两个协议都是将一个变长度的报文结构插入到P头于上层协议之间。ABH协议用实现协商好的算法和密钥计算整个报文不变部分的摘要值,然后作为报文完整性的证据,并保存在AH头结构中。ESP协议则能加密原始报文后当做负载带在报文中。此外,ESP也可验证数据完整性,但是与AH包含的字段不一样。AH和ESP头部都有的信息是SP和序列号。SPI用在标识特定的一对通信实体间的安全关联。在通信中序列号持续单向递增,实体间有数据抗重放服务。两个安全处理协议都支撑传输模式和隧道模式。前者在原始IP报文头和上层协议间放进AH或ESP协议头,后者增加新IP头部,而把原始IP数据包括头部都当做负载。前者在主机到主机方式报文的处理适用,后者在转发设备上封装处理的场景中适用。