1、1身份认证协议 KerberosnMIT开发的一种身份鉴别服务。n“Kerberos”的本意是希腊神话中守护地狱之门的守护者。nKerberos提供了一个集中式的认证服务器结构,认证服务器的功能是实现用户与其访问的服务器间的相互鉴别。n其实现采用的是对称密钥加密技术2Kerberos 系统 nAS:认证服务器AS(Authenticator Server)nTGS:票据许可服务器TGS(Ticket Granting Server)nClient:客户nServer:服务器34记号 Kerberos的记号C客户S服务器ADc客户的网络地址Lifetime票据的生存期TS时间戳Kxx的秘密密钥K
2、x,yx与y的会话密钥Kxm以x的秘密密钥加密的mTicketxx的票据Authenticatorxx的鉴别码5共享的密钥nTGS与S共享长期密钥KsnAS与TGS共享长期密钥KtgsnAS与C共享长期密钥Kcn会话密钥Kc,tgs,Kc,s6Kerberos凭证 n票据(ticket):Ticket用来安全的在认证服务器和用户请求的服务之间传递用户的身份,同时也传递附加信息。用来保证使用ticket的用户必须是Ticket中指定的用户。Ticket一旦生成,在生存时间指定的时间内可以被client多次使用来申请同一个server的服务。n鉴别码(authenticator):提供信息与Tic
3、ket中的信息进行比较,一起保证发出Ticket的用户就是Ticket中指定的用户。Authenticator只能在一次服务请求中使用,每当client向server申请服务时,必须重新生成Authenticator。7Kerberos中的票据n两种票据n服务许可票据(Service granting ticket)n是客户请求服务时需要提供的票据;n用 TicketS 表示访问应用服务器 S 的票据,TGS发放nTicketS 定义为 EKS IDCADCIDSTS2LT4。n票据许可票据(Ticket granting ticket)n客户访问 TGS 服务器需要提供的票据,目的是为了申请
4、某一个应用服务器的“服务许可票据”;n票据许可票据由 AS 发放;n用 Tickettgs 表示访问 TGS 服务器的票据;nTickettgs 在用户登录时向 AS 申请一次,可多次重复使用;nTickettgs 定义为 EKtgs IDCADCIDtgsTS1LT2。8Kerberos V4认证过程示意图 9Kerberos V4认证过程(1)n第一阶段,认证服务器的交互,用于获取票据许可票据:(1)C AS:IDCIDtgsTS1(2)AS C:EKc KC,tgsIDtgsTS2LT2Tickettgs 其中:Tickettgs=EKtgs KC,tgsIDCADCIDtgsTS2LT
5、210Kerberos V4认证过程(2)n第二阶段,票据许可服务器的交互,用于获取服务许可票据:(3)C TGS:IDSTickettgsAUC(4)TGS C:EKc,tgs KC,SIDSTS4TicketS 其中:Tickettgs =EKtgs KC,tgsIDCADCIDtgsTS2LT2TicketS =EKS KC,SIDCADCIDSTS4LT4AUC =EKc,tgs IDCADCTS311Kerberos V4认证过程(3)n第三阶段,客户与应用服务器的交互,用于获得服务:(5)C S:TicketSAUC(6)S C:EKc,S TS5+1其中:TicketS =EKS
6、 KC,SIDCADCIDSTS4LT4 AUC =EKc,S IDCADCTS512Kerberos 域(realm)n构成:一个完整的 Kerberos 环境包括一个 Kerberos 服务器,一组工作站和一组应用服务器。nKerberos 服务器数据库中拥有所有参与用户的 UID 和口令散列表。nKerberos服务器必须与每一个服务器之间共享一个保密密钥。n所有用户均在 Kerberos 服务器上注册。n所有服务器均在 Kerberos 服务器上注册。n领域的划分是根据网络的管理边界来划定的。13Kerberos 域间的互通n跨域的服务访问n一个用户可能需要访问另一个 Kerberos 领域中应用服务器;n一个应用服务器也可以向其他领域中的客户提供网络服务。n域间互通的前提n 支持不同域之间进行用户身份鉴别的机制;n 互通域中的 Kerberos 服务器之间必须共享一个密钥;n 同时两个 Kerberos 服务器也必须进行相互注册。14 远程服务访问的认证过程