第13讲密钥管理与证书_第1页
第13讲密钥管理与证书_第2页
第13讲密钥管理与证书_第3页
第13讲密钥管理与证书_第4页
第13讲密钥管理与证书_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、第十三讲. kerberos认证协议与x.509上海交通大学计算机科学系1. 1. 密钥管理密钥管理 所有的密码系统都存在:如何安全可靠地分配密钥 许多情况下, 出现的安全问题不是因为密码算法被破,而是密钥分配系统被破 理想的情况是,密钥分配协议应得到形式化验证,目前已有这方面的结果2. physical delivery 传统的物理方法 秘密传送3. 3. 认证密钥服务器认证密钥服务器 第三方可信的在线服务器 服务器与每个客户有个公享秘密钥 向客户分发密钥 可以利用对称密钥算法 kerberos4. kerberos认证服务协议 是一项鉴别协议 解决的问题: 在一个公开的分布式环境中,工作站

2、上的用户希望访问分布在网络中的服务器上的服务 服务器希望能够限制授权用户的访问,并能对服务请求进行鉴别。5.kerberos5.kerberos使用的加密体制 kerberos不是为每一个服务器构造一个身份认证协议,而是提供一个中心认证服务器,提供用户到服务器和服务器到用户的认证服务。 kerberos采用传统加密算法(无公钥体制) 常用版本:kerberos version4和version5 (rfc1510)6. kerberos的解决方案 在一个分布式的client/server体系机构中采用一个或多个kerberos服务器提供一个认证服务。 总体方案是提供一个可信第三方的认证服务。7

3、. kerberos系统满足的要求 安全。网络窃听者不能获得必要信息以假冒其它用户;kerberos应足够强壮以至于潜在的敌人无法找到它的弱点连接。 可靠。kerberos应高度可靠,并且应借助于一 个分布式服务器体系结构,使得一个系统能够备份另一个系统。 透明。理想情况下,用户除了要求输入口令以外应感觉不到认证的发生。 可伸缩。系统应能够支持大数量的客户和服务器8. kerberos version4 引入一个信任的第三方认证服务,采用一个基于needham & schroeder协议。 采用des,精心设计协议,提供认证服务。9.一个简单的认证对话 引入认证服务器(as),它知道所

4、有用户的口令并将它们存储在一个中央数据库中。另外,as与每一个服务器共有一个唯一的保密密钥。这些密钥已经通过物理上或以更安全的手段分发考虑以下假定的对话:考虑以下假定的对话:(1) c as: idc | pc | idv(2) as c: ticket(3) c v : idc | ticketticket = ekvidc | adc | idvidv: identifier of vpc: password of user on cadc: network address of ckv: as与与v共有的保密密钥共有的保密密钥cvas(1)(2)(3)adc防止何种攻击?防止何种攻击?考

5、虑以下假定的对话:考虑以下假定的对话:(1) c as: idc | pc | idv(2) as c: ticket(3) c v : idc | ticketticket = ekvidc | adc | idvidv: identifier of vpc: password of user on cadc: network address of ckv: as与与v共有的保密密钥共有的保密密钥cvas(1)(2)(3)adc防止何种攻击?防止何种攻击?其中:其中: c : client as : authentication server v : server idc: identifi

6、er 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

7、v : idc | ticketvtickettgs = ektgsidc|adc|idtgs|ts1|lifetime1ticketv = ekvidc|adc|idv|ts2|lifetime2 cvas(1)(2)(3)tgs(4)(5)kerberos11.方案的详细描述 用户向as请求代表该用户的票据许可票据。 as发回加密的票据,密钥由口令导出(why?) 票据许可票据包含用户id、网络地址、tgs的id、时戳与生存期(why?)。 用户请求服务许可票据。 tgs验证,如通过则发服务许可票据。 用户使用服务许可票据请求服务。 改进方案仍存在的问题与与tgstgs相关的生存期问题;相

8、关的生存期问题;太长则?太短则?如何应付票据的过期使太长则?太短则?如何应付票据的过期使用?用?需要服务器向客户进行认证其本身;需要服务器向客户进行认证其本身;假的服务器假的服务器12. kerberos v4 12. kerberos v4 的认证对话的认证对话 解决方案会话密钥(session key)as用安全方式向用户和tgs各自提供一块秘密信息,然后用户也以安全方式向tgs出示该秘密来证明自己的身份。这个秘密就是会话密钥13.kerberos v413.kerberos v4报文交换总结(报文交换总结(1 1) 认证服务交换:获得票据许可票据认证服务交换:获得票据许可票据 (1) c

9、 as : idc | idtgs | ts1 (2) as c : ekckc,tgs | idtgs | ts2 | lifetime2 | tickettgs tickettgs = ektgs kc,tgs | idc | adc | idtgs | ts2 | lifetime2kerberos v4kerberos v4报文交换总结(报文交换总结(2 2) 票据许可服务交换:获得服务许可票据票据许可服务交换:获得服务许可票据(3) c tgs : idv | tickettgs | authenticatorc(4) tgs c : ekc,tgskc,v | idv | ts4

10、| 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

11、|adc|idv|ts4|lifetime4authenticatorc = 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的时钟同步的;的时钟同

12、步的;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签发的时间。签发的时间。 lifetime

13、2:告诉告诉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,

14、tgs :仅由仅由c和和tgs共享的密钥;用以保护共享的密钥;用以保护message(4); kc,tgs: session key的副本,由的副本,由tgs生成,供生成,供client和和server之间之间信息的安全交换,而无须共用一个永久密钥。信息的安全交换,而无须共用一个永久密钥。 idv :确认该确认该ticket是为是为server v签发的;签发的; ts4 : 告诉告诉client该该ticket签发的时间;签发的时间; ticketv :client用以访问服务器用以访问服务器v的的ticket; tickettgs:可重用,从而用户不必重新输入口令;可重用,从而用户不必重新

15、输入口令; ektgs :ticket用只有用只有as和和tgs才知道的密钥加密,以预防篡改;才知道的密钥加密,以预防篡改; kc,tgs :tgs可用的可用的session key副本,用于解密副本,用于解密authenticator,从而从而认证认证ticket; idc : 指明该指明该ticket的正确主人;的正确主人;17 基本原理客户客户/服务器鉴别交换服务器鉴别交换:message(5)client 请求服务请求服务 ticketv :向服务器证实该用户已被向服务器证实该用户已被as认证;认证; authenticatorc:由客户生成,用于验证由客户生成,用于验证ticket有

16、效;有效;message(6)客户对服务器的可选认证客户对服务器的可选认证 ekc,v : 使使c确认报文来自确认报文来自v; ts51: 使使c确信这不使报文重放;确信这不使报文重放; ticketv :client用以访问服务器用以访问服务器v的的ticket; ekv : 用只有用只有as和和tgs才知道的密钥加密的票据,以预才知道的密钥加密的票据,以预 防篡改;防篡改; kc,v: 用户的会话密钥副本;用户的会话密钥副本; idc : 票据的合法用户;票据的合法用户; adc: 防止非法使用;防止非法使用; idv: 使服务器确信解密正确;使服务器确信解密正确;18.kerberos1

17、8.kerberos领域和多个域服务领域和多个域服务 一个完整的kerberos环境(域)包括一个kerberos服务器,一组工作站,和一组应用服务器,满足下列要求:kerberos服务器必须在其数据库中拥有所有参与用户的id(uid)和口令散列表。所有用户均在kerberos服务器上注册。kerberos服务器必须与每一个服务器之间共享一个保密密钥。所有服务器均在kerberos服务器上注册。19.不同域间的鉴别机制 条件: 每一个辖区的每一个辖区的kerberos kerberos 服务器与其它辖区内服务器与其它辖区内的的kerberoskerberos服务器之间共享一个保密密钥。两服务器

18、之间共享一个保密密钥。两个个kerberoskerberos服务器互相注册。服务器互相注册。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 | id

19、tgsrem | ts4 | tickettgsrem(5) c tgsrem: idvrem | tickettgsrem | authenticatorc(6) tgs c: ekc,tgsremkc,vrem | idvrem | tsb | ticketvrem(7) c vrem: ticketvrem | authenticatorccastgstgsremvrem(1)(2)(3)(4)(5)(6)(7)21. kerberos version 5 改进version 4 的环境缺陷加密系统依赖性,需desinternet协议依赖性,需ip地址消息字节次序(不明确字节顺序)tic

20、ket的时效性(可能太短)认证转发,用户的认证不能转发到其它主机或用户。域间认证,22. 公钥证书 公钥管理包括公钥证书的使用 证书将用户身份与公钥绑定 也包括其他信息:有效期、使用权限 所有内容有可信中心签名 (ca) 假设任何人可以得到或已知ca的公钥,并验证证书23. x.509 鉴别服务 ccitt x.500 一部分,目录服务标准 x.509 定义了认证服务框架 这种目录可以存储证书 定义了利用证书的认证协议 使用公钥密码与数字签名 推荐使用rsa (不是标准)24. x.509 证书证书 由证书授权 (ca) 机构发送: each certificate contains: ver

21、sion (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. 27. 证书性质证书性质 任何能够访问ca的用户,可以得

温馨提示

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

评论

0/150

提交评论