VPN实验

实验目的

1.Windows IPSec配置

2.抓包分析IKE SA和IPSec SA建立过程

实验环境

1.虚拟机:Windows XP*2

2.工具:wireshark

实验过程与结果

步骤一:配置 Windows内置的IPSec安全策略

  1. “Win+R”输入“secpol.msc”打开本地安全设置窗口,右键创建IP安全策略。

图1

图2

2.创建IP安全策略。一直点击下一步,勾选“激活默认相应规则”,并在默认响应规则身份验证方式中 设置预共享密钥为“123456”,点击下一步直至完成。

图3

  1. 修改新建策略的属性,添加安全规则。不指定隧道终结点,适用于所有网络连接,使用“abcdef”作为预共享密钥保护密钥交换。

图4

图5

4.添加IP筛选器列表,在新的筛选器列表添加新的筛选器,然后添加筛选器操作。在筛选器列表选择“所有IP通讯量”。

图6

5.在筛选器操作界面选择“需要安全”,然后完成修改属性。

图7

6.在另一台Windows主机上执行相似的操作。至此,IPSec已配置完成。

步骤二:查看主机信息并测试连接

1.ipconfig查看两台主机的ip信息。

图8

图9

2.从主机1 ping主机2测试两者之间的连接,结果如下图所示则说明通过上面的配置,两台计算机在建 立安全的 IPSec 连接之前,首先对IP安全规则的SA进行协商,显示“Negotiating IP Security”,以协商 建立相互通讯时共享的安全参数及验证的密钥。协商完成后,可以看出两台计算机处于连通状态.

图10

步骤三:wireshark抓包并分析

1.在以上主机1 ping主机2的同时使用wireshark抓包,抓包结果如下图所示。由抓包结果可知,首先在主机1和主机2之间交换了多个ISAKMP数据包用于密钥协商和安全传输的协商过程,协商完成后交换ESP数据包进行ping命令。

图11

2.接下来分析IKE SA 和 IPSEC SA 建立过程:

要建立IPSec连接,首先要协商一个IKE SA,然后在IKE SA的基础上协商IPSec SA

(1)IKE SA :分为3个阶段

第一阶段:进行SA交换,协商确认有关安全策略。该过程进行安全协商。

①包1:确定加密算法和认证方式。

图12

Initiator cookie:发起者与响应者的SPI。

Responder cookie:告知主机2将要使用哪个IPSEC密钥来加密封包,因为这是第一个包所以响应者SPI为空。

Version:IKE版本号。

Exchange type:Main mode表示IKE协商模式为主模式。

图13

Encryption-Algorithm:加密算法为3DES的CBC加密模式。

Hash-Algorithm:验证完整性算法为SHA算法。

Authentication-Method:使用预共享密钥进行认证。

Life-Type和Life-Duration:密钥周期。

②包2:参数比对成功,反馈和第一个包相似内容

图14

第二阶段:密钥交换阶段,主要交换密钥Diffie-Hellman公共值。数据包中的Key Exchange用于交换各自加密生成的主密钥;Nonce使用了随机数,防止重放攻击;加密所用的密钥为ipsec中设定的预共享密钥;NAT-D为双方的ip+端口的Hash值。

③包3:发送DH公共值和Nonce随机值

图15

④包4:生成随机数,返回随机数和DH公共值

图16

第三阶段:ID信息和认证数据交换,进行身份认证,对第一阶段交换内容的认证。

⑤包5:发送预共享密钥,发起身份验证

图17

⑥包6:回应预共享密钥,验证身份

图18

(2)IPSec SA

IPSec SA建立分为两个阶段,都是加密数据,无法查看。用到了Quick-Mode,目的是在两个对等体间协商一组一致的参数来创建IPSec SA,用于真实数据的加解密,并且在此进行PFS,PFS及在Quick-Mode重新做DH的交换,产生新的密钥用于IPSec数据的加密。

⑦包7:协商封装方式、加密算法等。此时主机1发至主机2。

图19

Initiator cookie和Responder cookie:仍使用上个阶段的cookie。

Exchange Type:Quick Mode表示IPSec协商阶段只有快速模式。

Encrypted Data:加密的内容,包括协商用的封装方式、加密算法、生存时间和感兴趣流等。

⑧包8:相应包7内信息,同意传输

图20

Commit:确认收到发送方的通信。

至此,双方都已确认,后面开始正式通信。

⑨包9:确认报文

图21

⑩包10:确认报文

图22

3.IKE SA和IPSec SA建立过程的理论图:

图23

4.总结IKE Sec和IPSec SA

IKE(Internet Key Exchange)和IPSec(Internet Protocol Security)是用于在网络通信中实现安全性的协议套件。它们通常一起使用,以确保数据的保密性、完整性和身份验证。在了解IKE和IPSec之前,让我们先了解一下两个重要的概念:SA(Security Association)和ISAKMP(Internet Security Association and Key Management Protocol)。

(1)安全关联(Security Association - SA):SA是在通信双方之间建立的安全参数集合,用于保护通信。它包括了安全性协议的参数,如加密算法、认证算法、密钥生命周期等。对于每个通信方向,都存在一个SA。

(2)ISAKMP(Internet Security Association and Key Management Protocol):ISAKMP 是一种协议,用于在通信双方之间建立和管理安全关联。它定义了在两个对等体之间协商安全性参数的步骤。

5.讨论IKE和IPSec SA的建立过程

IKE(Internet Key Exchange):

(1)阶段一(Phase 1):在这个阶段,IKE首先确立一个安全的通信通道,这个通道称为ISAKMP SA。通信双方协商使用的加密和认证算法,并交换密钥。主要目标是建立一个安全的通信通道,以便在接下来的阶段中交换IPSec SA 的相关信息。

(2)阶段二(Phase 2):在这个阶段,使用ISAKMP SA建立的安全通道,通信双方协商 IPsec SA 的参数。这包括通信所使用的加密算法、认证算法、密钥生命周期等。当IPsec SA被建立后,通信双方就可以在安全通道上传输加密的数据。

IPSec SA(Security Association):

(1)初始化:通信双方使用已经建立的ISAKMP SA来协商IPsec SA的参数。这些参数包括加密算法、认证算法、散列算法等。

(2)协商:通信双方协商各自的安全关联,包括源和目标IP地址,以及使用的加密和认证算法。

(3)建立:通过ISAKMP SA建立的安全通道,通信双方交换IPsec SA的相关信息,从而建立安全通信通道。

(4)维护:定期更新密钥和安全关联参数,以确保通信的安全性和完整性。

总体而言,IKE和IPSec通过阶段一和阶段二的协商过程,以及使用ISAKMP SA和IPsec SA,确保了网络通信的安全性。这包括了密钥的安全协商、数据的加密和认证。

步骤四:配置专用的IPSec安全策略

1.除了利用windows内置的IPSec安全策略外,我们还可以自己定制专用的IPSec安全策略。右击“IP安全策略,在本地计算机”,选择“创建IP安全策略”则弹出IP安全策略向导界面。一直点击下一步,清除“激活默认响应规则”。最后就到了“完成 IP规则向导”,选中“编辑属性”后点击完成。

图24

2.在弹出的创建IP安全规则向导窗口中,点击“添加”,会依次设置:隧道方式(默认“此规则不知道隧道”),网络类型(默认“所有网络连接”),身份验证方法如图所示,我们选择采用预共享密钥的 方式进行身份认证,在这里我们设置一个简单的密钥111,点击 “下一步”。

图25

3.下面进入IP筛选器列表的配置项,在这项里设置哪些地址和网络协议的数据包使用IPSec安全连接。

图26

4.这里将“我的IP地址”作为源地址,选择“任何IP地址”作为目标地址。在“选择协议类型”中选中“任意”。 点击“下一步”,则完成IP筛选器编辑。

图27

5.完成“新IP筛选器列表”的建立后,点击“下一步”,编辑这个筛选器列表的操作,“筛选器列表的操作”是指当有IP数据包符合筛选器中定义的条件时,IPSec对符合条件的数据包如何处理,如何操作。添加一条筛选器操作,点击“添加”,会出现IP筛选器操作向导,点击“下一步”,直到选择筛选器操作常规选项,即对于符合筛选器列表中定义的数据包,将如何处理,选中“协商安全”,让其进行IPSec安全协商。选中“不和不支持IPSec的计算机通讯”,以要求必须在IPSec基础上进行连接,点击“下一步”。

图28

图29

6.决定进行通信过程中是否加密和完整性检验,为了更加清楚这其中采用的协议,选择“自定义”然后点击“设置”。可以看到AH和ESP协议的不同功能,即AH协议不进行加密,而ESP可进行加密和完整性检验,相关算法也都可以选择,点击确定即完成了IP筛选器操作向导。

图30

图31

7.筛选器操作完成后,下面我们可以看到新建立的筛选器操作名称,点击“下一步”,即完成了新增IP安全规则向导的设置,我们会看到新增加的安全规则,包括新IP筛选器列表、新筛选器操作等。

图32

图33

8.对另一台虚拟机做同样配置。之后通过ping测试在建立安全的IPSec连接之前,是否会协商建立相互通讯时共享的安全参数及验证的密钥。

图34

实验总结

本次VPN实验,我首次完整地实践了IPSec VPN的配置与分析全过程。在Windows系统上手动配置IPSec策略时,我深刻体会到理论参数与实际配置的差异,最初由于身份验证方法设置不一致,导致安全联盟建立失败,经过反复比对教材中的协议流程,最终发现是预共享密钥的格式问题。这个调试过程让我明白,协议标准中的每一个参数都需要在配置中精确对应,任何细微差别都会影响整个VPN隧道的建立。

在抓包分析环节,我使用Wireshark捕获了完整的IKE协商过程。通过分析报文序列,我清晰地观察到主模式交换的消息:策略协商,DH密钥交换,身份验证。特别是在第二阶段快速模式中,我注意到IPSec SA的协商完全在已加密的IKE SA保护下进行,这生动展现了”嵌套安全”的设计理念。最让我印象深刻的是,通过对比抓包数据中的SPI值变化,我直观地理解了安全参数索引在数据包分流和解密中的关键作用。

这次实验不仅巩固了课堂所学的知识,更让我认识到理论协议如何转化为实际可用的安全服务。特别是在分析报文时看到加密前后的载荷格式变化,让我对ESP封装的实际效果有了具象认知。未来在进行网络安全设计时,我会更注重协议细节的精确实现,因为本次实验证明,正是这些细节决定了安全机制的有效性。