随机生成的密码安全吗?


8

诸如Roboform之类的应用程序允许生成随机密码。也许有些黑客程序很聪明,并且知道密码生成器的工作方式,从而使他们更容易破解密码?也许他们知道某种模式?

另外,您如何看待LastPass?您的密码存储在云中的某个地方。谁知道在那里会发生什么...管理员可能会好奇或黑客可以入侵云。


随机密码必须遵循与任何密码相同的准则。超级用户有一个问题关于密码的建议- superuser.com/questions/15388/...
dvin

Answers:


8

大概。它是随机的,可能以password1!的形式出现!

或更准确地说,是的,它们是安全的。它们不是真正的伪随机(或者至少是任何良好的生成器,就像您在适当的密码管理应用程序中所找到的一样),但是遵循旨在创建非随机但很难猜测的密码的规则。

密码破解是已知的,可预测的事情,您可以使用它来创建有效抵抗密码破解的密码。不是字典单词,长,带有符号,包括字母,数字和大小写。生成将花费一台现代机器几百万年才能破解的密码并不是一个艰巨的挑战-因为写饼干的人知道发电机的工作原理,而写发电机的人也知道饼干的工作原理。

至于lastpass,据我所知,您的密码容器是在本地加密和解密的,因此被泄露的可能性很小。不幸的是,您不能使用lastpass来保护您的lastpass容器,因此您必须依靠自己的密码生成技能来记住该密码!


3

我是随机密码生成网站http://passwordcreator.org的作者。这是我在创建该网站的过程中了解的有关创建安全随机密码的知识:

随机来源

计算机上大多数随机数生成器都是psuedorandom。它们基于算法,​​不适用于生成密码。它们通常以当前时间作为种子。如果知道(或可以猜测)一条信息,则可以重现其输出并查看将要生成的密码。

要生成密码,应使用加密安全的伪随机数生成器(CPRNG)。从维基百科,这种类型的随机数生成器有两个要求:

  • 给定随机序列的前k位,没有多项式时间算法可以以50%的成功概率预测第(k + 1)位。
  • 如果部分或全部状态已被揭露(或正确猜测),则在揭露之前就不可能重建随机数流。另外,如果在运行时有一个熵输入,则使用输入状态的知识来预测CSPRNG状态的未来条件应该是不可行的。

现在,现代网络浏览器(Internet Explorer明显例外)具有可用于JavaScript加密API,该API具有加密安全的随机数生成器。这样一来,像我这样的网站就可以很容易地根据知道的生成时间和位置来生成唯一且不可猜测的密码。

密码长度

常见的密码攻击是攻击者可以访问存储加密(散列)密码的数据库。然后,攻击者可以生成猜测,使用相同的哈希算法对猜测进行哈希,并查看它们是否匹配。 这是一篇文章,显示有多少密码容易受到这种攻击。 现在,计算机已经足够强大,以至于攻击者每秒可以尝试1000亿个密码。秘密军事和间谍机构的计算机可能能够完成多个数量级的任务。

从实际的角度来看,这意味着需要从数以百万计的可能性中选择一个密码。只能使用八个字符的密码在键盘上键入的96个字符只能生成四千万个可能性。为了安全起见,今天的密码必须比过去更长。将来计算机将变得更加强大,您可能希望选择比现在需要保护的密码更长的密码,这样将来也不会轻易破解它们。对于基于96个可能字符的随机密码,我建议长度至少为10,但是对于将来的安全性,使用长度为12或14会更好。


0

如果密码生成例程的itake参数完全独立于生成密码的上下文(例如:它在生成密码时不询问网站网址和登录名,并且以可重复的方式包含此数据),则可以相对确定的是,此例程生成的任何密码都将足够强(假定长度和复杂性足够高)。

如果上述情形中涉及的任何计算机受到任何损害,则可以减少密码可以提供任何安全级别的确定性。

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.