# 小 bb
这个是去年 12 月份写的东西,当时因为感觉这整个过程比较复杂,于是自己就在笔记上手写了。但感觉写在笔记不上字太丑,自己都不想看,于是最近花了点时间画了个流程图。帮组自己理解。
# 简介
kerberos 是一种基于可信第三方主机的计算机网络协议,它允许两个实体之间在非安全网络环境下以一种安全的方式证明自己的身份。
说白了就是一种身份认证协议。
而我们一个域用户在获取票据并访问服务的过程中共涉及三个部分的内容:
AS(身份认证服务):主要是通过这个来证明你有正确的密钥,即你就是你。
通过身份认证这一步就成功的向服务器证明了你就是你,但也就仅此而已。此时是没有权限去访问一些服务的。这里获取到的凭证就是金票。
PS:这里之所以不一步到位直接拿到能访问服务的票据我猜是为了节约资源。如果直接一步到位的话,那么下一次拿其他票据的时候,还需要再做一次 AS 认 证,这种情况下必然导致多次提取密码(输入密码),会加大密码泄露的风险。
TGS(票据授权服务):KDC 判断你有没有权限去获取这个资源。
这里在通过身份和权限认证后,KDC 会返回 ST (银票) 给客户端,客户端后续就可以使用这个银票去访问对应的资源。
携带票据访问服务:通过这个票据去像服务器请求资源。
客户端带着银票向服务器请求对应的资源。服务端只校验这个银票是否有效,有效就允许访问。
# 整个过程的流程图
这里是我自己画的一个图,演示的是从身份认证到获取资源的一整个流程。