2013-04-01 29 views
0

我讀這篇文章:http://crackstation.net/hashing-security.htmdubts有關在數據庫密碼的安全

,並在部分地方哈希密碼,它說,爲更好地在服務器散列密碼,因爲如果有人偷走了哈希數據庫可以訪問用戶帳戶而不需要密碼。

但是如果有人能偷走哈希數據庫,他可以訪問整個數據庫,是正確的?如果這是正確的,他可以訪問所有的數據,而不僅僅是用戶信息。那麼他爲什麼只想要一部分信息呢?

+0

這並不是說它們的密碼都是攻擊者可能會在意 - 但密碼,與其他數據不同,可以通過僅以比較形式(例如單向散列)而不是原始形式提供它來進行保護;而在大多數其他領域,他們需要回讀,不僅僅是比較。因此,密碼可以通過其他內容無法保護的方式進行保護。 –

+0

如果它回答你的問題,你可以接受並提出我的答案:) – Michael

回答

2

攻擊者通常會試圖竊取數據庫以便能夠訪問應用程序。 當然,如果數據庫包含敏感信息(如信用卡號碼),他不需要訪問應用程序,如果他偷了數據庫。 (PCI DSS標準解釋瞭如何存儲信用卡信息)

如果他發現一個純文本密碼 - 他將能夠訪問應用程序沒有任何問題。 但是,如果數據庫包含哈希值,攻擊者需要找到與哈希值對應的純文本值。 如果您使用像MD5或SHA1這樣的弱哈希算法,攻擊者可以更輕鬆地處理純文本值。

爲了更好的保護,建議使用強大的散列算法,如SHA128或SHA 256. 此外,強烈建議爲每個用戶使用不同的salt值。 (提示:將值存儲在未調用salt的列中,例如userhint)

一般說明:在安全性中,應儘可能多地保護。 你保護你對SQL注入的應用程序,以防止數據庫的情況下,https://www.owasp.org/index.php/SQL_Injection_Prevention_Cheat_Sheet 您散列/加密敏感的竊取你的數據庫被竊取:數據https://www.owasp.org/index.php/Top_10_2013-A6-Sensitive_Data_Exposure

+0

是的,但我認爲應用程序的基本功能是成爲一種訪問數據庫的友好方式。因此,如果有人可以繞過登錄應用程序的需求,因爲可以訪問數據庫,那麼爲什麼有人試圖竊取信息會想要使用該應用程序? –

+1

例如,一個在線商店應用程序。在這種情況下,如果攻擊者訪問數據庫 - 他將無法做很多事情。但是,如果他能夠代表受害者登錄併爲他的工作人員訂購工作人員,那就不好了。如果您需要其他解釋,請發表評論。 – Michael