2010-04-20 81 views
0

我最近獲得了windows的l0pht-CD,並在我的電腦上試用了它,並且它工作正常!彩虹表:如何防禦他們?

2600hertz.wordpress.com/2009/12/22/100-windows-xp-vista-7-password-recovery

我設計以類似的方式存儲PWD-S 「登錄模擬器」。目前的實施將容易受到上述攻擊。任何人都可以用任何一種方式來說明(儘可能簡單地說),如何加強對抗這種彩虹桌的攻擊。

我的目標:建立「登錄模擬器」儘可能安全。(閱讀黑客大賽;-))

謝謝。

+1

你想*加強彩虹表*?我不得不承認,我沒有閱讀您發佈的網址 - 但通常情況下您會加強登錄流程以防止使用彩虹桌。在這裏閱讀:http://stackoverflow.com/questions/1012724/what-exactly-is-a-rainbow-attack和你通過使用鹽保護這種攻擊agains:http://en.wikipedia.org/wiki/Salt_(cryptography) – tanascius 2010-04-20 12:38:41

+0

我認爲他實際上是在努力加強哈希。 – SLaks 2010-04-20 12:40:30

+1

@SLaks,@tanascius:是的,我想他實際上是在想辦法讓他的登錄模擬器_defend_對抗彩虹桌。它措辭不太好。 – 2010-04-20 12:43:07

回答

10

你應該使用bcrypt,這是由專業密碼學家設計的,以完全符合你的要求。

一般來說,你應該從來沒有發明你自己的加密/散列方案。
密碼學非常複雜,你應該堅持已被證明可行的方法。

但是,您的問題的基本答案是添加一個隨機的每用戶鹽,並切換到較慢的散列。

+4

+1永遠不要試圖發明自己的加密東西 – tanascius 2010-04-20 12:42:57

+2

+1將它留給專業人士:D – Jeriko 2010-04-20 12:51:10

+0

@SLaks。感謝bcrypt。關於「鹽」我有疑問。如果我的密碼是「test123」而鹽是「小鹽」,那麼它仍然很容易被破壞。對??目的是使鹽「真的很長,計算上很難鹽」我是否正確?? ...... – TheCodeArtist 2010-04-20 13:09:22

13

由於彩虹表是各種密碼的一系列預計算散列鏈,因此很容易被adding a salt to the passwords挫敗。由於散列函數通常會消除輸入和輸出之間的大部分本地對應關係(即輸入的小改變會產生很大的,看起來不相關的輸出變化),即使是小的鹽也是非常有效的。

最重要的是,鹽不需要祕密,這是有效的;彩虹表需要重新計算所有可能的密碼 - 鹽組合。

+0

+1爲了達到這一點。他沒有談論製作他自己的加密實現。 – joveha 2010-04-21 17:15:30