2014-03-27 58 views
1

我是安全分析師,我被問到這個問題SHA1(3DES-CBC)是一個在數據庫中存儲密碼的好加密方法嗎?SHA1(3DES-CBC)是用於在數據庫中存儲密碼的良好加密方法嗎?

但是,據我所知,我覺得使用鹽來存儲任何敏感信息。我覺得CBC模式在某些協議中很脆弱。我覺得這是最好的實踐https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet

請糾正我對上述的理解。

但是,我想了解SHA1(3DES-CBC)的技術含義,以便更好地解釋我的團隊在實施中的問題。請告訴我同樣的。

+4

對於自稱是安全分析師的人來說,這是一個奇怪的問題。 '我覺得CBC模式是不安全的......'是完全不合適的。做一些適當的研究並找出答案。我不相信一位安全分析師,他的建議基於意見和預測。 – 2014-03-27 00:46:53

+0

相關:https://crackstation.net/hashing-security.htm – ntoskrnl

回答

1

然而,據我所知,我覺得用鹽量用於存儲任何敏感信息... OWASP的

約翰·史蒂文斯放在一起在服務器上的密碼安全和存儲好的文件。它遍歷攻擊和威脅,然後添加步驟來消除威脅。以下是對OWASP材料引用(只引用其中之一):


而且我覺得CBC模式是對某些協議脆弱。 ..

我不相信這是相關的克拉。以CBC模式操作的分組密碼是僞隨機函數。它擁有PRP-安全概念。但是,它不能在真空中使用。因此,您需要了解兩個OWASP參考資料中的內容。


SHA1(3DES-CBC)...

我不知道複合功能的目的是什麼。你必須向開發者詢問他們的安全目標是什麼,以及它抵消了什麼威脅。天真地說,我要說AES/CBC或3DES/CBC本來就足夠了。

您還有要解決的關鍵存儲問題。它被稱爲「無人看管密鑰存儲」問題,而且它的問題沒有解決方案。參見Peter Gutmann的Engineering Security

1

像SHA *這樣的快速散列算法從來就不是散列密碼的好選擇,而應該使用像BCrypt或PBKDF2這樣的成本因子的慢密鑰導出函數。

我沒有找到關於「3DES-CBC」與SHA1結合的許多信息,但是(SHA1和DES)都是沒有迭代的散列函數。

-1

不!

如果您要將密碼存儲在數據庫中,則應該使用bcrypt或scrypt。 bcrypt多年來已被衆多密碼學家分析,並且是'事實上的'密碼散列算法。

SHA1是不好的,因爲:

  • 可以快速運行(壞,使得它容易受到蠻力)。
  • 它容易受到碰撞攻擊(這意味着攻擊者甚至不需要暴力破解密碼)。
  • 如果你不使用鹽(彩虹桌),它可以很容易地倒過來。

bcrypt是偉大的,因爲:

  • 這是非常慢(速度減慢攻擊者試圖蠻力)。
  • 它需要大量的CPU(這意味着攻擊者需要很多計算機和大型CPU)。
  • 它沒有碰撞。

scrypt就像bcrypt一樣,但是也需要大量的內存來計算哈希值,進一步減慢了攻擊者的速度。然而,scrypt是相對較新的,所以你現在可能想要堅持使用bcrypt。

相關問題