身份验证服务交换(The Authentication Service (AS) Exchange)

Kerberos基于对称密钥加密技术,并且需要受信任的第三方,并且可以选择在身份验证的某些阶段使用公共密钥加密技术。Kerberos默认使用UDP端口88。(维基百科)

身份验证服务(AS)交换(The Authentication Service (AS) Exchange)
客户端与Kerberos身份验证服务器之间的身份验证服务(AS)交换是由客户端在希望获取给定服务器的身份验证凭据时启动的,但当前不保存任何凭据。客户端的密钥以其基本形式用于加密和解密。通常在登录会话启动时使用此交换来获取票证授予服务器的凭证,该凭证随后将用于获得其他服务器的凭证,而无需进一步使用客户端的秘密密钥。
此交换还用于请求凭据的服务,这些凭据必须不通过票务授予服务进行调解,而需要了解委託人的秘密密钥,例如密码更改服务(除非请求者要求,否则密码更改服务会拒绝请求可以证明用户的旧密码知识;要求此知识可防止有人走到无人值守的会话时未经授权更改密码)。
这种交换本身并不提供用户身份的任何保证。为了对登录到本地系统的用户进行身份验证,可以首先在TGS交换中使用在AS交换中获取的凭据,以获取本地服务器的凭据。然后,这些凭据必须由本地服务器通过成功完成客户端/服务器交换来验证。
在AS交换由两个消息:从客户端向KRB_AS_REQ Kerberos和KRB_AS_REP或KRB_ERROR答复。
在请求中,客户端以明文形式发送其自身的身份以及为其请求凭据的服务器的身份,有关其正在请求的凭据的其他信息以及随机生成的随机数(可用于检测重播和重发)。将回复与匹配的请求相关联。此随机数必须由客户端随机生成,并记住以检查预期答复中的随机数。
响应KRB_AS_REP包含供客户端呈现给服务器的票证,以及将由客户端和服务器共享的会话密钥。会话密钥和其他信息在客户端的秘密密钥中加密。KRB_AS_REP消息的加密部分还包含必须与KRB_AS_REQ消息中的随机数匹配的随机数。
没有预身份验证,身份验证服务器将不知道客户端是否实际上是请求中指定的主体。它只是发送一个答复,而不会知道或关心它们是否相同。这是可以接受的,因为除了在请求中给出身份的委託人以外,其他任何人都不能使用回复。它的关键信息在该主体的密钥中被加密。但是,攻击者可以发送KRB_AS_REQ消息来获取已知的明文,以攻击主体的密钥。特别是如果密钥是基于密码的,则可能会产生安全隐患。因此,初始请求支持一个可选字段,该字段可用于传递初始交换可能需要的其他信息。该字段应该用于预认证。
来源:RFC 4120 – Kerberos网络身份验证服务(V5)

参考
.使用Kerberos登录Windows
.Kerberos和Windows安全系列
.Kerberos Wireshark捕获:Windows登录示例
.Kerberos和Windows安全性:Kerberos v5协议
.网络BIOS

资料来源: Wentz Wu QOTD-20210113


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章