2012-08-26 163 views
1

記得閱讀以下方案:檢查密碼的過程是這樣的:密碼哈希值,更新鹽和登錄哈希和PHPass

  1. 給出(哈希,鹽)在數據庫中,
  2. 哈希加鹽密碼要檢查的哈希,
  3. 哈希密碼老散鹽
  4. 店(新的哈希,鹽又名老哈希)在數據庫中。

我找不到原始來源。在任何情況下,我不明白

  1. 的優點是使用舊的哈希值作爲鹽(相對於使用隨機鹽)的東西,

  2. 這種方案的優點是什麼一般(進一步複雜化彩虹表攻擊?),和

  3. 如果有一個優勢,因爲鹽似乎是管理「中的」 PHPass一個如何應用使用PHPass方案,...

直覺上,我認爲這個方案最多不會做任何事情,或者在最壞情況下(由於依賴於過去的價值)使安全性惡化,但是密碼安全性是我不相信直覺的一個領域。請賜教。

編輯:

我問有關重新散列密碼上的每個檢查。這些類似的問題做回答第一個問題—,使用哈希作爲鹽是無用—而不是它是否有用重新散列每個檢查:

+0

去年在S.O上的問題不能少於100次。 – 2012-08-26 04:17:57

+0

[Salting Your Password:Best Practices?]可能重複(http://stackoverflow.com/questions/674904/salting-your-password-best-practices) – 2012-08-26 04:18:31

+0

@Dagon - 我不這麼認爲。我詢問每次更改散列值的優勢,而您提供的鏈接似乎更多地是關於鹽的前置或後置。 –

回答

2

我我沒有安全專家,但回答#1沒有任何優勢。它所做的一切使事情進一步複雜化。

只需使用一個好隨機產生的鹽, 正如你所說,PHPPass在內部處理它,並且PHPass被認爲是一個非常好的工具,因爲它已經被許多安全專家審查過了。