翻译:中国科学技术大学信息安全专业老师 13.2.1 IPSEC 网际互连协议(IP)是无连接无状态的协议,它负责传输IP数据报,即网际互连层的 PDU(协议数据单元)。因为IP协议是无连接无状态的,所以每一个数据报都作为独立的实 体进行处理,与任何其他的数据报没有联系,而且不保证数据报的传递。P的第四版本IPv4 在1981年作为RFC791发布。从那时起, Internet开始持续增长,因此,IP必须适应和满 足新的要求。IP的第六版本IP√6在草案RFC1883中说明,现在已相当成熟,在讨论I的 安全机制时,我们将参考这个版本。 IP数据报的头标包含了很多的域,其中包括源IP地址和校验和,通过校验和接收者可 以检査数据报在传输过程中是否被损坏。然而,这个校验和只是循环冗余检验(CRC),不 能提供对数据报的有意修改的防御。更糟的是,接收者不能真正知道数据报是从哪儿来的。 在IP头标中的源地址并不一定是发送数据报的IP地址。这就像在8.7.1节中提到的,源路 由攻击利用了这个事实。总之,IP协议没有对端到端数据的可靠性、数据报的排序、或者 安全的特定机制。这样的安全机制在RFC1825中进行介绍,即IP协议的安全体系结构 ( IPSEC)。 IPSEC包括两个主要的安全机制: ·IP认证头标(AH),包含在RFC1826中 IP封装安全有效载荷(ESP),包含在RFC1827中 IP安全体系结构并不包括阻止流量分析的机制。 IP认证头标保护IP数据报的完整性和认证,但是不保护机密性。顾名思义,认证数据 被放在数据报内的头标中。图13.7显示了头标的语法和它在IPV6数据报中的位置。(目的 选项也可以出现在认证头标的前面。)在认证头标中的每一行表示一个32位(bit)的字 图137认证头标的位置和格式 下一个头标( Next Header):一个8位域,标识在认证头标后面的有效载荷的类型, ·有效载荷长度( Payload length):一个8位域,以32位字为单位,表示认证头标的长 度减2。例如,对于一个%6位的认证值,认证头标的实际长度是6,但是有效载荷长度是4 值2表示采用了IPV6中的空(nu)认证算法 保留:一个16位域,保留给将来使用。 ·序列号域( Sequence number field):包含一个计数值,这个值必须被发送者计入,而 由接收者作判断处理。 安全参数索引(SPI):一个32位域,它标识对数据报的安全关联。值0表示不存在 任何安全关联。 认证数据:以32位字为单位,长度可变,它包含了认证数据,例如MAC码(消息 认证码)或者数字签名。 为了认证一个数据报,发送者首先必须确定一个安全关联( association),明确说明像完 整性检验算法、密码密钥和认证数据的长度等参数。通常,用户身份、目的地址和SP决定 了使用哪种安全关联。 通常,一种MAC算法用于认证。采用MD5的HMAC和采用SHA-1的HMAC是缺省 选项,所有的 IPSEC实现都必须对其提供支持。然而,其他的完整性检验函数也可以使用 认证数据的计算认为在数据报中的域都能够出现在接收者一方。在传输期间,有的域会发生 改变,像在IP√6头标中的中继限制( hop limit)。而有的域还是不知道的,像在认证头标中 的认证数据。在计算MAC时,这些域用零值来填充。MAC然后被放在认证头标的认证数 据域中。 第4页共12页 创建时间:2003-11翻译:中国科学技术大学信息安全专业老师 第 4 页 共 12 页 创建时间:2003-11 13.2.1 IPSEC 网际互连协议(IP)是无连接无状态的协议,它负责传输 IP 数据报,即网际互连层的 PDU(协议数据单元)。因为 IP 协议是无连接无状态的,所以每一个数据报都作为独立的实 体进行处理,与任何其他的数据报没有联系,而且不保证数据报的传递。IP 的第四版本 IPv4 在 1981 年作为 RFC 791 发布。从那时起,Internet 开始持续增长,因此,IP 必须适应和满 足新的要求。IP 的第六版本 IPv6 在草案 RFC 1883 中说明,现在已相当成熟,在讨论 IP 的 安全机制时,我们将参考这个版本。 IP 数据报的头标包含了很多的域,其中包括源 IP 地址和校验和,通过校验和接收者可 以检查数据报在传输过程中是否被损坏。然而,这个校验和只是循环冗余检验(CRC),不 能提供对数据报的有意修改的防御。更糟的是,接收者不能真正知道数据报是从哪儿来的。 在 IP 头标中的源地址并不一定是发送数据报的 IP 地址。这就像在 8.7.1 节中提到的,源路 由攻击利用了这个事实。总之,IP 协议没有对端到端数据的可靠性、数据报的排序、或者 安全的特定机制。这样的安全机制在 RFC 1825 中进行介绍,即 IP 协议的安全体系结构 (IPSEC)。IPSEC 包括两个主要的安全机制: ·IP 认证头标(AH),包含在 RFC 1826 中。 ·IP 封装安全有效载荷(ESP),包含在 RFC 1827 中。 IP 安全体系结构并不包括阻止流量分析的机制。 IP 认证头标保护 IP 数据报的完整性和认证,但是不保护机密性。顾名思义,认证数据 被放在数据报内的头标中。图 13.7 显示了头标的语法和它在 IPv6 数据报中的位置。(目的 选项也可以出现在认证头标的前面。)在认证头标中的每一行表示一个 32 位(bit)的字。 图 13.7 认证头标的位置和格式 ·下一个头标(Next Header):一个 8 位域,标识在认证头标后面的有效载荷的类型。 ·有效载荷长度(Payload length):一个 8 位域,以 32 位字为单位,表示认证头标的长 度减 2。例如,对于一个 96 位的认证值,认证头标的实际长度是 6,但是有效载荷长度是 4。 值 2 表示采用了 IPv6 中的空(null)认证算法。 ·保留:一个 16 位域,保留给将来使用。 ·序列号域(Sequence number field):包含一个计数值,这个值必须被发送者计入,而 由接收者作判断处理。 ·安全参数索引(SPI):一个 32 位域,它标识对数据报的安全关联。值 0 表示不存在 任何安全关联。 ·认证数据:以 32 位字为单位,长度可变,它包含了认证数据,例如 MAC 码(消息 认证码)或者数字签名。 为了认证一个数据报,发送者首先必须确定一个安全关联(association),明确说明像完 整性检验算法、密码密钥和认证数据的长度等参数。通常,用户身份、目的地址和 SPI 决定 了使用哪种安全关联。 通常,一种 MAC 算法用于认证。采用 MD5 的 HMAC 和采用 SHA-1 的 HMAC 是缺省 选项,所有的 IPSEC 实现都必须对其提供支持。然而,其他的完整性检验函数也可以使用。 认证数据的计算认为在数据报中的域都能够出现在接收者一方。在传输期间,有的域会发生 改变,像在 IPv6 头标中的中继限制(hop limit)。而有的域还是不知道的,像在认证头标中 的认证数据。在计算 MAC 时,这些域用零值来填充。MAC 然后被放在认证头标的认证数 据域中