《安全协议的攻击分类及其安全性评估卓继亮》由会员分享,可在线阅读,更多相关《安全协议的攻击分类及其安全性评估卓继亮(8页珍藏版)》请在金锄头文库上搜索。
1、计算机研究与发展ISSN 1000 -1239/ CN 11-1777/ TP Journal of Computer Research and Development42( 7): 1100 1107, 2005收稿日期: 2004-02-09; 修回日期: 2004-11-10基金项目: 国家自然科学基金项目( 90412011) ; 国家“八六三”高技术研究发展计划基金项目( 2003AA144150)安全协议的攻击分类及其安全性评估卓继亮 李先贤 李建欣 怀进鹏( 北京航空航天大学计算机学院 北京 100083)( zhuocscw. buaa. edu. cn)A New Taxon
2、omy of Attacks on Security Protocols and Their Security EvaluationZhuo Jiliang , Li Xianxian, Li Jianxin, and Huai Jinpeng(School of Computer Science taxonomy of attacks; security evaluation; formal method摘 要 对安全协议的安全性进行全面评估是十分重要的 ,但难度非常大 .目前大量的研究工作主要集中于分析开放网络环境下安全协议的一些特定安全属性 ,例如, 秘密性和认证性等.为了更全面地评估安
3、全协议的安全防护能力,从攻击者的能力和攻击后果两个角度, 提出一种新的安全协议攻击分类, 并分析了不同攻击类型的特点与机理 .在此基础上, 探讨了安全协议的一种安全性评估框架, 有助于更客观地评价安全协议的实际安全防护能力和设计新的协议.关键词 安全协议; 攻击分类; 安全性评估 ; 形式化方法中图法分类号 TP3931 引 言1. 1 研究背景 安全协议( 或称密码协议) 是一种通过密码学技术来达到某些特殊安全需求的通信协议.安全协议是网络安全体系中的关键环节 , 然而设计一个可靠的安全协议却绝非易事, 这是因为安全协议通常运 行在一个复杂的网络环境中, 其缺陷往往十分隐蔽 ,一般人工分析方
4、法难以发现 1.在实际应用中对协议安全性的需求却越来越高 ,因此对安全协议的安全性进行分析和评估成为一项重要而紧迫的任务 .对安全协议安全性分析的研究吸引了国际上很 多学者的研究兴趣, 特别是在安全协议的形式化分析方面 ,目前已有大量的研究文献,并开发出许多自动分析工具, 取得了许多重要的成果 2 6.然而在应用中往往需要对协议进行全面的安全性评估, 目 前在形式化分析方面的研究成果还难以满足现实应用需求 .这主要体现在 3 个方面 :首先 ,这些形式化分析方法往往只是针对某些特定的安全属性, 如秘密性、认证性等 4 6 , 难以给 出一种全面的安全协议安全性评估准则.其次 ,以往建立在 Do
5、lev-Yao 模型 7, 8基础上的大多数研究 ,都是在开放的网络环境中来分析安全协议的安全性, 对密码系统也要进行理想化假设. 第三 ,即便是对协议的某一种安全属性的分析 ,也往往会出现因问题复杂度过大而无法判定协议安全性的情况 9 ,10.当前 ,安全协议的安全性评估仍是非常困难的 , 需要一种对协议安全性层次进行划分的客观依据 ,以评价协议所具有的安全防护能力.协议的安全防护能力主要体现为协议可以抵抗攻击的范围广度和攻击能力强度两个方面.更细粒度地刻画安全协议 的运行环境,对安全协议攻击进行分类研究, 对于全面客观地评估安全协议的安全性具有重要的实际意义.近些年已有一些学者对安全协议的
6、攻击分类进行了研究, 提出了一些分类方法.这些研究主要可分为两类: 一类是从协议设计和实现中的缺陷或错误出发 , 来研究安全协议的攻击方法分类, 比如Calsen 11,Gritzalis 和 Spinellis 12 ,Clark 和 Jacob 13 以及王贵林 14等人的工作. 另一类是从攻击的行为方式出发进行分类 , 如 Syverson 对重放攻击的分类 15, 再如 Xu 等人基于攻击者的目标和攻击者在攻击中所扮演的角色两个角度对安全协议攻击的分类 16.这些分类对于更好地认识各种安全协议攻击的机理并寻找相应的防护措施具有积极意义,然而, 它们没有区分安全协议的运行环境 ,因而也没
7、有与协议的安全性评估相结合.1. 2 文章的主要工作及组织本文主要从安全协议的安全性评估角度来研究安全协议攻击分类, 对安全协议的运行环境( 攻击者能力) 进行了更细粒度的划分 ,从攻击者能力和攻击后果两个角度研究了安全协议攻击分类, 并基于这种分类给出了一种安全协议安全性的评估框架 .文章剩余部分的组织如下: 第 2 节根据攻击者能力不同层次对安全协议攻击进行分类; 第 3 节探讨了基于安全协议攻击后果的攻击分类; 第 4 节给出了一种基于二维攻击分类的安全协议安全性评估框架 ,最后总结全文.2 基于攻击者能力的攻击分类对攻击者能力, 最初只是根据攻击者是否主动影响协议的运行而简单划分为“被
8、动攻击”和“主动攻击”两类 17,这种划分显然还不够精细. Dolev-Yao 模型中的攻击者能力在许多情况下过于强大 ,不能准确刻画某些具体应用环境.此外, Dolev-Yao 模型对协议中的密码系统做了一个理想假设 , 即假定密码系统是绝对安全的.这种假设使我们能专心研究 安全协议的内在安全性质 18,但实际上密码系统并不是无懈可击的, 攻击者有时能够根据密码系统的特点构造出对一些安全协议的攻击 19 ,20 .这提醒我们在研究安全协议的实际安全性的同时 , 还应当综合考虑攻击者对密码系统的攻击能力, 比如口令猜测能力和密码分析能力.本文首先把攻击者能力分成三大类: Dolev- Yao
9、能力( 简称 D-Y 能力) ; 口令( 或密钥) 猜测能力 ; 密码分析能力.并将 D-Y 能力细分为被动攻击能力 、 独立攻击能力 、 有限协同攻击能力和无限协 同攻击能力 4 个层次.2. 1 Dolev -Yao能力Dolev-Yao 能力是指 Dolev-Yao 模型中的攻击者能力 ,它通常具有两方面的含义: 一是对网络环境 的控制能力 ,二是对协议合法主体的控制能力.2. 1. 1 对网络环境的控制攻击者对网络环境的控制是其对协议发起攻击 的基础, 在 Dolev-Yao 模型中, 这种控制主要体现在攻击者对网络中传输消息的阅读和修改 , 包括以下几方面 :窃听消息.即对网络中传输
10、消息的阅读能力, 这是 D-Y 攻击者的最基本能力.阻截消息.即中断当前传输消息的能力, 其目的是利用时间延迟来实施其他攻击手段 .存储消息.即对消息的“记忆”能力, 这会影响 到攻击者所能发起攻击的程度.重构消息.即攻击者根据其知识对网络中传输消息进行修改的能力. 攻击者要想完成攻击 ,还需要把重构过的消息发送给协议的相应参与主体.理论上, 攻击者可任意重构这些消息, 但只有符合原始协议规范的消息才会被对方接受. 对网络环境的控制能力是 D-Y 攻击者的基本能力,因此攻击者一般会综合运用这几方面的能力.1101卓继亮等: 安全协议的攻击分类及其安全性评估值得注意的是: 只具有窃听消息能力的攻
11、击者实际就是被动攻击者.2. 1. 2 对合法主体的控制 攻击者对合法主体的控制能力主要体现为攻击者所拥有的知识量和运算能力 ,主要有 :( 1)攻击者拥有所有协议合法主体的身份标 识、 公开密钥以及它所控制的合法主体的秘密密钥 ;( 2)攻击者能够完成合法主体所能进行的任何协议计算, 如 : 随机数 、时间戳的生成, 消息项的并 接、 分解, 利用已知的密钥进行加解密、签名等 ;( 3)攻击者能够利用它所控制的合法主体来主动发起新的协议会话, 也可以作为响应者被邀请参与新的协议会话. D-Y 能力中对于攻击者控制合法主体的数量没有限制 ,然而在协议设计时通常需要考虑攻击者可以控制的合法主体数
12、量.例如一些多方计算协议和 群组通信协议, 通常假设攻击者只能控制很少的合法主体 17,21, 而对于无边界网络环境下的安全性 ,则要假设攻击者可控制任意多合法主体.因此 , 对 攻击者所能控制合法主体的数量做进一步划分 , 有助于分析某些具体协议的弱点.本文把 D-Y 能力细分为以下 3 种类型 : ( 1)独立攻击者 不能控制合法主体我们把不控制任何合法主体的这类攻击者称为“独立攻击者”.独立攻击者不是简单的被动攻击 者,它对网络的控制能力不仅包括窃听消息, 而且还包括对网络中消息的存储 、阻截和重构.独立攻击者不能以协议合法主体身份主动发起协议会话 , 也不会被其他主体邀请参与协议会话
13、,但它能够在协 议执行过程中假冒合法主体的身份参与协议.事实上,造成许多安全协议的“类型攻击”或“重放攻击”的攻击者就属于这种情形.例如下面的协议 22 ( Andrew 远程过程调用协议) : A B : A , NaKab;B A : Na+ 1 , NbKab; A B : Nb+1Kab;B A : K , NbKab. 这是一个对称密钥协议 , 其目的是实现两个主 体之间的双向认证并建立一个新的会话密钥.协议中Alice 和 Bob 预先共享了一个长期密钥 Kab,Alice先发起请求( 挑战) , 经过握手过程, Bob 生成一个新 的会话密钥 K 和一个用于下一次协议过程的序列号
14、Nb, 并用 Kab进行加密然后发给 Alice.通常认为 长期密钥 Kab是不会被攻破的, 所以认为这个协议可以达到原先的目标.但是已发现至少两种对该协议的攻击方法 13: 一种攻击是在攻击者阻截了消息 , 并用同一次协议会话中的消息 来替换, 然后发给 Alice, 这样 ,Alice 将把( Na+ 1) 当做新的会话密钥 ,而这样的 密钥一般是不安全的.另一种攻击也阻截了消息,但重放以前的一次协议会话中的消息 ,其结果是Alice 得到了一个旧的密钥,而这样的密钥有可能 是已经被攻破的.前者属于“类型攻击”方式, 后者则是一个“重放攻击”.在这两个攻击中攻击者都不需要控制任何合法主体
15、,因而是独立攻击者 . ( 2)有限协同攻击者 可以控制有限确定数量的合法主体攻击者有时能以合法主体的身份参与到协议中去( 包括主动发起与被动响应) , 这时也可视为攻击 者控制了某些合法主体 , 并利用这些被控制主体去参与协议运行过程, 以实施攻击.本文称这种攻击为“协同攻击” ,称这类攻击者为“协同攻击者”. 如果攻击者控制的合法主体数量不超过一个限定的值 ,则称这类攻击者为“有限协同攻击者”.与独立攻击者相比, 这种攻击者能够利用所控制的合 法主体的私钥( 或与其他主体的共享密钥) 来解密消息. 这种能力在攻击一些使用公开密钥体制的协议时十分有效 , 最典型的例子是 Lowe 所发现的对
16、 NSPK 协议的“中间人攻击” 1.另外, 在一些使用对称密钥体制的协议中 , 有限协同攻击者也完全可以利用其所控制的合法主体来成功地发起攻击.例 如对Otway-Rees 协议的 BAN 修改版本 2存在下面这样一种攻击方法 :( . 1) P( A) B : M , A , B , G ( . 2) B P ( S) : M , A , B , G , Nb, M , A ,BKbs( . 1) PcB : M , C ,B , Nc, M , C, BKcs( . 2) B P ( S) : M , C , B Nc, M , C,BKcs, Nb, M , C, BKbs( . 2 ) P( B)S : M , C , B , Nc, M , C,BKcs, Nb, M , C, BKbs( . 3) S P( B)