实验八  IPSec实现安全通信
【实验目的】
1.了解IPSec主要协议;
2.理解IPSec工作原理;
3.掌握Windows环境下利用IPSec在两台主机间建立安全通道的方法。
【实验环境】
两台以上装有Windows 2000/XP/2003操作系统的计算机,其中必须有一台为Windows 2000/2003。
【实验原理】
IPSec作为一套标准的集合,包括加密技术、Hash算法、Internet密钥交换、AHESP等协议,在需要时还可以互相结合。IPSec是基于OSI第三层的隧道协议,第三层隧道协议对于OSI
模型的网络层,使用包作为数据交换单位,将IP包封装在附加的IP包头中,通过IP网络发送。IPSec提供了一种标准的、健壮的以及包容广泛的机制,可用为IP层协议及上层协议提供以下几种服务:数据源验证,确保收到的数据的发送者为实际发送者;数据完整性,确保数据在传输过程中未被非法篡改;抗重播保护,防止数据被假冒者复制存储并重复发送;信息的机密性,确保数据在传输过程中不被偷看。IPSec定义了一套默认的、强制实施的算法,以确保不同的实施方案可以共通。
IPSec包含四类组件:IPSec进程本身,验证头协议(AH)或封装安全载荷协议ESP; Internet密钥交换协议(IKE, Internet Key Exchange),进行安全参数的协商;SADBSA Database),用于存储安全关联(SASecurity Association)等安全相关的参数;SPDSecurity Policy Database),用于存储安全策略。
1IPSec的工作模式
IPSec协议中,无论是AH还是ESP,都可工作于传输模式(Transport Mode)和隧道模式(Tunnel Mode)
①传输模式,传输模式主要为上层协议提供保护,即传输模式的保护扩充到IP分组的有效载荷。传输模式使用原始的明文IP头,只加密数据部分(包括TCP头或UDP),如图8-1所示。传输模式的典型应用是用于两个主机之间的端到端的通信。
8-1 IPSec传输工作模式
  隧道模式,与传输模式相比,隧道模式对整个IP分组提供保护,整个IP数据包全部被加密封装,得到一个新的IP数据包,而新的IP头可以包含完全不同的源地址和目的地址,因此在传输过程中,由于路由器不能够检查内部IP头,从而增加了数据安全性,如图8-2所示。隧道模式通常用于当SA的一端或两端是安全网关,如实现了IPSec的防火墙或路由器的情况。
8-2  IPSec隧道工作模式
    2IPSec的主要协议
      AH协议,验证头是插入IP数据包内的一个协议头,如图8-3所示,以便为IP提供数据源认证、抗重播保护以及数据完整性保护。
8-3  AH协议头格式
    验证头不提供机密性保证,所以它不需要加密器,但它依然需要身份验证器,并提供数据完整性验证。
    ESP协议,封装安全载荷是插入进程间通信实验IP数据包内的一个协议头,如图8-4所示,以便为IP提供机密性、数据源认证、抗重播以及数据完整性保护。
8-4 ESP协议数据格式
③因特网密钥交换协议(IKE)用于动态建立安全关联(SA)IKEUDP的方式通信,其端口号为500IKE是一个混合协议,使用到ISAKMPokley密钥确定协议(基于DH协议)和SKEME协议。IKE分为两个阶段:第一阶段建立IKE本身使用的安全信道而协商SA,主要是协商主密钥;第二阶段,利用第一阶建立的安全信道来交换 IPSec SA
3IPSec协议的实现
IPSec的工作原理类似于包过滤防火墙。IPSec通过查询安全策略数据库SPD来决定接收到的IP包的处理,但不同于包过滤防火墙的是,IPSecIP数据包的处理方法除了丢弃、直接转发(绕过IPSec)外,还有进行IPSec的处理。进行IPSec处理意味着对IP数据包进行加密和认证,保证了在外部网络传输的数据的机密性、真实性、完整性,使通过Internet进行安全通信成为可能。在IETF的标准化下,IPSec的处理流程进行了规范。
1 IPSec外出处理,在外出处理过程中,传输层的数据包流进IP层,然后按如下步
骤处理,如图8-5所示。
8-5  IPSec外出处理流程
首先,查合适的安全策略。从IP包中提取出选择符来检索SPD,到该IP包所对应的外出策略,之后用此策略决定对IP包如何处理;否则绕过安全服务以普通方式传输此包。
    其次,查合适的SA。根据安全策略提供的信息,在安全联盟数据库中查该IP包所应该应用的SA。如果该SA尚未建立。则会调用IKE,将这个SA建立起来。此SA决定了使用何种协议(AHESP),采用哪种模式(隧道模式或传输模式),以确定了加密算法,验证算法,密钥等处理参数。
    最后,根据SA进行具体处理。
    IPSec流入处理,在进入处理过程中,数据包的处理如下步骤执行,如图8-6所示。
8-6  IPSec数据进入处理流程
    首先,IP包类型的判断:如果IP包中不含IPSec头,将该包传递给下一层;如果IP包中包含了IPSec头,会进入下面的处理。
其次,查适合的SA:从IPSec头中摘出SPI,从外部IP头中摘出目的地址和IPSec协议,然后利用<SPI,目的地址,协议>SAD中搜索SA。如果SA搜索失败就丢弃该包。如果到对应的SA,则转入以下处理。
再次,具体的IPSec处理,根据到SA对数据包执行验证或解密进行具体的IPSec处理。
    最后,策略查询:根据选择符查询SPD,根据此策略检验IPSec处理的应用是否正确。最后,将IPSec头剥离下来,并将包传递到下一层,根据采用的模式,下一层要么是传输层,要么是网络层。
【实验步骤】
IPSec协议是在公共IP网络上确保通信双方数据通信具有可靠性和完整性的技术,它能够为通信双方提供访问控制、无连接完整性、数据源认证、载荷有效性和有限流量机密性等安全服务。Windows系统中提供构建IPSec安全应用的所有组件。
首先配置Web服务器和客户端主机网络:
服务器主机AWindows Server 2003IP地址是192.168.0.3/24,安装Web站点并测试成功。
测试主机BWindows 2000/XP/2003/VistaIP地址是192.168.0.4/24,测试与主机A访问成功。
IPSec技术保证应用层服务访问安全主要有以下几个步骤:
在服务器主机AB上安装并配置IPSec
  在服务器主机未启用或启用IPSec的情况下进行测试。
1 配置服务器主机 AIPSec
建立新的IPSec策略
步骤1:单击开始所有程序管理工具本地安全策略,打开【本地安全设
置】窗口。
步骤2:在【本地安全设置】窗口左侧对话框中右击“IP安全策略,在本地机器
IP安全策略”,如图8-7所示。

8-7 创建IP安全策略
步骤3:在【欢迎使用IP安全策略】窗口中单击下一步按钮。
    步骤4:在【IP安全策略名称】窗口中输入名称和描述信息(本实验中的策略名称为新IP安全策略A),单击下一步按钮。
步骤5:在【安全通信请求】窗口中取消激活默认响应规则复选框,单击下一步按钮。
    步骤8:在【完成“IP安全策略向导】窗口中取消编辑属性默认选项,单击完成按钮,
打开【新IP安全策略A属性】窗口,如图8-8所示。
8-8 创建新IP安全策略A
添加新规则
步骤1:在【新IP安全规则A属性】窗口中取消使用添加向导’”选项,再单击添加
按钮,如图8-8所示。
步骤2:在【新规则属性】窗口中的“IP筛选器列表选项卡中选中所有ICMP通信
单击添加按钮,出现【IP 筛选器列表】窗口,如图8-9所示。
 
8-9 添加新的过滤器
添加新过滤器
步骤1:在【IP筛选器列表】窗口中输入筛选器的名称,并取消使用添加向导’”选项,单击添加按钮。
    步骤2:在【IP筛选器属性】窗口中设置源地址和目标地址为特定的IP地址(本实验为主机到主机实现IPSec安全通信),如图8-10所示。
    8-10 设置通信源与目的地址
步骤3在【IP筛选器属性】窗口中,如图8-10所示,选择协议选项卡,选择协议类型ICMP,单击确定按钮。
    步骤4在【IP筛选器列表】窗口中单击确定按钮,返回【新规则属性】窗口,通过单击新添加的过滤器旁边的单选按钮激活新设置的过滤器,如图8-11所示。
8-11 激活新建的过滤器
规定过滤器动作
步骤1在【新规则属性】窗口中选择筛选器操作选项卡,取消使用添加向导’”
选项,单击添加按钮,如图8-12所示。
步骤2在【新筛选器操作属性】窗口中默认选择协商安全选项,单击添加按钮。
步骤3在【新增安全措施】窗口中默认选择完整性和加密选项,选择自定义选项
单击设置按钮,在【自定义安全措施设置】窗口中可选择AHESP协议及相应算法,如图8-13所示。
8-12 添加新筛选器动作
8-13 自定义安全措施设置
步骤4 在【新增安全措施】窗口中单击关闭按钮,返回【新筛选器属性】对话框,确保不选择允许和不支持IPSec的计算机进行不安全的通信,单击确定按钮。
步骤5在如图8-11所示的【新规则属性】窗口中的筛选器操作选项卡中选中新筛选器操作并激活,如图8-12所示。
设置身份验证方法
步骤1在如图8-11所示【新规则属性】窗口中的身份验证方法选项卡中单击添加按钮,打开【新身份验证方法属性】窗口,选择使用此字串(预共享密钥)”单选框,并输入预共享密钥字串“ABC”
步骤2在【身份认证方法属性】窗口中单击确定按钮返回身份验证方法选项卡,选中新生成的预共享密钥,单击上移按钮使其成为首选,如图8-14所示。
8-14 设置预共享密钥
设置隧道设置
单击如图8-11所示【新规则属性】窗口中的隧道设置选项卡,默认选择此规则不指定IPSec隧道