簡體   English   中英

基於JBoss門戶的安全MD5 /基於加密表單的登錄名

[英]Secured MD5/Encrypted form based login for JBoss portal

我目前已經為JBoss門戶服務器創建了一個基於表單的登錄名,並且我的登錄頁面如下所示(僅在HTTPS上提供):

<form action="j_security_check" method="post">
     Enter UserName: <input name="j_username" type="text" />

     Enter Password: <input name="j_password" type="password" />

     <input type="submit" value="Submit" /> <input type="reset" value="Reset" />
     </form>

在應用程序的安全性測試期間,建議不要以純文本形式發送密碼,而應使用某種MD5或其他加密方式,以便沒有人可以在攔截請求時提取密碼。

如何在基於JBoss門戶表單的登錄中實現此功能?

您在這里得到了一些不好的建議。

最佳標准做法是將密碼本身發送到服務器,前提是該鏈接受SSL / TLS保護。 您的應用程序應該收到該密碼,對其進行哈希處理(不使用MD5,而是使用合法的加鹽哈希(或bcrypt,這是最好的解決方案)),然后將其與存儲的加鹽哈希進行比較。 因此,您的應用程序從不存儲用戶密碼,因此,如果您的密碼文件/數據庫遭到破壞,則不會泄露任何人的密碼,並且,如果您使用強鹽腌哈希/ bcrypt算法,則沒人應該能夠強行強制哈希來恢復實際密碼。

但是,您需要在應用程序內的SERVER端執行此操作。 您的應用程序應使用密碼並執行此哈希操作。 如果您在客戶端上對密碼進行哈希處理,然后將實際的加鹽哈希發送給應用程序,那么您將面臨另一種攻擊。 如果有人竊取了您的密碼文件/數據庫,他們將知道用戶密碼的哈希值。 如果您讓客戶端將哈希發送到服務器,則攻擊者將確切地知道要發送的哈希,並且可以訪問任何用戶的帳戶! 相反,您希望客戶端自己發送密碼,並讓服務器根據密碼生成哈希值,因此攻擊者將不知道發送什么內容以嘗試以用戶身份登錄(因為您無法獲取鹽分哈希並恢復密碼。密碼(假設實施了強加鹽散列)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM