2011-05-30 65 views
0

在PKCS5 V2.0標準的官方文檔中,我們可以閱讀「鹽可以被看作是從密碼派生的大量密鑰的索引,並且不需要保密。」PKCS#5鹽的隱私?

「不必保密」部分很有意思。由於salt用於添加大量密碼可能性(或者如果兩個用戶具有相同的密碼,則創建兩個不同的密鑰),那麼讓salt不安全的目的是什麼?

我明白通常情況下,攻擊者通常不會訪問鹽,所以它會使他的工作複雜化以找到正確的密碼。但是如果攻擊者知道鹽,「魔法」在哪裏?知道鹽就像執行傳統的字典攻擊(如果我們排除迭代計數)!

有什麼,我不明白?我知道,瞭解鹽不會破壞安全,但說「不必保密」對我來說聽起來很陌生。

+0

由於這不是語言特定的,我建議您將問題提交到http://security.stackexchange.com/ – 2011-05-30 13:27:51

+0

好的。我不知道這項服務。謝謝。 – 2011-05-30 14:24:01

回答

0

該段的其餘部分(標準),似乎可以解釋它:

......雖然有可能爲 對手構建的 可能口令表(所謂的 「字典攻擊」),構建一個 表可能的密鑰將是 困難,因爲將有許多 可能的密鑰爲每個密碼。因此對於 對手將被限制爲 分別通過密碼 搜索每種鹽。

問題是,你不能只取一個密碼列表(讓我們說77萬個密碼),並通過相同的表運行它們。您將需要爲每個密碼+鹽建立一個單獨的表。

+0

是的,我知道。但是如果我擁有鹽,我只需要用已知的鹽嘗試所有密碼。所以我們回到最初的暴力攻擊,因爲我們可以將已知的鹽附加到每個密碼的可能性上。 – 2011-05-30 14:13:29

+0

我認爲重點在於「嘗試所有密碼」並不是一種常見的攻擊方式:查看第4.2節,每個密碼至少需要1000次迭代,因此限制了搜索空間 - 如果需要一秒鐘的時間嘗試每個密碼,你不能只嘗試一百萬個可能的密碼。 – 2011-05-30 14:38:41