kerberos认证流程学习
Kerberos认证流程允许用户在不将密码直接传输给服务的情况下进行身份验证,
通过使用票据和加密密钥来实现安全通信。这有助于防止密码被窃取或中间人攻击。
关键服务器
认证服务器(AS)
AS负责最初的用户身份认证,当用户尝试登录时,AS验证用户的身份并生成TGT(票据授权票据)
证书授权服务器(TGS)
TGS用于颁发服务票据,接受TGT与用户对特定服务的请求。TGS验证TGT后生成并返回加密的服务票据。
服务服务器
用户尝试访问的带有实际服务的服务器。服务服务器在接收到服务票据后,解密并验证用户身份,相应用户请求。
kerberos认证流程
用户认证
a. 用户输入其用户名和密码。
b. 客户端将密码散列(hash)并使用其用户名创建一个请求,
该请求发送到Kerberos认证服务器(AS - Authentication Server)。
获取票据授权票据(TGT)
a. Kerberos AS验证用户的凭据,如果凭据有效,则生成一个加密的TGT。
b. TGT只能由TGS解密,因此只有TGS可以验证其真实性。
c. TGT返回给客户端。
获取服务票据(Service Ticket)
a. 当用户需要访问特定的服务时,客户端会生成一个消息,包括TGT和服务请求。
b. 客户端将该消息发送到TGS。
c. TGS验证TGT的真实性,然后创建一个加密的服务票据。
d. 服务票据包含用户身份信息和服务信息,同时也包含了一些会话密钥用于建立安全通信。
e. TGS返回服务票据给客户端。
与服务通信
a. 客户端将服务票据发送到服务。
b. 服务解密服务票据并验证用户身份。
c. 如果一切正常,服务将响应请求。
安全通信
a. 客户端和服务之间建立安全通信会话,使用会话密钥来加密和解密通信。
b. 这确保了消息的机密性和完整性。