网络层安全协议
·IP 几乎不具备任何安全性,不能保证:
1.数据机密性
2.数据完整性
3.数据来源认证
·由于其在设计和实现上存在安全漏洞,使各种攻击有机可乘。例如:攻击者很容易构造一个包含虚假地址的 IP 数据报。
·IPsec 提供了标准、健壮且包含广泛的机制保证 IP 层安全。
1 IPsec 协议族概述
·IPsec:IP security,IP 安全。
·IPsec 不是一个单一协议,而是能够在 IP 层提供互联网通信安全的协议族。
·IPsec 是个框架:允许通信双方选择合适的算法和参数(例如,密钥长度)。
·为保证互操作性,IPsec 还包含了所有 IPsec 都必须实现的一套加密算法。
IPsec 由三部分组成
1.IP 安全数据报格式:两个协议
-鉴别首部 AH (Authentication Header) 协议
·AH 协议提供源点鉴别和数据完整性,但不能保密。
-封装安全有效载荷 ESP (Encapsulation Security Payload) 协议
· ESP 协议提供源点鉴别、数据完整性和保密。
·IPsec 支持 IPv4 和 IPv6。
·使用 ESP 或 AH 协议的 IP 数据报称为IP 安全数据报(或 IPsec数据报)。
AH 协议的功能都已包含在 ESP 协议中。 使用 ESP 协议就可以不使用 AH 协议。
2.加密算法:三个协议
3.互联网密钥交换 IKE (Internet Key Exchange) 协议
IP 安全数据报有两种工作方式
(1)运输方式 (transport mode)
·在整个运输层报文段的前后分别添加若干控制信息,再加上 IP 首部。
·适合于主机到主机之间的安全传送。
·需要使用 IPsec 的主机都运行 IPsec 协议。

(2)隧道方式 (tunnel mode)
·在原始的 IP 数据报的前后分别添加若干控制信息,再加上新的 IP 首部。
·需要在 IPsec 数据报所经过的所有路由器上都运行 IPsec 协议。
·隧道方式常用来实现虚拟专用网 VPN。

IP 安全数据报的 IP 首部是不加密的
·无论使用哪种方式,最后得出的 IP 安全数据报的 IP 首部都是不加密的。
·安全数据报:指数据报的数据部分是经过加密的,并能够被鉴别的。
·通常把数据报的数据部分称为数据报的有效载荷 (payload)。
2 安全关联
·在发送 IP 安全数据报之前,在源实体和目的实体之间必须创建一条网络层的逻辑连接。此逻辑连接叫做安全关联 SA (Security Association) 。
IPsec 把传统互联网无连接的网络层转换为具有逻辑连接的网络层。
安全关联的特点
·安全关联是从源点到终点的单向连接,它能够提供安全服务。
·在安全关联 SA 上传送的就是 IP 安全数据报。
·如要进行双向安全通信,则两个方向都需要建立安全关联。
·若 n 个员工进行双向安全通信,一共需要创建 (2 + 2n ) 条安全关联 SA。
路由器 R1 到 R2 的安全关联 SA
·假定公司总部的主机 H1 要和分公司的主机 H2 通过互联网进行安全通信。公司总部与分公司之间的安全关联 SA 是在路由器 R1 和 R2 之间建立的。

主机 H1 到 H3 之间的通信
·假定公司总部的主机 H1 要和内部的主机 H3 进行通信。 由于都在公司内部,不需要加密,因此不需要建立安全关联。

路由器 R1 到主机 H2 的安全关联 SA

安全关联 SA 包括的状态信息
1.一个 32 位的连接标识符,称为安全参数索引 SPI (Security Parameter Index)。
2.安全关联 SA 的源点和终点的 IP 地址(例如路由器 R1 和 R2 的 IP 地址)。
3.所使用的加密类型(例如,DES 或 AES)。
4.加密使用的密钥。
5.完整性检查的类型(例如,使用报文摘要 MD5 或 SHA-1 的报文鉴别码 MAC)。
6.鉴别使用的密钥。
3 IP 安全数据报的格式

注意 :对于路由器 R1 到 R2 的安全关联 SA,在"原始的 IP 首部"中,用主机 H1 和 H2 的 IP 地址分别作为源地址和目的地址,而在 IP 安全数据报的"新的 IP 首部"中,用路由器 R1 和 R2 的 IP 地址分别作为源地址和目的地址。
4 IPsec 的其他构件
·安全关联数据库 SAD (Security Association Database)
-存放 SA。
·安全策略数据库 SPD (Security Policy Database)
-指明什么样的数据报需要进行 IPsec 处理。
·互联网密钥交换 IKE(Internet Key Exchange)
-为 IP 安全数据报创建安全关联 SA。
互联网密钥交换 IKE
·非常复杂。互联网的正式标准 [RFC 7296]。
·IKEv2 以另外三个协议为基础:
1.Oakley:密钥生成协议 [RFC 2412]。
2.安全密钥交换机制 SKEME (Secure Key Exchange Mechanism):用于密钥交换的协议。它利用公钥加密来实现密钥交换协议中的实体鉴别。
3.互联网安全关联和密钥管理协议 ISAKMP (Internet Secure Association and Key Management Mechanism):用于实现 IKE 中定义的密钥交换,使 IKE 的交换能够以标准化、格式化的报文创建安全关联 SA。
欢迎一起学习~