Internet安全协议与分析:Kerberos协议_第1页
Internet安全协议与分析:Kerberos协议_第2页
Internet安全协议与分析:Kerberos协议_第3页
Internet安全协议与分析:Kerberos协议_第4页
Internet安全协议与分析:Kerberos协议_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

Internet安全协议与标准

Kerberos协议问题如何在一个企业内实施安全认证?SingleSignOnTheabilitytologononce,Withasinglesetofcredentials,AndaccessallsystemsandonlineresourcestowhichyouareentitledSSO的必要性(用户视角)VPNInternetUserAccount/CredentialsemailWebServiceFileShareB2BMainframeUNIXApp1,一个用户的多个证书2,多次登录3,效用4,风险SSO的必要性(软件R&D视角)VPNInternetemailWebServiceFileShareB2BMainframeUNIXAppAccountDirectory问题:帐户密码管理用户审计部署企业应用本次课程教学安排Kerberos协议原理Kerberos的脆弱性Windows下的Kerberos应用补充材料:sso,java+Kerberos应用Kerberos协议原理缘起TheKerberosmodelisbasedinpartonNeedhamandSchroeder'strustedthird-partyauthenticationprotocolandonmodificationssuggestedbyDenningandSaccoKerberos协议源自

Needham-Schroeder的一种认证协议.软件KerberosV5.MITProjectAthena的产物RFC1510–KerberosV5(1992).集成到Windows2000+.集成到Unix的多个版本以及应用中基本概念Principal(安全个体)被认证的个体,有一个名字(name)和口令(password)KDC(Keydistributioncenter)是一个网络服务,提供ticket和临时的会话密钥Ticket一个记录,客户可以用它来向服务器证明自己的身份,其中包括客户的标识、会话密钥、时间戳,以及其他一些信息。Ticket中的大多数信息都被加密,密钥为服务器的密钥Authenticator一个记录,其中包含一些最近产生的信息,产生这些信息需要用到客户和服务器之间共享的会话密钥Credentials一个ticket加上一个秘密的会话密钥KerberosPrincipalsAuthenticationServer(AS)通过long-termkey认证客户AS给予客户ticket

grantingticket

和short-termkey.认证服务.TicketGrantingServer(TGS)通过short-termkey和ticketgrantingticket认证客户.TGS发放tickets

给客户以访问其他的服务器.授权和访问控制服务.动机认证和授权的逻辑分离.虽然AS和TGS物理上常在一起.不同的生命周期:ticketgrantingtickets(typically10hours),sessionticketsforactualaccesstoservices(typically5minutes).方便客户.降低密钥的暴露时间.跨域认证KerberosVersion5上世纪90年代中期研发

标准化为RFC1510基于v4的改进通用性加密算法

v4仅仅

DES,v5扩展网络协议地址:v4IP,v5OSI票据生命周期:v4最大值1280minutes,v5不限制认证转发:v5允许服务器在事务中代表一个客户端访问另一台服务器.KerberosVersion5技术改进双重加密V4中的票据被重复加密消息重放ASClientandTGSClient消息在票据生命周期中或可被重放,V5采用新鲜数采用同一票据的多个cs连接使用相同的会话密钥,因而会遭受重放.v5使用subkey机制.database主体数据库至少含有下列信息:name:Principal'sidentifierkey:Principal'ssecretkeyp_kvno:Principal'skeyversionmax_life:MaximumlifetimeforTicketsmax_renewable_life:MaximumtotallifetimeforrenewableTicketsKDC的建议配置minimumlifetime5minutesmaximumrenewablelifetime1weekmaximumticketlifetime1dayTicket类型Initialandpre-authenticatedticketsInvalidticketsRenewableticketsPostdatedticketsProxiableandproxyticketsForwardabletickets||Realmv小结Kerberos认证方法:本地机器录入密码经由中央KDC认证(1times/day)网上不传输密码SingleSign-on(viaTGS):KDC给予票据TGT,其作用一般维持一天的时间TGT可以用于获取其他的服务票据Kerberos优点密码不易被窃听密码不在网上传输密码猜测更困难SingleSign-on更便捷:一次使用口令登录不用记忆多个口令票据被盗之后难以使用,因为需要配合认证头来使用。Issues缺乏撤销机制:ticketgrantingticketsvaliduntiltheyexpire,typically10hours.Whatifcompromised?密钥管理:withinrealms(domains):long-termkeysneedtobeestablishedbetweenASandTGS,TGSandServersandASandclients.伸缩性:authenticationacrossrealmsiscomplicated.需要时钟同步,protectedagainstattacks.Cachesofrecentmessagestoprotectagainstreplaywithinclockskew.可用性:needforon-lineASandTGS,trustedbyclientsnottoeavesdrop.Issues认证服务器端:1,Kerberosservercanimpersonateanyone2,KDCcouldbeaperformancebottleneckEveryoneneedstocommunicatewithitfrequentlyNotapracticalconcernthesedaysHavingmultipleKDC’salleviatestheproblem客户机:1,Iflocalworkstationiscompromised,user’spasswordcouldbestolenbyatrojanhorseOnlyuseadesktopmachineorlaptopthatyoutrustUsehardwaretokenpre-authentication2,Keystorage:short-termkeysandticketgrantingticketslocatedonlargelyunprotectedclienthosts.Issues口令安全:inmostdeployments,theClient-ASlong-termkeyKAS,CisusuallybasedonpasswordenteredbyuseratstartofsessionKerberosvulnerabletodictionaryattacks–paperbyWuat: /wu99realworld.htmlUltimately,then,securityisdependentonusersandthequalityofthepasswordstheycanbepersuadedtoremember.软件安全:manyfoundovertheyears. /kerberos/www/advisories/Windows下的Kerberos应用UsingKerberosMSWindowsWindowsdomainlogin3rdpartyKerberostoolsWRQReflectionMITKerberosforWindows(KfW)Leash32ExceedUnix,LinuxandMacOSXLinuxKerberostools:kinitklistkdestroyk5pushClients:telnet,ssh,ftprlogin,rsh,windowsWindows2000在win2000的网络认证中采用并扩展了代替了NT4中的WindowsNTLM(unilateralauthentication)扩展:支持公钥加密来保护client/AS消息允许使用基于smartcards的认证win2000另一个扩展:使用了Kerberos数据授权字段(缺省为空)传递Win2K访问控制权限源于ActiveDirectory,以SIDs的形式,消息格式公开,单为微软专有Win2000内的KERBEROS组件KDC:Windows

2000将KeyDistributionCenter(KDC)实施为一domainservice.使用ActiveDirectory

作为帐号数据库并从GlobalCatalog获取用户信息KDCKDC单个进程提供两类服务:AuthenticationService(AS)Ticket-GrantingService(TGS)运行在域控制器LocalSecurityAuthority(LSA)的进程空间内,允许多个起作用,保证可用性主体标识

主体通过一个帐号对象表示.用于和计算机、用户或者服务通信的密钥作为安全主体帐号对象的属性来存储KerberosPolicyEnforceuserlogonrestrictions

Maximumlifetimeforserviceticket.Maximumlifetimeforuserticket.

Maximumlifetimeforuserticketrenewal

Maximumtoleranceforcomputerclocksynchronization.

服务架构KerberosSecuritySupportProviderKerberosauthenticationprotocol:securitysupportprovider(SSP),DLL形式ticketsandkeysobtainedfromtheKDCarestoredinacredentialscache,anareaofvolatilememoryprotectedbytheLSA.Thecredentialscacheisneverpagedtodisk.登出和关机时候销毁。Windows2000的授权机制资源对象,ACL,OS强制执行安全主体分配SIDs:域+随机数用户自身和其所在的SecuritygroupsHowtheKDCPreparesAuthorizationDataSecurityIdentifier(SID)用户申请TGT,KDC查询域内ActiveDirectory.

用户记录含有用户sid的属性和所在安全群组的属性.SID列表放入TGT’s认证数据字段

HowServicesUseAuthorizationData客户使用会话票据请求链接时候,服务要求KerberosSSPtoverifytheclient’scredentials,通过调用bySSPImethodAcceptSecurityContext,传入的参数有:

theclient’ssessionticket;

ahandletotheservice’ssecretkey.SSP验证,打开并传送授权数据给父进程LSA,组装令牌得到确认后,服务将和客户端建立链接,并将令牌挂在ImpersonateSecurityContext进程下。Win2000交互登录域登录的机理登录访问远程服务开始步骤CTRL+ALT+DELWinlogonservice&GINA(MSGINA.DLL)用户输入被转到LSALSA加密缓存并经由KerberosSSP和KDC交互交互过程(1)TheLSAsendsthemessageKRB_AS_REQtotheKDCinWest.

消息包括:主体名称,Alice.

域名,West.Preauthenticationdata,加密密钥基于alice口令产生。交互过程(2)预先认证数据准确的话,theKDCreplieswithKRB_AS_REP.消息含有:Alice访问KDC的会话密钥,.ATGTfortheKDCinWest,由KDC的密钥加密TGT含有:sessionkeyfortheKDCtosharewithAlice.Alice授权数据:Alice帐户的SID及其所属于的安全组的SIDs及其以上二者所在的universalgroups的SIDs交互过程(3)TheLSAsendsthemessageKRB_TGS_REQtotheKDCinWest.

消息包括:

目标计算机名,Bob.

目标计算机域名,West.Alice’sTGT.

认证头.交互过程(4)TheKDCreplieswithKRB_TGS_REP消息包括:

AsessionkeyforAlicetosharewithBob,encryptedwiththesessionkeyAliceshareswiththeKDC.Alice’ssessiontickettoBob,encryptedwiththesecretkeyBobshareswiththeKDC.

会话票据包括: AsessionkeyforBobtosharewithAlice. AuthorizationdatacopiedfromAlice’sTGT.组装本地令牌收到Alice的会话票据LSA解密之并提取出授权数据查询本地SAM数据库,检查Alice是否属于本地安全组及其可能被授予的特权.若有,则将所查询得到的SIDs加入授权数据的列表;据此构造访问令牌,将令牌句柄和alice会话的ID,确

温馨提示

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

评论

0/150

提交评论