身份认证协议.ppt

上传人:牧羊曲112 文档编号:6348597 上传时间:2023-10-19 格式:PPT 页数:35 大小:371.82KB
返回 下载 相关 举报
身份认证协议.ppt_第1页
第1页 / 共35页
身份认证协议.ppt_第2页
第2页 / 共35页
身份认证协议.ppt_第3页
第3页 / 共35页
身份认证协议.ppt_第4页
第4页 / 共35页
身份认证协议.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《身份认证协议.ppt》由会员分享,可在线阅读,更多相关《身份认证协议.ppt(35页珍藏版)》请在三一办公上搜索。

1、第八章 身份认证,本章重点:,1、身份认证的理论基础:物理基础,数学基础,协议基础2、身份认证协议:双向认证协议(基于对称密钥,基于公钥体制),单向认证协议(基于第三方,基于公钥体制)3、身份认证协议的实现:Kerberos协议,8.1 身份认证基础,身份认证是指证实主体的真实身份与其所声称的身份是否相符的过程。8.1.1 物理基础 身份认证的物理基础可以分为三种:用户所知道的(something the user knows);如:密码和口令等用户拥有的(something the user possesses);如:身份证、护照、密钥盘,数字证书等用户的特征(something the u

2、ser is or how he/she behaves)。如:指纹、红膜、DNA、声纹,示证者P和验证者V未曾见面,如何只能通过开放的网络让其证明自己的身份而不泄露所使用的知识?最小泄露证明:P几乎不可能欺骗V;V几乎不可能知道证明的知识,特别是他不可能向别人重复证明过程;零知识证明:除了要满足以上两个条件之外,还要满足第三个条件:V无法从P那里得到任何有关证明的知识.,8.1.2 数学基础(零知识证明),图8.1 零知识问题,零知识证明最通俗的例子是图8.1中的山洞问题。P知道打开门的咒语,按照下面的协议P就可以向V证明:他知道咒语但是不需要告诉V咒语的内容。,V站在A点;P进入山洞,走到

3、C点或D点;当P消失后,V进入到B点;V指定P从左边或者右边出来;P按照要求出洞(如果需要通过门,则使用咒语)P和V重复-步骤n次。如果P知道咒语,他一定可以按照V的要求正确地走出山洞n次;如果P不知道咒语,并想使V相信他直到咒语,就必须每次都事先猜对V会要求他从哪一边出来。,1、分类根据是否依赖第三方分为:基于可信第三方认证协议和双方认证协议;根据认证使用密码体制分为基于对称密钥的认证协议和基于公钥密码体制的认证协议;根据认证实体的个数分为:单向认证协议和双向认证协议;,8.1.3 协议基础,协议的设计假设是攻击者可以完全控制网络上的通信,也可以作为合法用户参与协议。攻击方式多种多样,最常用

4、的两种:消息重放攻击:使用以前截获的合法信息,在以后的协议执行过程中使用,可以造成:使双方建立一个以前使用过的会话密钥。攻击者可以冒充他人。中间人攻击:攻击者同时参与多个协议,利用从一个协议中得到的信息攻击另一个协议。(国际象棋特级大师问题),2、攻击,时间戳:A接收一个新消息当且仅当该消息包含一个时间戳,并且该时间戳在A看来是足够接近A所知道的当前时间。提问/应答方式:A期望从B获得一个新消息,首先发给B一个临时值,并要求后续从B收到的消息中都包含这个临时值或是由这个临时值进行某种事先约定的计算后的正确结果。这个临时值往往是一个随机数,称为现时。,3、防止攻击的方法,8.2 身份认证协议,8

5、.2.1 双向认证协议1、基于对称密码的双向认证协议应用环境和目标:拥有一个可信的第三方:密钥分发中心KDC,攻击者Malice,用户Alice和Bob。KDC和所有用户都拥有一个对称密钥(如和Alice的共享密钥Ka),该协议使得通信各方互相认证鉴别各自的身份,然后交换会话密钥。,第一次方案:AliceKDC:IDa,IDbKDCAlice:EKaks,EKbksAliceBob:EKb ksBobAlice:Eks M 说明:ks是KDC为Alice和Bob本次通话生成的一次性会话密钥,EKaks代表用Ka对数据ks进行加密。,缺陷:消息没有和用户身份绑定(缺少对实体认证的信息),如在第二

6、步KDCAlice:EKaks,EKbks中,Alice收到消息后不能保证该消息就是KDC为她和Bob生成的。如下攻击:在第一步,Malice截获消息并修改为:Malice(Alice)KDC:IDa,IDm 即Malice冒充Alice向KDC发送请求。那么第二步Alice收到的消息 KDCAlice:EKaks,EKmks这样,Malice就可以冒充Bob和Alice会话了。,第二次方案:AliceKDC:IDa,IDbKDCAlice:EKa IDb,ks,EKb IDa,ksAliceBob:EKb IDa,ksBobAlice:Eks M Malice无法再冒充Bob来欺骗Alice

7、,说明在示证信息中,一定要包含示证者身份标识信息来抵抗伪造攻击!但是本方案还有重大缺陷!,缺陷:消息的数据源认证中缺少了对消息新鲜性的认证,如在第二步 KDCAlice:EKa IDb,ks,EKb IDa,ks 中,Alice收到消息后不能保证该消息就是KDC为她和Bob本次通话生成的,如下攻击:Malice(KDC)Alice:EKaIDb,ks,EKbIDa,ks Ks是以前某次KDC为Alice和Bob创建的会话密钥,这样会话密钥的新鲜性不能保证!Malice这种行为是哪一种攻击方式?,改进:在与每一个实体进行的对话中,都要对对方实体的活现性进行测试,对返回的信息的新鲜性进行验证,使用

8、提问/应答机制来修改协议:第三次方案:AliceKDC:IDa,IDb,NaKDCAlice:EKaIDb,ks,Na,EKbIDa,ks AliceBob:EKbIDa,ksBobAlice:EksNb AliceBob:Eksf(Nb),该协议是著名的Needham-Schroeder协议,该协议在1978年发表,在1981年被发现存在重大的缺陷。而对于Needham-Schroeder公钥认证协议来说,自公布到被发现重大缺陷是在17年后。请思考第三次方案中,Malice使用以前Alice和Bob建立的会话密钥,冒充Alice和Bob建立会话的过程?对于这种缺陷,Denning结合了时间戳

9、的方法进行了改进,请写出改进后的协议。,Denning方法AliceKDC:IDa,IDbKDCAlice:EKaKs,IDb,T,EKbIDa,ks,T AliceBob:EKbKs,IDa,TBobAlice:EksN1 AliceBob:Eksf(N1)|Clock-T|t1+t2 其中,T是时间戳,t1是KDC时钟与本地时钟之间差异的估计值;t2是预期的网络延迟时间。,Denning协议的缺陷:必须依靠时钟同步。如果发送者的时钟比接收者的时钟要快,攻击者可以从发送者处窃听到消息,并等待对时间戳接收者来说成为当时时刻时重放给接收者,这种重放攻击称为抑制重放攻击。,2、基于公钥密码的双向认

10、证协议,WOO92b协议:基于公钥算法和可靠第三方的认证协议 AKDC:IDa|IDbKDCA:EKRauthIDb|KUbAB:EKUbNa|IDaBKDC:IDb|IDa|EkUauthNa KDCB:EKRauthIDa|KUa|EKUb EKRauthNa|Ks|IDa|IDbBA:EKUa EKRauthNa|Ks|IDa|IDb|NbAB:EKs Nb,8.2.2 单向认证协议,单向认证的应用不需要双方同时在线。一方在向对方证明自己身份的同时,即可发送数据,另一方收到后,首先验证发送方的身份,如果身份有效,就可以接受数据。无第三方的基于对称密码的单向认证协议(1)AB:IDA|N1

11、(2)BA:EKabKs|IDB|f(N1)|N2(3)AB:EKsf(N2),即f(x)=x+1 双方必须等待对方的回答,不适用于双方不同时在线的情况。,基于对称密码与第三方的单向认证协议(1)AKDC:IDA|IDB|N1(2)KDCA:EKaKs|IDB|N1|EKbKs|IDA(3)AB:EKbKs|IDA|EKsM基于公钥密码的单项身份认证 AB:EKUbKs|EKsM|EKRaH(M),8.3 身份认证的实现,8.3.1 Kerberos认证协议简介麻省理工大学(MIT)开发的一种网络安全解决方案应用背景:用户在不同网络域中使用各种信息服务时,可能需要维护多种不同的密码证件。Ker

12、beros作为网络认证解决方案,基本思想是使用可信的第三方把某个用户引见给某个服务器,方法是在用户和服务器之间分发会话密钥建立安全信道。,主要介绍Kerberos的认证功能以Needham-Schroeder认证协议为基础,增加了时间戳机制Kerberos的应用:Window 2000使用Kerberos认证协议作为给系统网络认证的基础。优点:安全,可靠,对用户透明,良好扩展性,8.3.2 Kerberos协议中的5个主体,U:用户(人类):通过客户端(进程)来表达其行为,每个用户都有某个口令作为单点登录的密码证件。C:客户端(进程):代理用户实际使用网络服务。S:应用服务器(进程):根据用户

13、提供的请求许可票据,向客户端C提供应用资源服务。4.AS:鉴别服务器,它知道所有用户的口令并将它们存储在一个中央数据库中。AS与每一个票证许可服务器共有一个唯一的保密密钥。用于鉴别用户身份,颁发票据许可票据。5.TGS:票证许可服务器,与每一个域中的应用服务器共有一个唯一的保密密钥。根据用户提供的票据许可票据,向用户颁发请求许可票据。,8.3.3 Kerberos模型,Kerberos的认证功能可以分为三个子服务来描述:客户C和认证服务器AS之间的消息传输(认证服务)AS验证客户C的身份,向C颁发票据许可票据TGT客户C和票据许可服务器TGS之间的消息传输(票据授权服务)客户C使用TGT向票据

14、许可服务器TGS申请请求服务许可票据Tc,s 客户C和应用服务器S之间的消息传输(应用服务)客户C使用Tc,s向服务器S申请相应的服务,KDC分为两个子服务器AS和TGS的原因:,把KDC分为作用相同的两部分,是考虑该系统可能会在一个相当大的网络中运行,该领域中的应用服务器分属不同的网络域,应用服务器在不同的网络域中由不同的TGS管理,因此,即使某个固定的用户只有某个固定的单点登录AS,他也可以得到多个TGS提供的服务,进而得到更多的应用服务器提供的服务。,认证服务:客户C向AS验证身份并申请票据,1.AS_REQ CAS:c,tgs2.TGT ASC:其中:tgs是票据许可服务器名 是客户的

15、秘密密钥,是c和TGS的会话密钥,是TGS的秘密密钥。是鉴别服务器为客户生成的一个票据许可票据。,3.TGS_REQ CTGS:4.TKT TGSC:其中:AC,S是客户自己产生的鉴别码,使用时间戳来防止重 放攻击。AC,S=C,Client_time,KC,TGS;是c和s的会话密钥。TC,S是服务许可票据,用于用户C在以后向应用服务器S证明其身份和得到的授权。TC,S=S|EksU,C,KC,S,Time_srart,Time_expire,票据授予服务,应用服务,在应用服务中,客户C使用新获得的应用会话密钥 从应用服务器S那里获得应用服务。5.AP_REQ CS:6.AP_REP SC:

16、AS,C 其中:AC,S=KC,S C,Client_time AS,C=KC,S Client_time1,图8.3 Kerberos认证过程,8.3.4 X.509认证协议,单向认证 用户A和用户B发送一条消息,证明自己的身份。消息如下:只认证A的身份,由于使用了时间戳,需要时钟同步。,双向认证,(1)(2)消息中增加了现时 的回应,要由B签名。也需要时钟同步。,三向认证,(1)(2)(3)最后一条消息包含现时的签名备份,无需检查时间戳,因为每一端都可以通过检查返回的现时来探测重放攻击。所以三向认证不需要时钟同步,在没有时钟同步条件时,必须采用这种方法。,本章小结:介绍了身份认证的概念和理论基础通过认证方案的设计了解认证协议设计的特点,攻击的方式介绍了认证协议的实现-Kerberos中的认证过程,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号