Kerberos认证原理详解

Kerberos解决什么问题

“Kerberos 服务”是一种客户机/服务器体系结构,用于在网络上提供安全事务。该服务 可提供功能强大的用户验证以及完整性和保密性。通过验证,可保证网络事务的发送 者和接收者的身份真实。

kerberos工作原理

Kerberos认证主要分为两个部分:允许进行后续验证的初始验证以及所有后续验证自身。
具体怎么理解呢?我们可以将生活中的护照申请比喻成第一阶段的初始验证,而我们去办理签证比喻成第二阶段的验证。我们如果要去办理外国签证,我们需要先去办理护照,而一旦护照办理成功了,我们就可以直接去办理签证了,而我们的护照会有时间限制,同样我们的初始验证阶段也可以设置失效日期,一旦初始验证阶段日期失效,则需要重新申请验证方可进行第二阶段的后续验证。

用几个图来理解一下这两个阶段
1.允许进行后续验证的初始验证
在这里插入图片描述

由图可知,通过第一阶段,客户机会从KDC(Key Distribution Center–密钥分发中心)获取允许其获取服务票证的TGT(Ticket-Granting-Ticket–也就是后续所说的Ticket票证),同时开始了Kerberos会话。

2.后续Kerberos验证
在这里插入图片描述

由上图可知,这个阶段会真正的进行kerberos服务的验证了,客户机将第一阶段获取到的TGT发送给KDC,同时告诉KDC他想获取那个服务的票证,KDC会验证客户机发送的TGT,如果该TGT是合法的,则会将服务器票证发送给客户机,然后客户机使用KDC发回的服务器票证向服务器进行验证,同时服务器也发送客户端发过来的TGT向KDC进行验证,如果验证成功,则会允许客户机进行登录并操作。对客户机的TGT发将此处的服务器可以是Kerberos的不同服务了,如ftp,telnet等。

注意:在上述的原理讲述中,我们会涉及两个不同的TGT,一个TGT是允许获取后续服务的TGT,另一个是用于登录不同服务器时用于验证的TGT。只要允许获取后续服务的TGT没失效,则可直接进行第二阶段获取用于登录服务器的验证TGT。

相关术语

名称详解
Ticket也叫票证授予票证或者票据,TGT(ticket-granting ticket),票证是一种信息包,用于将用户身份安全地传递到服务器或服务
KDCKey Distribution Center–密钥分发中心,主要负责颁发凭证
principal也叫Kerberos主体,每张票证都以主体名称标识。主体名称可以标识用户或服务,主体名称分为三个部分:主名称、实例和领域,如joe/admin@ENG.EXAMPLE.COM
Realm也叫领域,是定义属于同一主 KDC 的一组系统的逻辑网络,类似于域

票证生命周期

每当主体获取包括票证授予票证 (ticket-granting ticket, TGT) 在内的票证时,都会将票证的生命周期设置为以下生命周期值中的最小值:
在这里插入图片描述
如图所示,票证的生命周期是 kinit 命令、用户主体、站点缺省值和票证授予者允许的最小值:

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页