身份认证协议

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Malice 无法再冒充Bob来欺骗Alice,说明在示证 信息中,一定要包含示证者身份标识信息来抵抗伪 造攻击!
但是本方案还有重大缺陷!!!
04.03.2020
13
缺陷:消息的数据源认证中缺少了对消息新鲜 性的认证,如在第二步
KDC→Alice: E Ka [IDb,ks], EKb [IDa,ks] 中,Alice收到消息后不能保证该消息就是KDC 为她 和Bob 本次通话生成的,如下攻击:
? V无法从P那里得到任何有关证明的知识 .
04.03.2020
4
零知识证明最通俗的例 子是图8.1中的山洞问题。 P
知道打开门的咒语,按照 下面的协议 P就可以向 V证
明: 他知道咒语但是不需 要告诉 V咒语的内容。
04.03.2020
图8.1 零知识问题
5
①V站在A点;
②P进入山洞,走到C点或D点; ③当P消失后,V进入到B点; ④V指定P从左边或者右边出来; ⑤P按照要求出洞(如果需要通过门,则使用咒语) ⑥P和V重复①-⑤步骤n次。
? 中间人攻击: 攻击者同时参与多个协议,利用 从一个协议中得到的信息攻击另一个协议。 (国 际象棋特级大师问题)
04.03.2020
8
3、防止攻击的方法
? 时间戳: A接收一个新消息当且仅当该消息包 含一个时间戳,并且该时间戳在 A看来是足够 接近A所知道的当前时间。
? 提问/应答方式: A期望从B获得一个新消息, 首先发给B一个临时值,并要求后续从 B收到 的消息中都包含这个临时值或是由这个临时值 进行某种事先约定的计算后的正确结果。 这个 临时值往往是一个随机数,称为 现时。
04.03.2020
10
? 第一次方案:
① Alice→KDC: ID a,IDb
② KDC→Alice: E Ka [k s], EKb [ks]

Alice→Bob:
E [k Kb
s]
④ Bob→Alice: E ks [M]
说明:ks是KDC 为Alice和Bob本次通话生
成的一次性会话密钥, EKa[ks] 代表用Ka对数
8.1.1 物理基础
身份认证的物理基础可以分为三种:
? 用户所知道的(something the user knows ); 如:密码和口令等
? 用户拥有的(something the user possesses ); 如:身份证、护照、密钥盘,数字证书等
? 用户的特征(something the user is or how he/she behaves )。如:指纹 、红膜、DNA 、声 纹
Malice(KDC) →Alice: E Ka [IDb,ks'], E Kb[IDa,ks'] Ks' 是以前某次KDC为Alice和Bob创建的会话密
钥,这样会话密钥的新鲜性不能保证!
? Malice这种行为是哪一种攻击方式?
04.03.2020
14
改进:在与每一个实体进行的对话中,都要对对 方实体的活现性进行测试,对返回的信息的新鲜性进 行验证,使用提问/应答机制来修改协议: ? 第三次方案:
04.03.2020
3
8.1.2 数学基础(零知识证明)
示证者P和验证者V未曾见面,如何只能通过开放的 网络让其证明自己的身份而不泄露所使用的知识?
最小泄露证明:
? P几乎不可能欺骗 V; ? V几乎不可能知道证明的知识,特别是他不可能向别人重
复证明过程;
零知识证明:除了要满足以上两个条件之外,还要 满足第三个条件:
如果P 知道咒语,他一定可以按照 V的要求正确地走 出山洞n次;如果P不知道咒语,并想使V相信他直到咒 语,就必须每次都事先猜对V会要求他从哪一边出来。
04.03.2020
6
8.1.3 协议基础
1、分类
? 根据是否依赖第三方分为: 基于可信第三方认 证协议和 双方认证协议 ;
? 根据认证使用密码体制分为 基于对称密钥 的认 证协议和 基于公钥密码体制 的认证协议;
04.03.2020
9
8.2 身份认证协议
8.2.1 双向认证协议 1、基于对称密码的双向认证协议
应用环境和目标: 拥有一个可信的第三方:密钥来自百度文库发中心 KDC ,攻
击者Malice,用户Alice和Bob。KDC 和所有用户都拥 有一个对称密钥(如和Alice的共享密钥Ka ),该协议 使得通信各方互相认证鉴别各自的身份,然后交换会 话密钥。
据ks进行加密。
04.03.2020
11
缺陷:消息没有和用户身份绑定 (缺少对实体认证
的信息),如在第二步KDC→Alice: EKa [ks], EKb [ks]
中,Alice收到消息后不能保证该消息就是KDC 为她和Bob 生成的。如下攻击:
在第一步,Malice 截获消息并修改为: Malice (Alice)→KDC: IDa,IDm 即Malice 冒充Alice向KDC 发送请求。 那么第二步Alice收到的消息
KDC→Alice: EKa [ks], EKm [ks]
这样,Malice 就可以冒充Bob和Alice会话了。
04.03.2020
12
? 第二次方案:
① Alice→KDC: IDa,IDb ② KDC→Alice: E Ka [ID b,ks], EKb [IDa,ks] ③ Alice→Bob: EKb [IDa,ks] ④ Bob→Alice: E ks [M]
? 根据认证实体的个数分为: 单向认证协议 和双 向认证协议;
04.03.2020
7
2、攻击
协议的设计假设是 攻击者可以完全控制网络上 的通信,也可以作为合法用户参与协议 。攻击 方式多种多样,最常用的两种:
? 消息重放攻击: 使用以前截获的合法信息,在 以后的协议执行过程中使用,可以造成:①使 双方建立一个以前使用过的会话密钥。②攻击 者可以冒充他人。
第八章 身份认证
04.03.2020
1
本章重点:
1、身份认证的理论基础:物理基础,数学基 础,协议基础
2、身份认证协议:双向认证协议(基于对称 密钥,基于公钥体制),单向认证协议 (基于第三方,基于公钥体制)
3、身份认证协议的实现:Kerberos协议
04.03.2020
2
8.1 身份认证基础
身份认证是指证实主体的真实身份与其所声 称的身份是否相符的过程。
相关文档
最新文档