CISSP的成长之路(二十四)(4)
报名入口来源:中国教育在线 2022-06-01
CISSP的成长之路(二十四)(4)
Kerberos协议的设计中,有如下的四个需求:
◆安全:即使网络通信被非法用户监听,也不会泄漏能够危害合法用户的信息;
◆可靠性:能够提供可靠的服务,在必要时可以使用分布式的部署方式;
◆透明:在需要用户交互的初始验证之后,用户无需关心接下去的验证过程是如何进行的;
◆适应性:能够适应小规模或大规模的网络部署。
Kerberos协议包含了许多组成部分,有兴趣的朋友可以在RFC1510中找到更为详细的描述。为了大家能够更容易的理解Kerberos的实现机制,J0ker在下面介绍了Kerberos实现提供功能的几个步骤:
1)用户保存有和KDC一致的一对密钥,应用服务器与KDC也保存有相同的一对密钥。如果用户要访问应用服务器,必须首先向KDC发出验证请求,KDC回应请求并发送给用户一个访问票据和一个会话密钥。这时候,KDC兼具验证服务器(AS)和票据分发服务(Ticket Granting Service,TGS)这两个功能。
2)用户在包含有Kerberos客户端的本地工作站上输入用户名和密码,Kerberos客户端将使用用户输入的密码生成一个临时存储于本地的密钥,并将用户名传送给TGS以获取一个票据获取凭证(Ticket Granting Ticket)
3)TGS向用户返回使用用户密钥加密一个客户端会话密钥(TGS-Client Session Key,KTGSC)和使用TGS的密钥加密过的TGT,此时用户将会被提示输入密码,以解密KTGSC。
4)当用户需要使用某个特定的资源时,用户的系统会向KDC发送用在上一步获取的会话密钥加密过的访问请求,访问请求包含有用户的时间信息和验证标志。
5)KDC将用户的访问请求转发给资源,资源解密会话密钥,并使用会话密钥来解密访问请求中包含的信息。如果访问请求中的信息和资源的授权信息相符,则用户可以使用该资源。因为所有的验证信息都有时间戳,因此可以执行超时操作。
Kerberos服务的可靠程度取决于用户是如何部署Kerberos的,Kerberos需要在整个网络中进行时间同步,如果用户减小授权票据的存活时间,将可以降低入侵者通过替换票据获取访问权限的风险。此外,由于Kerberos服务中的KDC保存了所有客户端的访问密钥,因此,KDC需要在物理和网络安全上进行双重的加固,以保证整个网络的安全。
使用Kerberos服务的另外一个局限性是,客户端上软件需要有Kerberos支持或有对应的客户端。