欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

kerberos认证总结 博客分类: Kerberos kerberos 

程序员文章站 2024-03-22 22:35:34
...
具体过程总结:
1.Client 发送用户名 username 到 kerberos 以向 AS (Authentication Service)请求 TGT 票据信息。

2.kerberos收到请求后,生成随机字符串 Session Key,再使用AS服务的密码对Session Key 、 请求客户端地址、用户名、 创建时间、有效期信息加密得到 TGT,并用用户密码对Session Key加密后和TGT 一起返回给客户端。

3.客户端收到请求后,使用自身的密码解密A得到 Session Key,然后使用 Session Key 对 客户端地址信息、用户名、时间信息 加密得到认证对象,加上 TGT ,发送给 kerberos的 TGS。

4.TGS 收到请求后,使用 AS的 密码解密 TGT,得到 Session Key 和 时间信息以及用户名,同时,使用 TGT 解密出的 Session Key 解密认证对象,得到客户端信息。 比对这两部分解密得到的内容以验证是否通过。

5.第四步通过验证后,TGS生成一个新的session key,再使用client要访问的服务对应的密码对Session Key 、 请求客户端地址、用户名、 创建时间、有效期信息加密得到 ST,并用用户密码对Session Key加密后和ST一起返回客户端

6.客户端收到信息后,用自己的密码解密后得到Session Key和ST,利用Session Key对用户名和地址信息加密后生成一个认证对象,把认证对象和ST一起发送到具体的服务

7.具体服务收到请求后,用自己的密码解密ST后,得到Session Key,利用Session Key解密认证对象,在和ST中的信息对比验证客户端


其中认证对象设计成只能使用一次,生成TGT时的时间信息里设置TGT对应的有效期大一些,而具体服务的有效期时间短一些
通过第二步和第五步的对比可以看出TGS和其他服务的处理过程是一样的,TGS在kerberos中只是一个特殊的服务而已
相关标签: kerberos