讲Kerberos认证协议与X.ppt_第1页
讲Kerberos认证协议与X.ppt_第2页
讲Kerberos认证协议与X.ppt_第3页
讲Kerberos认证协议与X.ppt_第4页
讲Kerberos认证协议与X.ppt_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十三讲. Kerberos认证协议与X.509,上海交通大学计算机科学系,1. 密钥管理,所有的密码系统都存在:如何安全可靠地分配密钥 许多情况下, 出现的安全问题不是因为密码算法被破,而是密钥分配系统被破 理想的情况是,密钥分配协议应得到形式化验证,目前已有这方面的结果,2. Physical Delivery,传统的物理方法 秘密传送,3. 认证密钥服务器,第三方可信的在线服务器 服务器与每个客户有个公享秘密钥 向客户分发密钥 可以利用对称密钥算法 Kerberos,4. 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 | Ticket Ticket = EKVIDC | ADC | IDV,IDV : identifier of V PC : password of user on C ADC : network address of C KV : AS与V共有的保密密钥,C,V,AS,(1),(2),(3),ADC防止何种攻击?,考虑以下假定的对话:,(1) C AS: IDC | PC | IDV (2) AS C: Ticket (3) C V : IDC | Ticket Ticket = EKVIDC | ADC | IDV,IDV : identifier of V PC : password of user on C ADC : network address of C KV : AS与V共有的保密密钥,C,V,AS,(1),(2),(3),ADC防止何种攻击?,其中: C : client AS : Authentication Server V : server IDC : 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 | TicketV Tickettgs = EKtgsIDC|ADC|IDtgs|TS1|Lifetime1 TicketV = EKVIDC|ADC|IDV|TS2|Lifetime2,C,V,AS,(1),(2),(3),TGS,(4),(5),Kerberos,11.方案的详细描述,用户向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 | Lifetime2,Kerberos V4报文交换总结(2),票据许可服务交换:获得服务许可票据 (3) C TGS : IDV | Tickettgs | Authenticatorc (4) TGS C : EKc,tgsKc,v | IDV | TS4 | Ticketv Tickettgs = EKtgsKc,tgs| IDC| ADC| IDtgs | TS2 | Lifetime2 Ticketv = EKVKc,v|IDC|ADC| IDv|TS4|Lifetime4 Authenticatorc = EKc,tgsIDc|ADc|TS3,Kerberos V4报文交换总结(3),客户/服务器认证交换:获得服务 (5) C V : Ticketv | Authenticatorc (6) V C : EKc,vTS5+1 ( for mutual authentication) Ticketv = EKVKc,v|IDc|ADc|IDv|TS4|Lifetime4 Authenticatorc = EKc,vIDc|ADc|TS5,14. 公开公证或证书机构,可信的离线服务器 server 有个公开的公钥 server 对每个用户签名公钥证书 利用公钥加密,15. 要素与基本原理,(a) 认证服务交换 Message(1) Client 请求 ticket-granting ticket IDC : 告诉AS本client端的用户标识; IDtgs : 告诉AS用户请求访问TGS; TS1 : 让AS验证client端的时钟是与AS的时钟同步的; Message(2) AS返回ticket-granting ticket EKC : 基于用户口令的加密,使得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 ticket IDv: 告诉TGS用户要访问服务器V; Tickettgs : 向TGS证实该用户已被AS认证; Authenticatorc:由client生成,用于验证ticket; Message(4) TGS返回service-granting ticket EKc,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 | Tickettgsrem | Authenticatorc (6) TGS C: EKc,tgsremKc,vrem | IDvrem | TSb | Ticketvrem (7) C Vrem: Ticketvrem | Authenticatorc,C,AS,TGS,TGSrem,Vrem,(1),(2),(3),(4),(5),(6),(7),21. Kerberos Version 5,改进version 4 的环境缺陷 加密系统依赖性,需DES Internet协议依赖性,需IP地址 消息字节次序(不明确字节顺序) Ticket的时效性(可能太短) 认证转发,用户的认证不能转发到其它主机或用户。 域间认证,,22. 公钥证书,公钥管理包括公钥证书的使用 证书将用户身份与公钥绑定 也包括其他信息:有效期、使用权限 所有内容有可信中心签名 (CA) 假设任何人可以得到或已知CA的公钥,并验证证书,23. X.509 鉴别服务,CCITT X.500 一部分,目录服务标准 X.509 定义了认证服务框架 这种目录可以存储证书 定义了利用证书的认证协议 使用公钥密码与数字签名 推荐使用RSA (不是标准),24. X.509 证书,由证书授权 (CA) 机构发送: each certificate contains: version (1, 2, or 3) serial number (unique within CA) identifying certificate signature algorithm identifier issuer X.500 name (CA) period of validity (from - to dates) subject X.500 name (name of owner) subject public-key info (algorithm, parameters, key) issuer unique identifier (v2+),25. X.509 证书(续),subject unique identifier (v2+) extension fields (v3) signature (of hash of all fields in certificate) notation: CA means CA has signed certificate details for User,26. 证书 扩展项,证书中,其它信息是有必要的 如: email address/URL, policy details, usage constraints etc 参见 SSL的使用,27. 证书性质,任何能够访问CA的用户,可以得到CA上的任何证书 只有 CA 能够修改证书 因为证书不能伪造,证书可以放在目录中,28. CA 分层结构,如果两个用户享有一个共同的CA,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论