少于20个字符的密码的安全性如何?


10

我最近收到一条关于将密码设置为20个字符以上的建议。用于加密的算法是带有256位主密钥的AES。假设8字符密码对破解加密文件的暴力攻击有多安全?

我知道这在大多数网站上都被认为是一个不错的密码大小。原因之一是他们可以在3次左右尝试后停止攻击。

Answers:


4

这是一篇有趣的文章,网址为http://www.lockdown.co.uk/?pg=combi&s=articles,其中详细介绍了暴力破解不同长度和符号集的密码理论上需要花费多长时间。


好的,这是一个非常有趣的链接。它为您在什么时间范围内需要哪种力量提供了一个很好的思路。因此,如果有足够的资源,也有可能破解8个字符的密码,特别是如果密码不是很好的话。
cmserv

以100,000个密码/秒的速度仍然需要83.5天。大多数攻击实际上是不可能的。尤其是在谈论服务器密码而不是pgp密码时。如果他们没有哈希,则8个(随机)字符本质上是不可破坏的。
Cian

我并不是在谈论服务器密码,因为我知道您可以使用更简单的密码,因为服务器可以提供额外的保护以抵御攻击。在其他情况下,我的意思是文件加密。
cmserv

最好更新此答案。该链接不再有用,提供了“永久关闭”。对于任何想看内容的人,后退机器都可以
Howard Lince III

结论我看到:混合使用小写和大写字母和数字。长度> 15是好的。
学生


4

看一下这篇文章中被接受的答案。表明即使使用全部字符的8个字符的密码也需要大约10,000年才能破解!


1
我想您指的是A类攻击(10,000密码/秒)。如果我看一下这张表并考虑一个大型机构,那么对于86个字符,8个字符的密码,E级或F级攻击,它可能可行:从34天到346天。这不是10000年;)
cmserv

老实说,我没有检查帖子中的数学!
Marko Carter,2009年

3

如果将彩虹表的使用视为蛮力(观点有所不同),则对于8个字符,使用包含密码中所有字符的彩虹表,大约10秒钟。20个字符的密码(相同的字符,相同的彩虹表),少于30秒。问题是生成表需要很长时间。我的矿山只花了一个月的时间才在晚上处理3GHz的机器。另一方面,您只需要执行一次。

通过组合字符替换和使用短语,可以轻松解决尝试记住长密码的问题。即使是简单的“#Fr3ddy M3rcury#”,对于大多数使用来说也足够复杂,但非常容易记住。


MD5密码使用了很多盐。我认为您的彩虹表不会足够大到无法同时包含所有8个字符的密码和所有盐。
克里斯,

您会为此冒险吗?我的桌子总共有25GB。那是40张桌子,每个桌子650MB。有一天,我将生成一大套。:)
John Gardeniers 2009年

1
嗯,MD5密码不是2 ^ 32盐吗?那是2 ^ 32 * 650mb。祝你好运。
克里斯,2009年

我用大学集群中的20个节点为所有ASCII字符LM散列64Gb做了彩虹表,这花了将近一周的时间。花费大约3分钟的时间进行思考。允许破解所有<= 16个字符的Windows密码。
Mark Davidson

2
根据维基百科,LM哈希没有盐。MD5密码确实带有盐,这意味着任何单个密码都可能具有(saltspace * password)散列,这意味着每个盐需要具有1个Rainbow表。
克里斯,

2

考虑到可以记住八个字符的密码。20个字符的密码被记录下来。

然后有人可以阅读它。


你是对的。此外,还有许多其他因素会影响加密文件的安全性类型。
cmserv

如果密码由5个普通英语/您的语言单词组成,则不一定要写下一个很长的密码。大脑善于记住它们,并且那里很多。
克里斯,

1
为自己的大脑说话。我的脑子突然想起要记住20个字符的想法。
约翰·桑德斯

如果您的密码是“地牢形而上的穿刺停滞物”,那么使用几次后,您可能会记得它。
克里斯,2009年

不。单词之间没有关系。没有故事可以告诉我自己,下次我需要密码时记得记得告诉自己。我使用密码生成器程序生成随机密码(我始终至少使用八个字符)。我会不断生成,直到看到一个我可以记住的密码,例如“ cinnademo” =“ cinnamon” +“ demonstration”。,我能处理。
约翰·桑德斯

2

您可能对文章“ 密码与密码短语 ” 感兴趣。他们的结论是,一个9个字符的完全随机密码相当于一个6个单词的密码短语。但是他们觉得一个6字的词组会更容易记住。


1

这完全取决于您使用的字符,因为这会改变您拥有的组合数量。假设8个字符:

  • 字典词:

    egrep“ ^。{8} $” / usr / share / dict / words | wc -l
    15601
  • 小写字母:26 8或208827064576

  • 小写和大写字母:52 8或53459728531456

  • 下,上和数字:62 8或218340105584896

添加标点符号和其他符号,暴力破解将需要一些时间。

这些数字是必须尝试的总组合。显然,黑客在获得密码后不会尝试每种组合,因此将其除以二即可得到所需的平均组合数。

较难的哈希值会导致更长的CPU时间来计算哈希值,因此总时间更长。约翰的一个例子:

基准测试:传统DES [64/64 BS] ...已完成
许多盐:真实的819187 c / s,虚拟的828901 c / s
仅一种盐:874717 c / s实数,877462 c / s虚拟

基准测试:BSDI DES(x725)[64/64 BS] ...已完成
许多盐:实际为29986 c / s,虚拟为30581 c / s
只有一种盐:29952 c / s实数,30055 c / s虚拟

基准测试:FreeBSD MD5 [32/64 X2] ...完成
原始:8761 c / s实数,8796 c / s虚拟

基准测试:OpenBSD Blowfish(x32)[32/64] ...完成
原始:354 c / s实数,356 c / s虚拟

基准测试:Kerberos AFS DES [48/64 4K] ...完成
短线:294507 c / s实数,295754 c / s虚拟
长:858582 c / s实数,863887 c / s虚拟

基准测试:NT LM DES [64/64 BS] ...完成
原始:6379K c / s实数,6428K c / s虚拟

基准测试:NT MD4 [通用1x] ...已完成
原始:真实的7270K c / s,虚拟的7979K c / s

基准测试:M $缓存哈希[通用1x] ...已完成
许多盐:12201K c / s实数,12662K c / s虚拟
仅一种盐:4862K c / s实数,4870K c / s虚拟

基准测试:LM C / R DES [netlm] ...完成
许多盐:358487 c / s实数,358487 c / s虚拟
只有一种盐:348363 c / s实数,348943 c / s虚拟

基准测试:NTLMv1 C / R MD4 DES [netntlm] ...完成
许多盐:510255 c / s实数,512124 c / s虚拟
仅一种盐:488277 c / s实数,489416 c / s虚拟

当然,这完全是学术性的,因为黑客只会打电话给您的秘书,告诉他们他们来自IT部门,他们需要密码才能输入某些信息,而您的强密码毫无用处。


1

我使用非平凡的密码短语来保护

*重要的资产
*的东西,是不是受到反攻击(闭锁反复尝试后)
*可能会遭受蛮力/基于字典/混合攻击的内容

我不太担心我的gmail帐户,因为强行尝试破解该密码只会锁定该帐户(而且有权访问服务器的任何人都将使用自己选择的哈希值替换哈希,而不是尝试破解它)。

最好的密码短语是长(> 12个字符),并且密码学上是随机的。但是,这些更难记住。因此,将多个单词与看似随机的字符组合在一起的密码短语可能是一个不错的折衷方案(也许是您喜欢的歌曲歌词的前几行的前1个或2个字母)。


0

当您能够在3次尝试后阻止攻击者(当他们通过网络攻击Web应用程序时)阻止攻击者时,就可以通过与客户端/服务器进行通信来获得安全性。在这种情况下,几乎任何长度的密码都可以被认为是足够的。

但是,如果内部人员使用散列的短密码来获取此数据库,并且能够绕过3次尝试的“网上”限制,则游戏将发生变化。

限制每个帐户尝试次数的警告是,这仅足以针对一个特定帐户进行有针对性的尝试。您还需要使用给定(或排列的)密码来保护所有帐户免受攻击-仅限制每个帐户的尝试次数就不会触发任何警报。考虑到当今的NAT和僵尸网络,您甚至不能说限制每个IP的尝试次数是思考安全性的好方法。

其他答案已经提供了不错的阅读资源。

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.