windows认证原理kerberos协议详解

Kerberos是一种网络认证协议,通过密钥系统确保客户端和服务器的安全交互。协议流程包括客户端通过KDC(密钥分发中心)获取TGT,然后用TGT申请服务票据,最终安全访问服务器。然而,Kerberos存在局限性,如服务器故障、票据时效性、域控安全性及客户端防护不足等。了解这些有助于提升网络安全理解。
摘要由CSDN通过智能技术生成

什么是kerberos协议

kerberos是一种网络认证协议,通过密钥系统为客户端以及服务器端提供认证服务,该过程不依赖于主机操作系统认证,不依赖主机地址信任,不要求网络内所有主机物理安全(假定该网络上的所有数据可以任意进行读取,修改)。kerberos作为可信任的第三方服务,是通过传统密码技术,进行安全服务的.

kerberos协议简略流程以及详细流程

首先要明白参与对象,一共有三个,客户端(client),服务器端(server),以及KDC(密钥分发中心)就是我们说的域控DC,其中KDC中又有几个名词,CD(活动目录,DC类似于门卫,而CD就是门卫手里的名单,允许谁进行访问,谁不能进行访问)TGT(票据授予的票据),TGS(票据授予服务,为客户端生成某个服务的票据),AS(客户认证,为客户端生成TGT的服务)
粗略流程如下
1.客户端向kerberos请求,希望访问某个服务器,kerberos得到请求后,通过AD判断该用户是否可以访问,是否在白名单中,如果可信,返回AS,AS会发送一个TGT个客户。
2.客户端得到TGT后,继续向kerberos请求,希望获取访问某个服务器的权限,通过TGT判断出客户是否具有该权限,如果具有,则发送一个允许访问的Ticket
3.客户端得到Ticket后,就可以发起请求访问服务器了
详细流程如下
1.客户端向kerberos发送请求访问某个服务器的请求,在AD检查完信息后,
AS会返回两条信息,一条client/TGS会话密钥,用来客户端与TGS通信,使用用户的NTLM哈希进行加密第二条TGT,包含1中的密钥,用户id,有效时间,通过TGS密钥加密。客户端收到TGT后,用自己的NTLM哈希解密,获得TGS密钥,但是不需要解密消息二,就可以直接向TGS发起请求.
2.客户端像TGS发起两条信息,一条是刚才消息二的信息和索要服务的服务ID,第二条是用户id与时间戳,通过TGS密钥加密。Kerberos在收到请求后,kerberos先查询所需服务ID是否存在,并用TGS密钥解密消息三获得用户ID时间戳,核对后,再给客户端发送两条信息,一条是客户端服务器票据,另外一条是client/ss会话密钥,通过client/TGS密钥加密。随后客户端用消息1中的client/TGS解密消息6,得到client/ss密钥,而消息五无法被解密,因为其通过服务器密码加密.
3.客户端拿到client/ss密钥后,就能发起请求了,他向服务器发送两条消息消息5,用服务器密钥加密的客户端服务器票据,第二条新的用户id时间戳,使用client/ss会话密钥加密,服务器 收到后,用自己的密钥得到client/ss密钥,和服务器客户端票据,在使用client/ss密钥解密,得到新id,时间戳,最后服务器向客户端发送确认,用client/ss密钥加密,客户端收到后,解密验证并开始通信在这里插入图片描述
图片就百度上随便找了个

kerberos协议局限性

1.如果kerberos服务器出问题,那就没办法请求服务了
2.票据具有时效性,时间一般不超过十分钟
3.DC被控制,全部寄
4.客户端防御差,hash或密码泄露

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值