Skip to main content

Kerberos 介绍

学前必看

介绍

Kerbero 是一种网络认证协议, 设计目标是通过密钥系统为 客户端、服务端和应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下, Kerberos 作为一 种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥) 执行认证服务的。

参与角色

  1. KDC: KDC(Key Distribution Center,密钥分发中心)是负责Kerberos协议的主要服务。它包含 Active Directory 环境中所有客户端和服务帐户的信息和密码哈希。这些密码哈希值在 Kerberos 协议期间用作共享密钥

    1. Authentication Service (AS) : 它是密钥分发中心中负责认证步骤的模块。该模块通过检查客户端是否在Active Directory域(Domain)、提供的密码是否正确等信息来对客户端进行身份验证
    2. Ticket Granting Service (TGS): 该模块为经过身份验证的客户端提供必要票证的创建、验证和管理
    3. KRBTGT : 它是提供密钥分发中心服务管理的用户帐户。该用户的密码哈希用于加密某些票证(TGT)
    4. Account Database : 存储所有客户端的白名单 , 只有存在于白名单的客户才能申请 TGT (也可以理解为就是域内用户列表)
  2. 客户端:发起认证以访问服务的对象, 可以是用户账号也可以是机器账号

  3. 服务端:客户端想要访问的服务, 管理这些服务的用户、计算机对象也被称为服务账号