H.530协议形式化与模型检测

更新时间:2024-01-14 作者:用户投稿原创标记本站原创 点赞:3733 浏览:10850

摘 要 :随着计算机网络的不断发展,全球信息化已成为社会发展的必然趋势.在网络的应用怎么写作中,信息安全是至关重要的环节.而安全协议是保障信息安全最基本内容之一,已广泛应用在计算机通信网和分布系统中.这样,高效准确的安全协议的形式化分析是必不可少的.所以形式化方法分析安全协议已成为目前研究的重点.本文以H.530协议为例给出其形式化分析与模型检测.

关 键 词 :H.530协议;形式化分析;模型检测

中图分类号:TN915.08 文献标志码:A 文章编号:1674-9324(2013)17-0281-02

对安全协议的分析方法目前主要有两种,一种是攻击检验分析方法,另一种是采用形式化分析方法.

HLPSL/OFMC是由ETH Zurich的信息安全组开发的,它是欧洲ISS项目的一部分.在随后的ISPA项目仍在继续开发完善中,现在的ISPA集成了OFMC,CL,SATMC和TA4SP等后台工具.在论文中我采用OFMC作为研究对象.HLPSL/OFMC以高级协议规范语言(High Level Protocol Specification Language,HLPSL)作为输入,通过翻译器HLPS2IF将HLPSL转换为中间格式(Intermediate Format,IF),然后使用模型检测器(On-the-Fly Model-Checker,OFMC)来验证.

此后还出现了还类型检测(type checking)方法.这个方法利用Spi演算系统,给每个通道和消息赋以类型,将协议的安全性目标的达到归结为协议执行过程中类型的保持.类型的破坏将导致安全性的丧失.协议的安全性质通过所有从保持的性质来刻画.利用串空间原理,Song发展了一种自动检测工具Athena.

一、行为时序逻辑概述

TLA是一种对并发系统进行描述与验证的逻辑,系统及其性能使用同样的逻辑进行描述,因此,一个系统能达到它的规格并判断一个系统实现另一个的断言,都是用逻辑含义表达的.TLA非常简单,它的语法和完整正式的语义都被概括成一段话.但是,TLA并不仅是逻辑学家的一个玩具,在理论和实践中都非常强大.这篇文章介绍了TLA并描述其如何用于列举和查证并发算法,TLA的详细说明和推出开放式系统的应用被描述与其他地方.

一个并行算法通常利用一个程序详细描述,算法的正确性就是满足一个希望得到的特性.我提出一个更简单的方法:算法和性质都利用一个指定逻辑的公式来详细描述.算法正确性是指公式描述算法意味着公式描述属性,即普通逻辑含义.

二、ISPA概述

ISPA的主要检测工具是OFMC.On-the-Fly模型检测器即OFMC是基于惰性入侵者的思想实现的,用符号和约束条件的方法来模型化一个入侵者是在惰性上结合了两种思路分析安全协议的工具.第一种是使用惰性数据类型而建立一个高效的无限空间协议On-The-Fly模型检测器的简单方法.第二种是将符号技术和惰性的Dolev-Yao入侵者模型最优化相结合的方法,其行动的产生需要驱动的方式.ISS和ISPA实现了两种语言:高级协议说明语言和中间格式IF.HLPSL用来在高层描述协议,而IF被用来作为一个低级语言,可以被想OFMC正的分析工具直接使用,而由HPLSL到IF必须用HLPSL2IF来转换.

三、H.530协议的形式化与ISPA检测

这里我将建模H.530协议.H.530协议是一个多媒体协议,如图1所示:

这个协议描述了一个多媒体终端(MT)想与VGK建立一个安全的连接,并协商一个Diffle-Hellman密钥.因为事先都互不知道,将通过验证设备AuF来身份识别;初始化时,MT和VGK都有与AuF共享的密钥.正如图上所示的信息交换过程,首先,MT和VGK都创建了Diffie-Hellman的半密钥,用hash加密后发给AuF,在图中用RepMT和RepVGK表示.通过成功的验证这些消息,AuF回复适当的信息AckMT和AckVGK,都是用hash加密后的信息.最后,MT和VGK用AuF验证的Diffie-Hellman密钥实现通信.为了方便我建模该协议,现在我A-B表示法描述该协议如下所示:M1等于MT,VGK,NIL,CH1,exp(G,X);M2等于M1,F(ZZ,M1),VGK,exp(G,X)XOR exp(G,Y);M3等于VGK,MT,F(ZZ,VGK),F(ZZ,exp(G,X)XOR exp(G,Y));M4等于VGK,MT,CH1,CH2,exp(G,Y),F(ZZ,exp(G,X)XOR exp(G,Y)),F(ZZ,VGK);M5等于MT,VGK,CH2,CH3;M6等于VGK,MT,CH3,CH4.1.MT->VGK:M1,F(ZZ,M1).2.VGK->AuF:M2,F(ZZ_VA,M2).3.AuF->VGK:M3,F(ZZ_VA,M3).4.VGK->MT:M4,F(exp(exp(G,X),Y),M4).5.MT->VGK:M5,F(exp(exp(G,X),Y),M5).6.VGK->MT:M6,F(exp(exp(G,X),Y),M6)

限于篇幅,下面只给出AuF角色的HLPSL建模该协议的描述语言.

role authenticationFacility(MT,VGK,AuF:agent,SND,RCV:channel(dy),F:hash_func,ZZ,ZZ_VA:symmetric_key,NIL,G:text)played_by AuF def等于local State:nat,GX,GY:message,CH1:text init State:等于0 transition State等于0/ RCV(MT.VGK.NIL.CH1'.GX'.F(ZZ.MT.VGK.NIL.CH1'.GX').VGK.xor(GX',GY')F(ZZ_VA.MT.VGK.NIL.CH1'.GX'.F(ZZ.MT.VGK.NIL.CH1'.GX').VGK.xor(GX',GY')))等于|>State':等于1/SND(VGK.MT.F(ZZ.VGK).F(ZZ.xor(GX',GY')).F(ZZ_VA.VGK.MT.F(ZZ.VGK).F(ZZ.xor(GX',GY'))))end role

检测结果如下:%OFMC SUMMARY UNSAFE DETAILS ATTACK_FOUND PROTOCOL/ root/span/ispa-1.1/testsuite/results/H.530.if GOAL authentication_on_key1 BACKEND OFMC COMMENTS STATISTICS parseTime:0.00s searchTime:0.77s visitedNodes:87nodes depth:5plies

根据检测结果,我得出该协议是不安全的,并得到该协议的一个攻击方法,这是一个重放攻击,首先入侵者监听可信任写作技巧MT和VGK,和AuF的会话,然后入侵者开始一个新的会话,并检测扮MT和VGK.这里的ACKVGK缺乏fresh的信息的漏洞使重放攻击成为可能.重放第一次会话中各自的消息,入侵者检测扮MT能与VGK协商出一个新的Diffie-Hellman密钥.这里入侵者必须可以在MT和VGK之间还有VGK和AuF之间和插入消息,才可以实现攻击.