Asp.net将会话存储在cookie中,因此不必担心服务器端的会话(传统上会话存储在数据库中,并且查找是通过会话ID完成的,会话ID通常是像字符串一样的Guid)
在上一个问题中,我问的是Spring应用程序如何存储/创建会话等:Spring authentication, does it use encrypted cookies?
Cletus指出,在cookie中存储用户名/ id虽然是加密的但是存在安全问题,因为潜在的黑客既有加密文本,也有黑客知道实际加密文本是什么即userId或用户名。
你对此有何看法? 我确信StackOverflow也在使用这种机制,因为** 99.9%的asp.net Web应用程序正在以这种方式使用formsauthentication。 Microsoft的MSDN站点本身充满了以下示例:
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked);
在上面的代码中,用户名值存储在加密的cookie中。 实际上,我记得asp.net网站被黑了,因为web.config在表单身份验证标记中没有Protection = All。 这是一个真正的问题吗? 要重复与之相关的信息: 如果你想知道什么是“婴儿床”。见:http://www.faqs.org/faqs/cryptography-faq/part03/
密码分析方法包括什么 被称为实用密码分析'': 敌人不必只是凝视 在你的密文直到他的数字 明文。例如,他 可能会假设'' - 延伸 可能的明文。如果婴儿床是 那么他可能是正确的 推断出密钥然后解密 其余的消息。或者他可能 利用“异构体” - 同样如此 明文加密了几个 密码系统或几个密钥。因此他 可能甚至在获得解决方案时 密码分析理论说他没有 有机会。**
答案 0 :(得分:1)
也许你应该看一下这个文件:Improving Web Application Security: Threats and Countermeasures -- Threat Modeling
了解涉及哪些安全风险以及如何减轻这些威胁是一个很好的起点。