ASP.NET Identity会话cookie的安全性如何



当然,cookie可能会被窃取和劫持会话,但会话cookie的加密本身(在ASP.NET Identity中)有多安全?它能用现代硬件和一点时间来操作吗?

我这么问是因为我想添加一个标识组的声明,但只有当cookie真的很安全时,这才是安全的。否则,攻击者可以注册一个合法的帐户,然后在不窃取密码的情况下闯入其他组。

针对.NET Framework 4及更高版本更新的答案:

machineKey元素,用于:

表单身份验证数据的加密、解密和验证并查看状态数据

使用AES作为默认解密算法,最小密钥长度为128位。

它还使用HMACSHA256作为验证的默认值,即SHA-256上的HMAC。HMAC可以防止长度扩展攻击,这是攻击者将数据附加到具有哈希的值上的一种方式,使哈希仍然有效。

目前还没有已知的针对AES-128的实际攻击(与192和256不同,它们可能会遭受相关的密钥攻击),SHA-256也远未被破坏,尽管有针对其姊妹SHA-1的学术攻击质疑其抗碰撞性。在验证令牌值时,抗碰撞性并不重要,但从理论上讲,这是打破图像前抗碰撞性的一步。因此,您可以放心,您可以安全地抵御AES-128和HMAC SHA-256的攻击。

然而,与任何加密或哈希算法一样,这一切都将归结为您的密钥的安全性。AutoGenerate和IsolateApps设置会很好,但如果您自己设置,请确保它们是由加密安全的伪随机数生成器(CSPRNG)生成的,长度为128位。任何低于这一点的行为都意味着你可能会受到暴力攻击(理论上)。128位意味着,即使使用世界上的每一台计算机对密钥进行分布式暴力攻击,在你的一生中也永远不会完成。当然,攻击者可能会试图通过其他方式抓住你的钥匙来绕过这一点。保持安全。

相关内容

  • 没有找到相关文章

最新更新