当然,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位意味着即使使用世界上的每台计算机对密钥进行分布式强力攻击也将永远无法完成。当然,攻击者可能会尝试通过其他方法来抓住您的密钥来解决此问题。保持安全。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句