假設我爲每個用戶隨機存儲salt value。當用戶密碼更改時是否必須生成新的salt值,或者是否在該用戶帳戶的整個生命週期中使用相同的值?更改用戶密碼時是否更改鹽值?
13
A
回答
21
你應該改變鹽。 salt被設計爲對所有密碼實例都是唯一的(儘可能多)。
如果對舊密碼和新密碼使用相同的salt,那麼看到舊密碼和新密碼的攻擊者可以攻擊兩者,攻擊成本低於攻擊密碼的兩倍。這正是鹽的設計要避免的東西(鹽除此之外沒有其他用途)。
當然,舊的舊密碼已不再是輸入您的系統的有效方式,但由於用戶傾向於重用密碼,舊密碼仍然值得(從攻擊者的角度來看) 。特別是,當用戶再次更改密碼時,用戶可能會重複使用該舊密碼(這是大多數用戶在面對需要定期更改密碼的系統時所做的工作:它們在兩個密碼之間切換)。
2
如果密碼不弱(並且攻擊者不知道鹽),如果密碼更改,使用不同的salt值將不會提高您的密碼安全性,因此您可以保持不變。
鹽值的目的是爲了確保具有相同密碼的不同用戶不具有相同的密碼哈希值。
無論如何,假設攻擊者先前破解了用戶密碼並知道salt值。如果您只更改密碼,攻擊者可以減少計算次數來再次破解它,因爲他已經知道鹽。
所以也許這是一個好主意,在設置新密碼的同時改變鹽。
相關問題
- 1. 更改用戶密碼
- 2. Applescript:更改用戶密碼?
- 3. LDAP更改用戶密碼
- 4. Ektron用戶更改密碼?
- 5. 更改用戶密碼! Wordpress
- 6. 更改clearcase_albd用戶密碼
- 7. 更改密碼時未找到用戶
- 8. 是否可以使用Drush更改用戶的Drupal密碼?
- 9. 更改密碼
- 10. 更改密碼
- 11. 更改密碼
- 12. AAD圖形API - 檢查用戶是否必須更改密碼
- 13. 在檢索當前密碼時更改asp.net用戶密碼
- 14. 使用PHP更改MYSQL用戶密碼
- 15. 更改密碼時驗證舊密碼
- 16. 如何爲用戶名選擇onfocus時更改密碼值?
- 17. Rails3用戶更改密碼,如何更改當前會話密碼?
- 18. 更改密碼的用戶laravel 5.3
- 19. 驗證和更改用戶的密碼
- 20. 我無法更改用戶的密碼
- 21. npm用戶的密碼更改
- 22. 如何更改用戶密碼?
- 23. openshift drush更改用戶密碼
- 24. BuddyPress:用戶無法更改密碼
- 25. Laravel 5.2更改用戶密碼功能
- 26. 如何更改mysql用戶密碼?
- 27. 允許用戶更改SVN密碼
- 28. 在設計用戶上更改密碼
- 29. 通過JDBC更改用戶密碼
- 30. 讓用戶更改自己的密碼?
* up *您可能想更改密碼salt並更新用戶記錄 – 2011-04-28 15:06:48