我的短密码真的有多不安全?


17

使用诸如TrueCrypt之类的系统时,当我必须定义一个新密码时,经常会被告知使用短密码是不安全的,并且很容易被暴力破解。

我总是使用长度为8个字符的密码,这些密码不是基于字典词的,而字典词由来自AZ,az,0-9的字符组成

即我使用像sDvE98f1这样的密码

通过暴力破解这样的密码有多容易?即有多快。

我知道这在很大程度上取决于硬件,但是也许有人可以给我一个估计,在具有2GHZ的双核或具有硬件参考框架的任何东西上需要多长时间。

为了对这种密码进行暴力攻击,不仅需要循环浏览所有组合,还需要尝试使用每个猜测的密码进行解密,这也需要一些时间。

另外,是否有一些软件可以蛮力破解truecrypt,因为我想尝试蛮力破解我自己的密码,以查看“真的很简单”需要多长时间。


10
好了,既然您告诉我们您的密码始终是8个字符而不是词典单词,那么您已经变得更容易了;-)
Josh 2010年

该死的!我最好还是使用字典中的单词... :)
user31073 2010年

如果您真的担心密码,请尝试KeePass。我的密码管理已达到极限,然后KeePass改变了我的生活。现在,我只需要记住2个密码,一个密码即可登录我的计算机,一个密码即可登录我的KeePass数据库。我的所有密码(以及我的大多数用户名)现在都是唯一的,而且非常复杂,如果我登录KeePass ,使用用户名/密码组合就像CTRL+ ALT+ 一样简单A
ubiquibacon 2013年

Answers:


11

如果攻击者可以访问密码哈希,则暴力破解通常非常容易,因为它只需要哈希密码即可,直到哈希匹配为止。

哈希“强度”取决于密码的存储方式。与SHA-512散列相比,MD5散列可能花费更少的时间。

Windows曾经(而且我可能仍然不知道)以LM哈希格式存储密码,该密码将密码大写并将其分为两个7个字符的块,然后再进行哈希处理。如果您使用的是15个字符的密码,那就没关系了,因为它只存储了前14个字符,并且由于您不是强行强制使用14个字符的密码,因此很容易被暴力破解,而您强制使用了两个7个字符的密码。

如果您有需要,请下载John The Ripper或Cain&Abel之类的程序(保留链接)并进行测试。

我记得能够为LM哈希每秒生成200,000个哈希。根据Truecrypt存储散列的方式以及是否可以从锁定卷中检索散列而定,它可能需要花费更多或更少的时间。

当攻击者需要处理大量哈希值时,通常会使用蛮力攻击。在浏览了通用词典之后,他们通常会开始用普通的暴力攻击清除密码。编号密码,最多十个,扩展字母和数字,字母数字和通用符号,字母数字和扩展符号。根据攻击目标的不同,成功率可能会有所不同。尤其不是试图破坏一个帐户的安全性的目标。


感谢您的回答。我应该提到,我通常将RIPEMD-160用于哈希函数。对于密码,使用如上所述的方式生成密码,即218340105584896可能的密码(26 + 26 + 10)^ 8(但攻击者并不知道)。因此,我只是想知道这样的密码是否可以在合理的范围内抵御暴力攻击(我不是在谈论键盘记录器,cryotricks或橡胶软管加密技术,而只是在谈论暴力密码猜测)。而且我主要使用TrueCrypt。
user31073 2010年

为了澄清一下,您回答了我的问题,基于200,000个1节点上的218340105584896组合,假设攻击者知道密码长度,则大约需要36年。这也是在线计算器给我的。谢谢!
user31073 2010年

如果他们有可能获得哈希,则可以进行蛮力攻击。他们是否成功很大程度上取决于他们对密码的了解程度以及所拥有的时间。答案已更新。
乔什(Josh K)2010年

3
请记住,如果使用分布式网络预先计算散列值,则36年将变得很快。如果您使用1000台计算机,那么这将是一个易于管理的数字。
Rich Bradshaw

1
还要提醒您,增加密码长度会大大增加难度。如果8个字符的密码花了36年,则将长度加倍到16个字符的时间不会增加一倍,而是会增加到7663387620052652年。:)
Ilari Kajaste

4

蛮力攻击几乎是不可能的。如果攻击者对您的密码一无所知,那么他就不会在2020年这一刻通过蛮力获取密码。随着硬件的进步,这种情况将来可能会改变(例如,一个人可以使用所有但有很多的密码,现在以i7为核心,从而极大地加快了这一过程(不过,仍在讨论中)

如果要成为-super-secure,请在其中粘贴一个扩展的ascii符号(按住alt,使用数字键盘输入一个大于255的数字)。这样做几乎可以确保简单的蛮力是没有用的。

您应该担心truecrypt加密算法的潜在缺陷,该缺陷可能使查找密码更加容易,而且,如果您使用的计算机受到威胁,那么世界上最复杂的密码当然是无用的。


的确,蛮力攻击很少能针对单个目标成功,但如果我要转储使用MD5哈希密码的网站的用户数据库,我可以轻松地将其加载并以不超过限制的方式对蛮力运行6个字符,字母+,数字和符号。我不会取得100%的成功,但是我可以妥协一些帐户。
乔什(Josh K)2010年

如果盐是静态的,请确定。不应该这样 而且,这也不是真正的强力工具,它只是针对预先计算的彩虹表进行搜索。我们在哈希表中加盐是有原因的;)
Phoshi

有多少网站在哈希上加盐?彩虹表不是简单地将暴力攻击压缩成文件吗?;)我的观点是,如果您有1000个具有密码的用户,则其中一些必定具有诸如的密码12blue
乔什(Josh K)2010年

如果网站没有在哈希表中添加盐分,那说明他们做错了。彩虹表就是每个可能的值,所以有点像预先计算的蛮力。| l2blue仍然不应该用高盐强暴,而且还需要很长时间才能通过。(2176782336可能的组合,假设攻击者知道它是a-z0-9)
Phoshi 2010年

1
除非您确定数据库将接受扩展的ASCII符号,否则使用扩展的ASCII符号是个坏主意。我经常会密码被破坏,并且即使密码完全相同,系统也无法将其与我在登录名上输入的内容相匹配。发生这种情况是因为unicode仍然不是一个通用标准,并且在大多数地方文本编码都受到不良对待。
cregox


1

编辑:其他人对您的问题部分给出了很好的答案,即“通过蛮力破解这样的密码有多容易?即有多快”

要解决您的问题的这一部分:

另外,是否有一些软件可以蛮力破解truecrypt,因为我想尝试蛮力破解我自己的密码,以查看“真的很简单”需要多长时间。

这里有多种暴力破解Truecrypt 的选项

这是普林斯顿大学的另一本书。


这没有回答他关于短密码的安全性的问题,而是在Truecrypt平台上提出了其他各种攻击方式。
乔什(Josh K)2010年

@Josh K:不,它回答了他的问题,“而且,是否有一些软件可以对truecrypt进行暴力破解,因为我想尝试对自己的密码进行暴力破解,以查看如果确实如此,需要多长时间?简单'。”
乔什(Josh)

1
@Joshes现在,不要互相争斗!你们俩实际上是同一个人,不是吗?
cregox

不,实际上我们不是。
乔什·K

0

密码:

这是一个简单但很长的密码。

极大的蛮力,包括基于字典攻击,超过耐:

sDvE98f1

因此,使用简短但困难的密码只会适得其反。记住起来比较困难,但是却不太安全。

用一个简单但很长的短语。


资源?
hyperslug

@hyper:简单的高中数学?
Thomas Bonini 2011年

1
兰德尔(Randall)具有关于长度与复杂性的有用可视化效果: xkcd.com/936
Charles Lindsay

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.