美文网首页
kerbos认证过程笔记

kerbos认证过程笔记

作者: 一生爱漂泊 | 来源:发表于2019-12-28 14:30 被阅读0次

参考文章链接https://blog.csdn.net/scythe666/article/details/53429819

kerbos认证过程

第一步骤、client向AS发送Authentication Service Request即ASR申请,内容包含:

Pre-authentication data:包含用以证明自己身份的信息。说白了,就是证明自己知道自己声称的那个account的Password。一般地,它的内容是一个被Client的Master key加密过的Timestamp。

Client name & realm: 简单地说就是Domain name\Client

Server Name:注意这里的Server Name并不是Client真正要访问的Server的名称,而我们也说了TGT是和Server无关的(Client只能使用Ticket,而不是TGT去访问Server)。这里的Server Name实际上是KDC的Ticket Granting Service的Server Name

获取client的master key加密的 session-key(skdc-client ) 和 TGT, TGT包含skdc-client session-key ,client-name, end time(TGT的过期时间)

第二步骤、client向server请求TGT,server走第一步中client走的步骤申请 KDC和server的TGT

第三步骤、client向KDC中TGS Exchange发送Ticket Granting Service Request(KRB_TGS_REQ)

大体包含以下内容:

Client-TGT:Client通过AS Exchange获得的Ticket Granting Ticket,TGT被KDC的Master Key进行加密。

server-TGT:server通过AS Exchange获得的Ticket Granting Ticket,TGT被KDC的Master Key进行加密。

Authenticator:用以证明当初TGT的拥有者是否就是自己,所以它必须以Session Key(SKDC-Client:Logon Session Key)来进行加密。

Client name & realm: 简单地说就是Domain name\Client。

Server name & realm: 简单地说就是Domain name\Server,这回是Client试图访问的那个Server。

KDC收到请求后先确定Client-TGT是不是AS颁发给客户端的,以自身masterkey解密客户端TGT,然后获取session-key也就是client-kdc key,然后解密Authenticator,验证通过后,返回一个KRB_TGS_REP:

1、使用Logon Session Key(SKDC-Client)加密过用于Client和Server的Session Key(SServer-Client)

2、使用Server的Master Key进行加密的Ticket

3、使用server-TGT中skdc-server session-key加密的TICKET:

        Session Key:SServer-Client。

        Client name & realm: 简单地说就是Domain name\Client。

         End time: Ticket的到期时间。

客户端收到KRB_TGS_REP之后,通过skdc-client session-key解密server-client session key

第四步骤、向server发送KRB_AP_REQ:

        1、使用server-client key加密的Authenticator验证client的身份

        2、3步骤中获取的kdc-server session-key加密的TICKET

server收到KRB_AP_REQ之后,通过自己缓存的kdc-server session-key解密Ticket,从而获得Session Key(SServer-Client)通过SServer-Client解密Authenticator实现对Client的验证。

如果向server发送KRB_AP_REQ设置需要进行双向验证Server从Authenticator提取Timestamp,使用Session Key(SServer-Client)进行加密,并将其发送给Client用于Client验证Server的身份。

相关文章

  • kerbos认证过程笔记

    参考文章链接https://blog.csdn.net/scythe666/article/details/534...

  • Shiro授权和认证流程

    认证流程 认证过程: 身份认证,就是判断一个用户是否为合法用户的处理过程.醉常用的简单身份认证方式是系统通过核对用...

  • 铁犀牛学习笔记(一)

    问题:Ironrhino用户登录中的密码校验流程、OAuth认证、token校验实现过程 用户登录认证过程总结: ...

  • Shiro认证过程

    shrio认证流程图 Shiro认证流程 创建SecurityManager; 主体提交认证 ; Security...

  • JWT 认证过程

    JWT Token Structure A JWT token contains a Header, a Payl...

  • CIM笔记-第二周作业2

    CIM是我们公司全球的管理人员必上的第一门管理课,我是第一期的学员,也是认证的讲师,在认证的过程中做了很多的笔记,...

  • ASP.NET MVC5登录之(一)Forms身份认证

    ASP.NET身份认证过程 在ASP.NET中,身份认证过程分为两个部分: 认证:识别当前请求的用户是否为可识别(...

  • Kerberos认证管理

    一、Windows中的认证 1.1 单机认证 NTLM Hash是支持Net NTML认证协议及本地认证过程中的一...

  • (一)Asp.Net Core 核心模块:Cookie-base

    介绍 Asp.NetCore Mvc 认证授权的过程,基于Cookie 的认证方式,通常用于网站做认证授权 实战 ...

  • Spring Boot Security(2.x.x)鉴权过程概

    上一篇《结合实际场景分析Spring Boot Security(2.x.x)认证过程》我们梳理了整个认证的过程,...

网友评论

      本文标题:kerbos认证过程笔记

      本文链接:https://www.haomeiwen.com/subject/zcdsoctx.html