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

Ben*_* E. 7 asp.net security session-cookies asp.net-identity

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

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

Sil*_*Fox 11

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

machineKey用于的元素:

表单身份验证数据和视图状态数据的加密,解密和验证

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

它还使用HMAC over SHA-256 HMACSHA256作为验证的默认值.HMAC防止长度扩展攻击,这是攻击者将数据附加到具有散列的值的方式,以使散列仍然有效.

没有已知的针对AES-128的实际攻击(不像192和256可能遭受相关的密钥攻击),并且SHA-256远未被打破,尽管有一个学术攻击对其姐妹SHA-1提出质疑抗冲击性.在验证令牌值时碰撞阻力并不重要,但理论上它是朝着打破前像素阻力迈出的一步.因此,您可以放心使用AES-128和HMAC SHA-256进行攻击.

但是,与任何加密或散列算法一样,它将归结为密钥的安全性.AutoGenerate和IsolateApps设置没问题,但是如果您自己设置,请确保它们是由加密安全的伪随机数生成器(CSPRNG)生成的,长度为128位.任何比这更少的东西意味着你可能会受到蛮力攻击(理论上)的影响.128位意味着即使使用世界上每台计算机对您的密钥进行分布式暴力攻击也无法在您的生命周期内完成.当然,攻击者可能会试图通过其他方式抓住你的密钥来解决这个问题.保持安全.

  • 我相信ASP.NET身份使用比以前在ASP.NET中更为现代的算法和哈希周期数 - 所以这个答案可能不再完全准确. (3认同)