Kerberos - 攻击者可以从重放攻击中获得什么?

信息安全 kerberos
2021-09-05 13:48:36

在 Kerberos 的最后一步,客户端向目标服务器发送票证和身份验证器。身份验证器的一部分是时间戳。据说时间戳可以防止重放攻击,因为服务器可以验证消息是新鲜的,并且它只发送过一次(使用缓存)。这一切都很清楚。我没有得到的是重放攻击的目的。当然,如果没有时间戳,攻击者可以重新传输合法的身份验证消息。但是如果没有会话密钥,无论如何都无法与服务器进一步通信,是吗?

因此,假设重放攻击是可能的,并且攻击者可以欺骗服务器认为它是某个合法用户。鉴于攻击者从未获得会话密钥,攻击者如何在创建的会话中进行操作?

2个回答

您可能想阅读此 PDF,其中提供了此类重放攻击的示例。实际上,这与其说是重放攻击,不如说是中间人攻击。也就是说,拥有时间戳和缓存的部分原因是使攻击者更难执行此类重放攻击,相反他们必须实际执行 MITM,这更难。他们必须主动阻止请求才能使用身份验证器。

至于会话密钥,据我所知,我可能是错的,一旦您获得允许您访问资源的令牌,它实际上并不是必需的。同样,我不确定是否可以更详细地阅读它。

我想我明白你的问题来自哪里。我今天也有同样的问题。

您可能正在考虑使用会话密钥(在客户端和服务器之间共享)来为各方之间的进一步通信提供机密性和完整性。而重放攻击在这方面确实是无用的:没有会话密钥,攻击者也无法妥协。

但是想象一个用例,通过重放包含票据(和身份验证器)的消息来欺骗服务器来验证攻击者,从而打开了一个明文通信通道。这是应该防止重放攻击的时候!

重放攻击还有另一个问题:它们可以用作安装拒绝服务攻击的机制,本质上是迫使服务器一遍又一遍地解密票证和身份验证器。在处理公钥加密时这很重要,但我认为在这种情况下它并不重要,因为对称加密不会导致拒绝 CPU 的成本那么高。