第八章身份认证协议
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019/1/16 12
第二次方案: ① Alice→KDC: IDa,IDb ② KDC→Alice: EKa [IDb,ks], EKb [IDa,ks] ③ Alice→Bob: EKb [IDa,ks] ④ Bob→Alice: Eks [M] Malice无法再冒充Bob来欺骗Alice,说明在示证 信息中,一定要包含示证者身份标识信息来抵抗伪 造攻击! 但是本方案还有重大缺陷!!!
2019/1/16
9
8.2 身份认证协议
8.2.1 双向认证协议 1、基于对称密码的双向认证协议
应用环境和目标: 拥有一个可信的第三方:密钥分发中心KDC,攻 击者Malice,用户Alice和Bob。KDC和所有用户都拥 有一个对称密钥(如和Alice的共享密钥Ka),该协议 使得通信各方互相认证鉴别各自的身份,然后交换会 话密钥。
2019/1/16 6
8.1.3 协议基础
1、分类
根据是否依赖第三方分为:基于可信第三方认 证协议和双方认证协议; 根据认证使用密码体制分为基于对称密钥的认 证协议和基于公钥密码体制的认证协议; 根据认证实体的个数分为:单向认证协议和双 向认证协议;
2019/1/16
7
2、攻击
协议的设计假设是攻击者可以完全控制网络上 的通信,也可以作为合法用户参与协议。攻击 方式多种多样,最常用的两种: 消息重放攻击:使用以前截获的合法信息,在 以后的协议执行过程中使用,可以造成:①使 双方建立一个以前使用过的会话密钥。②攻击 者可以冒充他人。 中间人攻击:攻击者同时参与多个协议,利用 从一个协议中得到的信息攻击另一个协议。(国 际象棋特级大师问题)
2019/1/16 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这种行为是哪一种攻击方式?
V无法从P那里得到任何有关证明的知识.
2019/1/16
4
零知识证明最通俗的例 子是图8.1中的山洞问题。P 知道打开门的咒语,按照 下面的协议P就可以向V证 明:他知道咒语但是不需 要告诉V咒语的内容。
图8.1 零知识问题
2019/1/16 5
①V站在A点;
②P进入山洞,走到C点或D点; ③当P消失后,V进入到B点; ④V指定P从左边或者右边出来; ⑤P按照要求出洞(如果需要通过门,则使用咒语) ⑥P和V重复①-⑤步骤n次。 如果P知道咒语,他一定可以按照V的要求正确地走 出山洞n次;如果P不知道咒语,并想使V相信他直到咒 语,就必须每次都事先猜对V会要求他从哪一边出来。
8.1.1 物理基础
身份认证的物理基础可以分为三种:
用户所知道的(something the user knows);如: 密码和口令等 用户拥有的(something the user possesses); 如:身份证、护照、密钥盘,数字证书等 用户的特征(something the user is or how he/she behaves)。如:指纹 、红膜、DNA、声纹
2019/1/16 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)]
第八章 身份认证
Biblioteka Baidu
2019/1/16
1
本章重点:
1、身份认证的理论基础:物理基础,数学基 础,协议基础 2、身份认证协议:双向认证协议(基于对称 密钥,基于公钥体制),单向认证协议 (基于第三方,基于公钥体制) 3、身份认证协议的实现:Kerberos协议
2019/1/16
2
8.1 身份认证基础
身份认证是指证实主体的真实身份与其所声 称的身份是否相符的过程。
3
2019/1/16
8.1.2 数学基础(零知识证明)
示证者P和验证者V未曾见面,如何只能通过开放的 网络让其证明自己的身份而不泄露所使用的知识?
最小泄露证明:
P几乎不可能欺骗V; V几乎不可能知道证明的知识,特别是他不可能向别人重 复证明过程;
零知识证明:除了要满足以上两个条件之外,还要 满足第三个条件:
2019/1/16 8
3、防止攻击的方法
时间戳:A接收一个新消息当且仅当该消息包 含一个时间戳,并且该时间戳在A看来是足够 接近A所知道的当前时间。 提问/应答方式:A期望从B获得一个新消息, 首先发给B一个临时值,并要求后续从B收到 的消息中都包含这个临时值或是由这个临时值 进行某种事先约定的计算后的正确结果。 这 个临时值往往是一个随机数,称为现时。
2019/1/16 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会话了。
2019/1/16 10
第一次方案: ① Alice→KDC: IDa,IDb ② KDC→Alice: EKa[ks], EKb[ks] ③ Alice→Bob: EKb [ks] ④ Bob→Alice: Eks [M]
说明:ks是KDC为Alice和Bob本次通话生 成的一次性会话密钥, EKa[ks]代表用Ka对数 据ks进行加密。
第二次方案: ① Alice→KDC: IDa,IDb ② KDC→Alice: EKa [IDb,ks], EKb [IDa,ks] ③ Alice→Bob: EKb [IDa,ks] ④ Bob→Alice: Eks [M] Malice无法再冒充Bob来欺骗Alice,说明在示证 信息中,一定要包含示证者身份标识信息来抵抗伪 造攻击! 但是本方案还有重大缺陷!!!
2019/1/16
9
8.2 身份认证协议
8.2.1 双向认证协议 1、基于对称密码的双向认证协议
应用环境和目标: 拥有一个可信的第三方:密钥分发中心KDC,攻 击者Malice,用户Alice和Bob。KDC和所有用户都拥 有一个对称密钥(如和Alice的共享密钥Ka),该协议 使得通信各方互相认证鉴别各自的身份,然后交换会 话密钥。
2019/1/16 6
8.1.3 协议基础
1、分类
根据是否依赖第三方分为:基于可信第三方认 证协议和双方认证协议; 根据认证使用密码体制分为基于对称密钥的认 证协议和基于公钥密码体制的认证协议; 根据认证实体的个数分为:单向认证协议和双 向认证协议;
2019/1/16
7
2、攻击
协议的设计假设是攻击者可以完全控制网络上 的通信,也可以作为合法用户参与协议。攻击 方式多种多样,最常用的两种: 消息重放攻击:使用以前截获的合法信息,在 以后的协议执行过程中使用,可以造成:①使 双方建立一个以前使用过的会话密钥。②攻击 者可以冒充他人。 中间人攻击:攻击者同时参与多个协议,利用 从一个协议中得到的信息攻击另一个协议。(国 际象棋特级大师问题)
2019/1/16 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这种行为是哪一种攻击方式?
V无法从P那里得到任何有关证明的知识.
2019/1/16
4
零知识证明最通俗的例 子是图8.1中的山洞问题。P 知道打开门的咒语,按照 下面的协议P就可以向V证 明:他知道咒语但是不需 要告诉V咒语的内容。
图8.1 零知识问题
2019/1/16 5
①V站在A点;
②P进入山洞,走到C点或D点; ③当P消失后,V进入到B点; ④V指定P从左边或者右边出来; ⑤P按照要求出洞(如果需要通过门,则使用咒语) ⑥P和V重复①-⑤步骤n次。 如果P知道咒语,他一定可以按照V的要求正确地走 出山洞n次;如果P不知道咒语,并想使V相信他直到咒 语,就必须每次都事先猜对V会要求他从哪一边出来。
8.1.1 物理基础
身份认证的物理基础可以分为三种:
用户所知道的(something the user knows);如: 密码和口令等 用户拥有的(something the user possesses); 如:身份证、护照、密钥盘,数字证书等 用户的特征(something the user is or how he/she behaves)。如:指纹 、红膜、DNA、声纹
2019/1/16 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)]
第八章 身份认证
Biblioteka Baidu
2019/1/16
1
本章重点:
1、身份认证的理论基础:物理基础,数学基 础,协议基础 2、身份认证协议:双向认证协议(基于对称 密钥,基于公钥体制),单向认证协议 (基于第三方,基于公钥体制) 3、身份认证协议的实现:Kerberos协议
2019/1/16
2
8.1 身份认证基础
身份认证是指证实主体的真实身份与其所声 称的身份是否相符的过程。
3
2019/1/16
8.1.2 数学基础(零知识证明)
示证者P和验证者V未曾见面,如何只能通过开放的 网络让其证明自己的身份而不泄露所使用的知识?
最小泄露证明:
P几乎不可能欺骗V; V几乎不可能知道证明的知识,特别是他不可能向别人重 复证明过程;
零知识证明:除了要满足以上两个条件之外,还要 满足第三个条件:
2019/1/16 8
3、防止攻击的方法
时间戳:A接收一个新消息当且仅当该消息包 含一个时间戳,并且该时间戳在A看来是足够 接近A所知道的当前时间。 提问/应答方式:A期望从B获得一个新消息, 首先发给B一个临时值,并要求后续从B收到 的消息中都包含这个临时值或是由这个临时值 进行某种事先约定的计算后的正确结果。 这 个临时值往往是一个随机数,称为现时。
2019/1/16 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会话了。
2019/1/16 10
第一次方案: ① Alice→KDC: IDa,IDb ② KDC→Alice: EKa[ks], EKb[ks] ③ Alice→Bob: EKb [ks] ④ Bob→Alice: Eks [M]
说明:ks是KDC为Alice和Bob本次通话生 成的一次性会话密钥, EKa[ks]代表用Ka对数 据ks进行加密。