当前位置:文档之家› 安全协议分析与设计课件第1章-上安全协议基础知识

安全协议分析与设计课件第1章-上安全协议基础知识

该假设认为协议采用的密码算法是完美的,不考虑 密码算法被攻破的情况。如Hash函数提供单向性和 无碰撞性,加密算法提供语义安全性(Semantic Security)及不可延展性(Non-Malleability)等。
无加密项冲突,即若有{m1}k1= {m2}k2,则有m1= m2和k1 = k2。这使得攻击者试图用{ m2 }k2使A相 信其为{m1}k1是不可行的。
24
协议交互攻击
密钥通常是被设计在一个单独的协议中使用,然而, 由于设计上或者使用上的疏忽,可能在多个协议中 使用同一个密钥。
防范这种攻击可以考虑两种方法:一种方法是对于 不同的协议使用不同的密钥;另外一种方法是在消 息中添加协议标识(如协议名称及其版本号)并对 其认证。
通常情况下,对协议的分析都只针对单个协议,并 不考虑协议交互攻击。
14
单一协议假设
单一协议假设是指协议运行环境中不存在其他协议 的运行。目前各种形式化分析中都显式或隐式地包 含了这个假设。
多个不同的安全协议同时运行可能会被攻击者利用 造成攻击,这是因为有些密钥(如公钥)可以用于 多个应用中,多个协议同时运行为攻击者提供了大 量的加密和解密机会。
Kelsey等人在文献[KSW98]中给出了一些这样的例 子,称之为协议选择攻击。
安全协议分析与设计课件第1章-上安全协议基础知识
安全协议基础知识
NSSK(Needham-Schroeder Shared Key)协议。
A→S: S→A: A→B: B→A: A→B:
A,B,Na { Na,B,Kab,{ Kab,A }Kbs }Kas { Kab,A }Kbs
{ Nb }Kab { Nb – 1 }Kab
前向安全:一个协议具备前向安全,是指即便安全 协议中使用的长期密钥被攻击者破获,而由这些长 期密钥所建立(通过安全协议建立)的会话密钥仍 然是安全的。
9
协议描述:Alice-Bob记法
每条消息以Msg n起始,其中n表示消息的序号。 以“→”符号表示消息的流向,→两边的符号(如A、
B、C等)表示主体。 PKa、PKb或者Ka、Kb表示相应主体的公钥。 SKa、SKb 或者Ka−1,Kb−1表示相应主体的私钥。 Kab则表示主体A和B之间的共享密钥。 {x}K表示对x用密钥K加密(用私钥加密即意味着签
通常用Z和C表示攻击者,如用Z(A)表示Z冒充A 和另一方交互。
对NSPK协议的攻击描述:
Msg1 A →C:
{ A,Na }PKc
Msg1' C(A) →B: { A,Na }PKb
Msg2' B→C(A): { Na,Nb }PKa
Msg2 C →A:
{ Na,Nb }PKa
Msg3 A →C:
5
除形式化方法外,可证明安全性理论也受到了很多 关注,这类方法通常基于复杂性理论,将协议的安 全性规约到一些极微本原(atomic primitives)上。 严格地讲,称之为“规约安全”比“可证明安全” 更为恰当。
上述的形式化方法可有效地发现协议中的漏洞,但 人们普遍怀疑没有哪种方法能够完备地证明一个协 议是正确无误的,也没有哪种方法被公认为是最有 效的。
2
问题1:为什么需要随机数Na? 问题2:为什么在消息2中,要把B放在用Kas加密的
部分中? 问题3:为什么要在消息2中出现A无法解读的{ Kab,
A }Kbs? 问题4:最后两条消息是做什么用的? 问题5:为什么在消息5中使用{ Nb – 1 }Kab而不是
{ Nb }Kab或者{ Nb – 2 }Kab?
8
密钥建立:密钥建立是这样一个过程,通过该过程, 使得两个或多个主体拥有良好的共享秘密,以用于 后继的密码学运算。
会话密钥:在安全协议成功运行完毕后,主体间进 行应用层会话时使用的密钥,使用时间较短。
长期密钥:与会话密钥相对应,可以长时间多次使 用,可能是共享的对称密钥,也可能是公开密钥系 统中的公钥或私钥。
个网络地址的消息。 历史纪录(仅攻击者):能够存储所有已收到的消息。 本会话记录:记录本次会话中用到的消息。 伪造网络地址(仅攻击者):攻击者能够使用虚假的网络地
址。
19
变节执行协议(仅攻击者):变节执行协议是指攻击者能够 以合法身份(也即系统内认可的身份)执行协议。具备该能 力的攻击者为变节主体。
15
诚实主体假设
A如果是诚实主体,那么A必须忠实地按照协议的规范执行协 议。采用诚实主体假设也即只考虑诚实主体间的交互是否会 被破坏。
在协议执行过程中,一个不诚实的B在和A建立了一个密钥后, B没有按照协议规范的要求,私自将这个密钥通过网络广播 了出去。或者可信第三方S应该产生一个新的密钥,但S却发 送了一个旧的已经过期的密钥。那么能否说这两个密钥建立 协议是不安全的?
在所有运行实例中,主体产生的Nonce是唯一的 (唯一性通常通过一定长度的随机数来逼近)。
主体通常不保存以往产生过或接收过的Nonce,这 意味着主体是有通过检验本次会话中自己产生的 Nonce来确认新鲜性的。
主体不保存任何时间戳。检验时,主体把消息中收 到的时间戳与当前时间比较,如果其差异在一个许 可的范围(常称为时间窗口)内,就认可该时间戳 是正确的。
21
攻击类型
重放攻击 类型缺陷攻击 协议交互攻击 拒绝服务攻击
22
重放攻击
重放攻击是针对安全协议的最常见攻击,重放攻击 指的是攻击者参与到协议的交互过程中,利用窃听 到的已经发送过的部分或全部消息,在交互过程中 重新发送,来干涉协议的正常进行。
关于重放攻击的分类,Paul Syverson在[Syve94]中 提出了一个较为全面的分类方法。这个分类方法是 根据重放消息的发送和接收情况来划分的。
名)。 以T代表时间戳,N代表Nonce(即用于检测新鲜性
的随机数或称为“现时”)。
10
协议描述实例
Msg1 Msg2 Msg3
பைடு நூலகம்
A→B: B→A: A→B:
A,Na { Nb,Na,A }SKb { Na,Nb,B }SKa
ISO 9798-3三条消息双向认证协议
11
对攻击的描述
用‘号来标识不同的会话。
18
诚实主体及攻击者的能力
对诚实主体和攻击者的能力进行分类,若为双方都具备的, 则不做声明;若仅为攻击者所拥有,则在能力后标注“仅攻 击者”。
消息发送:能够向其他网络地址发送消息。 消息接收:能够收到发往自己网络地址的消息。 消息窃听(仅攻击者):能够收到发往其他网络地址的消息。 消息阻断(仅攻击者):能够阻断一个网络地址发往另外一
诚实主体假设并不意味没有攻击者,攻击者可以在这个过程 进行窃听、窜改、重放,也可以作为一个变节主体参与协议 运行。简单地说,在诚实主体假设下,考虑协议中所有诚实 主体间的认证目标是否会被外来的攻击者破坏。
16
随机数和时间戳的假设
随机数(Nonce)也称“现时”。Nonce和时间戳在 协议中的主要作用是验证消息的新鲜性。通常有如 下假设。
激活发起方(仅攻击者):触发某个诚实主体以发起方身份 开始执行协议的能力。
消息生成:生成某个消息或子消息(消息的子项)的能力。 如主体可以生成身份、Nonce、所有主体的公钥、自身的私 钥以及自身与其他主体的预共享密钥等消息项;已知消息项 x1,…, xn,则可计算消息f( x1,…,xn )。
6
基本概念
安全协议:使用消息交换机制,通过各参与主体的执行,在 某种攻击者能力模型下,为达到一定的安全目标而规定的一 组关于消息含义和顺序的规则。
攻击者:以破坏认证协议目标为目标的实体。 主体:可以执行协议的实体。主体包括诚实主体和变节主体
两种,后者为一种攻击者。主体通常用A,B,C…来表示。 诚实主体:严格按照协议规范执行协议的主体。 变节主体:身份被诚实主体认可的攻击者。 会话:协议的每个运行实例为一个会话。主体可以同时参与
4
安全协议形式化分析的现状
逻辑类分析方法自1989年BAN逻辑为起源, 大多数基于推理知识和信念的模态逻辑。
模型检测技术是一种有效的形式化分析工具, 主要通过构造攻击来证明协议是不安全的。
定理证明类方法可以处理无限状态空间,不 限制主体参与协议运行的回合。其缺点是证 明过程复杂,缺乏自动化工具支持。
并行会话攻击是一种常见的攻击,是指攻击者安排 协议的一个或多个会话并行地执行,使得自己能够 从一个会话中获得消息,并通过重放到其他并行的 会话中以达到自己的目的,如针对NSPK的并行会话 攻击。
23
类型缺陷攻击
消息最终是由一系列的二进制比特串组成的,类型缺陷 (Type flaw)攻击使得诚实主体对它所接收的消息发生了错 误的理解。
如把攻击者重放的另一个会话中的Msg3当成了本会话中的 Msg2,并进一步有可能把Msg3中的某个项(如一个随机数) 当成是会话密钥。
在第2章中将介绍的Yahalom协议、Andrew Secure PRC协 议和Otway-Rees协议都存在这样的类型缺陷攻击。
这种攻击并不是总能成功,因为这和实现密切相关,包括消 息的格式、每个数据项的大小,是否有数据项标识,消息顺 序号是否被加密或做完整性验证等。
消息获取:从某个消息中获取子消息的能力。 获取过期密钥(仅攻击者):获知已过期会话密钥的能力。
20
诚实主体在密钥过期后会立即销毁该密钥,即便由 于其他目的而保留,也不会再次使用,故不赋予诚 实主体获取过期密钥的能力。
消息生成、消息阻断和消息发送能力的组合,意味 着消息伪造(包括篡改)能力;消息生成、消息获 取、消息发送和消息接收能力则意味着协议执行能 力。消息生成、消息发送能力意味着激活响应方能 力。
{ Nb }PKc
Msg3' C(A) →B: { Nb }PKb
12
协议分析的基本假设
相关主题