张婷 张鑫 张新刚
摘 要:由于无线网络与移动设备的特点,无线网络安全协议的执行环境变得更为复杂。对比了网络安全协议WAP、IEE802.1X、EAP、WPA認证协议和Kerberos协议。Kerberos协议在身份委派和身份验证方面较为高效,成为常用的无线网络安全协议。Petri网作为信息化建模仿真的常用工具,能以图形化、层次化的方式描述系统。在分析Kerberos协议工作原理的基础上,采用Petri网工具CPNTools对Kerberos协议进行建模与仿真,采用图形化方式,直观地表达了该协议特点。
关键词:Kerberos协议;无线网络安全协议;Petri网
DOI:10.11907/rjdk.172290
中图分类号:TP309 文献标识码:A 文章编号:1672-7800(2017)009-0181-04
Abstract:Due to the characteristics of wireless networks and mobile devices, wireless security protocol execution environment becomes more complex. Network security protocols such as WAP, IEE802.1X, EAP, WPA authentication protocol and Kerberos protocol are compared. Kerberos protocol is efficient in terms of identity, delegation, and authentication, so it is commonly used in wireless network security. Petri net is a common tool for information modeling and simulation. By Petri net, system can be described graphically and hierarchically. After analyzing the working principle of Kerberos protocol, Petri nets tools named CPNTools is employed to model and simulate Kerberos protocol.The characteristics of this protocol are graphically and visually expressed.
Key Words:kerberos protocol; wireless network security protocol; petri net
Kerberos协议
1.1 Kerberos协议简介
Kerberos协议是一个在局域网内利用对称加密算法进行用户身份认证的协议[1]。在该认证方式下,用户只需正确地输入用户名和密码一次,即可获得电子通行证,从而访问多个相应服务。为了防止网络实体受到窃听、重放等攻击,Kerberos协议采用“客户—服务器”模型交互验证的方式执行协议,以保护数据完整性。
Kerberos协议的工作原理如图1所示。具体过程为:①首先,Client通过Workstation进行登录,输入用户ID和密码传送给AS;②AS得到Workstation转译的用户密钥之后,检查ID有效性,并向Workstation传送一个TGS票据,Workstation得到许可后授权服务;③Client通过Workstation把已得到的TGS票据发送给TGS,TGS认证后向Workstation提供一个S票据给Client;④最后Client通过Workstation向Server提供已获得的S票据,得到Server认证后,即可访问该服务器提供的服务。
1.2 网络安全协议对比
在计算机网络应用中,为了提高网络信息的安全性,通常采用的网络安全协议有WAP[2]、IEEE802.1X[3]、
EAP[4]、WPA[5]和Kerberos协议。其分别使用的核心技术与应用特点如表1所示,可以看出Kerberos协议相比其它协议具有使用方便、易于实施的特点,因而Kerberos协议应用广泛,例如微软Windows Server 2003操作系统,Internet上的FreeBSD以及Linux服务器均使用其进行安全认证。
2 Petri网
Petri网是一种图论工具,适合对离散事件动态系统建模[7]。它以图形化的方式描述系统,使系统形象化。可以建立分层Petri网,用于描述分布式递进系统的各种运行特性。
2.1 Petri网新进展
时间Petri网:通过附加节点的时间因素,即时间库所和时间变迁,使模型具有实时分析能力。
条件/事件网(包括谓词/变迁网):通过在弧或变迁节点上加入变迁使能的条件,从而增强模型的逻辑分析能力。
受控Petri网:在变迁节点上增加控制库所,使模型能直接用于表达控制活动。
2.2 Petri网应用
Petri网不仅可以描述系统的静态特征,便于人们理解,还可以描述动态特性,揭示模型中的有界性、可达性、合理性等。因此,Petri网的应用十分广泛,主要用于以下几个方面[8]:①通信协议验证;②计算机通讯网络性能评价;③软件工程中着色Petri网可用于软件系统的建模与分析;④AI中用知识处理Petri网建立推理的形式化模型,表达各活动间的关系;⑤FMS的建模、分析和控制;⑥系统可靠性分析,如硬件可靠性和软件可靠性分析;⑦合成服务的安全分析和验证。endprint
3 Kerberos协议建模
3.1 Kerberos的CPN模型
结合Kerberos协议工作原理,采用Petri网工具CPNTools对Kerberos协议进行层次化建模。Kerberos身份认证机制主要用于提供访问网络服务的票据(Ticket),票据包括认证符(Authenticator)、已加密数据(含加密密码)[9]。Kerberos所用票据如表2所示。
Kerberos认证过程有3个步骤:①认证服务消息交换获得票据许可票据;②服务授权票据消息交换,获取服务授权票据;③客户/服务器认证消息交换,获取服务[10]。
建立的Kerberos协议顶层模型如图2所示,在执行过程中有5个变迁:变迁Sender表示客户端向密钥分发中心(KDC)发送一个Kerberos身份认证服务请求,以期
获得TGT(许可票据);变迁Network表示KDC发送加密的TGT和登录会话密钥;变迁Receive表示用户为有效用户,生成登录会话密钥;变迁Success表示客户端向KDC请求访问服务器的服务票证;变迁Reject表示用户为非法用户,结束会话。
库所A表示客户端的身份认证服务请求,库所B1表示许可票据,库所B2表示无效票据,库所C1表示请求服务票据,库所C2表示无效服务票据,库所D表示服务票据,库所Received1表示加密的服务会话密钥和服务票据,Received2表示无效的会话密钥。
stop表示非法票据,succ表示服务票据,用INT*DATA表示许可票据,用INT*INT表示会话密钥。
3.2 Sender的CPN模型
Sender的CPN模型如图3所示,客户端尝试连接Kerberos身份认证服务端端口,监测到端口开放,则客户端将自己的ID和IP信息打包,并使用用户自己的密钥K1进行加密,提交给Kerberos认证服务端。
变迁SendPacket表示发送Kerberos身份认证服务请求,变迁ReceiveAcknow表示接收到会话密钥。库所Send表示Kerberos身份认证服务请求,库所NextSend表示接收服务端信息。
3.3 Network的CPN模型
Network的CPN模型如图4所示。具体过程为:①Kerberos认证服务端接收到ID信息后,解密信息,如果解密失败,则说明该用户非法,发送信息到B2;如果解密成功,Kerberos认证服务器则认为用户为合法用户,发送信息到B1;②在判断用户为合法用户后,Kerberos认证服务端开始向用户端提供需要访问的服务系统的授权票据,发送库所C1中的授权票据到库所D;在判断用户为非法用户后,Kerberos认证服务端发送库所C2中的无效票据到库所D。
变迁TransmitPacket表示解密信息,变迁TransmitAcknow1表示接收到授权票据,变迁TransmitAcknow2表示接收到非法票据。
3.4 Receive的CPN模型
Receive的CPN模型如图5所示。Receive的执行过程为:Kerberos用自己的密钥对用户的ID和IP打包加密之后,再用用户的密钥进行加密,然后回传至用户接收。
变迁ReceivePacket表示加密用户信息,库所nextToken表示加密包。
3.5 Success的CPN模型
Success的CPN模型如图6所示。Success表示用户端从Kerberos认证服务器处获得的加密信息,先用自己的用户密钥对其进行解密。解密成功后,将得到的加密信息与自己需要访问的服务内容进行打包后,再用自己的密钥进行加密,提交给Kerberos认证服务端进行身份审核。其执行过程如图6所示。
3.6 Reject的CPN模型
Reject的CPN模型如图7所示。Reject表示用户端从Kerberos认证服务器处获得的加密信息,先用自己的用户密钥对其進行解密。若解密失败,访问申请中断,无法对服务进行访问。
4 结语
本文阐述了Kerberos协议的工作原理,并且对比了它与WAP、IEEE802.1X、EAP和WPA网络安全协议的特点。使用Petri网的图形化建模工具CPNTools对Kerberos协议进行建模。将Kerberos协议的认证过程抽象为Sender、Network、Receive、Success和Reject 5个变迁,建立了协议的层次化模型,从而直观地展示了Kerberos协议用户身份认证的过程,体现了其在身份委派和身份验证方面的灵活性。
参考文献:
[1] 王杰.计算机网络安全的理论与实践[M].北京:高等教育出版社,2014.
[2] 张慧媛.移动互联网与WAP技术[M].北京:电子工业出版社,2003.
[3] 谢希仁.计算机网络[M].第6版.北京:电子工业出版社,2013.
[4] 杜慧,朱志祥.IEEE802.1x/EAP协议的研究与改进[J].西安邮电大学学报,2010,15(5):53-56.
[5] 白珅,王轶骏,薛质.WPA/WPA2协议安全性研究[J].信息安全与通信保密,2012(1):106-108.
[6] 姚传茂.Kerberos认证系统的研究与改进[D].合肥:合肥工业大学,2003.
[7] 张昭理.基于Petri网的安全策略分析与验证方法研究[D].武汉:华中科技大学,2007.
[8] 乐晓波,陈黎静.Petri网应用综述[J].交通科学与工程,2004,20(2):51-55.
[9] 齐忠厚.Kerberos协议原理及应用[J].计算机工程与科学,2000,22(5):11-13.
[10] 王晓刚,卢强华.Kerberos认证系统的分析和改进[J].武汉纺织大学学报,2002,15(5):95-98.
(责任编辑:黄 健)endprint