Asp.net 这张票够安全吗?
当用户基于默认表单身份验证方法登录时,服务器将创建一个包含加密数据的cookie(使用机器密钥作为加密密钥) 这意味着,如果有人找到/猜测/访问服务器的机器密钥,他将登录到web应用程序 我开发了一些在4台服务器上的应用程序。因此,我在Machine.config中为所有服务器硬编码了相同的机器密钥,无法使用自动生成模式Asp.net 这张票够安全吗?,asp.net,forms-authentication,machinekey,formsauthenticationticket,machine.config,Asp.net,Forms Authentication,Machinekey,Formsauthenticationticket,Machine.config,当用户基于默认表单身份验证方法登录时,服务器将创建一个包含加密数据的cookie(使用机器密钥作为加密密钥) 这意味着,如果有人找到/猜测/访问服务器的机器密钥,他将登录到web应用程序 我开发了一些在4台服务器上的应用程序。因此,我在Machine.config中为所有服务器硬编码了相同的机器密钥,无法使用自动生成模式 有没有可能强行使用机器钥匙 还有其他方法吗?(我不想使用Windows和Passport) 这张票足够安全吗?(即电子银行应用程序可接受) 加密的第一条规则是消息只与密钥一样安
加密的第一条规则是消息只与密钥一样安全。如果有人可以访问您的密钥,则没有足够安全的方法
ASP.NET表单身份验证票证使用Rijndael算法加密。Rijndael是作为DES(数据加密标准)的替代品而创建的,DES提供了无限制的数据加密方式,并且容易受到暴力攻击。RSA Security在90年代末组织了一系列DES挑战赛,挑战团队破解DES,以突出其固有的漏洞: 相比之下,Rijndael(也称为高级加密标准AES)使用更长的密钥—256bit和双加密算法。破解256位Rijndael密钥(如ASP.NET机器密钥)需要2^200次操作(大约10^60-10次加60个零),几乎不可能强行破解。再加上ASP.NET票证会定期更改,并且解密后基本上看起来像一个随机的字母和数字字符串(因此无法确定暴力解密的内容是否正确),您可以放心,很快没有人会破解您的表单验证cookie 有关Rijndael及其可能的攻击的更多信息,请点击此处:
为什么强制使用机器密钥需要关闭服务器?蛮力基本上是检查每一个可能的组合,试图猜测机器密钥。我相信这将需要发送cookie到服务器?还是不?无论如何,机器密钥非常长,不能轻易强制使用。Rijndael只是一个算法,它可以在任何机器上运行。如果你可以通过检查机器钥匙的每一个可能的组合来猜出机器钥匙,那么你就可以在任何一台计算机上破解这张罚单。服务器已经知道机器密钥,因此在票证发回时不需要猜测。请记住标记帮助最大的答案:-)