Kerberos基础概念
目录
1. 各自的英文定义及其中文翻译
- Authenticator:A component used for identity verification in Kerberos.(身份验证器)
- KDC:The Key Distribution Center, the core component of Kerberos responsible for authentication and authorization.(密钥分发中心)
- TGS:Ticket Granting Service, a component responsible for issuing service tickets in Kerberos.(票据授权服务)
- AS:Authentication Service, a component responsible for initial authentication requests and issuing TGTs in Kerberos.(认证服务)
- KDC Server:The server running the KDC component, responsible for handling Kerberos authentication and ticket issuance tasks.(KDC服务器)
- Realm:A namespace for a set of security principals in Kerberos.(安全凭据命名空间)
- Principal:An identity in Kerberos, which can be a user, service, or host, etc.(Kerberos中的身份)
- Keytab:A file that stores encrypted credentials (keys) for authentication in Kerberos.(存储加密凭据的文件)
- Credential:A set of information that represents a user’s identity in Kerberos.(用户身份的一组信息)
- Ticket:A certificate representing an authenticated user in Kerberos.(许可证)
- Kadmin:The Kerberos administration server used for managing the Kerberos database.(Kerberos管理服务器)
- TGT:Ticket Granting Ticket, a ticket in Kerberos that represents a user’s identity.(票据授权票据)
- Server:A service or host that can be authenticated and authorized in Kerberos.(服务端)
- Kerberos Client:A client that uses the Kerberos protocol for authentication.(Kerberos客户端)
- KDC Admin Account:An administrative account used for managing the Kerberos database.(KDC管理员帐户)
2. 各自用法及其多个示例
-
Authenticator:
- 用法:Authenticator用于身份验证,并生成Ticket。
- 示例:
- 用户进行身份验证并生成Authenticator:
kinit user@EXAMPLE.COM
- 使用Authenticator进行服务访问:
kvno service/host@EXAMPLE.COM
- 用户进行身份验证并生成Authenticator:
-
KDC:
- 用法:KDC是Kerberos的核心组件,负责身份认证和票据颁发。
- 示例:KDC处理客户端的身份验证请求,并为通过验证的用户颁发票据以便访问受保护资源。
-
TGS:
- 用法:TGS负责颁发服务票据,授权用户访问特定服务。
- 示例:用户在获取TGT后,使用TGT向TGS请求服务票据以访问特定服务。
-
AS:
- 用法:AS负责处理初始身份验证请求,并颁发TGT。
- 示例:用户进行初始身份验证时,与AS通信以获取TGT。
-
KDC Server:
- 用法:KDC Server指运行KDC组件的服务器,负责处理Kerberos的身份验证和票据颁发等任务。
- 示例:部署KDC组件并配置网络设置。
-
Realm:
- 用法:Realm用于标识身份域,用于区分不同的Kerberos实体。
- 示例:
EXAMPLE.COM
作为一个Realm。MYREALM.NET
作为另一个Realm。
-
Principal:
- 用法:Principal用于表示在Kerberos中的身份,可以是用户、服务或主机等。
- 示例:
user@EXAMPLE.COM
作为一个Principal。service/host@MYREALM.NET
作为另一个Principal。
-
Keytab:
- 用法:Keytab用于存储加密凭据,供服务端进行身份认证。
- 示例:
- 使用kadmin命令生成Keytab文件:
kadmin -q "ktadd -k keytabfile principal"
- 生成名为
service.keytab
的Keytab文件:kadmin -q "ktadd -k service.keytab service/host@EXAMPLE.COM"
- 使用kadmin命令生成Keytab文件:
-
Credential:
- 用法:Credential是Kerberos中表示用户身份的一种凭据,包含了TGT和相关信息。
- 示例:
- 当用户通过身份验证后,生成一个Credential:
kinit user@EXAMPLE.COM
- 使用Credential访问受保护资源:
klist
- 当用户通过身份验证后,生成一个Credential:
-
Ticket:
- 用法:Ticket是已通过身份验证的用户的许可证,用于访问受保护的资源。
- 示例:
- 用户通过身份验证后,获得一个Ticket:
kinit user@EXAMPLE.COM
- 使用Ticket访问受限资源:
klist
- 用户通过身份验证后,获得一个Ticket:
-
Kadmin:
- 用法:Kadmin用于管理Kerberos数据库和执行管理操作。
- 示例:
- 创建Principal:
kadmin -q "addprinc user@EXAMPLE.COM"
- 生成Keytab文件:
kadmin -q "ktadd -k keytabfile principal"
- 创建Principal:
-
TGT:
- 用法:TGT是用于获取其他服务票据的票据。
- 示例:用户通过身份验证后,获得一个TGT,用于获取其他受保护资源的许可证。
-
Server:
- 用法:Server是可以在Kerberos中进行身份验证和授权的服务或主机。
- 示例:配置服务使用Kerberos协议进行身份验证并授权访问。
-
Kerberos Client:
- 用法:Kerberos Client指使用Kerberos协议进行身份验证的客户端,可以是用户或服务。
- 示例:配置客户端以支持Kerberos协议,并使用Kerberos客户端与KDC进行身份验证。
-
KDC Admin Account:
- 用法:KDC Admin Account指用于管理Kerberos数据库和执行管理操作的管理员帐户。
- 示例:使用KDC Admin Account登录到Kadmin管理界面,执行各种管理操作。
3. 主要区别
- Authenticator用于身份验证,并生成Ticket;KDC是负责认证和授权的核心组件;TGS负责颁发服务票据;AS负责处理初始身份验证请求并颁发TGT。
- KDC Server是运行KDC组件的服务器;Realm是安全凭据的命名空间;Principal是Kerberos中的身份;Keytab是存储加密凭据的文件;Credential是表示用户身份的一组信息;Ticket是已通过身份验证的用户的许可证;Kadmin是用于管理Kerberos数据库和执行管理操作的服务器;TGT是用于获取其他服务票据的票据。
- Server是可以在Kerberos中进行身份验证和授权的服务或主机;Kerberos Client是使用Kerberos协议进行身份验证的客户端;KDC Admin Account是用于管理Kerberos数据库和执行管理操作的管理员帐户。