我正在爲一個客戶開發一個Asp.NET網站,並且希望確保我使用安全的身份驗證方案。安全用戶身份驗證 - 我是否正確地執行此操作?
在我的用戶表中,我有一個驗證哈希列,計算結果爲sha1(salt + username + password)
。該網站正在通過HTTPS提供服務。要登錄,用戶通過HTTPS提交他們的名字和密碼。 Web服務器計算散列值,並將其與數據庫存儲值進行比較以進行認證。
這聽起來合理安全嗎?我跑過這個計劃,經過我的一個朋友,他說它很容易受到惡意的系統管理員的攻擊。他說我應該做以下事情:
- 服務器在每次登錄頁面服務時指定一個獨特的salt。
- 在提交之前,通過JavaScript在客戶端上密碼哈希密碼。
- 發送此散列進行身份驗證,但不是密碼。
- 做一些奇怪的垃圾,我不明白認證哈希。
我該怎麼辦?
你的伴侶爲什麼說它很容易受到流氓系統管理員的攻擊?通常這是非醃製或明文密碼的問題。我想知道他的推理是什麼...... – davewasthere 2009-08-10 16:35:55