想象一个简单的 API,它提供了一个端点POST /account/authenticate,它接受用户名和密码,然后在成功时返回 JWT,在失败时返回错误。在后端,端点使用一些密钥导出函数,如 Argon2 或 PBKDF2,参数调整为难以破解。
这样的端点不会允许非常简单的资源耗尽攻击吗?攻击者可以在服务器上造成高工作量,而无需自己做很多工作。根据 KDF 的配置方式,许多并行请求可能会消耗大量服务器内存。
这真的是一个问题吗?如果是这样,如何减轻这种情况?由于这是一个 API,因此无法使用 CAPTCHA 等典型的前端措施。