第七章密码协议:72认证协议概述 722 Daley-Yao威胁模型与常见攻击 Canetti-Krawczyk(cK模型 Canetti Krawczyk于2002年提出了一种分析和设计密钥交换协议的安全 模型通过模块化的方法来进行协议的安全设计与安全分析,并且采用不可 区分性的方法来定义安全: 在允许的攻击能力下,如果攻击者不能够区分协议产生的密钥和一个独立 的随机数,那就可以说该密钥交换协议是安全的 为了区分各种攻击,确保信息在被暴露情况下尽可能的安全,该模型根据攻击 者能够得到信息的实际情况将攻击分为以下三种类型: (1)攻陷参与者 Party Corruption):攻击者能够随时攻陷任意一个参与者, 并能得到该参与者内部存储的所有信息,包括长期的会话密钥、秘密私钥 以及和会话相关的信息。 (2)会话密钥查询( Session- Key Query):攻击者提供某个参与者的身份和 该参与者已经完成会话的会话标识,就能得到它所产生的会话密钥。 (3)会话状态暴露( Session- State Reveal):攻击者提供某个参与者的名字 和其中一个尚未完成会话的会话标识,就能得到该会话的相关信息 历忠毛孑技*字 12/
7.2.2 Daolev-Yao威胁模型与常见攻击 Canetti-Krawczyk(CK)模型 ⚫ Canetti和Krawczyk于2002年提出了一种分析和设计密钥交换协议的安全 模型.通过模块化的方法来进行协议的安全设计与安全分析,并且采用不可 区分性的方法来定义安全: ⚫ 在允许的攻击能力下,如果攻击者不能够区分协议产生的密钥和一个独立 的随机数,那就可以说该密钥交换协议是安全的. 为了区分各种攻击,确保信息在被暴露情况下尽可能的安全,该模型根据攻击 者能够得到信息的实际情况将攻击分为以下三种类型: ⚫ (1) 攻陷参与者(Party Corruption):攻击者能够随时攻陷任意一个参与者, 并能得到该参与者内部存储的所有信息,包括长期的会话密钥、秘密私钥 以及和会话相关的信息。 ⚫ (2) 会话密钥查询(Session-Key Query):攻击者提供某个参与者的身份和 该参与者已经完成会话的会话标识,就能得到它所产生的会话密钥。 ⚫ (3) 会话状态暴露(Session-State Reveal):攻击者提供某个参与者的名字 和其中一个尚未完成会话的会话标识,就能得到该会话的相关信息 12/ 第七章 密码协议:7.2 认证协议概述
第七章密码协议:72认证协议概述 722 Daley-Yao威胁模型与常见攻击 ●在CK模型中,共定义了两种攻击模型 认证链路敌手模型( Authentication-linked adversary Model,AM 非认证链路敌手模型 Authentication- Linked adversary,UM)。 ●其中,UM中的攻击者除了可以控制通信链路和控制协议事 件的调度外,还能通过明确的攻击手段来获取协议参与者 存储器中的秘密信息; 而AM中的攻击者仅能传递由参与者产生的真实消息,不能 改变或增添消息的内容 历忠毛孑技*字
7.2.2 Daolev-Yao威胁模型与常见攻击 在CK模型中,共定义了两种攻击模型 ⚫ 认证链路敌手模型(Authentication-linked adversary Model,AM) ⚫ 非认证链路敌手模型(Unauthentication-Linked adversary,UM)。 其中,UM中的攻击者除了可以控制通信链路和控制协议事 件的调度外,还能通过明确的攻击手段来获取协议参与者 存储器中的秘密信息; 而AM中的攻击者仅能传递由参与者产生的真实消息,不能 改变或增添消息的内容 13/ 第七章 密码协议:7.2 认证协议概述
第七章密码协议:72认证协议概述概述 722 Daley-Yao威胁模型与常见攻击 ●常见的针对认证和密钥建立协议的攻击 重放攻击 Replay attack 中间人攻击 Man-in- the-middle 已知密钥攻击:从以前用过的密钥确定新密钥 假冒攻击: Impersonation attack 篡改或替换 字典攻击 Dictionary attack:针对口令的一类攻击 并行会话攻击 反射攻击 拒绝服务攻击 历忠毛孑技*字 14/
7.2.2 Daolev-Yao威胁模型与常见攻击 常见的针对认证和密钥建立协议的攻击 ⚫ 重放攻击 Replay attack ⚫ 中间人攻击Man-in-the-middle ⚫ 已知密钥攻击:从以前用过的密钥确定新密钥 ⚫ 假冒攻击:Impersonation attack ⚫ 篡改或替换 ⚫ 字典攻击Dictionary attack:针对口令的一类攻击 ⚫ 并行会话攻击 ⚫ 反射攻击 ⚫ 拒绝服务攻击 ⚫ … … 14/ 第七章 密码协议:7.2 认证协议概述概述
第七章密码协议:72认证协议概述 7.2.3基本认证技术 本节介绍在各种认证协议实现中被认为很好的结构 证明消息的新鲜性和主体活现性的标准机制 双向认证和单向认证 包含可信第三方的认证 (-)消息的新鲜性和主体的活现性 消息的新鲜性即实时性是数据源认证所不可或缺的一部分,而在这 过程中主体也要考虑通信对端的身份的真实性及是否在线,即主 体活现性,因此证明消息的新鲜性或主体的活现性就成为认证协议 的最基本组成部分 消息新鲜性经常伴随着主体活现性的认证,因此我们就以新鲜性的 讨论为主,重点考虑消息新鲜性的实现 消息的新鲜性也称为实时性 历忠毛孑技*字 15/
7.2.3 基本认证技术 本节介绍在各种认证协议实现中被认为很好的结构 ⚫ 证明消息的新鲜性和主体活现性的标准机制 ⚫ 双向认证和单向认证 ⚫ 包含可信第三方的认证 (一) 消息的新鲜性和主体的活现性 ⚫ 消息的新鲜性即实时性是数据源认证所不可或缺的一部分,而在这 一过程中主体也要考虑通信对端的身份的真实性及是否在线,即主 体活现性,因此证明消息的新鲜性或主体的活现性就成为认证协议 的最基本组成部分 ⚫ 消息新鲜性经常伴随着主体活现性的认证,因此我们就以新鲜性的 讨论为主,重点考虑消息新鲜性的实现 ⚫ 消息的新鲜性也称为实时性 15/ 第七章 密码协议:7.2 认证协议概述
第七章密码协议:72认证协议概述 7.2.3基本认证技术 实时性(新鲜性):对防止消息的重放攻击极为重要,一种方法是对 交换的每一条消息都加上一个序列号,一个新消息仅当它有正确的 序列号时才被接收。这种方法的困难性是要求每个用户分别记录与 其他每一用户交换的消息的序列号,从而增加了用户的负担,所以 序列号方法一般不用于认证和密钥交换 ●实现消息新鲜性有两种技术:时间戳和询问应答机制 时戳 如果A收到的消息包括一时戳,且在A看来这一时戳充分接近自 己的当前时刻,A才认为收到的消息是新的并接受之。这种方案 要求所有各方的时钟是同步的 询问应答 用户A向B发出一个一次性随机数作为询问,如果收到B发来的消 息(应答)也包含一正确的一次性随机数,A就认为B发来的消 息是新的并接受之。 历忠毛孑技*字 16/
7.2.3 基本认证技术 ⚫ 实时性(新鲜性):对防止消息的重放攻击极为重要,一种方法是对 交换的每一条消息都加上一个序列号,一个新消息仅当它有正确的 序列号时才被接收。这种方法的困难性是要求每个用户分别记录与 其他每一用户交换的消息的序列号,从而增加了用户的负担,所以 序列号方法一般不用于认证和密钥交换。 实现消息新鲜性有两种技术:时间戳和询问应答机制 ⚫ 时戳 ⚫ 如果A收到的消息包括一时戳,且在A看来这一时戳充分接近自 己的当前时刻, A才认为收到的消息是新的并接受之。这种方案 要求所有各方的时钟是同步的 ⚫ 询问-应答 ⚫ 用户A向B发出一个一次性随机数作为询问,如果收到B发来的消 息(应答)也包含一正确的一次性随机数,A就认为B发来的消 息是新的并接受之。 16/ 第七章 密码协议:7.2 认证协议概述