2012-02-16 58 views
-1

我對以下情況有疑問:
我想使用jasypt加密我的密碼並使用某種鹽進行加密。鹽的位置,鹽漬

是否有意義(或有任何安全含義),如果:
我使用基於密碼的加密方法來加密與密碼,我從一個環境變量得到鹽,這樣我可以有的加密值鹽在屬性文件中,從那裏得到它,通過我從環境變量獲得的密碼進行解密(實際上,我將有一個EnvironmentStringPBEConfig對象,它將從EnvironmentStringPBEConfig對象中獲取環境變量,並在EnvironmentStringPBEConfig被創建)並最終使用鹽。

謝謝。

編輯:請注意,我想知道,如果「藏」與上述的鹽是一個很好的做法,我現在不實施這樣的解決方案。

編輯:另外請從OWASP注意以下幾點建議。

建議:使它很難偷了整個鹽

有一些額外的推薦增強了基本的免疫機制考慮:

有一個額外的「系統」鹽是一整個系統的固定值。這應該存儲在某個配置文件中。這個固定值不必包含在每個備份中,這使攻擊者更難以妥善妥協計算散列值所需的所有元素。 在源代碼中嵌入一部分系統鹽。這對開源代碼沒有幫助,但是對於自定義應用程序來說,在代碼中使用部分系統鹽會是攻擊者需要正確計算散列值的又一項。 每次更改用戶密碼時都會爲帳戶生成一個新鹽。

建議:鹽分離

一個附加的密碼存儲防禦機制涉及存儲該鹽在不同的位置比所述密碼哈希。假設密碼哈希存儲在不同的位置,例如數據庫或LDAP服務器,使用服務器的文件系統是一種常用的鹽隔離機制。這種防禦機制可以在數據庫文件被盜時降低密碼竊取的風險,因爲數據庫數據不會包含鹽分。要小心確保密碼哈希值和鹽值不一起備份,它們也應該單獨備份。

回答

2

爲什麼要加密鹽?鹽通常是公共信息 - 它們只存在於防止對密碼數據庫進行預先計算的「彩虹桌」離線攻擊。我認爲你需要更清楚你想要做什麼以及爲什麼。

+0

的想法是讓人很難找到德只是預防措施的鹽,也請注意,我的問題開始於一個「是否有意義」,我並沒有說我其實在做這樣的說法,我只是想知道它是否被認爲是一個很好的實踐也隱藏鹽如上所述 – 2012-02-16 17:46:54

+0

也請注意OWASP我包括在問題的建議,謝謝 – 2012-02-17 08:55:38