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