论文部分内容阅读
安全协议是建造网络安全环境的重要基石,是保证网络安全的核心技术。设计和证明安全协议自身的正确性和安全性,成为网络安全的基础。形式化分析方法已被证明是用于分析、设计和验证安全协议的重要方法,对安全协议的形式化分析、设计和验证已经成为当今形式化分析研究领域的一个热点问题。虽然人们使用形式化分析方法已成功发现了许多现存安全协议存在的缺陷和针对她们的攻击,但是这些分析方法还存在许多缺陷。有些形式化分析方法自身不太完善,存在一定的局限性,不能分析和验证某些类型安全协议的安全性:有些只能分析安全协议的不安全性,不能给出协议安全性的精确证明。在总结安全协议现存各种缺陷的基础上,根据缺陷产生各种原因将缺陷分为:过小保护缺陷、消息可重放缺陷、消息不可达性缺陷、并行会话缺陷和其他类型缺陷等五类。同时把针对安全协议的各种攻击方法可分为:重放消息型攻击、猜测口令型攻击、分析密码型攻击、并行会话型攻击、格式缺陷型攻击和身份绑定型攻击等六类。Burrows,Abadi和Needham提出的BAN逻辑开创了用逻辑化方法分析安全协议安全性的新纪元。由于该方法是对现实协议分析方法的抽象,逻辑处理的符号集是对现实具体协议的抽象;其初始假设、断言集合等均是从现实世界中抽象出来的要素。因此,其狭窄的符号集合定义也就决定了该方法存在不能分析某些类型协议安全性的缺陷,如:不能发现由于时间同步问题而导致的协议缺陷。另外使用BAN逻辑对安全协议分析时,很多初始假设是不合理的,如消息不可伪造假设就非常不合理,这些假设的不合理,妨碍了该分析方法的正确应用。BAN逻辑还存在非严谨的理想化步骤缺陷;语义不清晰缺陷;非严密的环境模型缺陷和无法有效预测对协议存在的攻击等缺陷。1995年由Raiashekar Kailar提出的Kailar逻辑主要用于描述和分析电子商务协议,但是它只能分析电子商务协议的可追究性,无法分析电子商务协议的另一个重要特性——公平性。与BAN逻辑一样,使用Kailar逻辑分析协议之前同样需要引入一些初始假设,而初始假设的引入仍然是一个非形式化的过程,具有一定的人为性,其不准确会导致安全协议分析的失败。另外,用Kailar逻辑解释协议语义时,只能解释签名的明文消息,这样限制了其使用范围,对某些安全协议不能分析。针对BAN类逻辑和Kailar逻辑的弱点,设计了一种新的安全协议分析逻辑CPL(Cryptographic Protocols Logic),CPL不但可用于分析协议的安全性,还可用来设计安全协议,即CPL逻辑把分析和设计安全协议纳入同一个逻辑体系中,消除了用不同方法分别设计和分析安全协议,将导致结果不一致性的缺陷,同时也简化了分析和设计安全协议时对初始条件和安全协议最终目标分别进行形式化的过程和步骤,提高了分析和设计安全协议的效率。定义了CPL逻辑的基本符号、给出了CPL逻辑用于分析协议安全性的六类二十五条逻辑分析规则和用于设计安全协议的二十九条逻辑设计规则。分析规则和设计规则可分别用于安全协议的分析和安全协议的设计。给出了基于Kripke的CPL逻辑的语义,并利用逻辑语义对CPL系统自身的正确性进行了详细证明。运用新逻辑的分析规则和协议运行的初始条件以及安全协议的执行步骤分析安全协议的安全性。运用新逻辑的设计规则和协议运行的初始条件以及协议的最终目标设计出满足安全要求的安全协议。使用新逻辑分析了两个不同类型协议的安全性——密钥建立协议和身份认证协议。