2016-09-14 106 views
0

您已經知道多個瀏覽器提供存儲憑據登錄網站的功能。 他們如何妥善保護密碼,如果它不能被哈希 ?,我發現的唯一方法是隻加密它。諸如mint.com之類的網站可以保存多個銀行的憑證。他們如何確保(代碼方面)? 假設我正在實施類似的旅程,我如何才能真正確保憑據受到保護,如果無法對它們進行哈希處理? 來源:密碼存儲器

+1

嘗試下載像[KeePass](http://keepass.info/download.html)這樣的開放源代碼密碼管理器的源代碼並查看它們是如何實現的。 – itsme86

+0

請參閱http://stackoverflow.com/q/2597047/3303915可能的答案 –

+0

如果任何給定的答案解決了您的問題,您可以[接受](http://meta.stackexchange.com/q/5234/ 266187)其中之一。如果沒有,請詳細說明哪裏出了問題。 –

回答

0

我怎麼能真正做到,如果傾斜哈希他們的憑據受到保護?

您不能;您無法保證無論您存儲密碼(或任何其他數據)是否100%安全。

當使用hash存儲密碼(鬆散地說)它只是防止(或試圖阻止)從哈希值計算原始值。

您可能希望將您的問題更新到類似的地方安全存儲加密數據以防盜竊的最佳做法是什麼?


我不是一個安全專家,但如果我的數據,我想存儲,我不想不存在(物理或登錄)用戶訪問其他用戶,我可能會做類似的事情要求他們創建一個主密碼。我會爲每個用戶創建一個獨特的Salt,這就是我將存儲的所有內容(以及加密數據)。然後,我將使用主密碼+ Salt的SHA3-512(散列)加密數據。從理論上講,我根本無法訪問數據,甚至不能用於恢復目的(因爲我不存儲哈希或密碼)。

即使在這種情況下,數據也不是100%安全的。有人可能使用中間人攻擊或破壞系統並竊取密碼/散列。這個唯一已知的安全特徵是,只用Salt來解密被盜數據是非常困難的。

0

將數據(憑據)存儲在特別安全和強化的數據庫中。

  • 它不應該從互聯網上訪問,它必須與互聯網之間有許多層次的間接。

  • 它應該只能從兩個特定的系統訪問。一個被授權閱讀數據庫,另一個應該能夠進行更改。所以,你需要一個圍繞這個數據庫的專用防火牆。讓自己熟悉demilitarized zones的多個級別。

  • 請確保所有機器都已正確打補丁。如果您決定使用特定軟件,請務必訂閱必要的渠道,以便快速獲取有關可用修補程序和可能漏洞利用的信息並快速應用它們/查找修補程序。

  • 僅爲管理員配置操作基礎架構所需的最少權限。不要只是把這些權限交給你公司要求的每個人。

  • 完成所有這些之後,對這些數據進行加密並不能提供太多保護。這只是混淆,因爲加密數據的密鑰必須接近數據。