这是一个严重的威胁,还是蛮力攻击需要大量的计算时间?
假设密码长度超过10个字符,并且密码集中的字符随机分布,包括所有字母,数字和大多数非字母数字键盘符号。
#1 楼
KeePass使用自定义密码派生过程,该过程包括使用随机密钥(然后用作盐)进行对称加密的多次迭代,如此处所述。默认的迭代次数为6000,因此用于处理一个密码的AES调用为12000(加密是在256位值上完成的,AES使用128位块,因此每轮至少必须有两次AES调用)。使用最新的四核PC(带有精美的AES指令的PC),您应该能够每秒测试大约32000个潜在的密码。可以在键盘上输入的字符数,总共有1020个可能的密码,而蛮力平均会尝试输入其中的一半。您处于1020 * 0.5 / 32000秒,也就是5000万年。但是使用两台只有2500万年历史的PC。这假定密码派生过程没有某种缺陷。在“自定义密码派生过程”中,“自定义”是一个可怕的词。此外,迭代次数是可配置的(6000仅是默认值)。
评论
+1表示“只有25英里的两台PC ...”
–woliveirajr
2011-10-29 5:24
您只是在几天内就收回了我自己的Keepass商店密码的希望破灭了……我特别喜欢这2500万年的历史,但是如果两者都尝试不同的补偿方式,那将是可行的,否则他们只会两次相同的工作...只是说。 :D
–user8469
2012年3月15日18:46
@DoNuT如果是您自己的密码,则不必强行使用它。您将获得许多有关您保存哪种密码,是否输入数字,还记得任何特定字符(或密码长度)的信息?所有这些都可以极大地减少时间。如果您想破解别人的密码,只需花费2500万年(而且他们甚至不能被“社会工程”)。
–刷新
2012年3月22日在2:59
Keepass具有出色的功能,如果迭代基于1秒内CPU可以执行的次数,则可以设置数量。因此,这意味着您需要等待1秒钟来解密数据,但是它将暴力攻击限制为每秒1次,这会阻止大多数尝试。
–西蒙东
2013年9月3日在10:25
该答案不能说明在实践中可以如何快速破解KeePass密码。答案还忽略了GPU。
–亚历山大·杜宾斯基(Aleksandr Dubinsky)
2015年10月30日19:47
#2 楼
没错,这需要很长时间。但是请不要忘记,您无需尝试每个密码组合。
如果击中正确的那一个,就完成了。因此,您实际上并不需要五千万年。
与使用两台四核PC相比,您拥有更多选择。
您可以使用基于Amazon Cloud的集群,并且可以启动5000个High CPU实例。当然,这很昂贵,但是您不需要购买5000高端计算机,因此它会大大降低价格。当然,对于今天的普通PC来说,您要花很长的时间。
评论
a)5000万年是平均破解时间,因此我们已经考虑到您可能会在第一天得到它的事实。 (您可能也有可能在第1亿年的最后一天得到它。)b)拥有5,000台PC时,您的平均寿命下降到10,000年,这简直是安慰。
– Graham Hill
2012年11月6日,11:51
封底,使用ec2 GPU实例,5000万年CPU时间(每个GPU内核)的成本约为20亿美元。那么多的钱,你真的很值得黑客。
– Jeremy French
2012年11月26日14:40
@JeremyFrench便宜地雇用了一个蜂蜜陷阱间谍。或购买扳手。
– Gerrit
19年7月11日在8:50
评论
如果您真的很偏执,可以将.kdbx文件放在Truecrypt卷中,以提高安全性。如果摩尔定律是正确的,那么通常每18个月,计算机的速度就会提高一倍,在50或60年中,您最终得到的数字是14或15个数字,即1、2、4、8、16 ,执行该操作50次或50年,您现在输入的密码无法破解5000万年,但是50年内的计算机将在一秒钟内破解它
@ F.Hauri从某种意义上说,将KDBX文件放入TrueCrypt卷中会将您的鸡蛋放入一个以上的篮子中-在这种情况下,这些篮子是相互堆叠的。
请参阅最近的这篇文章;某人能够在12分钟内使用Hashcat及其GPU破解kee-pass数据库。完整的指南供您自己进行测试:rubydevices.com.au/blog/how-to-hack-keepass;要回答您的问题,我会说这是一个严重的威胁。只要有足够的时间和计算能力,哈希就可以或多或少地被破坏。
@ schizoid04他们使用了字典攻击。我想知道原来的密码是什么? (未在文章中看到原始密码)显然,弱密码将使keepass安全方案的强度失效。我最初的问题为pw指定了“随机分布的字符”。