一种基于模型检测的安全协议形式化验证方法技术

技术编号:20014138 阅读:20 留言:0更新日期:2019-01-05 22:25
本发明专利技术提供了一种基于模型检测的安全协议形式化验证方法。该方法以基于算法知识逻辑的入侵者模型为理论基础,在运用SPIN/Promela对大量网络安全协议建模分析的实践上,采用模型检测技术,设计并实现了网络安全协议验证模型生成系统。该系统中针对不同类型协议提供了相应的建模方法,如组合身份逻辑建模法、双通道攻击者拦截建模法、攻击者知识库函数建模法、四通道并行建模法用于安全协议的Promela建模,有效满足了多种不同类型安全协议的分析需求,对于安全协议中攻击者知识库的大小则采用了程序枚举法进行构建。此外系统中内置了静态分析、语法重定序以及偏序归约这三项优化策略,能够有效缓解安全协议模型检测过程中的状态爆炸问题。

A formal verification method for security protocols based on model checking

The invention provides a formal verification method of security protocol based on model checking. This method is based on the intruder model based on algorithmic knowledge logic. In the practice of using SPIN/Promela to model and analyze a large number of network security protocols, the model detection technology is used to design and implement a network security protocol verification model generation system. The system provides corresponding modeling methods for different types of protocols, such as combinatorial identity logic modeling method, dual-channel attacker interception modeling method, attacker knowledge base function modeling method, four-channel parallel modeling method for Promela modeling of security protocols, which effectively meets the analysis requirements of different types of security protocols, and rules for the size of attacker knowledge base in security protocols. The program enumeration method is used to construct the system. In addition, three optimization strategies, static analysis, grammar reordering and partial order reduction, are built into the system, which can effectively alleviate the state explosion problem in the process of security protocol model detection.

【技术实现步骤摘要】
一种基于模型检测的安全协议形式化验证方法
本专利技术涉及信息安全中安全协议形式化验证
,特别是涉及一种基于模型检测的安全协议形式化验证方法。
技术介绍
当前,以Internet为代表的国际互联网的热潮正在向社会的每一个角落渗透,因此网络安全成为目前人们关注的一个热点。安全协议是保障网络通信安全的基础,承担着保护通信数据的秘密性、完整性、一致性等性质。但是由于网络环境的复杂性,安全协议的安全性质往往难以得到有效保障。安全协议是网络安全的一个重要组成部分,因此,人们需要一种有效的途径来对安全协议进行严格的分析和验证。面对安全挑战,相比较于其它分析方法,形式化方法的意义在于能够更加高效地发现网络通信中的安全威胁。对网络安全协议进行形式化分析主要有模型检测、定理证明与模态逻辑这三种方法。定理证明需要分析者拥有非常高的证明技巧来人工参与证明过程,因此限制其普及程度。模态逻辑中一些逻辑缺乏严谨的语法语义结构,并且其公理系统并不是很完善。而模型检测技术由于其自动化高、可在性质违反时给出反例的优势得到了广泛的应用。在利用模型检测技术对网络安全协议形式化分析过程中,大致分为三步:协议建模、属性描述、安全验证。当利用模型检测工具对安全协议的状态空间进行检测时,由于协议的并发性使得状态空间往往呈指数级增长,引发状态爆炸问题。此外,在对安全协议的建模过程中,对入侵者的能力进行准确地形式化描述关系到协议建模的准确性。特别是针对某些复杂的安全协议建模时,如果分析者没有丰富的经验,要得到安全协议的精确模型是十分困难的。因此,在使用模型检测技术在对安全协议进行形式化分析中,存在的明显缺陷是状态爆炸问题和协议模型无法准确建立。
技术实现思路
针对当前模型检测技术中存在的问题,本专利技术提出一种降低建模复杂性且能够有效缓解模型检测中状态爆炸问题的安全协议形式化验证方法。本专利技术的理论基础分析:Clarke、Emerson和Sifakis分别提出了模型检测,主要通过显式状态搜索或隐式不动点计算来验证有穷状态并发系统的模态/命题性质。该技术的基本思想是将并发系统转化为一个状态迁移系统,通过穷举搜索状态空间来判断预先定义的状态是否能够达到,以此检测出此系统是否满足预期的安全性质。模型检测器SPIN首先从描述系统模型规格开始,以Promela为输入语言,可对网络协议设计中规格的逻辑一致性进行检验,并报告系统中出现的死锁、无效的循环、未定义的接收和标记不完全等情况,经分析没有语法错误后,对系统的交互进行模拟,直到确认系统拥有预期的行为。然后,SPIN从系统的高级规约中生成一个优化的on-the-fly验证程序,无需构建一个全局的状态图或者Kripke结构,便可以根据需要就能生成系统自动机的部分状态,经检验器编译后被执行,执行中如果发现了违背正确性说明的任何反例,则返回到交互模拟执行状态再继续分析,确定产生反例的原因。在对安全协议验证中,肖美华教授团队独立提出静态分析、语法重定序、偏序规约这些优化策略缓解用于其中存在的状态爆炸问题,经实验分析表明,这些优化策略对于减少协议状态空间具有显著意义。本专利技术中的方案将相关优化策略与模型检测结合在一起,通过这些优化策略来减少并发系统中的冗余状态,从而达到缓解状态爆炸问题。同时提出协议形式化描述语言ProDL,该语言可自动等价转换成模型检测器中可接受的Promela语言,达到减少协议建模复杂性的目的。本专利技术提供一种高效的基于模型检测的安全协议形式化验证方法,在本专利技术中提供了协议文本编辑器和协议辅助生成向导两种方式生成协议描述文本,以满足不同用户的需求。具体地说,首先用户既能够通过直观的图形用户界面对安全协议进行输入,也可使用协议描述语言ProDL(ProtocolDescriptionLanguage)对协议进行描述;然后调用建模分析模块完成对协议建模和规约,并生成相应的Promela代码;接着用线性时态逻辑LTL中□、X、U、○这四个时间描述符号及自定义的变量对期望的安全性质进行形式化描述;最后系统通过内部接口调用SPIN进行验证并给出运行结果。如果发现漏洞,系统将以图形化方式显示此攻击序列。本方法具有扩展性,能够有效分析多种类型的安全协议,对于给定协议,用户直接输入Promela代码进行形式化描述,然后对此Promela代码进行验证,并在发现漏洞时以图形化方式显示攻击序列图。网络安全协议自动分析系统包括以下几个部分:(1)建模分析模块由于网络环境的复杂性以及多样性,造成安全协议中主体数目以及交互步骤数目的复杂多样性,使得安全协议的建模越来越困难。本系统根据用户需求,提供了协议文本编辑器和协议辅助生成向导两种方式生成协议描述文本。用户可以采取ProDL语言对协议进行建模,如果协议类型属于所处理的范围内,则用户可以分别采用静态分析、语法重定序以及偏序归约这些优化策略,用于解决安全协议模型检测过程中的状态爆炸问题,同时自动生成完整的Promela代码,显示到用户界面上。否则,用户可以通过友好的界面窗口,完成Promela代码的输入。(2)自动验证模块自动验证模块基于模型检测工具SPIN,能够对协议的建模结果进行自动验证,如果验证结果发现违反路径,即表明安全协议存在攻击漏洞且同时给出图形化的攻击序列图。自动验证模块通过相关接口调用SPIN工具,根据模型检测算法对安全协议的状态空间进行搜索,检测是否有违反路径存在,如果有违反路径则表明攻击漏洞存在,同时以图形化序列图的方式输出。为了实现本专利技术的目的,采用的技术方案包括以下步骤:步骤1,在设定的网络环境下,给定一个所需要分析的安全协议;步骤2,将所选取的协议用协议描述语言ProDL进行形式化描述,将编写的ProDL代码输入到协议建模模块;步骤3,在对协议的Promela建模中,基于算法知识逻辑对入侵者能力进行描述,其中采用程序枚举法用于构建攻击者知识库;步骤4,用线性时态逻辑LTL对用户所期望的安全性质进行描述;步骤5,根据分析的需要选取所需要的优化策略,所述优化策略包括语法重定序,偏序规约,静态分析;步骤6,在自动验证模块对安全协议进行形式化验证,系统自动调取SPIN对安全协议进行自动验证,验证结果所产生的攻击序列图将以图形化界面展示。根据本专利技术提供的安全协议形式化验证方法,与现有技术相比,具有以下有益效果:1.本专利技术提出一种更加高效的协议描述语言ProDL,该语言可以高效自动转换成模型检测器SPIN中的可接受输入语言Promela,有效减少了协议建模的复杂度;2.本专利技术在对安全协议入侵者能力采用了算法知识逻辑进行精确描述,其中入侵者知识库由程序枚举法进行构建。3.本专利技术在对安全协议的形式化验证过程中,加入了偏序规约、语法重定序、静态分析多种优化策略,在不影响验证结果的前提下,极大地削减了检测过程中状态空间的规模,能够有效地缓解模型检测中存在的状态爆炸问题;另外,根据本专利技术上述的安全协议形式化验证方法,还可以具有如下附加的技术特征:进一步地,所述步骤2中,在协议建模模块中,将编写的ProDL代码自动转换成Promela语言,且在建模过程中,采用算法知识逻辑对入侵者的能力进行描述,并且协议的ProDL语言描述与Promela语言描述是等价的。进一步地,所述步骤3中本文档来自技高网
...

【技术保护点】
1.一种基于模型检测的安全协议形式化验证方法,包括以下步骤:步骤1,在特定的网络环境下,给定一个所需要分析的安全协议;步骤2,将所选取的协议用协议描述语言ProDL进行形式化描述,将编写的ProDL代码输入到用户协议建模模块,其中在编写ProDL代码时,根据协议的特点选择系统提供的不同建模方法,其中包括组合身份逻辑建模法、双通道攻击者拦截建模法、攻击者知识库函数建模法、四通道并行建模法;步骤3,在对协议的Promela建模中,基于算法知识逻辑对入侵者能力进行描述,其中采用程序枚举法用于构建攻击者知识库;步骤4,用线性时态逻辑LTL对用户所期望的安全性质进行形式化描述;步骤5,根据分析的需要选取相应的优化策略,所述优化策略包括语法重定序,偏序规约,静态分析;步骤6,在自动分析模块对安全协议进行形式化验证,系统自动调取模型检测工具SPIN对安全协议进行自动验证,验证结果所产生的攻击序列图将以图形化界面展示。

【技术特征摘要】
1.一种基于模型检测的安全协议形式化验证方法,包括以下步骤:步骤1,在特定的网络环境下,给定一个所需要分析的安全协议;步骤2,将所选取的协议用协议描述语言ProDL进行形式化描述,将编写的ProDL代码输入到用户协议建模模块,其中在编写ProDL代码时,根据协议的特点选择系统提供的不同建模方法,其中包括组合身份逻辑建模法、双通道攻击者拦截建模法、攻击者知识库函数建模法、四通道并行建模法;步骤3,在对协议的Promela建模中,基于算法知识逻辑对入侵者能力进行描述,其中采用程序枚举法用于构建攻击者知识库;步骤4,用线性时态逻辑LTL对用户所期望的安全性质进行形式化描述;步骤5,根据分析的需要选取相应的优化策略,所述优化策略包括语法重定序,偏序规约,静态分析;步骤6,在自动分析模块对安全协议进行形式化验证,系统自动调取模型检测工具SPIN对安全协议进行自动验证,验证结果所产生的攻击序列图将以图形化界面展示。2.如权利要求1所述的方法,其特征在于,所述步骤2中,在协议建模模块中,将编写的ProDL代码自动转换成Promela语言,且在建模过程中,采用算法知识逻辑对入侵者的能力进行描述,并且协议的ProDL语言描述与Promela语言描述是等价的。3.如权利要求1所述...

【专利技术属性】
技术研发人员:肖美华杨科王西忠谌佳宋佳雯钟小妹
申请(专利权)人:华东交通大学
类型:发明
国别省市:江西,36

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1