《第06讲-Kerberos认证协议.ppt》

上传人:我*** 文档编号:133602052 上传时间:2020-05-28 格式:PPT 页数:64 大小:975.50KB
返回 下载 相关 举报
《第06讲-Kerberos认证协议.ppt》_第1页
第1页 / 共64页
《第06讲-Kerberos认证协议.ppt》_第2页
第2页 / 共64页
《第06讲-Kerberos认证协议.ppt》_第3页
第3页 / 共64页
《第06讲-Kerberos认证协议.ppt》_第4页
第4页 / 共64页
《第06讲-Kerberos认证协议.ppt》_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《《第06讲-Kerberos认证协议.ppt》》由会员分享,可在线阅读,更多相关《《第06讲-Kerberos认证协议.ppt》(64页珍藏版)》请在金锄头文库上搜索。

1、网络与信息安全安全基础 二 潘爱民 北京大学计算机研究所 内容 Kerberos协议Kerberos中ticket的flagKerberos实现MITReleaseWin2kKerberosIPSec简介 Kerberos认证协议 历史80年代中期是MIT的Athena工程的产物版本前三个版本仅用于内部第四版得到了广泛的应用第五版于1989年开始设计RFC1510 1993年确定标准Kerberos解决的问题认证 数据完整性 保密性 作为一种认证协议 特点基于口令的认证协议利用对称密码技术建立起来的认证协议可伸缩性 可适用于分布式网络环境环境特点User to serverauthentica

2、tion密钥存储方案 Kerberos协议中一些概念 Principal 安全个体 被认证的个体 有一个名字 name 和口令 password KDC Keydistributioncenter 是一个网络服务 提供ticket和临时的会话密钥Ticket一个记录 客户可以用它来向服务器证明自己的身份 其中包括客户的标识 会话密钥 时间戳 以及其他一些信息 Ticket中的大多数信息都被加密 密钥为服务器的密钥Authenticator一个记录 其中包含一些最近产生的信息 产生这些信息需要用到客户和服务器之间共享的会话密钥Credentials一个ticket加上一个秘密的会话密钥 Kerb

3、erosModel 基本的ticket交换Client KDCc 客户的id s 服务器的id n nonce KDC Client Kc s n Kc Tc s KsClient Server Ac Kc s Tc s Ks 基本的ticket交换的问题 客户个体密钥Kc的频繁使用Kc的使用对于用户尽可能透明可伸缩性方案引入TGS Ticket grantingserver 附加的ticket交换 引入TGS Ticket grantingservice 两种ticketTGT Tc tgs KtgsServiceticket Tc s Ks 支持可伸缩性的两个概念 TGSTicket gr

4、antingserviceRealm 域 与domain的区别 每一个安全个体都与一个realm相联系从安全性意义上来 是指信任边界 Kerberos中ticket示意图 Kerberos消息 1 Client AuthenticationServer KDC Options KDCOptionsIDc principal snameRealmc client srealmIDtgs TGS snameTimes from till rtime Nonce1可选的扩展信息 Kerberos消息 2 AuthenticationServer KDC ClientRealmcIDcTickettg

5、sEncryptedData withKc Kc tgsTimes LastReq Key expiration Authtime Starttime Endtime Renew till Nonce1RealmtgsIDtgs Tickettgs信息 EncryptedwithKtgsFlagsKc tgsRealmcIDcADcTimes Kerberos消息 3 C TGSOptions KDCOptionsIDv Server snameTimes from till rtime Nonce2TickettgsAuthenticatorc Authenticator Encrypted

6、withKc tgsIDcRealmcTS1用途是服务器可用来认证Ticket的有效性TS可告诉服务器客户机当前的时间 Kerberos消息 4 TGS CRealmcIDcTicketvEncryptedData withKc tgs Kc vTimesNonce2RealmvIDv Ticketv信息 EncryptedwithKvFlagsKc vRealmcIDcADcTimes Kerberos消息 5 C ServerOptionsTicketvAuthenticatorcAuthenticaor EncryptedwithKc vRealmcIDcTS2SubkeySeq Ker

7、beros消息 6 Server C optional 仅用于双向认证EncryptedData withKc v TS2SubkeySeq Ticket交换中的flags INITIAL是由AS发出的ticketRENEWABLE告诉TGS 当这个ticket过期之后 它可以用来获得一个新的ticketMAY POSTDATE告诉TGS 以后可以根据这个ticket TGT 发出一个postdate的ticketPOSTDATED表示这个ticket已经被postdated ticket中的flags 续 INVALIDTicket已经无效 用之前必须先使它有效PROXIABLE告诉TGS

8、根据所出示的ticket 发出一个地址不同的新ticketPROXY表示这是一个proxyticketFORWARDABLE告诉TGS 根据这个TGT 发出一个地址不同的新ticketFORWARDED表明这个ticket是一个forwardedticket INITIAL 表明一个ticket是由AS发出的有的应用服务要求客户必须知道password 那么它可以要求只接受包含INITIAL标记的ticket例如 修改口令的应用服务 PRE AUTHENT HW AUTHENT AS可以要求在发出ticket之前 先认证客户 因此 客户必须提供一个预认证数据块 比如 包含随机数 时间戳 等 然

9、后用客户的私钥加密如果客户没有提供AS所要求的预认证数据 则AS返回一个KDC ERR PREAUTH FAILE消息如果AS在认证的时候 要求硬件认证支持 则可以指定HW AUTHEN标记 RENEWABLE 如果一个ticket设置了RENEWABLE 则它包含两个过期时间一个是当前ticket的过期时间另一个是最终的过期时间客户可以请求一个新的ticket 只要在最终的过期时间之内 TGS都可以发出新的ticket 其中过期时间往后延长好处如果一个ticket被偷 TGS可以拒绝发出新的ticket POSTDATED和INVALID 客户可以先用MAY POSTDATE向AS请求一个T

10、GT然后 客户利用这个TGT 可以申请一些同时包含POSTDATED和INVALID的tickets 用于以后的会话过程客户在使用之前 通过VALIDATEoption 先请求TGS使INVALIDticket有效用处 比如在一个处理时间很长的任务中 PROXIABLE和PROXY PROXIABLE告诉TGS 根据所出示的ticket 发出一个地址不同的新ticketPROXY表示这是一个proxyticket用处允许客户把一个proxy传递给server 让这个proxy代替自己完成特定的任务原理通过网络地址来认证客户 FORWARDABLE FORWARDED 告诉TGS 根据这个TGT

11、 发出一个地址不同的新ticketFORWARDED表明这个ticket是一个forwardedticket其实也是proxy的一种情形可以完全代替客户的身份一个用途在跨域认证的时候 客户可以把这样的ticket出示给其他域的TGS 这使得客户可以访问其他域的服务器 Cross realm认证 Kerberos4支持跨realm认证 Cross realm认证 续 Kerberos5支持跨realm认证提供了可伸缩能力 Kerberos数据库 KDC必需一个数据库 保存以下基本信息Name principal sidentifierKey principal ssecretkeyP kvno

12、principal skeyversionMax life maximumlifetimeforticketsMax renewable life 其他的扩展fields数据库的实现取决于具体的Kerberos实现 它可以与KDC位于不同的服务器 但是要保证安全性 Kerberos 数据完整性和私有性 完整性对每一个包计算检验和 并加密HMAC算法私有性既然客户和服务器已经有了共享随机密钥 那么私有性就很容易保证 Kerberos中加密算法规范 具体的算法可以在参数中指定NULLEncryptionsystemDESinCBCmodewithaCRC 32checksumDESinCBCmod

13、ewithaMD4checksumDESinCBCmodewithaMD5checksum 关于Kerberos的一些讨论 重放攻击Cachingauthenticators时间服务口令猜测攻击数据加密算法的分离 参考 Bel90 S M BellovinandM Merritt LimitationsoftheKerberosAuthenticationSystem ComputerCommunicationsReview20 5 pp 119 132 October1990 Kerberos的实现 MITrelease MIT提供了完整的Kerberos实现目前的最新版本为1 2源码开放是

14、其他厂商的重要参考支持各种平台 包括Windows 同时提供了各种工具 k系列 kadmin 管理Kerberos数据库 功能有显示principal的属性获得principal列表增加 删除或者修改principal修改口令策略管理 Kadmin举例 shell kadminkadmin getprincjennifer rootPrincipal jennifer root ATHENA MIT EDUKeyversion 3Maximumlife 1day00 00 00Maximumrenewablelife 7days00 00 00Masterkeyversion 1Expires

15、 MonJan1822 14 07EDT2038Passwordexpires MonSep1914 40 00EDT1996Passwordlastchanged MonJan3102 06 40EDT1996Lastmodified byjoeadmin admin ATHENA MIT EDUonWedJul1318 27 08EDT1996Attributes DISALLOW FORWARDABLE DISALLOW PROXIABLE REQUIRES HW AUTHSalttype DEFAULTkadmin kdb5 util 功能把kerberos数据库dump出来恢复ker

16、beros数据库创建或者删除一个kerberos数据库 kinit kinit获得一个ticket例如 shell kinitPasswordforjennifer ATHENA MIT EDU Typejennifer spasswordhere shell 如果口令不正确 则 shell kinitPasswordforjennifer ATHENA MIT EDU Typethewrongpasswordhere kinit Passwordincorrectshell klist 列出所有的tickets shell klistTicketcache tmp krb5cc ttypaDefaultprincipal jennifer ATHENA MIT EDUValidstartingExpiresServiceprincipal06 07 9619 49 2106 08 9605 49 19krbtgt ATHENA MIT EDU ATHENA MIT EDU06 07 9620 22 3006 08 9605 49 19host daffodil mit edu ATH

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号