1、Chapter 15 用户认证用户认证2022-1-20华中农业大学信息学院2本章内容本章内容n远程用户认证远程用户认证n基于对称加密的远程用户认证基于对称加密的远程用户认证n Kerberosn 基于非对称加密的远程用户认证基于非对称加密的远程用户认证n 联合身份管理联合身份管理2022-1-20华中农业大学信息学院315.1 远程用户认证原理远程用户认证原理n鉴定阶段鉴定阶段n核实阶段核实阶段 n认证方式认证方式q知道什么知道什么q拥有什么拥有什么q静态生物特征静态生物特征q动态生物特征动态生物特征n 基于网络的最重要的认证方式是基于网络的最重要的认证方式是q加密密钥加密密钥q用户口令用户
2、口令2022-1-20华中农业大学信息学院415.1.1 认证协议认证协议n用于确认通信的参与者,并交换会话密钥。用于确认通信的参与者,并交换会话密钥。n认证可以是单向的也可以是相互的。认证可以是单向的也可以是相互的。n主密钥应该是主密钥应该是q保密的保密的 保护会话密钥保护会话密钥q有时间性有时间性 防止重放攻击防止重放攻击n发布的协议往往发现有缺陷需要修订发布的协议往往发现有缺陷需要修订2022-1-20华中农业大学信息学院515.1.1 相互认证相互认证n当有效的签名消息被拷贝,之后又重新被发送当有效的签名消息被拷贝,之后又重新被发送q简单重放简单重放q可检测的重放可检测的重放q不可检测
3、的重放不可检测的重放q不加修改的逆向重放(对称密码)不加修改的逆向重放(对称密码)n解决办法包括:解决办法包括:q序列号序列号 (通常不可行通常不可行)q时间戳时间戳(需要同步时钟需要同步时钟)q随机数随机数/响应响应 (目前的常用方法目前的常用方法)重放攻击重放攻击2022-1-20华中农业大学信息学院615.1.2 单向认证单向认证n当收发双方不能在同一时间在线时当收发双方不能在同一时间在线时 (eg. email)n有明确的头信息以被邮件系统转发有明确的头信息以被邮件系统转发n希望对内容进行保护和认证希望对内容进行保护和认证2022-1-20华中农业大学信息学院715.2 基于对称加密的
4、远程用户认证基于对称加密的远程用户认证n如前所述,需要两层密钥。如前所述,需要两层密钥。n可信的可信的KDC, Key Distribution Centerq每个用户与每个用户与KDC共享一个主密钥共享一个主密钥qKDC产生通信方之间所用的会话密钥产生通信方之间所用的会话密钥q主密钥用于分发会话密钥主密钥用于分发会话密钥2022-1-20华中农业大学信息学院8Needham-Schroeder 协议协议n有第三方参与的密钥分发协议有第三方参与的密钥分发协议nKDC作为作为AB会话的中介会话的中介n协议协议:1. A - KDC: IDA | IDB | N12. KDC - A: EKa K
5、s | IDB | N1 | EKb Ks | IDA 3. A - B: EKb Ks | IDA4. B - A: EKsN25. A - B: EKs f (N2) 2022-1-20华中农业大学信息学院9Needham-Schroeder 协议协议n用于安全地分发用于安全地分发AB之间通信所用的会话密钥之间通信所用的会话密钥n存在重放攻击的风险,如果一个过时的会话密钥被存在重放攻击的风险,如果一个过时的会话密钥被掌握掌握q则消息则消息3可以被重放以欺骗可以被重放以欺骗B使用旧会话密钥,使使用旧会话密钥,使B遭到破坏遭到破坏n解决的办法解决的办法:q时间戳时间戳 (Denning 81)
6、q使用一个额外的临时会话号使用一个额外的临时会话号 (Neuman 93)2022-1-20华中农业大学信息学院10n添加时间戳添加时间戳:1. A - KDC: IDA | IDB 2. KDC - A: EKa Ks | IDB | T | Eb Ks | IDA|T3. A - B: EKb Ks | IDA |T4. B - A: EKsN15. A - B: EKs f (N1) 2022-1-20华中农业大学信息学院11n防止压制重放攻击防止压制重放攻击:1. A - B: IDA | Na 2. B-KDC: IDB|Nb|E(Kb,IDA|Na|Tb)3. KDC-A: EKa
7、 IDB |Na|Ks| Tb | EKb IDA| Ks | Tb|Nb4. A - B: EKb IDA | Ks | Tb|EKsNb2022-1-20华中农业大学信息学院12对称加密方法对称加密方法-单向认证单向认证n可以变化对可以变化对KDC的使用,但是不能使用临时交互号的使用,但是不能使用临时交互号:1. A-KDC: IDA | IDB | N12. KDC - A: EKaKs | IDB | N1 | EKbKs|IDA 3. A - B: EKbKs|IDA | EKsMn不能抗重放攻击不能抗重放攻击q可以引入时间戳到信息中但可以引入时间戳到信息中但email的处理中存在大
8、的处理中存在大量延时,使得时间戳用途有限。量延时,使得时间戳用途有限。2022-1-20华中农业大学信息学院1315.3 Kerberosn由由MIT开发开发 n在分布式网络中提供有第三方参与的基于私钥的认证在分布式网络中提供有第三方参与的基于私钥的认证q允许用户通过访问分布在网络中的服务允许用户通过访问分布在网络中的服务q没有必要相信所有工作站没有必要相信所有工作站q然而都信任认证中心服务器然而都信任认证中心服务器n两个版本两个版本: 4 & 52022-1-20华中农业大学信息学院14Kerberos 要求要求n第一份第一份Kerberos的需求报告的需求报告:q安全性安全性q可靠性可靠性
9、q透明性透明性q可伸缩性可伸缩性n用基于用基于Needham-Schroeder的认证协议实现的认证协议实现2022-1-20华中农业大学信息学院15Kerberos v4 概览概览n基于第三方的认证方案基于第三方的认证方案n认证服务器认证服务器 (AS) q用户初始与用户初始与AS对话以标识自身对话以标识自身qAS 发放一个高度可信的认证证书发放一个高度可信的认证证书 (ticket granting ticket, TGT) n票据授权服务器票据授权服务器 (TGS)q用户接着从用户接着从TGS以以TGT为依据得到其它访问服务为依据得到其它访问服务2022-1-20华中农业大学信息学院16
10、Kerberos v4 对话对话1.从从AS得到授权票据得到授权票据(TGT)每个会话进行一次每个会话进行一次2.从从TGT获得服务授权票据获得服务授权票据对每个不同的服务请求一次对每个不同的服务请求一次3.客户客户/服务器交换信息以获得服务服务器交换信息以获得服务每次服务时每次服务时2022-1-20华中农业大学信息学院17Kerberos 4 概览概览2022-1-20华中农业大学信息学院18Kerberos 域域n一个一个Kerberos环境的构成环境的构成:q一个一个Kerberos服务器服务器q客户,都在客户,都在AS中已经注册中已经注册q应用服务器,与应用服务器,与AS共享密钥共享
11、密钥n环境术语称为:域,环境术语称为:域,realmq典型地都是一个单一的行政区域典型地都是一个单一的行政区域n如果有多个域,如果有多个域,Kerberos 服务器之间必须相互信任服务器之间必须相互信任且共享密钥且共享密钥2022-1-20华中农业大学信息学院19Kerberos 域域2022-1-20华中农业大学信息学院20Kerberos 版本版本5n制定于制定于20世纪世纪90年代中期年代中期n作为作为 RFC 1510n对对v4作了改进作了改进q环境缺陷环境缺陷n对加密系统的依赖性对加密系统的依赖性, 网络协议网络协议, 字节序字节序, 票据生命期票据生命期, 向前认证向前认证, 域间
12、认证域间认证q技术不足技术不足n两次加密两次加密, 非标准模式非标准模式PCBC, 会话密钥会话密钥, 口令攻击口令攻击2022-1-20华中农业大学信息学院21Kerberos 小结小结条件条件 - 过程过程 - 总结总结p 条 件 :条 件 : C l i e n t 与与K D C , K D C 与与Service 在协议工作前在协议工作前已经有了各自的共享已经有了各自的共享密钥,并且由于协议密钥,并且由于协议中的消息无法穿透防中的消息无法穿透防火墙,这些条件就限火墙,这些条件就限制了制了Kerberos协议往协议往往用于一个组织的内往用于一个组织的内部,部, 使其应用场景不使其应用场
13、景不同于同于X.509 PKI。2022-1-20华中农业大学信息学院22Kerberos 过程过程p 1 . Client向向KDC发送自己的身份信息,发送自己的身份信息,KDC从从Ticket Granting Service得到得到TGT(ticket-granting ticket), 并用并用协议开始前协议开始前Client与与KDC之间的密钥将之间的密钥将TGT加密回复给加密回复给Client。此时只有真正的。此时只有真正的Client才能利用它与才能利用它与KDC之间的之间的密钥将加密后的密钥将加密后的TGT解密,从而获得解密,从而获得TGT。(此过程避。(此过程避免了免了Cli
14、ent直接向直接向KDC发送密码,以求通过验证的不安全发送密码,以求通过验证的不安全方式)方式)p 2. Client利用之前获得的利用之前获得的TGT向向KDC请求其他请求其他Service的的Ticket,从而通过其他,从而通过其他Service的身份鉴别。的身份鉴别。2022-1-20华中农业大学信息学院23Kerberos 过程过程 Kerberos协议的重点在于第二部分,简介如下:协议的重点在于第二部分,简介如下: 2022-1-20华中农业大学信息学院24Kerberos 过程过程p 1. Client将之前获得将之前获得TGT和要请求的服务信息和要请求的服务信息(服务名等服务名等
15、)发送给发送给KDC,KDC中的中的Ticket Granting Service将为将为Client和和Service之间生成一个之间生成一个Session Key用于用于Service对对Client的的身份鉴别。然后身份鉴别。然后KDC将这个将这个Session Key和用户名,用户地和用户名,用户地址(址(IP),服务名,有效期),服务名,有效期, 时间戳一起包装成一个时间戳一起包装成一个Ticket(这些信息最终用于这些信息最终用于Service对对Client的身份鉴别的身份鉴别)发送发送给给Service, 不过不过Kerberos协议并没有直接将协议并没有直接将Ticket发送
16、给发送给Service,而是通过,而是通过Client转发给转发给Service.所以有了第二步。所以有了第二步。2022-1-20华中农业大学信息学院25Kerberos 过程过程p 2.此时此时KDC将刚才的将刚才的Ticket转发给转发给Client。由于这个。由于这个Ticket是要给是要给Service的,不能让的,不能让Client看到,所以看到,所以KDC用用协议开始前协议开始前KDC与与Service之间的密钥将之间的密钥将Ticket加密后再发加密后再发送给送给Client。同时为了让。同时为了让Client和和Service之间共享那个秘密之间共享那个秘密(KDC在第一步为
17、它们创建的在第一步为它们创建的Session Key), KDC用用Client与它之间的密钥将与它之间的密钥将Session Key加密随加密的加密随加密的Ticket一起返一起返回给回给Client。2022-1-20华中农业大学信息学院26p 3为了完成为了完成Ticket的传递,的传递,Client将刚才收到的将刚才收到的Ticket转发到转发到Service. 由于由于Client不知道不知道KDC与与Service之间的密之间的密钥,所以它无法篡改钥,所以它无法篡改Ticket中的信息。同时中的信息。同时Client将收到将收到的的Session Key解密出来,然后将自己的用户名
18、,用户地解密出来,然后将自己的用户名,用户地址(址(IP)打包成)打包成Authenticator用用Session Key加密也发送加密也发送给给Service。Kerberos 过程过程2022-1-20华中农业大学信息学院27p4Service 收到收到Ticket后利用它与后利用它与KDC之间的密钥将之间的密钥将Ticket中的信息解密出来,从而获得中的信息解密出来,从而获得Session Key和用户名,和用户名,用户地址(用户地址(IP),服务名,有效期。然后再用),服务名,有效期。然后再用Session Key将将Authenticator解密从而获得用户名,用户地址(解密从而获
19、得用户名,用户地址(IP)将其与之前将其与之前Ticket中解密出来的用户名,用户地址(中解密出来的用户名,用户地址(IP)做比较从而验证做比较从而验证Client的身份。的身份。p 5. 如果如果Service有返回结果,将其返回给有返回结果,将其返回给Client。Kerberos 过程过程2022-1-20华中农业大学信息学院28概括起来说概括起来说Kerberos协议主要做了两件事协议主要做了两件事 1Ticket的安全传递。的安全传递。 2Session Key的安全发布。的安全发布。 再加上时间戳的使用就很大程度上的保证了用户鉴别的再加上时间戳的使用就很大程度上的保证了用户鉴别的安
20、全性。并且利用安全性。并且利用Session Key,在通过鉴别之后,在通过鉴别之后Client和和Service之间传递的消息也可以获得之间传递的消息也可以获得Confidentiality(机密性机密性), Integrity(完整性完整性)的保证。不过由于没有使用非对称密钥的保证。不过由于没有使用非对称密钥自然也就无法具有抗否认性,这也限制了它的应用。相对自然也就无法具有抗否认性,这也限制了它的应用。相对而言它比而言它比X.509 PKI的身份鉴别方式实施起来简单。的身份鉴别方式实施起来简单。Kerberos 总结总结2022-1-20华中农业大学信息学院2915.4 基于公钥加密的远程
21、认证基于公钥加密的远程认证n需要确保彼此的公钥提前已经获知需要确保彼此的公钥提前已经获知n采用一个中心认证服务器采用一个中心认证服务器Authentication Server (AS)n用时间戳或临时交互号的变形协议用时间戳或临时交互号的变形协议2022-1-20华中农业大学信息学院3015.4.1 双向认证:双向认证:Denning AS 协议协议nDenning 81 协议描述如下协议描述如下:1. A - AS: IDA | IDB2. AS - A: EPRasIDA|PUa|T | EPRasIDB|PUb|T 3. A - B: EPRasIDA|PUa|T | EPRasIDB
22、|PUb|T | EPUbEPRasKs|T n会话密钥由会话密钥由A选择,所以不存在会话密钥被选择,所以不存在会话密钥被AS泄密的危险泄密的危险n时间戳可用于防止重放攻击,但需要时钟同步。时间戳可用于防止重放攻击,但需要时钟同步。q改用临时交互号改用临时交互号Denning AS 协议的改进(协议的改进(1)2022-1-20华中农业大学信息学院31(1):|(2):(,|)(3):(,|)(4):|(,)(5):(,|)|(,(,|)(6):(, (,|)|ABauthBbbaAABauthaauthAabauthasBaauthasBAKDC IDIDKDCA E PRIDPUAB E
23、PUNIDBKDC IDIDE PUNKDCB E PRIDPUE PUE PRNKIDBA E PUE PRNKID)(7):(,)bsbNAB E K NDenning AS 协议的改进(协议的改进(2)2022-1-20华中农业大学信息学院32(1):|(2):(,|)(3):(,|)(4):|(,)(5):(,|)|(,(,|)(6):(,(,|ABauthBbbaAABauthaauthAabauthasABaauthasAAKDC IDIDKDCA E PRIDPUAB E PUNIDBKDC IDIDE PUNKDCB E PRIDPUE PUE PRNKIDIDBA E PUE
24、 PRNKID|)|)(7):(,)BbsbIDNAB E K N2022-1-20华中农业大学信息学院3315.4.2 单向认证单向认证n已经讨论过一些公钥加密认证的论题已经讨论过一些公钥加密认证的论题n若关心保密性,则若关心保密性,则:A - B: EPUbKs | EKsMq被加密的会话密钥和消息内容被加密的会话密钥和消息内容n若需要用数字证书提供数字签名,则若需要用数字证书提供数字签名,则:A - B: M | EPRaH(M) | EPRasT|IDA|PUa q消息,签名,证书消息,签名,证书15.5 联合身份管理联合身份管理n身份管理身份管理q集中式的、自动的方法,提供雇员或者其
25、他集中式的、自动的方法,提供雇员或者其他授权的个人对资源拥有企业范围的访问;授权的个人对资源拥有企业范围的访问;q 身份管理系统满足身份管理系统满足SSO,单点登录使用户在,单点登录使用户在一次认证后访问所有的网络资源。一次认证后访问所有的网络资源。2022-1-20华中农业大学信息学院3415.5 联合身份管理联合身份管理n身份管理系统要素身份管理系统要素q认证认证q授权授权q审计审计q物质供应物质供应q工作流自动化工作流自动化q管理管理q口令同步口令同步q自助口令重置自助口令重置q联合联合2022-1-20华中农业大学信息学院3515.5 联合身份认证联合身份认证n身份联合:身份管理在多个
26、安全域上的扩展身份联合:身份管理在多个安全域上的扩展q跨域的身份管理跨域的身份管理q身份映射身份映射n联合身份标准:安全声明标记语言(联合身份标准:安全声明标记语言(SAML),),定义在线商业伙伴之间的安全信息交换。定义在线商业伙伴之间的安全信息交换。2022-1-20华中农业大学信息学院362022-1-20华中农业大学信息学院37小小 结结n远程用户认证远程用户认证n基于对称加密的远程用户认证基于对称加密的远程用户认证n Kerberosn 基于非对称加密的远程用户认证基于非对称加密的远程用户认证n 联合身份管理联合身份管理2022-1-20华中农业大学信息学院38作业作业n思考题:思考题:15.1 ; 15.2; 15.6n习题:习题:15.4 ; 15.8; 15.9