SecCourse-05安全基础.ppt

上传人:max****ui 文档编号:11497961 上传时间:2020-04-25 格式:PPT 页数:64 大小:1.02MB
返回 下载 相关 举报
SecCourse-05安全基础.ppt_第1页
第1页 / 共64页
SecCourse-05安全基础.ppt_第2页
第2页 / 共64页
SecCourse-05安全基础.ppt_第3页
第3页 / 共64页
点击查看更多>>
资源描述
网络与信息安全安全基础(二),潘爱民,北京大学计算机研究所,内容,Kerberos协议Kerberos中ticket的flagKerberos实现MITReleaseWin2kKerberosIPSec简介,Kerberos认证协议,历史80年代中期是MIT的Athena工程的产物版本前三个版本仅用于内部第四版得到了广泛的应用第五版于1989年开始设计RFC1510,1993年确定标准Kerberos解决的问题认证、数据完整性、保密性,作为一种认证协议,特点基于口令的认证协议利用对称密码技术建立起来的认证协议可伸缩性可适用于分布式网络环境环境特点User-to-serverauthentication密钥存储方案,Kerberos协议中一些概念,Principal(安全个体)被认证的个体,有一个名字(name)和口令(password)KDC(Keydistributioncenter)是一个网络服务,提供ticket和临时的会话密钥Ticket一个记录,客户可以用它来向服务器证明自己的身份,其中包括客户的标识、会话密钥、时间戳,以及其他一些信息。Ticket中的大多数信息都被加密,密钥为服务器的密钥Authenticator一个记录,其中包含一些最近产生的信息,产生这些信息需要用到客户和服务器之间共享的会话密钥Credentials一个ticket加上一个秘密的会话密钥,KerberosModel,基本的ticket交换Client-KDCc(客户的id),s(服务器的id),n(nonce)KDC-ClientKc,s,nKc,Tc,sKsClient-ServerAcKc,s,Tc,sKs,基本的ticket交换的问题,客户个体密钥Kc的频繁使用Kc的使用对于用户尽可能透明可伸缩性方案引入TGS(Ticket-grantingserver),附加的ticket交换,引入TGS(Ticket-grantingservice)两种ticketTGT:Tc,tgsKtgsServiceticket:Tc,sKs,支持可伸缩性的两个概念,TGSTicket-grantingserviceRealm(域)与domain的区别?每一个安全个体都与一个realm相联系从安全性意义上来,是指信任边界,Kerberos中ticket示意图,Kerberos消息(1),Client-AuthenticationServer(KDC)Options:KDCOptionsIDc:principalsnameRealmc:clientsrealmIDtgs:TGSsnameTimes(from,till,rtime)Nonce1可选的扩展信息,Kerberos消息(2),AuthenticationServer(KDC)-ClientRealmcIDcTickettgsEncryptedData(withKc)Kc,tgsTimes(LastReq,Key-expiration*,Authtime,Starttime*,Endtime,Renew-till*)Nonce1RealmtgsIDtgs,Tickettgs信息,EncryptedwithKtgsFlagsKc,tgsRealmcIDcADcTimes,Kerberos消息(3),C-TGSOptions:KDCOptionsIDv:ServersnameTimes(from*,till,rtime*)Nonce2TickettgsAuthenticatorc,Authenticator,EncryptedwithKc,tgsIDcRealmcTS1用途是服务器可用来认证Ticket的有效性TS可告诉服务器客户机当前的时间,Kerberos消息(4),TGS-CRealmcIDcTicketvEncryptedData(withKc,tgs)Kc,vTimesNonce2RealmvIDv,Ticketv信息,EncryptedwithKvFlagsKc,vRealmcIDcADcTimes,Kerberos消息(5),C-ServerOptionsTicketvAuthenticatorcAuthenticaor:EncryptedwithKc,vRealmcIDcTS2SubkeySeq#,Kerberos消息(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,根据所出示的ticket,发出一个地址不同的新ticketPROXY表示这是一个proxyticketFORWARDABLE告诉TGS,根据这个TGT,发出一个地址不同的新ticketFORWARDED表明这个ticket是一个forwardedticket,INITIAL,表明一个ticket是由AS发出的有的应用服务要求客户必须知道password,那么它可以要求只接受包含INITIAL标记的ticket例如,修改口令的应用服务,PRE-AUTHENT&HW-AUTHENT,AS可以要求在发出ticket之前,先认证客户,因此,客户必须提供一个预认证数据块,比如,包含随机数、时间戳,等,然后用客户的私钥加密如果客户没有提供AS所要求的预认证数据,则AS返回一个KDC_ERR_PREAUTH_FAILE消息如果AS在认证的时候,要求硬件认证支持,则可以指定HW-AUTHEN标记,RENEWABLE,如果一个ticket设置了RENEWABLE,则它包含两个过期时间一个是当前ticket的过期时间另一个是最终的过期时间客户可以请求一个新的ticket,只要在最终的过期时间之内,TGS都可以发出新的ticket,其中过期时间往后延长好处如果一个ticket被偷,TGS可以拒绝发出新的ticket,POSTDATED和INVALID,客户可以先用MAY-POSTDATE向AS请求一个TGT然后,客户利用这个TGT,可以申请一些同时包含POSTDATED和INVALID的tickets,用于以后的会话过程客户在使用之前,通过VALIDATEoption,先请求TGS使INVALIDticket有效用处:比如在一个处理时间很长的任务中,PROXIABLE和PROXY,PROXIABLE告诉TGS,根据所出示的ticket,发出一个地址不同的新ticketPROXY表示这是一个proxyticket用处允许客户把一个proxy传递给server,让这个proxy代替自己完成特定的任务原理通过网络地址来认证客户,FORWARDABLE&FORWARDED,告诉TGS,根据这个TGT,发出一个地址不同的新ticketFORWARDED表明这个ticket是一个forwardedticket其实也是proxy的一种情形可以完全代替客户的身份一个用途在跨域认证的时候,客户可以把这样的ticket出示给其他域的TGS,这使得客户可以访问其他域的服务器,Cross-realm认证,Kerberos4支持跨realm认证,Cross-realm认证(续),Kerberos5支持跨realm认证提供了可伸缩能力,Kerberos数据库,KDC必需一个数据库,保存以下基本信息Name:principalsidentifierKey:principalssecretkeyP_kvno:principalskeyversionMax_life:maximumlifetimeforticketsMax_renewable_life:其他的扩展fields数据库的实现取决于具体的Kerberos实现,它可以与KDC位于不同的服务器,但是要保证安全性,Kerberos:数据完整性和私有性,完整性对每一个包计算检验和,并加密HMAC算法私有性既然客户和服务器已经有了共享随机密钥,那么私有性就很容易保证,Kerberos中加密算法规范,具体的算法可以在参数中指定NULLEncryptionsystemDESinCBCmodewithaCRC-32checksumDESinCBCmodewithaMD4checksumDESinCBCmodewithaMD5checksum,关于Kerberos的一些讨论,重放攻击Cachingauthenticators时间服务口令猜测攻击数据加密算法的分离,参考:Bel90.S.M.BellovinandM.Merritt,LimitationsoftheKerberosAuthenticationSystem,ComputerCommunicationsReview20(5),pp.119-132(October1990).,Kerberos的实现MITrelease,MIT提供了完整的Kerberos实现目前的最新版本为1.2源码开放是其他厂商的重要参考支持各种平台(包括Windows)同时提供了各种工具(k系列),kadmin,管理Kerberos数据库,功能有显示principal的属性获得principal列表增加、删除或者修改principal修改口令策略管理,Kadmin举例,shell%kadminkadmin:getprincjennifer/rootPrincipal:jennifer/rootATHENA.MIT.EDUKeyversion:3Maximumlife:1day00:00:00Maximumrenewablelife:7days00:00:00Masterkeyversion:1Expires:MonJan1822:14:07EDT2038Passwordexpires:MonSep1914:40:00EDT1996Passwordlastchanged:MonJan3102:06:40EDT1996Lastmodified:byjoeadmin/adminATHENA.MIT.EDUonWedJul1318:27:08EDT1996Attributes:DISALLOW_FORWARDABLE,DISALLOW_PROXIABLE,REQUIRES_HW_AUTHSalttype:DEFAULTkadmin:,kdb5_util,功能把kerberos数据库dump出来恢复kerberos数据库创建或者删除一个kerberos数据库,kinit,kinit获得一个ticket例如,shell%kinitPasswordforjenniferATHENA.MIT.EDU:-Typejenniferspasswordhere.shell%如果口令不正确,则:shell%kinitPasswordforjenniferATHENA.MIT.EDU:-Typethewrongpasswordhere.kinit:Passwordincorrectshell%,klist,列出所有的tickets,shell%klistTicketcache:/tmp/krb5cc_ttypaDefaultprincipal:jenniferATHENA.MIT.EDUValidstartingExpiresServiceprincipal06/07/9619:49:2106/08/9605:49:19krbtgt/ATHENA.MIT.EDUATHENA.MIT.EDU06/07/9620:22:3006/08/9605:49:19host/daffodil.mit.eduATHENA.MIT.EDU06/07/9620:24:1806/08/9605:49:19krbtgt/FUBAR.ORGATHENA.MIT.EDU06/07/9620:24:1806/08/9605:49:19host/trillium.fubar.orgATHENA.MIT.EDUshell%,kpasswd,修改口令,shell%kpasswdOldpasswordfordavid:-Typeyouroldpassword.NewPasswordfordavid:-Typeyournewpassword.Verifying,pleasere-enterNewPasswordfordavid:-Typethenewpasswordagain.Passwordchanged.shell%,Kerberos应用:telnet,shell%telnetdaffodil.mit.eduTrying128.0.0.5.Connectedtodaffodil.mit.edu.Escapecharacteris.NetBSD/i386(daffodil)(ttyp3)login:davidPassword:cdjennifer/MAIL250CWDcommandsuccessful.ftpgetRMAIL227EnteringPassiveMode(128,0,0,5,16,49)150OpeningBINARYmodedataconnectionforRMAIL(361662bytes).226Transfercomplete.361662bytesreceivedin2.5seconds(1.4e+02Kbytes/s)ftpquitshell%,其他Kerberos命令,kdestroyrshksurcp,Kerberos配置文件,krb5.conf,Kerberos配置信息,例如,libdefaultsticket_lifetime=600default_realm=ATHENA.MIT.EDUdefault_tkt_enctypes=des3-hmac-sha1des-cbc-crcdefault_tgs_enctypes=des3-hmac-sha1des-cbc-crcrealmsATHENA.MIT.EDU=kdc=kerberos.mit.edukdc=kerberos-1.mit.edukdc=kerberos-2.mit.eduadmin_server=kerberos.mit.edudefault_domain=mit.eduFUBAR.ORG=kdc=kerberos.fubar.orgkdc=kerberos-1.fubar.orgadmin_server=kerberos.fubar.orgdomain_realm.mit.edu=ATHENA.MIT.EDUmit.edu=ATHENA.MIT.EDU,Kerberos配置文件,kdc.conf,KDC的配置,例如,kdcdefaultskdc_ports=88realmsATHENA.MIT.EDU=kadmind_port=749max_life=10h0m0smax_renewable_life=7d0h0m0smaster_key_type=des3-hmac-sha1supported_enctypes=des3-hmac-sha1:normaldes-cbc-crc:normaldes-cbc-crc:v4kdc_supported_enctypes=des3-hmac-sha1:normaldes-cbc-crc:normaldes-cbc-crc:v4loggingkdc=FILE:/usr/local/var/krb5kdc/kdc.logadmin_server=FILE:/usr/local/var/krb5kdc/kadmin.log,Kerberos缺省端口配置,ftp21/tcp#Kerberosftpandtelnetusethetelnet23/tcp#defaultportskerberos88/udpkdc#KerberosV5KDCkerberos88/tcpkdc#KerberosV5KDCklogin543/tcp#Kerberosauthenticatedrloginkshell544/tcpcmd#andremoteshellkerberos-adm749/tcp#Kerberos5admin/changepwkerberos-adm749/udp#Kerberos5admin/changepwkrb5_prop754/tcp#Kerberosslavepropagationeklogin2105/tcp#Kerberosauth.&encryptedrloginkrb5244444/tcp#Kerberos5to4tickettranslator,Kerberos协议的实现MS版本,Kerberos代替WindowsNT的NTLM认证协议,是Win2000的默认认证协议,也是Windows2000分布式安全服务的一部分与Windows2000的目录服务集成在一起Kerberos数据库是AD的一部分与系统的授权数据信息结合在一起对MITKerberos作了扩展,也不完全兼容,Win2kKerberos的实现形式,形式:SecurityServiceProvider(SSP)SecuritySupportProviderInterface(SSPI)对上层应用透明,Win2kKerberos的Ticket结构,Ticket交换,登录,访问远程服务,Win2kKerberosDelegation,ServerS代表客户申请一个新的ticket利用ticket的FORWARD标志特性,Win2kKerberos跨域认证,关于Win2kKerberos,功能实现了可传递的域信任关系实现了服务的delegation与其他的系统服务之间的集成兼容性问题与MIT采用的默认算法不同,不过,可以协商MIT使用DES,MS使用RC4口令的散列算法不同MIT使用一个string-to-key算法,MS使用MD4授权域信息不兼容安全个体的映射关系,IPSec,网络层安全性着眼:真实性(认证)、完整性和保密性好处:对于应用层透明可以针对链路,也可以针对最终用户可以实现在防火墙或者路由器上弥补IPv4在协议设计时缺乏安全性考虑的不足IETF成立专门的WG标准化IPSec目前已有一系列的RFC和InternetDraft文档结构复杂,IPSecurity示意图,IPSec的应用,通过Internet建立分支机构通过Internet远程访问企业内部网络合作伙伴之间通过Internet建立信任关系也可用于电子商务应用IPSec最常见的应用VPN,IPSec的内容,协议包括两大部分AH:AuthenticationHeaderESP:EncapsulatingSecurityPayload密钥管理(KeyManagement)SA(SecurityAssociation)ISAKMP定义了密钥管理框架IKE是目前正式确定的密钥交换协议,SA(SecurityAssociation),基本概念是发送者和接收者两个IPSec系统之间的一个简单的单向逻辑连接,是与给定的一个网络连接或一组网络连接相关联的安全信息参数集合因为SA是单个方向的,所以,对于一个双向通信,则需要两个SASA与IPSec系统中实现的两个数据库有关安全策略数据库安全关联数据库,AH(AuthenticationHeader),为IP包提供数据完整性和认证功能利用MAC码实现认证,双方必须共享一个密钥认证算法由SA指定两种认证模式:传输模式:不改变IP地址,插入一个AH隧道模式:生成一个新的IP头,把AH和原来的整个IP包放到新IP包的净荷数据中,AH两种模式示意图,ESP(EncapsulatingSecurityPayload),提供保密功能,也可以提供认证服务将需要保密的用户数据进行加密后再封装到IP包中,ESP只认证ESP头之后的信息认证算法也由SA指定也有两种模式:传输模式和隧道模式,ESP两种模式示意图,经认证的数据,经加密的数据,(1)传输模式,参考资料,书WilliamStallings,Cryptographyandnetworksecurity:principlesandpractice,SecondEdition文章RFC1510Bel90.S.M.BellovinandM.Merritt,LimitationsoftheKerberosAuthenticationSystem,ComputerCommunicationsReview20(5),pp.119-132(October1990).JohnT.Kohl,B.CliffordNeuman,TheodoreY.Tso,“TheEvolutionoftheKerberosAuthenticationService”,ProceedingsoftheSpring1991EurOpenConferenceB.CliffordNeumanandTheodoreTso,“Kerberos:AnAuthenticationServiceforComputerNetworks”,IEEECommunicationsMagazine,Volume32,Number9,pages33-38,September1994.DavidChappel,“ExploringKerberos,theProtocolfordistributedsecurityinWindows2000”,MicrosoftsystemsJournal,Aug.1999Web站点http:/web.mit.edu/kerberos/www/,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!