FreeBSD 上使用Kerberos 5认证
http://tech.ddvip.com 2006年04月01日 社区交流
本文详细介绍FreeBSD 上使用Kerberos 5认证
Ticket: 一个Ticket是一个用于安全的传递用户身份所需要的信息的集合。它不仅包含该用户的身份,而且包含其它一些相关的信息。一般来说,它主要包括客户方Principal,目的服务方Principal,客户方IP地址,时间戳(分发该Ticket的时间),该Ticket的生存期,以及会话密钥等内容。它的格式亦用ASN.1来准确定义。
Authenticator: 在客户端向服务端进行认证时,伴随Ticket一起发送的另外一个部分,它的作用是证明发送Ticket 的用户就是拥有Ticket的用户,即防止重放攻击。它的主要内容是一个时间戳(客户端发送Ticket的时间),在rfc1510中有它的完整的ASN.1定义。
AS(Authentication Server): 为用户分发TGT(Ticket Granting Ticket)的服务器。
TGT(Ticket Granting Ticket): 用户向TGS(Ticket Granting Server)证明自己身份的Ticket.
TGS(Ticket Granting Server): 为用户分发到最终目的Ticket的服务器,用户使用这个Ticket向自己要求提供服务的服务器证明自己的身份。在实现上,AS和TGS实际上是由同一程序完成的,因为它们的实现机制并没有太大的差别,只是在加密所发出的Ticket时所使用的密钥不同(AS使用用户的密钥,而TGS使用会话密钥)。
KDC(Key Distribution Center):密钥发放中心,通常将AS和TGS统称为KDC,有时也把AS 单独称为KDC。
3.认证过程
1) Client → KDC:用户cnhawk向密钥分配中心(KDC)申请TGT;
2) KDC → Client:通过KDC的用户密码认证,cnhawk得到KDC发放的TGT;
3) Client → KDC:申请取得用户cnhawk所需要的host/s;
4) KDC → Client:KDC根据用户cnhawk提供的TGT,KDC向cnhawk发放host/s;
责编:豆豆技术应用