身份认证协议.ppt

上传人:wuy****n92 文档编号:91039667 上传时间:2023-05-21 格式:PPT 页数:35 大小:371.82KB
返回 下载 相关 举报
身份认证协议.ppt_第1页
第1页 / 共35页
身份认证协议.ppt_第2页
第2页 / 共35页
点击查看更多>>
资源描述

《身份认证协议.ppt》由会员分享,可在线阅读,更多相关《身份认证协议.ppt(35页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 第八章第八章 身份认证身份认证本章重点:本章重点:1 1、身份认证的理论基础:身份认证的理论基础:物理基础,数学基础,物理基础,数学基础,协议基础协议基础2 2、身份认证协议:身份认证协议:双向认证协议(基于对称密双向认证协议(基于对称密钥,基于公钥体制),单向认证协议(基钥,基于公钥体制),单向认证协议(基于第三方,基于公钥体制)于第三方,基于公钥体制)3 3、身份认证协议的实现:身份认证协议的实现:KerberosKerberos协议协议 8.1 8.1 身份认证基础身份认证基础 身份认证是指证实主体的真实身份与其所声身份认证是指证实主体的真实身份与其所声称的身份是否相符的过程。称的身份

2、是否相符的过程。8.1.1 8.1.1 物理基础物理基础 身份认证的物理基础可以分为三种:身份认证的物理基础可以分为三种:l用户所知道的(用户所知道的(something the user knowssomething the user knows);如:);如:密码和口令等密码和口令等l用户拥有的(用户拥有的(something the user possessessomething the user possesses);如);如:身份证、护照、密钥盘,数字证书等身份证、护照、密钥盘,数字证书等l用户的特征(用户的特征(something the user is or how someth

3、ing the user is or how he/she behaveshe/she behaves)。如:)。如:指纹指纹 、红膜、红膜、DNADNA、声纹、声纹 示证者示证者P和验证者和验证者V未曾见面,如何只能通过开放的未曾见面,如何只能通过开放的网络让其证明自己的身份而不泄露所使用的知识?网络让其证明自己的身份而不泄露所使用的知识?最小泄露证明:最小泄露证明:lP P几乎不可能欺骗几乎不可能欺骗V V;lV V几乎不可能知道证明的知识,特别是他不可能向别人重几乎不可能知道证明的知识,特别是他不可能向别人重复证明过程;复证明过程;零知识证明:零知识证明:除了要满足以上两个条件之外,还要

4、除了要满足以上两个条件之外,还要满足第三个条件:满足第三个条件:lV V无法从无法从P P那里得到任何有关证明的知识那里得到任何有关证明的知识.8.1.2 8.1.2 数学基础(零知识证明)数学基础(零知识证明)图图8.1 8.1 零知识问题零知识问题 零知识证明最通俗的例零知识证明最通俗的例子是图子是图8.1中的山洞问题。中的山洞问题。P知道打开门的咒语,按照知道打开门的咒语,按照下面的协议下面的协议P就可以向就可以向V证证明:明:他知道咒语但是不需他知道咒语但是不需要告诉要告诉V咒语的内容。咒语的内容。V站在站在A点;点;P进入山洞,走到进入山洞,走到C点或点或D点;点;当当P消失后,消失

5、后,V进入到进入到B点;点;V指定指定P从左边或者右边出来;从左边或者右边出来;P按照要求出洞(如果需要通过门,则使用咒语)按照要求出洞(如果需要通过门,则使用咒语)P和和V重复重复-步骤步骤n次。次。如果如果P知道咒语,他一定可以按照知道咒语,他一定可以按照V的要求正确地走的要求正确地走出山洞出山洞n次;如果次;如果P不知道咒语,并想使不知道咒语,并想使V相信他直到咒相信他直到咒语,就必须每次都事先猜对语,就必须每次都事先猜对V会要求他从哪一边出来。会要求他从哪一边出来。1 1、分类、分类v根据是否依赖第三方分为:根据是否依赖第三方分为:基于可信第三方认基于可信第三方认证协议和证协议和双方认

6、证协议双方认证协议;v根据认证使用密码体制分为根据认证使用密码体制分为基于对称密钥基于对称密钥的认的认证协议和证协议和基于公钥密码体制基于公钥密码体制的认证协议;的认证协议;v根据认证实体的个数分为:根据认证实体的个数分为:单向认证协议单向认证协议和和双双向认证协议;向认证协议;8.1.3 8.1.3 协议基础协议基础 协议的设计假设是协议的设计假设是攻击者可以完全控制网络上攻击者可以完全控制网络上的通信的通信,也可以,也可以作为合法用户参与协议作为合法用户参与协议。攻击。攻击方式多种多样,最常用的两种:方式多种多样,最常用的两种:q消息重放攻击:消息重放攻击:使用以前截获的合法信息,在使用以

7、前截获的合法信息,在以后的协议执行过程中使用,可以造成:以后的协议执行过程中使用,可以造成:使使双方建立一个以前使用过的会话密钥。双方建立一个以前使用过的会话密钥。攻击攻击者可以冒充他人。者可以冒充他人。q中间人攻击:中间人攻击:攻击者同时参与多个协议,利用攻击者同时参与多个协议,利用从一个协议中得到的信息攻击另一个协议。从一个协议中得到的信息攻击另一个协议。(国国际象棋特级大师问题)际象棋特级大师问题)2 2、攻击、攻击q时间戳:时间戳:A接收一个新消息当且仅当该消息包接收一个新消息当且仅当该消息包含一个时间戳,并且该时间戳在含一个时间戳,并且该时间戳在A看来是足够看来是足够接近接近A所知道

8、的当前时间。所知道的当前时间。q提问提问/应答方式:应答方式:A期望从期望从B获得一个新消息,获得一个新消息,首先发给首先发给B一个临时值,并要求后续从一个临时值,并要求后续从B收到收到的消息中都包含这个临时值或是由这个临时值的消息中都包含这个临时值或是由这个临时值进行某种事先约定的计算后的正确结果。进行某种事先约定的计算后的正确结果。这个这个临时值往往是一个随机数,称为临时值往往是一个随机数,称为现时现时。3 3、防止攻击的方法、防止攻击的方法 8.2 8.2 身份认证协议身份认证协议8.2.1 8.2.1 双向认证协议双向认证协议1 1、基于对称密码的双向认证协议、基于对称密码的双向认证协

9、议应用环境和目标:应用环境和目标:拥有一个可信的第三方:密钥分发中心拥有一个可信的第三方:密钥分发中心KDC,攻,攻击者击者Malice,用户,用户Alice和和Bob。KDC和所有用户都拥和所有用户都拥有一个对称密钥(如和有一个对称密钥(如和Alice的共享密钥的共享密钥Ka),),该协议该协议使得通信各方互相认证鉴别各自的身份,然后交换会使得通信各方互相认证鉴别各自的身份,然后交换会话密钥。话密钥。q第一次方案:第一次方案:AliceKDC:IDa,IDbKDCAlice:EKaks,EKbksAliceBob:EKb ksBobAlice:Eks M 说明:说明:ks是是KDC为为Ali

10、ce和和Bob本次通话生本次通话生成的一次性会话密钥,成的一次性会话密钥,EKaks代表用代表用Ka对数对数据据ks进行加密。进行加密。缺陷:消息没有和用户身份绑定缺陷:消息没有和用户身份绑定(缺少对实体认证(缺少对实体认证的信息),的信息),如在第二步如在第二步KDCAlice:EKaks,EKbks中,中,Alice收到消息后不能保证该消息就是收到消息后不能保证该消息就是KDC为她和为她和Bob生成的。如下攻击:生成的。如下攻击:在第一步,在第一步,Malice截获消息并修改为:截获消息并修改为:Malice(Alice)KDC:IDa,IDm 即即Malice冒充冒充Alice向向KDC

11、发送请求。发送请求。那么第二步那么第二步Alice收到的消息收到的消息 KDCAlice:EKaks,EKmks这样,这样,Malice就可以冒充就可以冒充Bob和和Alice会话了。会话了。q第二次方案:第二次方案:AliceKDC:IDa,IDbKDCAlice:EKa IDb,ks,EKb IDa,ksAliceBob:EKb IDa,ksBobAlice:Eks M Malice无法再冒充无法再冒充Bob来欺骗来欺骗Alice,说明在示证,说明在示证信息中,一定要包含示证者身份标识信息来抵抗伪信息中,一定要包含示证者身份标识信息来抵抗伪造攻击!造攻击!但是本方案还有但是本方案还有重大缺

12、陷!重大缺陷!缺陷:消息的数据源认证中缺少了对消息新鲜缺陷:消息的数据源认证中缺少了对消息新鲜性的认证,性的认证,如在第二步如在第二步 KDCAlice:EKa IDb,ks,EKb IDa,ks 中,中,Alice收到消息后不能保证该消息就是收到消息后不能保证该消息就是KDC为她为她和和Bob本次通话生成的,本次通话生成的,如下攻击:如下攻击:Malice(KDC)Alice:EKaIDb,ks,EKbIDa,ks Ks是以前某次是以前某次KDC为为Alice和和Bob创建的会话密创建的会话密钥,这样会话密钥的新鲜性不能保证!钥,这样会话密钥的新鲜性不能保证!Malice这种行为是哪一种攻击

13、方式?这种行为是哪一种攻击方式?改进:在与每一个实体进行的对话中,都要对对改进:在与每一个实体进行的对话中,都要对对方实体的活现性进行测试,对返回的信息的新鲜性进方实体的活现性进行测试,对返回的信息的新鲜性进行验证,使用提问行验证,使用提问/应答机制来修改协议:应答机制来修改协议:q第三次方案:第三次方案:AliceKDC:IDa,IDb,NaKDCAlice:EKaIDb,ks,Na,EKbIDa,ks AliceBob:EKbIDa,ksBobAlice:EksNb AliceBob:Eksf(Nb)该协议是著名的该协议是著名的Needham-Schroeder协议,该协议,该协议在协议在

14、1978年发表,在年发表,在1981年被发现存在重大的缺年被发现存在重大的缺陷。而对于陷。而对于Needham-Schroeder公钥认证协议来说,公钥认证协议来说,自公布到被发现重大缺陷是在自公布到被发现重大缺陷是在17年后。年后。请思考第三次方案中,请思考第三次方案中,Malice使用以前使用以前Alice和和Bob建立的会话密钥,冒充建立的会话密钥,冒充Alice和和Bob建立会话的建立会话的过程?对于这种缺陷,过程?对于这种缺陷,Denning结合了时间戳的方结合了时间戳的方法进行了改进,请写出改进后的协议。法进行了改进,请写出改进后的协议。oDenning方法方法AliceKDC:I

15、Da,IDbKDCAlice:EKaKs,IDb,T,EKbIDa,ks,T AliceBob:EKbKs,IDa,TBobAlice:EksN1 AliceBob:Eksf(N1)|Clock-T|t1+t2 其中,其中,T是是时间时间戳,戳,t1是是KDC时钟时钟与本地与本地时钟时钟之之间间差差异的估异的估计值计值;t2是是预预期的网期的网络络延延迟时间迟时间。oDenning协议的缺陷:协议的缺陷:必须依靠时钟同步。必须依靠时钟同步。如果发送者的时钟比接收者的时钟要快,如果发送者的时钟比接收者的时钟要快,攻击者可以从发送者处窃听到消息,并等待攻击者可以从发送者处窃听到消息,并等待对时间戳

16、接收者来说成为当时时刻时重放给对时间戳接收者来说成为当时时刻时重放给接收者接收者,这种重放攻击称为,这种重放攻击称为抑制重放攻击。抑制重放攻击。2 2、基于公钥密码的双向认证协议、基于公钥密码的双向认证协议oWOO92b协议:协议:基于公钥算法和可靠第三方的认证基于公钥算法和可靠第三方的认证协议协议 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

17、 Nb8.2.2 8.2.2 单向认证协议单向认证协议 单向认证的应用不需要双方同时在线。一方在向对方单向认证的应用不需要双方同时在线。一方在向对方证明自己身份的同时,即可发送数据,另一方收到后,首先证明自己身份的同时,即可发送数据,另一方收到后,首先验证发送方的身份,如果身份有效,就可以接受数据。验证发送方的身份,如果身份有效,就可以接受数据。q无第三方的基于对称密码的单向认证协议无第三方的基于对称密码的单向认证协议 (1)AB:IDA|N1 (2)BA:EKabKs|IDB|f(N1)|N2 (3)AB:EKsf(N2),即即f(x)=x+1 双方必须等待对方的回答,不适用于双方不同时在线

18、的双方必须等待对方的回答,不适用于双方不同时在线的情况。情况。q基于对称密码与第三方的单向认证协议基于对称密码与第三方的单向认证协议 (1)AKDC:IDA|IDB|N1 (2)KDCA:EKaKs|IDB|N1|EKbKs|IDA (3)AB:EKbKs|IDA|EKsMq基于公钥密码的单项身份认证基于公钥密码的单项身份认证 AB:EKUbKs|EKsM|EKRaH(M)8.3 8.3 身份认证的实现身份认证的实现8.3.1 Kerberos8.3.1 Kerberos认证协议简介认证协议简介q麻省理工大学麻省理工大学(MIT)开发的一种网络安全解决方案开发的一种网络安全解决方案q应用背景:

19、用户在不同网络域中使用各种信息服务应用背景:用户在不同网络域中使用各种信息服务时,可能需要维护多种不同的密码证件。时,可能需要维护多种不同的密码证件。Kerberos作为网络认证解决方案,作为网络认证解决方案,基本思想是使用可信的第基本思想是使用可信的第三方把某个用户引见给某个服务器,方法是在用户三方把某个用户引见给某个服务器,方法是在用户和服务器之间分发会话密钥建立安全信道。和服务器之间分发会话密钥建立安全信道。q主要介绍主要介绍Kerberos的认证功能的认证功能q以以Needham-Schroeder认证协议为基础,增加了时认证协议为基础,增加了时间戳机制间戳机制qKerberos的应用

20、:的应用:Window 2000使用使用Kerberos认证认证协议作为给系统网络认证的基础。协议作为给系统网络认证的基础。q优点:安全,可靠,对用户透明,良好扩展性优点:安全,可靠,对用户透明,良好扩展性8.3.2 Kerberos8.3.2 Kerberos协议中的协议中的5 5个主体个主体1.U:用户用户(人类人类):通过客户端(进程)来表达其行为,:通过客户端(进程)来表达其行为,每个用户都有某个口令作为单点登录的密码证件。每个用户都有某个口令作为单点登录的密码证件。2.C:客户端(进程):代理用户实际使用网络服务。客户端(进程):代理用户实际使用网络服务。3.S:应用服务器(进程):

21、根据用户提供的请求许可票应用服务器(进程):根据用户提供的请求许可票据,向客户端据,向客户端C提供应用资源服务。提供应用资源服务。4.AS:鉴别服务器,它知道所有用户的口令并将它们存鉴别服务器,它知道所有用户的口令并将它们存储在一个中央数据库中。储在一个中央数据库中。AS与每一个票证许可服务器与每一个票证许可服务器共有一个唯一的保密密钥。用于鉴别用户身份,颁发共有一个唯一的保密密钥。用于鉴别用户身份,颁发票据许可票据。票据许可票据。5.TGS:票证许可服务器,与每一个域中的应用服务器共票证许可服务器,与每一个域中的应用服务器共有一个唯一的保密密钥。根据用户提供的票据许可票有一个唯一的保密密钥。

22、根据用户提供的票据许可票据,向用户颁发请求许可票据。据,向用户颁发请求许可票据。8.3.3 Kerberos8.3.3 Kerberos模型模型KerberosKerberos的认证功能可以分为三个子服务来描述:的认证功能可以分为三个子服务来描述:q客户客户C和认证服务器和认证服务器AS之间的消息传输之间的消息传输(认证服务)认证服务)AS验证客户验证客户C的身份,向的身份,向C颁发颁发票据许可票据票据许可票据TGTq客户客户C和票据许可服务器和票据许可服务器TGS之间的消息传输(票据授权之间的消息传输(票据授权服务)服务)客户客户C使用使用TGT向票据许可服务器向票据许可服务器TGS申请请求

23、申请请求服务许可服务许可票据票据Tc,s q 客户客户C和应用服务器和应用服务器S之间的消息传输(应用服务)之间的消息传输(应用服务)客户客户C使用使用Tc,s向服务器向服务器S申请相应的服务申请相应的服务KDC分为两个子服务器分为两个子服务器AS和和TGS的原因:的原因:把把KDC分为作用相同的两部分,是考分为作用相同的两部分,是考虑该系统可能会在一个相当大的网络中运虑该系统可能会在一个相当大的网络中运行,该领域中的应用服务器分属不同的网行,该领域中的应用服务器分属不同的网络域,应用服务器在不同的网络域中由不络域,应用服务器在不同的网络域中由不同的同的TGS管理,因此,即使某个固定的用管理,

24、因此,即使某个固定的用户只有某个固定的单点登录户只有某个固定的单点登录AS,他也可以,他也可以得到多个得到多个TGS提供的服务,进而得到更多提供的服务,进而得到更多的应用服务器提供的服务。的应用服务器提供的服务。TGSASCS3.TGS_REQ1.AS_REQ5.AP_REQ2.TGT4.TKT6.AP_REP图图8.2 Kerberos认证功能的三个子服务认证功能的三个子服务q 认证服务:客户认证服务:客户C向向AS验证身份并申请票据验证身份并申请票据1.AS_REQ CAS:c,tgs2.TGT ASC:其中:其中:tgs是票据许可服务器名是票据许可服务器名 是客户的秘密密钥,是客户的秘密

25、密钥,是是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,K

26、C,S,Time_srart,Time_expireq 票据授予服务票据授予服务q 应用服务应用服务 在应用服务中,客户在应用服务中,客户C使用新获得的应用会话使用新获得的应用会话密钥密钥 从应用服务器从应用服务器S那里获得应用服务。那里获得应用服务。5.AP_REQ CS:6.AP_REP SC:AS,C 其中:其中:AC,S=KC,S C,Client_time AS,C=KC,S Client_time1图图8.3 Kerberos认证过程认证过程8.3.4 X.5098.3.4 X.509认证协议认证协议v单向认证单向认证 用户用户A A和用户和用户B B发送一条消息,证明自己的身份。

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com