安全协议理论与方法.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
不可否认性实现
■目的:通过通信主体提供对方参与协议交换的证 据来保证其合法利益不受侵害。 ■收集证据,以便事后能够向可信仲裁证明对方主 体的确发送或接收了消息。 ■证据实现:签名消息的形式。
■协议特点:证据的正确性,交易的公平性。
次要性质:适时中止性、可追究性等。
协议设计准则
缺陷来源:设计不规范和具体执行时产生。 ■消息独立完整性原则 ■消息前提准确原则 ■主体身份标识原则 ■加密目的原则原则 ■签名原则 ■随机数的使用原则 ■时戳的使用原则 ■编码原则
安全协议理论与方法
安全协议
2.1 安全协议概述
■各种攻击 ■黑客 ■利用安全协议本身的缺陷进行攻击 ■重设计 ■面向具体应用 ■基于经验和软件测试来保证安全性 ■ 对现有协议改进和优化
安全协议的概念
定义:协议是两个或两个以上的参与者采取一系列 步骤以完成某项特定的任务。 安全协议是密码体制基础上的一种高互通协议。 ■协议至少需要两个参与者。 ■在参与者之间呈现为消息处理和消息交换交替进 行的一系列步骤。 ■通过执行协议必须能够完成某项任务,或达成某 种共识。
■重放消息。
安全协议系统模型--示意图
诚实主体 诚实主体
环境/攻击者
诚实主体
诚实主体
安全协议的性质及实现
目标:保证下面安全性质在协议执行完毕时能够得 以实现。 ■认证性--关键性质 ■机密性 ■完整性 ■不可否认性
认证性实现
通过共享秘密实现,例如: 加密的密钥。 ■声称者使用仅为其与验证者知道的密钥封装消息, 如果验证者能够成功地解密消息或验证封装是正 确的,则证毕。 ■声称者使用私钥对消息签名,验证者使用声称者 的公钥验证签名,如正确,证毕。 ■声称者通过可信第三方来证明自己。 ■用途: 对抗假冒攻击,确保身份,从而获取对某 人或某事的信任。
NS-无需获得会话密钥的攻击
■针对Needham-Schroeder协议的另类攻击 1) AS: A,B,Na 2) SA: E(Kas:Na,B,Kab,E(Kbs:Kab,A)) 3) AB(Z): E(Kbs:Kab,A) 4) Z(B)A: Nz // 与E(Kab: Nb)格式相同 5) AB(Z): E(Kab:(E(Kab:Nz)-1)-1)
有可信第三方参与的对称密钥协议
■1.Needham-Schroeder私钥协议 1) AS: A,B,Na 2) SA: E(Kas:Na,B,Kab,E(Kbs:Kab,A)) 3) AB: E(Kbs:Kab,A) 4) BA: E(Kab: Nb) 5) AB: E(Kab:Nb-1)
无可信第三方参与的对称密钥协议
■ RFC 协议 1) AB: A, E(Kab: Na) 2) BA: E(Kab: Na+1, Nb) 3) AB: E(Kab:Nb+1) 4) BA: E(Kab: K’ab, N’b)
有缺陷,例如第4步易被 E(Kab: Na+1, Nb)重放 替代,并且A不能觉察。
多重会话攻击分列表示
1) AZ(B): A, Na
1’)Z(B)A: B, Na 2’)AZ(B): E(Kab: Na’, K’ab)
2)Z(B)A:E(Kab:Na’,K’ab) 3)AZ(B):A,E(K’ab: Na’)
ห้องสมุดไป่ตู้
3’) Z(B)A: A, E(K’ab:Na’)
4)Z(B)A: Ni 4’) AZ(B): Na’
■此时,A认为主体B已经知道了会话密钥Kab,但B实 际上并没有参与协议的执行过程。
■问题:消息3新鲜性无法保证,可用类似旧消息重放。 若使用流密码则消息4和5差别很小,易被攻击。
缺陷分析
■若在给定的时间内E(Kbs:Kab,A)中的旧密钥 Kab被解密,则该协议存在如下的问题: ■由于消息3)中没有新鲜性标记,因此攻击 者重放一个以前A发给B的报文。 Z(A)B: E(Kbs: Kab, A) B以为A发来的新消息。由于此处的Kab已被解 密, 因此所有用Kab加密的消息都不保密。
无可信第三方参与的对称密钥协议
■ISO two-pass 双方对称密钥认证协议
1)AB: Text2, E(Kab: [Ta | Na], B, Text1) 2)BA: Text4, E(Kab: [Tb | Nb],A, Text3)
■ISO three-pass 双方对称密钥认证协议
1)BA: Rb, Text1
■直接攻击---意定的接收方,但被延迟
诚实主体收到的重放消息类型
■本轮内的消息重放 ■无重叠轮外消息的重放 ■有重叠轮外消息的重放 ■延迟的消息
对策---序列号(挑战-应答)
■序列号机制—接收方通过比较消息中的序列号以 判断消息是新产生的还是重放的。 ■问题:开销增大,适用系统中成员较少的情况。
安全协议及其受到攻击的实例
■A,B,…: 表示参与协议的主体。
■ Kij: 主体i,j共享的会话密钥。 ■ Ki:主体i的公钥,Ki-1:主体i的私钥。 ■ Ri:主体i生成的随机数,Ni:主体i生成的序列号。 ■ Ti:主体i生成的时戳。 ■[m1| m2]: 表示消息 的级联 ■ E(k:m): 表示用密钥K对消息m加密。 ■ Text1,Text2, …: 为消息常量。 ■ fKab(X): 表示用Kab加密的Hash函数。 ■ Z:表示攻击者。
■挑战-应答机制---消息的时间变量参数由接收方 在该消息传递前明确地向消息发送方说明。 ■问题:系统开销增加.
对策---时戳机制
■消息的新旧是由消息上盖的时戳决定的,只有当 消息上的时戳与当前本地时间的差值在一定范围 内,接收方才接收这个消息。 ■问题: 需要全局时钟,但仍难以同步。 1)如果验证者弄错了当前的时间,那么旧消息就能 被很容易地重放。 2)如果合法声称者弄错当前时间,有可能被利用在合 理的时间点接收验证者重放产生的认证请求。 3)如果双方的时钟都有较大的偏差,则双方都会被 攻击者利用。
无可信第三方参与的对称密钥协议
■ISO one-pass 单方对称密钥认证协议 1) AB: Text2, E(Kab: [Ta | Na], B, Text1) ■ISO two-pass 单方对称密钥认证协议
1) BA: Rb, Text1
2) AB: Text3, E(Kab:Rb, B, Text2)
安全协议常见类型
■密钥交换协议:用于完成会话密钥的建立。 ■认证协议:实体、身份、数据源(目)、消息。用 来防止篡改、假冒、否认等攻击。 ■认证和密钥交换协议:IKE、DASS、Kerberos等。 ■电子商务协议:由于协议双方利益矛盾,因此需 要保证公平,如SET。
安全协议系统模型—环境定义
■系统环境:消息的发送和接收者、攻击者(恶意
时戳的使用原则
■原则:使用时戳时,要考虑各个机器的时钟与当
地标准时间的差异,这种差异不能影响到协议执 行有效性。 ■时戳的使用主要依赖于时钟的同步。
编码原则
■明确指出具体的编码格式
■编码是与协议的安全性相关。
安全协议缺陷分类
■ ■ ■ ■ ■ ■ 基本协议缺陷 口令/密钥猜测缺陷 陈旧消息缺陷 并行会话缺陷 内部协议缺陷 密码系统缺陷
网络环境)、管理消息发送和接收的规则。
■恶意网络环境:攻击者 ■攻击者操作: 截取、重放、篡改、级联、分离、 加密和解密。 ■被动攻击者:知道信息。 ■主动攻击者:操纵信息。
安全协议系统模型—攻击行为
■转发消息到其意定接收者处。 ■延迟消息的送达。 ■将消息篡改后转发。 ■将消息与以前接收的消息合并。 ■改变部分或全部消息的去处。
2)AB: Text3, E(Kab: Ra, Rb, B, Text2) 3)BA: Text5, E(Kab:Rb,Ra,Text4)
无可信第三方参与的对称密钥协议
■使用单向函数
1) BA: B, Rb 2) AB: A, E(Kab: f(Rb), Ra, A, K) 3) BA: B, E(K: f(Ra)) 使用f(Rb)和f(Ra)单向函数验证消息的正确性。
消息独立完整性原则
■一条消息的解释应完全由其内容来决定,而不必 借助于上下文来推断。 ■ <序列号>发送者标识接收者标识:消息 <2> AB: m
m应包含A ,B的标识,否则易造成攻击。
消息前提准确原则
■与消息的执行相关的先决前提条件应当明确指出, 并且其正确性与合理性能够得到验证,由此可判 断出此消息是否应当接收。 解释: ■每条消息所基于的假设是否能够成立?
其他几种缺陷
■陈旧消息缺陷:在协议设计中没有对消息的新鲜 性充分考虑。从而存在消息重放攻击。 ■并行会话缺陷:攻击者通过交换一定的协议消息 获得重要的消息。 ■内部协议缺陷:协议的参与者中至少有一方不能 够完成所有必需的动作而导致缺陷。 ■密码系统缺陷:协议中使用的密码算法的安全强 度有问题,导致协议不能满足所要求的机密性、 认证等需求而产生的缺陷。
基本协议缺陷
■设计时没有考虑或很少考虑攻击者攻击而引发的 协议缺陷。 ■实例:对消息先加密后签名就有漏洞,因为签名 者并不一定知道被加密的消息内容,而且签名者 的公钥是公开的。使攻击者通过用他自己的签名 替换原有的签名来伪装成发送者。
口令/密钥猜测缺陷
■可检测的口令在线猜测攻击:不成功的登录能被 检测并被认证服务器记录(以便限定次数)。 ■不可检测的口令在线猜测攻击:攻击者从认证服 务器的响应中逐渐推导出正确的口令。 ■可离线的口令猜测攻击:攻击者使用认证协议消 息复件,猜测口令并离线验证。 改进的措施: ■认证服务器只响应新鲜的请求。 ■认证服务器只响应可验证的真实性。
RFC协议的修改
■ 将前述协议的2)3)4)修改为: 1) AB: A, Na 2) BA: E(Kab: Na’, K’ab) 3) AB: A, E(K’ab: Na’) 4) BA: Nb ■问题:仍有缺陷,因为存在多重会话攻击。
多重会话攻击
1) AZ(B): A, Na 1’) Z(B)A: B, Na (■Z假冒B向A发连接) 2’) AZ(B): E(Kab: Na’, K’ab)(■A应答Z的请求) 2)Z(B)A:E(Kab:Na’,K’ab) (■Z重放A应答Z的消息给A) 3) AZ(B):A, E(K’ab: Na’) (■A回应Z) 3’) Z(B)A: A, E(K’ab:Na’) 4) Z(B)A: Ni 4’) AZ(B): Na’
消息重放攻击及对策
■消息重放攻击 ■对策 ①序列号机制 ②时戳机制 ③挑战-应答机制
消息重放攻击
■攻击者利用其消息再生能力生成诚实用户所期望 的消息格式并重放,从而达到破坏协议安全性质 的目的。 ■类别:本协议的轮内攻击和轮外攻击。 ■轮内攻击
影响消息去向的攻击
■偏转攻击: 将消息返还给发方---反射攻击 非协议的双方---第三方攻击
秘密性实现
■目的:保护协议消息不被泄漏非授权拥有此消息 的人,即使是攻击者观测到了消息的格式,它也 无法从中得到消息的内容或提炼出有用的消息。
■实现方法之一:对消息明文加密。
完整性实现
■应用:保护协议消息不被非法篡改、删除和替代。
■常用方法:封装和签名。即用加密的方法或者 Hash函数产生一个明文的摘要附在传送的消息上, 作为验证消息完整性的依据,称为完整性校验值 (ICV)。 ■关键问题: 通信双方必须事先达成有关算法的选 择等诸项的共识。
■主体对加密消息签名时,并不表明主体知道加密 消息的内容。 ■如果主体对一个消息签名后再加密,则表明主体 知道消息的内容。 ■同时使用加密与签名时,应该先签名后加密。
随机数的使用原则
■作用: 在协议中使用随机数时,应明确其所起的 作用和属性,它的目的是提供消息的新鲜性。 ■关键问题:随机数的真正随机性。
主体身份标识原则
主体标识重要时在消息中明确附上主体名称
■显式:主体的名字以明文形式出现。 ■隐式:采用加密或签名技术,需要从消息格式中
推知消息所属主体的身份。
加密目的原则
■加密可实现多种安全目的:
秘密性、完整性、认证性 ■在协议中使用加密算法时,要事先确定什么目的 并能够保证某种安全性的实现。
签名原则