资源预览内容
第1页 / 共43页
第2页 / 共43页
第3页 / 共43页
第4页 / 共43页
第5页 / 共43页
第6页 / 共43页
第7页 / 共43页
第8页 / 共43页
第9页 / 共43页
第10页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第十三讲. Kerberos认证协议与 X.509上海交通大学计算机科学系1. 密钥管理 所有的密码系统都存在:如何安全可靠地分 配密钥 许多情况下, 出现的安全问题不是因为密码 算法被破,而是密钥分配系统被破 理想的情况是,密钥分配协议应得到形式化 验证,目前已有这方面的结果2. Physical Delivery 传统的物理方法 秘密传送3. 认证密钥服务器 第三方可信的在线服务器 服务器与每个客户有个公享秘密钥 向客户分发密钥 可以利用对称密钥算法 Kerberos4. Kerberos认证服务协议 是一项鉴别协议 解决的问题: 在一个公开的分布式环境中,工作站上的用户 希望访问分布在网络中的服务器上的服务 服务器希望能够限制授权用户的访问,并能对 服务请求进行鉴别。5.Kerberos使用的加密体制 Kerberos不是为每一个服务器构造一个身份认 证协议,而是提供一个中心认证服务器,提供 用户到服务器和服务器到用户的认证服务。 Kerberos采用传统加密算法(无公钥体制) 常用版本:Kerberos Version4和Version5 (RFC1510)6. Kerberos的解决方案 在一个分布式的client/server体系机构中采用一个或 多个Kerberos服务器提供一个认证服务。 总体方案是提供一个可信第三方的认证服务。7. Kerberos系统满足的要求 安全。网络窃听者不能获得必要信息以假冒其 它用户;Kerberos应足够强壮以至于潜在的敌 人无法找到它的弱点连接。 可靠。Kerberos应高度可靠,并且应借助于一 个分布式服务器体系结构,使得一个系统能够 备份另一个系统。 透明。理想情况下,用户除了要求输入口令以 外应感觉不到认证的发生。 可伸缩。系统应能够支持大数量的客户和服务 器8. Kerberos Version4 引入一个信任的第三方认证服务,采用一个基 于Needham & Schroeder协议。 采用DES,精心设计协议,提供认证服务。9.一个简单的认证对话 引入认证服务器(AS),它知道所有用户的口令 并将它们存储在一个中央数据库中。另外,AS 与每一个服务器共有一个唯一的保密密钥。这 些密钥已经通过物理上或以更安全的手段分发考虑以下假定的对话:(1) C AS: IDC | PC | IDV (2) AS C: Ticket (3) C V : IDC | TicketTicket = EKVIDC | ADC | IDVIDV: identifier of V PC: password of user on C ADC: network address of C KV: AS与V共有的保密密钥CVAS(1)(2)(3)ADC防止何种攻击?考虑以下假定的对话:(1) C AS: IDC | PC | IDV (2) AS C: Ticket (3) C V : IDC | TicketTicket = EKVIDC | ADC | IDVIDV: identifier of V PC: password of user on C ADC: network address of C KV: AS与V共有的保密密钥CVAS(1)(2)(3)ADC防止何种攻击?其中:C : clientAS : Authentication ServerV : serverIDC: identifier of user on C 10.上述对话存在的问题 两个主要问题 希望用户输入口令的次数最少。 口令以明文传送会被窃听。 解决办法 票据重用(ticket reusable) 票据需可服务器(ticket-granting server,TGS )改进后的假想的对话:用户登录的每次对话: (1) C AS : IDC | IDtgs (2) AS C : EKCTickettgs每种服务类型一次: (3) C TGS : IDC | IDv | Tickettgs (4) TGS C : TicketV每种服务会话一次: (5) C V : IDC | TicketVTickettgs = EKtgsIDC|ADC|IDtgs|TS1|Lifetime1 TicketV = EKVIDC|ADC|IDV|TS2|Lifetime2 CVAS(1)(2)(3)TGS(4)(5)Kerberos11.方案的详细描述 用户向AS请求代表该用户的票据许可票据。 AS发回加密的票据,密钥由口令导出(Why?) 票据许可票据包含用户ID、网络地址、TGS的 ID、时戳与生存期(Why?)。 用户请求服务许可票据。 TGS验证,如通过则发服务许可票据。 用户使用服务许可票据请求服务。 改进方案仍存在的问题与TGS相关的生存期问题; 太长则?太短则?如何应付票据的过期使 用? 需要服务器向客户进行认证其本身; 假的服务器12. Kerberos V4 的认证对话 解决方案会话密钥(session key)AS用安全方式向用户和TGS各自提供一块秘密 信息,然后用户也以安全方式向TGS出示该秘密来证 明自己的身份。这个秘密就是会话密钥13.Kerberos V4报文交换总结(1) 认证服务交换:获得票据许可票据 (1) C AS : IDC | IDtgs | TS1 (2) AS C : EKCKc,tgs | IDtgs | TS2 | Lifetime2 | Tickettgs Tickettgs = EKtgs Kc,tgs | IDC | ADC | IDtgs | TS2 | Lifetime2Kerberos V4报文交换总结(2) 票据许可服务交换:获得服务许可票据(3) C TGS : IDV | Tickettgs | Authenticatorc(4) TGS C : EKc,tgsKc,v | IDV | TS4 | TicketvTickettgs = EKtgsKc,tgs| IDC| ADC| IDtgs | TS2 | Lifetime2Ticketv = EKVKc,v|IDC|ADC| IDv|TS4|Lifetime4Authenticatorc = EKc,tgsIDc|ADc|TS3Kerberos V4报文交换总结(3) 客户/服务器认证交换:获得服务(5) C V : Ticketv | Authenticatorc(6) V C : EKc,vTS5+1 ( for mutual authentication)Ticketv = EKVKc,v|IDc|ADc|IDv|TS4|Lifetime4Authenticatorc = EKc,vIDc|ADc|TS5 14. 公开公证或证书机构 可信的离线服务器 server 有个公开的公钥 server 对每个用户签名公钥证书 利用公钥加密 15. 要素与基本原理(a) 认证服务交换 Message(1)Client 请求 ticket-granting ticketIDC :告诉AS本client端的用户标识;IDtgs :告诉AS用户请求访问TGS;TS1 :让AS验证client端的时钟是与AS的时钟同步的;Message(2)AS返回ticket-granting ticketEKC :基于用户口令的加密,使得AS和client可以验证口令, 并保护Message(2)。Kc,tgs :session key的副本,由AS产生,client可用于在AS与 client 之间信息的安全交换,而不必共用一个永久的key。IDtgs :确认这个ticket是为TGS制作的。TS2 :告诉client该ticket签发的时间。Lifetime2:告诉client该ticket的有效期;Tickettgs:client用来访问TGS的ticket。16. 基本原理(续)(b) 票据许可服务交换 Message(3)client 请求service-granting ticketIDv:告诉TGS用户要访问服务器V;Tickettgs :向TGS证实该用户已被AS认证; Authenticatorc:由client生成,用于验证ticket; Message(4)TGS返回service-granting ticketEKc,tgs :仅由C和TGS共享的密钥;用以保护Message(4);Kc,tgs: session key的副本,由TGS生成,供client和server之间 信息的安全交换,而无须共用一个永久密钥。IDv :确认该ticket是为server V签发的;TS4 : 告诉client该ticket签发的时间;TicketV :client用以访问服务器V的ticket;Tickettgs:可重用,从而用户不必重新输入口令;EKtgs :ticket用只有AS和TGS才知道的密钥加密,以预防篡改;Kc,tgs :TGS可用的session key副本,用于解密 authenticator,从而 认证ticket;IDc : 指明该ticket的正确主人;17 基本原理客户/服务器鉴别交换:Message(5)client 请求服务Ticketv :向服务器证实该用户已被AS认证;Authenticatorc:由客户生成,用于验证ticket有效; Message(6)客户对服务器的可选认证Ekc,v :使C确认报文来自V;TS51: 使C确信这不使报文重放;TicketV :client用以访问服务器V的ticket; EKv : 用只有AS和TGS才知道的密钥加密的票据,以预防篡改;Kc,v: 用户的会话密钥副本;IDc : 票据的合法用户;ADc: 防止非法使用;IDv: 使服务器确信解密正确;18.Kerberos领域和多个域服务 一个完整的Kerberos环境(域)包括一个 Kerberos服务器,一组工作站,和一组应用服 务器,满足下列要求:Kerberos服务器必须在其数据库中拥有所有 参与用户的ID(UID)和口令散列表。所有用 户均在Kerberos服务器上注册。Kerberos服务器必须与每一个服务器之间共 享一个保密密钥。所有服务器均在Kerberos 服务器上注册。19.不同域间的鉴别机制 条件: 每一个辖区的Kerberos 服务器与其它辖区内 的Kerberos服务器之间共享一个保密密钥。两 个Kerberos服务器互相注册。20.获得另一领域中的认证服务 分三步骤:(1)获得本地TGS的访问权;(2)请求一张远程TGS的票据许可票据;(3)向远程TGS申请其领域内的服务许可票据细节描述: (1) C AS : IDC | IDtgs | TS1 (2) AS C : EKCKc,tgs | IDtgs | TS2 | Lifetime2 | Tickettgs (3) C TGS:IDtgsrem | Tickettgs | Authenticatorc (4) TGS C: EKc,tgsKc,tgsrem | IDtgsrem | TS4 | Tickettgsrem (5) C TGSrem: IDvrem | Tickettgs
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号