【问题标题】:Rainbow Tables: How to defend against them?彩虹桌:如何防御它们?
【发布时间】:2010-04-20 12:33:59
【问题描述】:

我最近获得了适用于 windows 的 l0pht-CD,并在我的 PC 上试用了它,它可以工作!!

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

我正在设计一个以类似方式存储 pwd-s 的“登录模拟器”。当前的实现将容易受到上述攻击。请任何人都可以说明(尽可能简单地),如何加强对抗这样的彩虹桌攻击。

我的目标:构建尽可能安全的“登录模拟器”。(阅读黑客竞赛 ;-))

谢谢。

【问题讨论】:

  • 你想加强彩虹桌吗?我不得不承认我没有阅读您发布的 URL - 但通常您会加强登录过程以防止使用彩虹表。在这里阅读:stackoverflow.com/questions/1012724/…,您可以通过使用盐来防止这种攻击:en.wikipedia.org/wiki/Salt_(cryptography)
  • 我认为他实际上是在尝试加强哈希。
  • @SLaks, @tanascius:是的,我认为他实际上是在想办法让他的登录模拟器防御 对抗彩虹表。它的措辞不是很好。

标签: windows passwords rainbowtable rainbowattack


【解决方案1】:

由于彩虹表是一系列针对各种密码的预计算哈希链,因此很容易被adding a salt to the passwords 挫败。因为散列函数通常会消除输入和输出之间的大部分本地对应关系(即,输入的微小变化会产生大的、看似无关的输出变化),所以即使是很小的盐也将非常有效。

最重要的是,盐不需要保密就可以有效;彩虹表需要针对所有可能的密码-盐组合重新计算。

【讨论】:

  • +1 直截了当。他没有谈论自己的加密实现。
【解决方案2】:

您应该使用bcrypt,它由专业密码学家设计,可以完全满足您的需求。

一般来说,您应该永远发明自己的加密/散列方案。
密码学极其复杂,您应该坚持使用已被证明有效的方法。

但是,您问题的基本答案是为每个用户添加随机盐,并切换到较慢的哈希值。

【讨论】:

  • @SLaks。感谢 bcrypt。关于“盐”,我有疑问。如果我的密码是“test123”而盐是“小盐”,那么它仍然很容易被破解。对??目的是使盐“真正长且计算硬盐”对吗??...
  • 盐应该是一个相当长的完全随机字节数组。
猜你喜欢
  • 2010-09-30
  • 1970-01-01
  • 2014-01-14
  • 2023-04-02
  • 2019-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多