SecCourse-05安全基础.ppt
《SecCourse-05安全基础.ppt》由会员分享,可在线阅读,更多相关《SecCourse-05安全基础.ppt(64页珍藏版)》请在三一办公上搜索。
1、网络与信息安全安全基础(二),潘爱民,北京大学计算机研究所http:/,内容,Kerberos协议Kerberos中ticket的flagKerberos实现MIT ReleaseWin2k KerberosIPSec简介,Kerberos认证协议,历史80年代中期是MIT的Athena工程的产物版本前三个版本仅用于内部第四版得到了广泛的应用第五版于1989年开始设计RFC 1510,1993年确定标准Kerberos解决的问题认证、数据完整性、保密性,作为一种认证协议,特点基于口令的认证协议利用对称密码技术建立起来的认证协议可伸缩性可适用于分布式网络环境环境特点User-to-server
2、authentication密钥存储方案,Kerberos协议中一些概念,Principal(安全个体)被认证的个体,有一个名字(name)和口令(password)KDC(Key distribution center)是一个网络服务,提供ticket和临时的会话密钥Ticket一个记录,客户可以用它来向服务器证明自己的身份,其中包括客户的标识、会话密钥、时间戳,以及其他一些信息。Ticket 中的大多数信息都被加密,密钥为服务器的密钥Authenticator一个记录,其中包含一些最近产生的信息,产生这些信息需要用到客户和服务器之间共享的会话密钥Credentials一个ticket加上一
3、个秘密的会话密钥,Kerberos Model,基本的ticket交换Client-KDCc(客户的id),s(服务器的id),n(nonce)KDC-ClientKc,s,nKc,Tc,sKsClient-ServerAcKc,s,Tc,sKs,基本的ticket交换的问题,客户个体密钥Kc的频繁使用Kc的使用对于用户尽可能透明可伸缩性方案引入TGS(Ticket-granting server),附加的ticket交换,引入TGS(Ticket-granting service)两种ticketTGT:Tc,tgsKtgsService ticket:Tc,sKs,支持可伸缩性的两个概念,
4、TGSTicket-granting serviceRealm(域)与domain的区别?每一个安全个体都与一个realm相联系从安全性意义上来,是指信任边界,Kerberos中ticket示意图,Kerberos消息(1),Client-Authentication Server(KDC)Options:KDCOptionsIDc:principals nameRealmc:clients realmIDtgs:TGSs nameTimes(from,till,rtime)Nonce1可选的扩展信息,Kerberos消息(2),Authentication Server(KDC)-Clien
5、tRealmcIDcTickettgsEncryptedData(with Kc)Kc,tgsTimes(LastReq,Key-expiration*,Authtime,Starttime*,Endtime,Renew-till*)Nonce1RealmtgsIDtgs,Tickettgs信息,Encrypted with KtgsFlagsKc,tgsRealmcIDcADcTimes,Kerberos消息(3),C-TGSOptions:KDCOptionsIDv:Servers nameTimes(from*,till,rtime*)Nonce2TickettgsAuthenticat
6、orc,Authenticator,Encrypted with Kc,tgsIDcRealmcTS1用途是服务器可用来认证Ticket的有效性TS可告诉服务器客户机当前的时间,Kerberos消息(4),TGS-CRealmcIDcTicketvEncryptedData(with Kc,tgs)Kc,vTimesNonce2RealmvIDv,Ticketv信息,Encrypted with KvFlagsKc,vRealmcIDcADcTimes,Kerberos消息(5),C-ServerOptionsTicketvAuthenticatorcAuthenticaor:Encrypte
7、d with Kc,vRealmcIDcTS2SubkeySeq#,Kerberos消息(6),Server-C(optional)仅用于双向认证EncryptedData(with Kc,v)TS2SubkeySeq#,Ticket交换中的flags,INITIAL是由AS发出的ticketRENEWABLE告诉TGS,当这个ticket过期之后,它可以用来获得一个新的ticketMAY-POSTDATE告诉TGS,以后可以根据这个ticket(TGT),发出一个postdate的ticketPOSTDATED表示这个ticket已经被postdated,ticket中的flags(续),I
8、NVALIDTicket已经无效,用之前必须先使它有效PROXIABLE告诉TGS,根据所出示的ticket,发出一个地址不同的新ticketPROXY表示这是一个proxy ticketFORWARDABLE告诉TGS,根据这个TGT,发出一个地址不同的新ticketFORWARDED表明这个ticket是一个forwarded ticket,INITIAL,表明一个ticket是由AS发出的有的应用服务要求客户必须知道password,那么它可以要求只接受包含INITIAL标记的ticket例如,修改口令的应用服务,PRE-AUTHENT&HW-AUTHENT,AS可以要求在发出ticke
9、t之前,先认证客户,因 此,客户必须提供一个预认证数据块,比如,包含随机数、时间戳,等,然后用客户的私钥加密如果客户没有提供AS所要求的预认证数据,则AS返回一个KDC_ERR_PREAUTH_FAILE消息如果AS在认证的时候,要求硬件认证支持,则可以指定HW-AUTHEN标记,RENEWABLE,如果一个ticket设置了RENEWABLE,则它包含两个过期时间一个是当前ticket的过期时间另一个是最终的过期时间客户可以请求一个新的ticket,只要在最终的过期时间之内,TGS都可以发出新的ticket,其中过期时间往后延长好处如果一个ticket被偷,TGS可以拒绝发出新的ticket
10、,POSTDATED和INVALID,客户可以先用MAY-POSTDATE向AS请求一个TGT然后,客户利用这个TGT,可以申请一些同时包含POSTDATED和INVALID的tickets,用于以后的会话过程客户在使用之前,通过VALIDATE option,先请求TGS使INVALID ticket有效用处:比如在一个处理时间很长的任务中,PROXIABLE和PROXY,PROXIABLE告诉TGS,根据所出示的ticket,发出一个地址不同的新ticketPROXY表示这是一个proxy ticket用处允许客户把一个proxy传递给server,让这个proxy代替自己完成特定的任务原
11、理通过网络地址来认证客户,FORWARDABLE&FORWARDED,告诉TGS,根据这个TGT,发出一个地址不同的新ticketFORWARDED表明这个ticket是一个forwarded ticket其实也是proxy的一种情形可以完全代替客户的身份一个用途在跨域认证的时候,客户可以把这样的ticket出示给其他域的TGS,这使得客户可以访问其他域的服务器,Cross-realm认证,Kerberos 4支持跨realm认证,Cross-realm认证(续),Kerberos 5支持跨realm认证提供了可伸缩能力,Kerberos数据库,KDC必需一个数据库,保存以下基本信息Name:
12、principals identifierKey:principals secret keyP_kvno:principals key versionMax_life:maximum lifetime for ticketsMax_renewable_life:其他的扩展fields数据库的实现取决于具体的Kerberos实现,它可以与KDC位于不同的服务器,但是要保证安全性,Kerberos:数据完整性和私有性,完整性对每一个包计算检验和,并加密HMAC算法私有性既然客户和服务器已经有了共享随机密钥,那么私有性就很容易保证,Kerberos中加密算法规范,具体的算法可以在参数中指定NULL
13、Encryption systemDES in CBC mode with a CRC-32 checksumDES in CBC mode with a MD4 checksumDES in CBC mode with a MD5 checksum,关于Kerberos的一些讨论,重放攻击Caching authenticators时间服务口令猜测攻击数据加密算法的分离,参考:Bel90.S.M.Bellovin and M.Merritt,Limitations of the Kerberos Authentication System,Computer Communications Re
14、view 20(5),pp.119-132(October 1990).,Kerberos的实现MIT release,MIT提供了完整的Kerberos实现目前的最新版本为1.2源码开放是其他厂商的重要参考支持各种平台(包括Windows)同时提供了各种工具(k系列),kadmin,管理Kerberos数据库,功能有显示principal的属性获得principal列表增加、删除或者修改principal修改口令策略管理,Kadmin举例,shell%kadminkadmin:getprinc jennifer/rootPrincipal:jennifer/rootATHENA.MIT.ED
15、UKey version:3Maximum life:1 day 00:00:00Maximum renewable life:7 days 00:00:00Master key version:1Expires:Mon Jan 18 22:14:07 EDT 2038Password expires:Mon Sep 19 14:40:00 EDT 1996Password last changed:Mon Jan 31 02:06:40 EDT 1996Last modified:by joeadmin/adminATHENA.MIT.EDUon Wed Jul 13 18:27:08 ED
16、T 1996Attributes:DISALLOW_FORWARDABLE,DISALLOW_PROXIABLE,REQUIRES_HW_AUTHSalt type:DEFAULTkadmin:,kdb5_util,功能把kerberos数据库dump出来恢复kerberos数据库创建或者删除一个kerberos数据库,kinit,kinit获得一个ticket例如,shell%kinitPassword for jenniferATHENA.MIT.EDU:-Type jennifers password here.shell%如果口令不正确,则:shell%kinitPassword fo
17、r jenniferATHENA.MIT.EDU:-Type the wrong password here.kinit:Password incorrectshell%,klist,列出所有的tickets,shell%klistTicket cache:/tmp/krb5cc_ttypaDefault principal:jenniferATHENA.MIT.EDUValid starting Expires Service principal06/07/96 19:49:21 06/08/96 05:49:19 krbtgt/ATHENA.MIT.EDUATHENA.MIT.EDU06/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SecCourse 05 安全 基础
链接地址:https://www.31ppt.com/p-6518732.html