图解 Kerberos 三个密码验证的过程

时间:2024-04-01 09:03:12

参考资料: https://www.youtube.com/watch?v=_44CHD3Vx-0

图解 Kerberos 三个密码验证的过程

Client 发送请求到 AS(Authentication Server),注意这个请求是用 Client 的密码A加密过的,无需在网络中传递 Client 的密码A,因为在 AS 收到请求后,会从创建用户的数据库里,找到 Client 的密码A用于解密。认证成功后,AS 会返回 TGT(Ticket Granting Ticket) 给 Client,注意,这个 TGT 会用另一个密码称为密码B来加密,如下图。

图解 Kerberos 三个密码验证的过程

然后 Client 为了请求 FileServer,会继续将用密码B加密过的 TGT 发送给 TGS(Ticket Granting Server),如下图。

图解 Kerberos 三个密码验证的过程

而因为 TGS 也有密码B,所以解密验证通过后,又会给 Client 发送一个用又另外一个密码C加密过的 Token,如下图。

图解 Kerberos 三个密码验证的过程

又因为 FileServer 也存有密码C,所以当 Client 将带有 Token 的请求发送给 FileServer,FileServer 会将 token 用密码C加密,再发送给 TGS,最后 TGS 用密码C解密。

图解 Kerberos 三个密码验证的过程

最后 Client 终于可以访问 FileServer 的资源了。

图解 Kerberos 三个密码验证的过程

最后再总结下 Kerberos 验证过程中的四个组件三个密码的关系,密码A是 Client 和 AS 共有的,而密码B是 AS 和 TGS 共有的,最后密码C是 TGS 和 FileServer 共有的。

图解 Kerberos 三个密码验证的过程