1、第七讲:安全协议形式化分析与设计,主讲人:xxxxxx系2018年8月1日星期三,通信网安全理论与技术课程,实践性,通信安全保障,协议安全设计,理论和技术基础,前导性,8. 课程体系及主要内容讲解内容,通信网安全现状、趋势与策略第1讲 通信网技术基础与安全体系第2讲 通信网安全基础理论与技术(密码学、攻击与防御技术)第3讲 网络安全协议理论设计与分析 认证协议以及密钥建立协议第4讲 数字签名与阈下信道设计第5讲 零知识证明及其安全协议构造第6讲 安全协议形式化分析与设计第7讲 典型的网络安全协议(IPSec协议、Kerberos协议、 Radius/AAA协议) 第810讲 通信网安全保障技术
2、第11讲 无线网络安全性增强技术(WLAN为主)第12讲 网络防火墙与入侵防御技术第13讲 网络安全实现方案设计与分析第14讲,内容提要,安全协议存在安全缺陷 安全协议形式化分析 类BAN逻辑形式化分析 例子:对NSSK认证协议的BAN逻辑分析,安全协议存在安全缺陷原因,目前安全协议因如下原因,都存在一些安全缺陷: 对于其目的、需求和概念没有明确认识和准确描述 运行环境复杂,攻击者无处不在,其攻击能力强、手段多 协议设计者误解或者采用了不恰当的技术 很多安全缺陷并不显而易见,必须采用一定的分析手段才能发现和弥补,安全协议存在安全缺陷常见缺陷,根据其产生的原因和相应的攻击方法,安全缺陷主要有:
3、基本协议缺陷:指在设计中没有或者很少防范攻击者的攻击而引发的协议缺陷 例如:使用公钥密码系统加密交换消息时,不能预防中间人攻击 口令/密钥猜测缺陷:指用户选择一些常用词作为其口令,而导致攻击者能进行口令猜测攻击;或者选取了不安全的伪随机数生成算法构造密钥,使攻击者能够恢复该密钥,安全协议存在安全缺陷常见缺陷,陈旧消息缺陷:指设计中对消息的新鲜性没有充分考虑,从而使攻击者能够进行消息重放攻击,包括消息源的攻击、消息目的的攻击等 并行会话缺陷:指协议对并行会话攻击缺乏防范,从而导致攻击者通过交换适当的协议消息能够获得所需要的信息。包括并行会话单角色缺陷、并行会话多角色缺陷等 内部协议缺陷:指协议的
4、可达性存在问题,协议的参与者中至少有一方不能够完成所有必需的动作而导致的缺陷 密码系统缺陷:指协议中使用的密码算法和安全协议导致协议不能完全满足所要求的机密性、完整性等需求而产生的缺陷,内容提要,安全协议存在安全缺陷 安全协议形式化分析 类BAN逻辑形式化分析 例子:对NSSK认证协议的BAN逻辑分析,安全协议形式化分析需求,从前面的认证协议、密钥建立协议来看,几乎所有协议都有安全漏洞 迫切需要一套协议的安全分析方法,以指导协议设计 安全协议形式化分析就是一种正规的、标准的方法,可有效检查协议是否满足其安全目标 形式化分析被视作分析协议安全的有效工具,安全协议形式化分析主要技术,现有的安全协议
5、形式化分析技术主要有四种: 逻辑方法:采用基于信仰和知识逻辑的形式分析方法,比如以BAN逻辑为代表的类BAN逻辑 通用形式化分析方法:采用一些通用的形式分析方法来分析安全协议,例如应用Petri网等 模型检测方法:基于代数方法构造一个运行协议的有限状态系统模型,再利用状态检测工具来分析安全协议 定理证明方法:将密码协议的安全行作为定理来证明,这是一个新的研究热点,内容提要,安全协议存在安全缺陷 安全协议形式化分析 类BAN逻辑形式化分析 例子:对NSSK认证协议的BAN逻辑分析,类BAN逻辑形式化分析BAN逻辑形式化,在众多协议形式化分析方法中,其中最具有影响的是1989年由Burrows、A
6、badi和Needham提出的BAN逻辑 成功地对NS协议,Kerberos等几个著名的协议进行了分析,找到了其中已知的和未知的漏洞 由此,激发了密码研究者对密码协议形式分析的兴趣并导致许多密码协议形式分析方法的产生 BAN逻辑只在抽象层次上讨论认证协议的安全行,而不考虑其具体实现的安全缺陷和因加密体制而引发的协议缺陷,类BAN逻辑形式化分析BAN逻辑形式化,它是一种基于主体信念以及用于从已知信念推出新的信念的推理规则的逻辑 基本原理: 它可形式化定义协议的目标,并确定协议初始时刻各参与者的知识和信任,通过协议里消息的发送和接收步骤产生新知识,运用推导规则来得到目标信任和知识 如果得到最终的关
7、于知识和信任的语句集里不包含所要得到的信任和知识的语句时,就表明协议存在安全缺陷 即:通过相互发送和接收消息,协议双方能否从最初的信念逐渐发展到协议运行最终要达到的目的,类BAN逻辑形式化分析对BAN逻辑修改或扩充,人们发现BAN逻辑在分析某些协议和协议攻击时,功能还不够完善,对协议中某些性能的推理能力有限,因此各国学者又提出了许多修改和扩充意见,其中较为著名的有: GNY逻辑 AT逻辑 VO逻辑和SVO逻辑 它们统称为BAN类逻辑,类BAN逻辑形式化分析对BAN逻辑修改或扩充,GNY逻辑对BAN逻辑作了如下重要改进与推进: 通过新增加的逻辑构件与规则,推广了BAN逻辑的应用范围 增加了“拥有
8、密钥”的表达式,增加了GNY逻辑本身的表达能力 在GNY逻辑中,区分一个主体收到的消息和一个主体可用的消息 在GNY逻辑中,进一步区分一个主体自己生成的消息和其它消息 在GNY逻辑的分析中,在理想化协议中保留明文;而在BAN逻辑分析中,明文在认证过程中不起作用,类BAN逻辑形式化分析对BAN逻辑修改或扩充,AT逻辑 AT逻辑比BAN逻辑更接近的模态逻辑: 对BAN逻辑中的定义和推理规则进行整理,抛弃其中语义和实现细节的混合部分: 对某些逻辑构件引入更直接的定义,免除对诚实性进行隐含假设 简化了推理规则,所有的概念都独立定义,不与其它概念相混淆 整个逻辑只有两条基本推理规则: MP 规则(mod
9、us pones) Nec规则(necessitation) 在AT逻辑中有一条比BAN逻辑更加直接的管辖公理A15,类BAN逻辑形式化分析对BAN逻辑修改或扩充,VO逻辑 其贡献在于:拓展了BAN逻辑的应用范围。VO逻辑的设计目标就是增加分析Diffie-Hellman协议的能力,进而可以分析IETF标准Internet密钥交换协议IKE和SSL协议等 它细化了认证协议的认证目标,类BAN逻辑形式化分析对BAN逻辑修改或扩充,虽形式化分析已获得了较大发展,但它还需在以下几方面提高: 扩展现有的形式化分析工具的能力,使之不仅能分析证明一个安全协议的不安全性,还能证明协议的安全性以及分析和评测系
10、统的安全性 为现有形式语言构造完善的数学描述,并进行严谨的理论证明;为各种协议形式化分析方法形成统一的形式语言表述,以描述可利用的必要信息,并使之能够应用于一些新的应用协议的分析中 将形式化方法应用于协议说明和协议涉及阶段,使之不仅仅用于分析具体的某个安全协议的安全性,从而可以极小的代价尽可能早地发现错误,类BAN逻辑形式化分析BAN逻辑形式化,形式化分析的步骤: 首先需要进行“理想化”,即将协议的消息转换为BAN逻辑中的公式 再根据具体情况进行合理的假设 再由逻辑的推理规则,根据理想化协议和假设进行推理,推断协议能否完成预期的目标,类BAN逻辑形式化分析BAN逻辑形式化,BAN逻辑系统的假设
11、如下: 密文块不能被篡改,也不能用几个小的密文块来拼凑成一个新的大的密文块 一个消息中的两个密文块被看作是分两次分别到达的 加密系统是完善的,只有知道密钥的主体才能解读密文消息,任何不知道密钥的主体都不能解读密文消息,也没有办法根据密文推导密钥 密文含有足够的冗余消息,解密者可以根据解密的结果来判断他是否已经正确解密 消息中有足够的冗余消息,使得主体可以判断该消息是否来源于自身 BAN逻辑还假设协议的参与主体是诚实的,类BAN逻辑形式化分析BAN逻辑形式化,BAN逻辑主要包含下面三种处理对象: 主体 密钥 公式,也被称为语句或命题 依照BAN逻辑的惯例,P,Q,R等表示主体变量,K表示密钥变量
12、,X,Y表示公式变量。A,B表示主体,S表示服务器 协议的每个消息表达为该逻辑的一个公式 Na、Nb、Nc代表具体的观点(如随机数) X、Y代表一般意义上的消息 推导规则 “逻辑公式X1, X2, ., Xn成立则Y成立”记为,类BAN逻辑形式化分析BAN逻辑形式化,BAN逻辑:推理规则,消息含义规则 使主体推知其他主体发送过的消息说明消息的出处 共享秘钥情况公钥情况共享秘钥情况,BAN逻辑:推理规则,临时值验证规则 使主体推知其他主体的信仰,BAN逻辑:推理规则,管辖规则 拓展了主体的推知能力 使主体可以在基于其他主体已有的信仰之上推知新的信仰,BAN逻辑:推理规则,接收消息规则 定义了主体
13、在协议运行中对消息的获取 规则1 规则2,BAN逻辑:推理规则,接收消息规则 定义了主体在协议运行中对消息的获取 规则3规则4,BAN逻辑:推理规则,接收消息规则 定义了主体在协议运行中对消息的获取 规则5,BAN逻辑:推理规则,信仰规则 反映了信念在消息的级联与分割的不同操作中的一致性 规则1 规则2,BAN逻辑:推理规则,信仰规则 反映了信念在消息的级联与分割的不同操作中的一致性 规则3 规则4,BAN逻辑:推理规则,新鲜性规则 如果一个公式的一部分是新鲜的,则该公式的全部是新鲜的,BAN逻辑:推理规则,密钥与秘密共享规则 共享密钥和共享秘密具有对称性 规则1 规则2,BAN逻辑:推理规则
14、,密钥与秘密共享规则 共享密钥和共享秘密具有对称性 规则3 规则4,内容提要,安全协议存在安全缺陷 安全协议形式化分析 类BAN逻辑形式化分析 例子:对NSSK认证协议的BAN逻辑分析,对NSSK认证协议的BAN逻辑分析分析步骤,BAN逻辑的分析步骤 对协议的进行理想化 将协议的实际消息转换成BAN逻辑的公式 给出协议初始状态及其所基于的假设 对协议进行解释注释 将形如PQ: X的协议步骤转换成形如QX的逻辑语言 形式化说明协议将达成的安全目标 应用公理和推理规则以及协议会话事实和假设,从协议的开始进行推证直至验证协议是否满足其最终运行目标,对NSSK认证协议的BAN逻辑分析理想化协议,协议的
15、理想化 目的 非形式化的符号表达非常模糊 示例一 理想化之前:A-B:A, kABkBS 告诉B(它知道kBS) kAB是它和A的通信秘钥 理想化之后:,对NSSK认证协议的BAN逻辑分析理想化协议,协议的理想化 理想化的一些简单的指导方针 如果任何时候接收者得到一个真实消息m后能推导出发送者必须相信X,那么m能被解释成一个公式X 现实中的随机数被转化为任意的新公式 假定在整个过程中发送者都相信这些公式:Y 把Y作为一个秘密使用,仅当该秘密用作身份证明时有效 出于实用性目的,每个主体总是相信它作为消息产生的公式,对NSSK认证协议的BAN逻辑分析理想化协议,协议的注释 在协议执行过程中,一系列
16、关于各个主体的信条和所看到的内容的说明 发送第一条消息以前的公式表示各主体在协议开始时的信条初始假设 各主体之间共享了哪些密钥 那些主体能产生新鲜的随机数 哪些主体在哪方面被信任 合法注释的主要规则 如果在P-Q: Y 之前X成立,则之后X和QY都成立 如果根据推理规则,能从已知的X推到出Y,则X成立时Y必然成立 如果能从X得到Y ,则X成立时Y也成立,对NSSK认证协议的BAN逻辑分析分析NS协议,Needham-Schroeder(NS)协议 A-S: A, B , Na S-A: Na, B, kab, Akbskas A-B: kab, Akbs B-A: Nbkab A-B: Nb
17、- 1kab,对NSSK认证协议的BAN逻辑分析分析NS协议,理想化协议,对NSSK认证协议的BAN逻辑分析分析NS协议,初始假设,对NSSK认证协议的BAN逻辑分析分析NS协议,注释NS协议,对NSSK认证协议的BAN逻辑分析分析NS协议,NS协议的目标公式,对NSSK认证协议的BAN逻辑分析分析NS协议,BAN逻辑的推导过程,对NSSK认证协议的BAN逻辑分析分析NS协议,BAN逻辑的推导过程,对NSSK认证协议的BAN逻辑分析分析NS协议,重新审视对NS协议的分析 A-S: A, B , Na S-A: Na, B, kab, Akbskas A-B: kab, Akbs B-A: Nbkab A-B: Nb - 1kab,假设kab泄露 攻击者在第三步冒充A重发消息 攻击者截获第四步消息 攻击者构造第五步消息 攻击者成功建立一个冒名顶替的会话密钥,假设条件的合理性至关重要:,END,