2011-03-22 103 views

回答

4

摘要式身份驗證提供了一些保護,尤其是如果你有一個很好的短nonce生命週期,並且很容易實現。這使得它適用於某些情況下,密碼是您需要防止窺探的唯一方法。有關更多信息,請參閱RFC 2617。

它仍然不如HTTPS作爲安全雖然。

+0

很好用的摘要認證可以很好地保護密碼傳輸,但是在服務器上強制使用明文存儲密碼,因爲考慮到人們傾向於重複使用用戶名和密碼,所以密碼數據庫應該被泄露,這是非常可怕的事情... – 2011-03-24 04:08:44

+0

@Bruno,這根本不是真的。您只需要存儲用戶名+「:」+ domain +「:」+密碼的MD5,並且域由您設置(因此不應與存儲在另一個系統中的相同MD5匹配)。這是一個共享密鑰的摘要,然後在傳輸中再次消解。獲得這個將允許人們訪問有問題的系統,但不會給他們原始用戶/密碼。 – 2011-03-24 09:54:49

+0

是的,我錯了,密碼可以以不可逆的方式存儲,仍然是存儲密碼的最危險的方法之一。 – 2011-03-24 14:12:45

1

SSL肯定是推薦和還有幾個廉價(或免費)來源獲得SSL證書。但是,如果絕對不能使用SSL,則可以使用像http://www.jcryption.org/這樣的JavaScript加密庫。請記住:

jCryption在它的當前狀態沒有 替代SSL,因爲 沒有認證,但主要目標jCryption的 應該是一個非常容易和 快速安裝插件,它提供了一個 基本的安全級別。

2

Secure Remote Password協議是專爲這些情況而設計的。有一些JavaScript實現可以在HTTP環境中適用。但請記住,這可以從別人從別人與交通插手被動,但不能保護,因爲他們可以只發送給您的用戶腐敗的JavaScript來代替。

也請記住,即使客戶端密碼不能被破壞一個他們進行身份驗證,他們將仍然容易受到中間人攻擊,除非你採取保護他們的照顧,例如使用SRP Hermetic

Clipperz應該是一個很好的JavaScript庫SRP適合你的目的。