当前位置:文档之家› IPSec协议及其在Windows平台的实现

IPSec协议及其在Windows平台的实现

目录

一、IPSEC安全体系结构 (4)

1.1 ESP协议 (5)

1.2 AH协议 (7)

1.3 DOI (9)

1.4 IKE ........................................错误!未定义书签。0

二、IPSec运行模式 (12)

2.1.1传输模式 (12)

2.1.2隧道模式 ..................................错误!未定义书签。3

2.2 SA安全模式 .................................错误!未定义书签。4

三、IPSec的实施...................................错误!未定义书签。4

3.1在主机实施 ..................................错误!未定义书签。4

3.2在路由器中实施 (15)

3.3 IPSec的处理流程.............................错误!未定义书签。6

四、Windows中的IPsec配置和使用实现。...............错误!未定义书签。7

4.1 Windows中的IPsec策略.......................错误!未定义书签。8

4.2 在Windows上使用内置IPsec策略...............错误!未定义书签。8

五、参考文献 (21)

Windows平台中IPSec的设计与实现

一、IPSec安全体系结构

IPSec(IP Security)是一种由IETF设计的端到端的确保IP层通信安全的机制。

IPSec 协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的一整套体系结构,包括网络认证协议Authentication Header (AH)、封装安全载荷协议Encapsulating Security Payload(ESP)、密钥管理协议Internet Key Exchange (IKE)和用于网络认证及加密的一些算法等。这些协议用于提供数据认证、数据完整性和加密性三种保护形式。AH和ESP都可以提供认证服务,但AH提供的认证服务要强于ESP。而IKE主要是对密钥进行交换管理,对算法、协议和密钥3个方面进行协商。IPSec 规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源认证、数据加密等网络安全服务。IPSec在IPv6中是必须支持的,而在IPv4中是可选的。

IPSec协议可以为IP网络通信提供透明的安全服务,保护TCP/IP 通信免遭窃听和篡改,保证数据的完整性和机密性,有效抵御网络攻击,同时保持易用性。

IPSec体系结构图:

1.1ESP(EncapsulatedSecurityPayload) 协议

它提供IP层加密保证和验证数据源以对付网络上的监听。因为AH虽然可以保护通信免受窜改, 但并不对数据进行变形转换, 数据对于黑客而言仍然是清晰的。为了有效地保证数据传输安全, 在IPv6 中有另外一个报头ESP,进一步提供数据保密性并防止窜改。

ESP(Encapsulating Security Payload,封装安全载荷):RFC2406。ESP 协议除了可以提供无连接的完整性、数据来源验证和抗重放攻击服务之外,还提供数据包加密和数据流加密服务。

与AH相比,ESP验证的数据范围要小一些。ESP协议规定了所有IPSec系统必须实现的验证算法:HMAC-MD5、HMAC-SHA1、NULL。

ESP的加密采用的是对称密钥加密算法。不同的IPSec实现,其加密算法也有所不同。为了保证互操作性,ESP协议规定了所有IPSec

系统都必须实现的加密算法:DES-CBC、NULL。ESP协议规定加密和认证不能同时为NULL。即加密和认证必须至少选其一。

(1)SPI:32位

与目的IP地址、协议一起组成的三元组可以为该IP包唯一地确定一个SA。

(2)序列号(Sequence Number):32位

单调递增的计数器,为每个ESP包赋予一个序号。通信双方建立SA时,计数器初始化为0。SA是单向的,每发送一个包,外出SA 的计数器增1;每接收一个包,进入SA的计数器增1。

该字段可以用于抵抗重放攻击。

(3)载荷数据(Payload Data):变长

包含了实际的载荷数据。不管SA是否需要加密,该字段总是必需的。如果采用了加密,该部分就是加密后的密文;如果没有加密,该部分就是明文。

如果采用的加密算法需要一个IV(Initial V ector,初始向量),IV 也是在本字段中传输的。该加密算法的规范必须能够指明IV的长度

以及在本字段中的位置。对于强制实施的DES-CBC来说,IV是该字段当中第一个8位组。本字段的长度必须是8位的整数倍。

(4)填充(Padding)

填充字段包含了填充位。

(5)填充长度(Pad Length):8位

以字节为单位指示了填充字段的长度,其范围为[0,255]。

(6)下一个头(Next Header):8位

指明了封装在载荷中的数据类型,例如6表示TCP数据,4表示IP-in-IP。

(7)验证数据(Authentication Data):变长

只有选择了验证服务时才会有该字段,包含了验证的结果。

1.2AH(AuthenticationHeader) 协议

它用来向IP通信提供数据完整性和身份验证,同时可以提供抗

重播服务。

在IPv6 中协议采用AH 后, 因为在主机端设置了一个基于算法独立交换的秘密钥匙, 非法潜入的现象可得到有效防止, 秘密钥匙由客户和服务商共同设置。在传送每个数据包时,IPv6 认证根据这个秘密钥匙和数据包产生一个检验项。在数据接收端重新运行该检验项并进行比较,从而保证了对数据包来源的确认以及数据包不被非法修改。用于增强IP层安全,可以提供无连接的数据完整性、数据来源验证和抗重放攻击服务。

AH对IP层的数据使用验证算法MAC,从而对完整性进行保护。

相关主题