2010-04-20 84 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