2010-01-18 39 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/

密碼分析方法包括什麼是 稱爲實用密碼分析「」: 敵人沒有你的密文只盯着 直到他的數字 出明文。例如,他可能會假設''--- 可能的明文。如果嬰兒牀正確 ,那麼他可能會推斷出密鑰,然後解密 的其餘部分。或者他可能利用「同種異體」---相同的 明文加密在若干 密碼系統或幾個密鑰中。因此他 即使 密碼分析的理論說,他不 有機會獲得可能的解決方案**

回答