在 Oracle® Solaris 11.2 中确保网络安全

退出打印视图

更新时间: 2014 年 9 月
 
 

IPsec 介绍

IPsec 通过使用加密保护 IP 包内容,通过验证包内容提供完整性检查。因为 IPsec 在网络层执行,所以网络应用程序能够利用 IPsec 的优势,同时又不必将自身配置为使用 IPsec。若使用得当,IPsec 是保证网络通信安全的有效工具。

    IPsec 使用以下术语:

  • 安全协议-应用于 IP 包的保护。authentication header(验证头)(AH) 通过添加完整性检查矢量 (integrity check vector, ICV) 来保护 IP 包,它是包括多个 IP 头的完整包的散列。向接收者保证包未遭到修改。它不通过加密提供保密性。

    encapsulating security payload, ESP(封装安全有效负荷)会保护 IP 包的有效负荷。加密包的有效负荷可以提供保密性,使用 ICV 可以确保数据完整性。

  • 安全关联 (security association, SA)-加密参数、密钥、IP 安全协议、IP 地址、IP 协议、端口数以及其他用于匹配特定 SA 与特定通信流的参数。

  • 安全关联数据库 (security associations database, SADB)-存储安全关联的数据库。SA 会被 security parameter index, SPI(安全参数索引)、安全协议以及目标 IP 地址引用。这三个元素可以唯一地标识 IPsec SA。收到含有 IPsec 头(ESP 或 AH)的 IP 包时,系统会在 SADB 中搜索匹配的 SA。如果找到匹配的 SA,则用它来允许 IPsec 执行包解密和验证操作。如果验证失败或未找到匹配的 SA,则放弃包。

  • 密钥管理-安全地生成和分发加密算法使用的密钥以及生成用来存储密钥的 SA。

  • 安全策略数据库 (security policy database, SPD)-指定要应用到 IP 通信的安全策略的数据库。SPD 会过滤通信内容,确定应该如何处理包。可以放弃包,也可以以明文形式传递包。或者,包可以由 IPsec 保护,即应用安全策略。

    对于外发包,IPsec 策略会确定是否应将 IPsec 应用到 IP 包。如果应用 IPsec,IP 模块将在 SADB 中搜索匹配的 SA,并使用此 SA 执行策略。

    对于传入包,IPsec 策略会确保收到的包具有适当的保护级别。如果策略要求来自特定 IP 地址的包要受 IPsec 保护,系统将放弃任何未受保护的包。如果传入包受 IPsec 保护,IP 模块将在 SADB 中搜索匹配的 SA,并将此 SA 应用到包。

应用程序也可以调用 IPsec,以便在每个套接字级别将安全机制应用于 IP 包。如果端口上的套接字为连接状态,且随后对此端口应用 IPsec 策略,则使用此套接字的通信不受 IPsec 保护。当然,将 IPsec 策略应用于端口之后,在此端口上打开的套接字将受 IPsec 策略保护。