2010-01-18 40 views
1

Asp.net将会话存储在cookie中,因此不必担心服务器端的会话(传统上会话存储在数据库中,查找通过会话ID完成,通常是Guid类似的字符串)。FormsAuthentication并在加密的cookie中设置userID/name,安全风险?

在我刚才的问题,我问的弹簧应用商店/如何创建会话等:Spring authentication, does it use encrypted cookies?

克莱指出,存储在cookie中的用户名/ ID,虽然加密,是安全问题,因为想要的黑客既有加密文本,也有黑客知道实际加密的文本是什么,即userId或用户名。

您对此有何看法? 我相信StackOverflow也使用这种机制,因为** 99.9%的asp.net web应用程序以这种方式使用formsauthentication。 微软的MSDN网站本身充满了类似的例子:

FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked); 

在上面的代码,用户名值存储在加密的cookie。 实际上,我记得asp.net网站遭到黑客攻击,因为web.config在表单身份验证标签中没有Protection = All。 那么这是一个真正的问题? 要重复什么cletus链接到: 如果你想知道什么是“婴儿床”。见:http://www.faqs.org/faqs/cryptography-faq/part03/

密码分析方法包括什么是 称为实用密码分析“”: 敌人没有你的密文只盯着 直到他的数字 出明文。例如,他可能会假设''--- 可能的明文。如果婴儿床正确 ,那么他可能会推断出密钥,然后解密 的其余部分。或者他可能利用“同种异体”---相同的 明文加密在若干 密码系统或几个密钥中。因此他 即使 密码分析的理论说,他不 有机会获得可能的解决方案**

回答