第6讲 认证协议

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5
身份认证
1、主机—主机类型
• 通信的参与者是在分布式系统中被称为“节 点”的计算机或平台。 • 实例:客户端—服务器设置,其中一台主机 (客户端)向另一台主机(服务器)请求某 些服务。
6
身份认证
2、用户—主机类型
• 用户通过登录系统中某台主机来获得访问该 计算机系统。 • 举例: • 通过Telnet登录到某台计算机 • 通过FTP(file transfer protocol)执行文件 传送
• 目的: • 使通信双方安全地交换两方彼此独立的秘密。 • 这与其它大多数公钥认证协议不同,它们的 目的是通信双方安全地交换共享密钥。
29
6.2.2 NEEDHAM-SCHROEDER公钥认证协议
6.1.2 双方认证
• 对协议7的攻击协议8:Wiener攻击 (加拿大人攻击):
前提:除了原协议的前提外,Malice也拥有证书 CertM。 ① Malice(“B”)→A:RB; (冒充B) 协议7: 前提:A拥有公钥证书CertA, B拥有公钥证书CertB; 目标:A和B完成双方认证 (对身份的确认)。 协议步骤: ① B→A:RB; (表示认证请 求的功能码) ② A→B:CertA, RA||RB||B||SigA(RA||RB ||B); ③ B→A:CertB, RB||RA||A||SigB(RB||RA ||A).--
26
DENNING和SACCO对NEEDHAM-SCHROEDER对 称密钥认证协议的攻击
协议漏洞的原 因是什么?
27
DENNING和SACCO对NEEDHAM-SCHROEDER 对称密钥认证协议的改进
利用时间戳代替 挑战号,可以解 决消息新鲜性的 漏洞。
28
6.2.2 NEEDHAM-SCHROEDER公钥认证协议
11
挑战—应答机制
• “挑战-应答”机制(Challenge-Response)
• B期望从A获得一个新消息,首先发给A一个临 时值(challenge),并要求后续从A收到的消息 (response)包含正确的这个临时值。
12
基于对称密码技术的挑战—应答机制” 的单方认证
协议1: ① Bob→Alice:NB; (挑战) ② Alice→Bob:EKAB(M, NB); (应答) ③ Bob解密接收到密文分组并接受(若Bob看到NB)或拒 绝(其它情况)。 协议2: ① Bob→Alice:NB; (挑战) ② Alice→Bob:M, MDC (KAB, M, NB); (应答) ③ Bob重构MDC (KAB, M, NB)并接受(若两个MDC相同)或 拒绝(其它情况)。
第6讲 认证协议
http://pan.baidu.com/s/1hqGj6QS
1
第6讲 认证协议
6.1 认证方式分类
6.2 经典认证协议 6.3 密钥交换协议 6.4 认证密钥交换协议 6.5 可否认认证协议
6.6 对认证协议的典型攻击
6.7 认证协议的设计原则
2
认证和协议的概念
什么是认证?什么是协议?
10
6.1.1 单方认证
协议的两个参与主体A和B中只对其中的一个主体进行认 证。(服务器对客户端的认证或…)
认证机制包括 基于交互模式的挑战—应答机制(CR) 基于对称密码技术的挑战—应答机制的单方认证 基于非对称密码技术的挑战—应答机制的单方认证 基于非交互模式的时间戳机制(TS) 基于对称加密技术的时间戳机制的单方认证 基于非对称加密技术的时间戳机制的单方认证
6.2.6 Wide-Mouth Frog协议
23
6.2.1 NEEDHAM-SCHROEDER对称密钥 认证协议
• 基于“挑战-应答”机制
• 目的: • 在通信双方之间分配会话密钥,使协议发起 者能够检查会话密钥的新鲜性 • 是认证和密钥建立协议中最著名的协议
24
6.2.1 NEEDHAM-SCHROEDER对称密钥 认证协议
结果是得到了A和B的信任
20
6.1.3 包含可信第三方的认证
Woo-Lam协议:
前提:Trent作为可信第三方(TTP),Alice和Trent共享对称密钥 KAT,Bob和Trent共享对称密钥KBT; 目标:即使Alice和Bob开始互不相识,Alice仍然能够向Bob证明自己。 ① ② ③ ④ ⑤ Alice→Bob:Alice; 【我是Alice】 Bob→Alice:NB; 【你证明一下吧】 Alice→Bob:{NB}KAT; 【你可以去验证,Trent可以证明】 Bob→Trent:{Alice, {NB}KAT}KBT; 【问Trent,X说她是Alice】 Trent→Bob:{NB}KBT; 【你如果看到NB,那就是了】 Bob使用密钥KBT解密密文分组,如果解密后正确地返回 Bob的一次 性随机数,Bob就接受此次运行,否则拒绝。协议依赖 TTP的可信性。
7
身份认证
3、进程—主机类型 • 主要用于分布式计算系统远程进程的识别与认 证。 • 一个主机可能会给外部的进程授予不同的接入 权限。例如某段“移动代码”或可执行的Java 程序都能够到达远程主机并作为远程进程在该 主机上运行。 • 在敏感的应用中,设计认证机制是必需的,也 是可能的,这样才能使主机识别外部进程是否 友好,从而能够对外部进程赋予合适的接入权 限。
13
基于非对称密码技术的挑战—应答机 制的单方认证
协议3:
①Bob→Alice:NB; (挑战) ②Alice→Bob:M, SigA (M, NB); (应答)
③Bob使用他的一次性随机数NB验证签名并接受 (若签名通过验证)或拒绝(其它情况)。
14
数字时间戳机制
• 数字时间戳(DTS,Digital Time-stamp ): • 是由DTS服务机构提供的安全服务项目,专门用于证 明信息的发送时间。 • B接受一个新消息仅当该消息包含一个时间戳,该时 间戳在B看来,是足够接近B所知道的当前时间;这 种方法要求不同参与者之间的时钟需要同步。 • 由于变化的和不可预见的网络延迟的本性,不能期 望分布式时钟保持精确的同步。因此,任何基于时 间戳的过程必须采用时间窗的方式来处理:一方面 时间窗应足够大以包容网络延迟,另一方面时间窗 应足够小以最大限度地减小遭受攻击的机会。
17
基于非对称加密技术的时戳机制的单 方认证
协议6: ① Alice→Bob:SigA (M, TA); ② Bob验证签名并接受(若签名通过验证且TA是有效的) 或拒绝(其它情况)。
18
6.1.2 双方(向)认证
• 双方认证是指协议的两个通信实体要互相认证。 协议7: 前提:A拥有公钥证书CertA,B拥有公钥证书CertB; 目标:A和B完成双方认证(对身份的确认)。 协议步骤: ① B→A:RB; (表示认证请求的功能码) ② A→B:CertA, RA||RB||B||SigA(RA||RB||B); ③ B→A:CertB, RB||RA||A||SigB(RB||RA||A).-19
• 认证:是一个过程,通过这个过程,一个实体可 以向另一个实体证明某种声称的属性。 • 协议:在两方或相互协作的多方之间进行通信的 过程。因此,一个认证过程也是一个认证协议。 认证协议是安全协议的一种。
3
实体声称的属性有哪些呢??
• 消息认证(也称数据源认证)
• 身份认证(或称实体认证) • 带认证的密钥建立
பைடு நூலகம்25
NEEDHAM-SCHROEDER对称密钥认证协议
前提:Alice和Trent共享密钥KAT;Bob和Trent共享密钥KBT; 目标:Alice和Bob希望建立一个新的共享密钥 K。 ① Alice随机生成一次性随机数NA, 向Trent发送:Alice,Bob,NA; 【我要和 Bob通信】 ② Trent随机生成K,向Alice发送:{Bob, K, NA, {Alice, K}KBT}KAT; 【给你们分 配好了密钥】 ③ Alice解密NA,验证她的nonce(表示仅使用一次的数字),验证Bob的身份 并发给Bob:Trent,{Alice, K}KBT; ④ Bob解密并验证Alice的身份,生成随机数NB,向Alice发送:{我是Bob! NB}K; ⑤ Alice向Bob发送:{我是Alice! NB-1}K.
21
6.1.3 包含可信第三方的认证
Abadi和Needham对上述Woo-Lam协议的攻击(并行攻击!) ① Malice(“Alice”)→Bob :Alice; 【冒充Alice对Bob,我是Alice】 1′. Malice→Bob:Malice; 【同时执行Malice本身的认证协议——我是Malice】 ② Bob→Malice(“Alice”):NB; 【Bob执行Woo-Lam认证过程,证明给我 】 2′. Bob→Malice :N′B; 【Bob执行Woo-lam认证过程,证明给我】 ③ Malice(“Alice”)→Bob :{NB}KMT; 【执行Woo-lam,注意NB,你问TTP?】 3′. Malice→Bob:{NB}KMT; 【并行执行Woo-lam,注意NB不是N’B】 ④ Bob→Trent:{Alice, {NB}KMT}KBT; 【Bob问Trent关于Alice的身份】 4′. Bob→Trent:{Malice, {NB}KMT}KBT; 【Bob问Trent关于Malice的身份】 ⑤ Trent→Bob:{“垃圾”}KBT; 【按照协议执行,Nb被破坏了】 (产生“垃圾”是因为Trent使用KAT对密文组{NB}KMT进行了解密) 5′. Trent→Bob:{NB}KBT; 【按照协议,Nb返回了,Alice的身份被确 认】 ⑥ Bob拒绝和Malice的运行; (因为解密后返回的是“垃圾”而不是一次性随机数 N′B) 6′. Bob接受“和Alice的运行”,但实际上是和 Malice的运行。 (因为解密返回的NB是正确的)
22
6.2 经典认证协议
6.2.1 Needham-Schroeder对称密钥认证协议
6.2.2 Needham-Schroeder公钥认证协议 6.2.3 Otway-Rees认证协议 6.2.4 Yahalom协议 6.2.5 Andrew RPC(Remote Procedure Call) 认证协议
4
消息认证
• 目的:
• 确认消息发送者的身份 • 确认数据完整性
• 消息认证与数据完整性区别:
• 消息认证必然涉及通信,而数据完整性不一定包含通信, 该安全服务可用于存储的数据。
• 消息认证必然涉及确认消息的新鲜性,而数据完整性无 此必要,这是因为老数据、重放的旧消息也可能有完善 的数据完整性。新鲜的消息指接收者认定的新近发送的 消息(收发之间的时间间隔足够小)。
15
数字时间戳机制
• 数字时间戳的生成及使用过程
16
基于对称加密技术的时戳机制的单方 认证
协议4: ① Alice→Bob:EKAB (M, TA); ② Bob解密接收到的密文分组并接受(若认为TA是有效的) 或拒绝(其它情况)。 协议5: ① Alice→Bob:M, TA, MDC (KAB, M, TA); ② Bob重构MDC(KAB, M, TA)并接受(若两个MDC相等且TA 是有效的)或拒绝(其它情况)。
8
身份认证
4、成员—俱乐部类型
• 可以把成员拥有俱乐部证书的证明看做是一 般化的“用户—主机类型”。
• 俱乐部可以只需要考虑成员证件的有效性, 而没有必要知道该成员的进一步信息,如该 成员的真实身份。
9
6.1 认证方式分类
认证可以分为那些类别?
(1) 单方认证 (2) 双方认证
(3) 包含可信第三方的认证
② A→Malice(“B”):CertA,
RA||RB||B||SigA(RA||RB||B);
1) Malice(“A”)→B:RA; (冒充A)
2) B→Malice(“A”):CertB, R′B||RA||A|| SigB(R′B || RA||A); ③ Malice(“B”)→A:CertB, R′B||RA||A|| SigB(R′B || RA||A).
相关文档
最新文档