第八章 身份认证协议

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

2010-5-28
4
零知识证明最通俗的例 子是图8.1中的山洞问题 中的山洞问题. 子是图 中的山洞问题.P 知道打开门的咒语, 知道打开门的咒语,按照 下面的协议P就可以向 就可以向V证 下面的协议 就可以向 证 明:他知道咒语但是不需 要告诉V咒语的内容 咒语的内容. 要告诉 咒语的内容.
图8.1 零知识问题
2010-5-28
17
o Denning协议的缺陷: 协议的缺陷: 协议的缺陷 必须依靠时钟同步. 必须依靠时钟同步. 如果发送者的时钟比接收者的时钟要快, 如果发送者的时钟比接收者的时钟要快, 攻击者可以从发送者处窃听到消息, 攻击者可以从发送者处窃听到消息,并等待 对时间戳接收者来说成为当时时刻时重放给 这种重放攻击称为抑制重放攻击 抑制重放攻击. 接收者 ,这种重放攻击称为抑制重放攻击.
P几乎不可能欺骗V; 几乎不可能欺骗V 几乎不可能知道证明的知识, V几乎不可能知道证明的知识,特别是他不可能向别人重 复证明过程; 复证明过程;
零知识证明:除了要满足以上两个条件之外, 零知识证明:除了要满足以上两个条件之外,还要 满足第三个条件: 满足第三个条件:
V无法从P那里得到任何有关证明的知识. 无法从P那里得到任何有关证明的知识.
2010-5-28
2
8.1 身份认证基础
身份认证是指证实主体的真实身份与其所声 称的身份是否相符的过程. 称的身份是否相符的过程.
8.1.1 物理基础
身份认证的物理基础可以分为三种: 身份认证的物理基础可以分为三种:
用户所知道的( knows); );如 用户所知道的(something the user knows);如: 密码和口令等 用户拥有的(something the user possesses); 用户拥有的( possesses); 身份证,护照,密钥盘, 如:身份证,护照,密钥盘,数字证书等 用户的特征( 用户的特征(something the user is or how behaves). ).如 红膜,DNA, he/she behaves).如:指纹 ,红膜,DNA,声纹
2010-5-28 3
数学基础(零知识证明) 8.1.2 数学基础(零知识证明)
示证者P和验证者 未曾见面 示证者 和验证者V未曾见面,如何只能通过开放的 和验证者 未曾见面, 网络让其证明自己的身份而不泄露所使用的知识? 网络让其证明自己的身份而不泄露所使用的知识?
最小泄露证明: 最小泄露证明:
2010-5-28 6
8.1.3 协议基础
1,分类
根据是否依赖第三方分为: 根据是否依赖第三方分为:基于可信第三方认 证协议和双方认证协议 双方认证协议; 证协议和双方认证协议; 根据认证使用密码体制分为基于对称密钥的认 根据认证使用密码体制分为基于对称密钥的认 基于对称密钥 基于公钥密码体制的认证协议 证协议和基于公钥密码体制的认证协议; 证协议和基于公钥密码体制的认证协议; 根据认证实体的个数分为:单向认证协议和 根据认证实体的个数分为:单向认证协议和双 向认证协议; 向认证协议;
2010-5-28 14
改进:在与每一个实体进行的对话中, 改进:在与每一个实体进行的对话中,都要对对 方实体的活现性进行测试, 方实体的活现性进行测试,对返回的信息的新鲜性进 行验证,使用提问/应答机制来修改协议: 行验证,使用提问/应答机制来修改协议: 第三次方案: 第三次方案: ① Alice→KDC: IDa,IDb,Na ② KDC→Alice: EKa[IDb,ks,Na, EKb[IDa,ks] ] ③ Alice→Bob: EKb[IDa,ks] ④ Bob→Alice:Eks[Nb ] ⑤ Alice→Bob:Eks[f(Nb)]
2010-5-28 5
站在A点 ①V站在 点; 站在 进入山洞, 点或D点 ②P进入山洞,走到 点或 点; 进入山洞 走到C点或 消失后, 进入到 进入到B点 ③当P消失后,V进入到 点; 消失后 指定P从左边或者右边出来 ④V指定 从左边或者右边出来; 指定 从左边或者右边出来; 按照要求出洞( ⑤P按照要求出洞(如果需要通过门,则使用咒语) 按照要求出洞 如果需要通过门,则使用咒语) 重复① ⑥P和V重复①-⑤步骤 次. 和 重复 ⑤步骤n次 如果P知道咒语 他一定可以按照V的要求正确地走 知道咒语, 如果 知道咒语,他一定可以按照 的要求正确地走 出山洞n次 如果P不知道咒语 并想使V相信他直到咒 不知道咒语, 出山洞 次;如果 不知道咒语,并想使 相信他直到咒 就必须每次都事先猜对V会要求他从哪一边出来 会要求他从哪一边出来. 语,就必须每次都事先猜对 会要求他从哪一边出来.
2010-5-28 11
缺陷:消息没有和用户身份绑定( 缺陷:消息没有和用户身份绑定(缺少对实体认证 的信息),如在第二步KDC→Alice: EKa[ks], EKb[ks] 的信息),如在第二步 ),如在第二步 收到消息后不能保证该消息就是KDC为她和 为她和Bob 中,Alice收到消息后不能保证该消息就是 收到消息后不能保证该消息就是 为她和 生成的.如下攻击: 生成的.如下攻击: 在第一步, 截获消息并修改为: 在第一步,Malice截获消息并修改为: 截获消息并修改为 Malice(Alice)→KDC: IDa,IDm ( ) 冒充Alice向KDC发送请求. 发送请求. 即Malice冒充 冒充 向 发送请求 那么第二步Alice收到的消息 那么第二步 收到的消息 KDC→Alice: EKa[ks], EKm[ks] 这样, 就可以冒充Bob和Alice会话了. 会话了. 这样,Malice就可以冒充 就可以冒充 和 会话了
2010-5-28 15
该协议是著名的Needham-Schroeder协议,该 协议, 该协议是著名的 协议 协议在1978年发表,在1981年被发现存在重大的缺 年发表, 协议在 年发表 年被发现存在重大的缺 而对于Needham-Schroeder公钥认证协议来说, 公钥认证协议来说, 陷.而对于 公钥认证协议来说 年后. 自公布到被发现重大缺陷是在17年后 自公布到被发现重大缺陷是在17年后. 请思考第三次方案中, 使用以前Alice和 请思考第三次方案中,Malice使用以前 使用以前 和 Bob建立的会话密钥,冒充 建立的会话密钥, 建立的会话密钥 冒充Alice和Bob建立会话的 和 建立会话的 过程?对于这种缺陷, 过程?对于这种缺陷,Denning结合了时间戳的方 结合了时间戳的方 法进行了改进,请写出改进后的协议. 法进行了改进,请写出改进后的协议.
2010-5-28
7
2,攻击
协议的设计假设是攻击者可以完全控制网络上 协议的设计假设是攻击者可以完全控制网络上 的通信,也可以作为合法用户参与协议 作为合法用户参与协议. 的通信,也可以作为合法用户参与协议.攻击 方式多种多样,最常用的两种: 方式多种多样,最常用的两种: 消息重放攻击:使用以前截获的合法信息, 消息重放攻击:使用以前截获的合法信息,在 以后的协议执行过程中使用,可以造成: 以后的协议执行过程中使用,可以造成:①使 双方建立一个以前使用过的会话密钥. 双方建立一个以前使用过的会话密钥.②攻击 者可以冒充他人. 者可以冒充他人. 中间人攻击:攻击者同时参与多个协议, 中间人攻击:攻击者同时参与多个协议,利用 从一个协议中得到的信息攻击另一个协议. 从一个协议中得到的信息攻击另一个协议.(国 际象棋特级大师问题) 际象棋特级大师问题)
2010-5-28 13
缺陷: 缺陷:消息的数据源认证中缺少了对消息新鲜 性的认证, 性的认证,如在第二步 KDC→Alice: EKa [IDb,ks], EKb [IDa,ks] 中,Alice收到消息后不能保证该消息就是 收到消息后不能保证该消息就是KDC为她 收到消息后不能保证该消息就是 为她 本次通话生成的, 和Bob本次通话生成的,如下攻击: 本次通话生成的 如下攻击: Malice(KDC) →Alice: EKa[IDb,ks'], EKb[IDa,ks'] , , Ks'是以前某次 是以前某次KDC为Alice和Bob创建的会话密 是以前某次 为 和 创建的会话密 这样会话密钥的新鲜性不能保证! 钥,这样会话密钥的新鲜性不能保证! Malice这种行为是哪一种攻击方式? 这种行为是哪一种攻击方式? 这种行为是哪一种攻击方式
2010-5-28 8
3,防止攻击的方法
时间戳: 接收一个新消息当且仅当该消息包 时间戳:A接收一个新消息当且仅当该消息包 含一个时间戳,并且该时间戳在A看来是足够 含一个时间戳,并且该时间戳在 看来是足够 接近A所知道的当前时间 所知道的当前时间. 接近 所知道的当前时间. 提问/应答方式:A期望从 获得一个新消息, 提问 应答方式: 期望从B获得一个新消息, 应答方式 期望从 获得一个新消息 首先发给B一个临时值 并要求后续从B收到 一个临时值, 首先发给 一个临时值,并要求后续从 收到 的消息中都包含这个临时值或是由这个临时值 进行某种事先约定的计算后的正确结果. 进行某种事先约定的计算后的正确结果. 这 个临时值往往是一个随机数,称为现时 现时. 个临时值往往是一个随机数,称为现时.
2010-5-28 12
Biblioteka Baidu
第二次方案: 第二次方案:
① ② ③ ④ Alice→KDC: IDa,IDb KDC→Alice: EKa [IDb,ks], EKb [IDa,ks] Alice→Bob: EKb [IDa,ks] Bob→Alice: Eks [M] Malice无法再冒充 无法再冒充Bob来欺骗 来欺骗Alice,说明在示证 无法再冒充 来欺骗 , 信息中,一定要包含示证者身份标识信息来抵抗伪 信息中, 造攻击! 造攻击! 但是本方案还有重大缺陷 重大缺陷!!! 但是本方案还有重大缺陷!!!
第八章 身份认证
2010-5-28
1
本章重点: 本章重点:
1,身份认证的理论基础:物理基础,数学基 身份认证的理论基础:物理基础, 础,协议基础 身份认证协议:双向认证协议( 2,身份认证协议:双向认证协议(基于对称 密钥,基于公钥体制), ),单向认证协议 密钥,基于公钥体制),单向认证协议 基于第三方,基于公钥体制) (基于第三方,基于公钥体制) 身份认证协议的实现:Kerberos协议 3,身份认证协议的实现:Kerberos协议
2010-5-28 10
第一次方案: 第一次方案:
① ② ③ ④ Alice→KDC: IDa,IDb KDC→Alice: EKa[ks], EKb[ks] Alice→Bob: EKb [ks] Bob→Alice: Eks [M]
说明: 说明:ks是KDC为Alice和Bob本次通话生 为 和 本次通话生 成的一次性会话密钥, 代表用K 成的一次性会话密钥, EKa[ks]代表用 a对数 代表用 进行加密. 据ks进行加密. 进行加密
2010-5-28
16
o
Denning方法 方法
① Alice→KDC: IDa,IDb ② KDC→Alice: EKa[Ks,IDb,T, EKb[IDa,ks,T] ] ③ Alice→Bob: EKb[Ks,IDa,T] ④ Bob→Alice:Eks[N1 ] ⑤ Alice→Bob:Eks[f(N1)] |Clock-T|<t1+t2 其中, 是时间戳 是时间戳, 其中,T是时间戳, t1是KDC时钟与本地时钟之间差 是 时钟与本地时钟之间差 异的估计值; 是预期的网络延迟时间 是预期的网络延迟时间. 异的估计值;t2是预期的网络延迟时间.
2010-5-28
9
8.2 身份认证协议
8.2.1 双向认证协议 1,基于对称密码的双向认证协议
应用环境和目标: 应用环境和目标: 拥有一个可信的第三方:密钥分发中心KDC,攻 拥有一个可信的第三方:密钥分发中心 , 击者Malice,用户 击者 ,用户Alice和Bob.KDC和所有用户都拥 和 . 和所有用户都拥 有一个对称密钥(如和Alice的共享密钥 ),该协议 的共享密钥Ka), 有一个对称密钥(如和 的共享密钥 ),该协议 使得通信各方互相认证鉴别各自的身份, 使得通信各方互相认证鉴别各自的身份,然后交换会 话密钥. 话密钥.
相关文档
最新文档