杨浩淼, 张文科, 蒋 磊
(①电子科技大学 计算机学院,四川 成都611731;②卫士通信息产业股份有限公司,四川 成都610041;③四川省人民政府社会发展研究中心,四川 成都610091)
早期TCP/IP协议存在种种安全问题,为此IETF设计了一套提供 Internet安全通信的协议,称之为IPsec协议[1-2]。该协议在IP层提供安全服务,包括机密性、完整性以及认证性。它既可以和IPv4联合使用,也可以和IPv6联合使用,是互联网的基础安全协议。因此, 了解和应用 IPSec 协议也必将成为网络安全课程中的重要内容。探讨如何开展 IPSec实验, 对提高学生计算机网络安全实践操作能力具有现实的指导意义。考虑到Windows平台应用的普及,这里将在Windows 2003平台下设计IPSec实验。
在建立 IPSec安全通道之前,对等体之间需要相互认证以确定身份。Windows 2003 IPSec 支持3种身份认证:Kerberos、证书和预共享密钥。只有当两个终结点(计算机)都位于同一个 Windows 2003域时,Kerberos 身份认证才有效。这种类型的身份认证是首选方法。如果计算机位于不同的域中,或者至少有一台计算机不在某个域中,则必须使用证书或预共享密钥。只有当每个终结点中包含一个由受信任的颁发机构签署的证书时,才能进行基于证书认证的IPSec通信。如果终结点不在同一个域中,并且无法获得证书,则预共享密钥是唯一的身份认证选择。
然而,在已有的网络安全实验教材中,IPSec身份认证实验大多数是通过“预共享密钥”的方式来进行的[3-4]。因此,这里将设计两个更通用的IPSec身份认证实验:“基于证书”和“基于Kerberos协议”。这些实验将使学生综合理解网络安全协议的基础知识,更好的培养学生的实践工程能力。
另外,传统的网络安全协议实验的开展,需要较高的硬件支持(昂贵的硬件防火墙和服务器)和大量的底层网络实验平台的建设。如果从头做起,是一笔不小的开销。而基于VMWare虚拟机[5]来进行网络安全协议实验。
传统的IP数据包具有不安全性,例如可以修改源地址和目标地址;可以查看、修改、删除数据包的内容,还可以发起数据包重放攻击。而 IPSec为IP层提供安全服务,包括机密性、完整性、认证性和密钥管理。由于 IPSec独立于加密算法,即使加密算法改变了或增加新的算法,也不对其他部分的实现产生影响。另外,IPSec还可以实现多种安全策略,这样就能避免给不使用该体制的系统成不利影响。
基于预共享密钥的实验在大多数网络安全协议的实验教材中均能找到。基于Kerberos或基于证书的IPSec却很少见到,将设计这两个IPSec认证实验。
文中实验环境如表 1所示,其通用步骤为:①在控制台 MMC中,添加“IP安全策略”和“IPSec监视器”两个单元,以配置 IP安全策略以及观察IPSec通信状态;②进行 IPSec安全策略的通用配置;③通过Ping命令来测试IPSec通信的安全连通性。另外,这三台计算机都是VMWare 8上的虚拟机,其网络模式为Host-Only。
表1 IPSec实验的网络和计算机配置
Kerberos协议是上个世纪80年代由MIT开发的一种分布式网络环境的身份认证协议[6],它基于对称密钥加密技术。Kerberos要解决的问题是假设在一个开放的分布式环境中,工作站的用户希望访问分布在网络各处的服务器上的服务。而服务器如何来认证用户身份并授权。
Kerberos是 Windows 2003唯一的身份认证机制,通过 KDC(密钥分发中心)来体现。KDC以域为其作用范围,使用活动目录(AD)进行账号管理,并向客户端提供两个服务:认证服务(AS)和票证颁发服务(TGS)。只要安装AD和运行一个域控制器,Kerberos就会安装并运行。当一个用户尝试登录时,系统就使用Kerberos对用户进行身份验证(如图1所示)。
图1 Kerberos设置
本实验中, 将IP地址为192.168.96.3的计算机DC设为域控制器,将 IP地址为 192.168.96.4(CLIENT1)和192.168.96.5(CLIENT2)的计算机加入该域(如图2所示),再按图3的配置进行实验,实验结果见图4。
图2 Active Directory中的计算机
图3 IPSec身份验证-Kerberos
图4 安全关联- Kerberos验证
证书是用于身份验证的经过(权威机构)数字签名的声明(以文件的形式存在)。证书将公钥与保存对应私钥的实体绑定在一起,证书一般由可信的权威第三方CA中心(权威授权机构)颁发, CA 对其颁发证书进行数字签名,以保证所颁发证书的完整性和可鉴别性。CA可以为用户、计算机或服务等各类实体颁发证书[7]。
图5 根CA证书
图6 CLIENT1证书
图7 CLIENT2证书
本实验中,在 IP地址为 192.168.96.3的计算机(DC)上设置好证书颁发机构 CA,IP地址为192.168.96.4(CLIENT1)和 192.168.96.5(CLIENT2)的计算机向 CA申请证书并安装(如图 5、图 6和图7所示),具体过程参见相应资料,这里不在赘述,再按图8的配置进行实验,实验结果见图9。
图8 IPSec身份验证-证书
图9 安全关联- 证书
文中设计了 IPSec身份验证的综合实验,它的身份验证方式,既包括简单的“预先共享的密钥”,一般的网络安全实验教材所设计的 IPSec实验通常是这种;又包括比较少见的“基于Kerberos”和“证书”,填补了在本科网络安全实验设计上的一个空白。本实验除了包括IPSec、证书、Kerberos等,还涉及到Windows平台上各种安全设置,如活动目录、计算机加入域、防火墙、证书颁发中心 CA等知识点,这将有助于学生综合掌握网络安全协议的基础知识,以及更好的培养学生的实践工程能力。本实验设计的另一个特点是,在已有的网络实验平台的基础上,充分利用VMWare强大的虚拟功能,既有效的达到了实验目标,又节约了成本。
[1] 程艳丽,张友纯. IP通信网络安全攻击与防范[J]. 信息安全与通信保密, 2010(04):39-41.
[2] 王乃卫,郑慧英. 针对DoS攻击的IP跟踪技术研究[J].信息安全与通信保密, 2012(01):103-105.
[3] 刘建伟,张卫东,刘培顺. 网络安全实验教程[M]. 北京:清华大学出版社,2007.
[4] 王常吉,龙冬阳. 信息与网络安全实验教程[M]. 北京:清华大学出版社,2007.
[5] 冯陈伟. 利用VMware构建虚拟网络平台[J]. 信息系统工程,2009(08):78-81.
[6] 黄美东. 基于LDAP与Kerberos的认证系统研究与设计——广东非物质文化遗产信息管理系统设计[J]. 通信技术, 2009,42(05):197-202.
[7] 刘华春. 基于 PKI的IPSec-VPN的研究与设计[J]. 通信技术, 2009,42(01):259-263.