kerberos协议 (三头狗)
票据就是token就是令牌,这里token是由kerberos工具签发的,kerberos充当 这个有效token 的权威签发处,kerberos将其签发的客户端身份证token给应用服务器端,告知应用服务器这个客户端 token值是kerberos签发过的是被认证过的,kerberos会同时给通信双方一个会话秘钥在通信双方之间(客户端和应用服务器之间共享),只有这个会话秘钥有效,且通信双方互相能对上,这样的客户端和应用服务器之间才能通信
在希腊神话中Kerberos是守护地狱之门的一条凶猛的三头神犬,Kerberos认证协议是由美国麻省理工学院(MIT)首先提出并实现的
这个定名是贴切的,因为Kerberos认证是一个三路处理过程,依赖称为**分发中心(KDC:key distribute center)的第三方服务来验证计算机相互的身份,并建立**以保证计算机间安全连接。本质上每台计算机分享KDC分发的一个秘钥,而KDC有两个部件:一个Kerberos 认证服务器和一个票据及token授权服务器 ,如果KDC不知道被请求目标服务器,则会求助于另一个KDC来完成认证,多个KDC可以级联互联相互路由到,能够转发请求,它允许在网络上通讯的双方互相证明彼此的身份,并且能够阻止窃听和重放等攻击手段。不仅如此,它还能够提供对通讯数据保密性和完整性的保护。
主体的标识不能频繁地循环使用,通信参与者的身份认证信息不能总是使用一个应该定期换一换这样安全性更高。由于访问控制的典型模式是使用访问控制列表(ACLs)来对主体进行授权。如果一个旧的ACL还保存着已被删除主体的入口,那么攻击者可以重新使用这些被删除的用户标识,就会获得旧ACL中所说明的访问权限。
3 Kerberos认证的工作过程
3.1 Kerberos认证的基本原理
在网络中,认证主要用来解决各个通讯实体之间相互证明彼此身份的问题。对于如何进行认证,我们通常会采用这样的方法:如果一个秘密仅仅由认证方和被认证方知道,认证方可以通过让被认证方提供这个就他两知道的秘密来证明对方的身份。这个过程实际上涉及到认证的三个重要方面:秘密如何表示、被认证方如何向认证方提供秘密、认证方如何识别秘密。
本文中的KServer-Client就是通讯双方共享的秘钥