交换受保护的数据之前,两台计算机之间必须先建立安全性契约。在这项名为「安全性关联 (SA)」的安全性契约中,两者都同意交换及保护信息的方式,如下例所示。

为了要在两台计算机间建立这项契约,IETF 已建立了安全性关联及密钥交换解析 (称为「因特网密钥交换 (IKE)」) 的标准方法,具备下列特性:
- 将安全性关联管理集中以减少连接时间。
- 产生及管理用来保护信息的共享私钥。
这项处理不仅可以保护计算机间的通讯,也可以保护要求安全存取公司网络的远程计算机。此外,每当安全性网关执行最终目标计算机 (结束点) 的交涉时,这项处理就会工作。
Security association (SA) defined
「安全性关联 (SA)」是交涉的密钥、安全性通讯协议及安全性参数索引 (SPI) 的组合,它定义了用来保护传送者对接收者的通讯的安全性。安全性参数索引 (SPI) 是在 SA 中唯一可辨识的数值,用来区别现存于接收端计算机上的多重安全性关联。例如,如果一台计算机与多台计算机同时安全地通讯时,多重关联便可能存在。这个状况大部分发生在计算机是文件服务器,或为多重客户端提供服务的远程访问服务器时。在这些状况下,接收端计算机会使用 SPI 以判定使用哪个 SA 来处理连入封包。

Phase I or main mode SA
为了确保成功、安全的通讯,IKE 会执行两阶段的操作。它使用两台计算机在安全性交涉期间都同意的加密及验证算法,以保证每个阶段的机密性及验证。藉由使用分割成两阶段的任务,密钥可以很快完成建立。
在第一阶段期间,两台计算机建立了安全的、已验证的通道。这称为第一阶段或主要模式 SA。IKE 在此交换期间会自动提供所需的识别身分保护。
Phase I or main mode negotiation
下列是组成主要模式交涉的步骤。
|
| 原则交涉
| ||||||||
| 2. | (公用值的) Diffie-Hellman 交换 | ||||||||
| 3. | 验证 |
传送者会提供接收者一项潜在的安全性关联。响应端无法修改提供的信息。若修改提供的信息,初始端将会拒绝响应端的讯息。响应端会传送接受提供的回复或其他替代的回复。
讯息会在这个阶段期间重复进行五次自动重试循环。如果在重试循环结束之前收到响应,就会开始进行标准的 SA 交涉。如果 IPSec 原则允许,无安全性的通讯会在短暂的间隔之后开始。如果开始进行无安全性的通讯,则在空闲时间 (指没有传送任何讯息的期间) 过了 5 分钟之后,就会在下次传送讯息时尝试交涉无安全性的通讯。如果不断地在传送讯息,则在为主要模式原则设定的生存时间内,通讯会一直维持无安全性状态。原则时间过后,即尝试交涉新的安全通讯。
对于可发生的交换数目并没有预设限制。形成的 SA 数目仅受系统资源所限制。在估计可以建立而不会明显降低计算机效能的 SA 数目时,请考虑计算机的 CPU 处理能力及 RAM、SA 的生存时间,以及正在经由 SA 传送的流量有多少。
Phase II or quick mode SA
在此阶段中,由 SA 代表 IPSec 驱动程序进行交涉。
Phase II or quick mode negotiation
下列是组成快速模式交涉的步骤。
|
| 发生原则交涉。
| ||||||
| 2. | 重新整理或交换会话密钥材料。 IKE 重新整理密钥材料,并为封包完整性、验证及可能的加密产生新增、共享的密钥。如果需要重新密钥,则进行第二次的 Diffie-Hellman 交换 (如主要模式交涉中所说明) 或重新整理原始的 Diffie-Hellman 密钥。 | ||||||
| 3. | SA 及 密钥连同 SPI 一起传送到 IPSec 驱动程序。 |
主要模式 SA 会保护安全性设定及密钥材料的第二次交涉 (为了保护数据)。如同第一阶段提供识别身分保护,第二阶段会在传送数据前重新整理密钥材料来提供保护。IKE 可以适用其他 Diffie-Hellman 交换的密钥交换内容 (若是需要重新密钥的话)-亦即,会启用主要密钥的「完全正向加密 (PFS)」。否则,IKE 会从在主要模式中完成的 Diffie-Hellman 交换来重新整理密钥材料。
快速模式会产生一对安全性关联,每一方都有自己的 SPI 及密钥。其中一个 SA 用于输入的通讯,另一个则用于输出的通讯。
附注
| • | 虽然建立了两个分开的快速模式 SA,「IP 安全性监视器」只显示单一的快速模式 SA。 |
| • | 执行 Windows 2000 的计算机必须安装 High Encryption Pack 或 Service Pack 2 或更新版本,才能使用 3DES 算法。如果执行 Windows 2000 的计算机收到 3DES 设定时,并未装有 High Encryption Pack 或 Service Pack 2 (或更新版),则安全性方法中的 3DES 设定会被设定到较弱的 DES,以为通讯提供某种层次的机密性,而不是阻断所有通讯。不过,如果您环境中并不是所有计算机都支持使用 3DES,则您应仅将 DES 用作后援选项。执行 Windows XP 或 Windows Server 2003 操作系统的计算机支持 3DES,且不需要安装 High Encryption Pack。 |
讯息的重试算法类似主要模式交涉中所说明的处理。不过,如果这项处理在第二次或更高的交涉期间因某些原因逾时,而与相同的主要模式 SA 断线,则会尝试重新交涉主要模式 SA。如果没有建立主要模式的 SA 而接收到此阶段的讯息时,则该讯息会被拒绝。
使用单一的主要模式 SA 进行多项快速模式 SA 交涉会增加处理的速度。只要主要模式 SA 不过期,便不需要重新验证及重新交涉。IPSec 原则设定可决定能够执行的快速模式 SA 的交涉数。
附注
| • | 相同的主要模式 SA 过多的重新密钥可能会使共享、秘密密钥容易受到已知的纯文本攻击。已知的纯文本攻击是一项 Sniffer 攻击,攻击者会尝试使用以已知的纯文本为基础的加密数据来判定加密密钥。 |
SA lifetimes
快取主要模式 SA 以便执行多项快速模式 SA 交涉 (除非启用主要密钥 PFS)。当主要密钥或会话密钥的生存时间已到时,相关的 SA 会重新交涉。此外,会重新整理或再制密钥。
当主要模式 SA 的默认逾时已到时,或是主要密钥或会话密钥的生存时间已到时,会将删除讯息传送给响应者。IKE 删除讯息会告知响应端结束主要模式 SA。这可以避免在过期的主要模式 SA 中建立其他新的快速模式 SA。IKE 无法结束快速模式 SA,因为唯有 IPSec 驱动程序包含密钥生存时间的秒数或字节数。
在设定非常不同的主要密钥及会话密钥的生存时间时,请特别小心。例如,将主要密钥生存时间设定为八小时,会话密钥生存时间设定为两小时,这可能会使快速模式 SA 在主要模式 SA 结束后保留在原地几乎两小时。在主要模式 SA 快结束前建立快速模式 SA,会发生这种情况。
通常建议将所有 IKE 设定 (例如:主要密钥 PFS 及密钥生存时间) 及安全性方法保持其默认值,以避免不需要的管理花费。这会提供标准 (中) 等级的安全性。如果您的安全性计划要求高等级的安全性,那么您应该考虑修改预设的安全性方法。