使用在线服务生成的密钥是否会被视为风险?

信息安全 密码 蛮力 密钥生成 字典
2021-09-01 18:47:58

我们正在与一些同事就randomkeygen.com网站进行辩论。

我确实认为使用此(或任何此类)网站生成的密钥存在安全风险。

为什么 ?这是我的想法:

是什么阻止了网站所有者将生成的密码存储在数据库中并将其作为字典攻击发布?

我确实知道生成的密码组合不是无限的,但是如果使用这本字典黑客尝试他们知道已经生成的密码(因此更有可能被使用)怎么办

我们甚至可以想到一个用于分析的热图,以了解使用哪种生成的密码来缩小可能使用的密码的范围(或者甚至是一个将密码复制到剪贴板后将密码发送到数据库的 Javascript,但是对于我的演示来说有点太明显了)。

PS:我不从事安全工作,所以如果我说错话我会感到抱歉。我知道我的理论不是一个大的“安全漏洞”,但如果我们仅以统计方式看待它,那么如果我们减少可能的密码数量就有更多机会。

那么,使用在线服务生成的密钥是否会被视为风险?

3个回答
  1. 没有什么能阻止他存储密码
  2. 是的,这是一种风险,因为您不知道网站后端分配的密钥发生了什么

编写一个合适的 keygen 并不难,有很多例子说明如何编写一个简单的脚本来为你做这件事。然而,重要的是您使用正确的熵量来生成密钥的随机性。请在此处参考熊的回答

这取决于您的攻击情况,但是是的,理论上这是一种风险。这是一个可能的攻击媒介?不会。典型的攻击使用常用密码字典的排列。这样的字典需要足够大以获取大部分密码,并且需要足够小以实用。

事实上,非常小的非常实用。根据对最近泄露的一些密码的分析,只有 100 个密码的字典可以让您获得所有帐户的 40%,而 500 个密码可以让您获得 71%。有数以万计的真实泄露密码的字典可用,因此攻击者通常不必猜测。

尽管如此,该网站仍有可能是恶意的并记录了它生成的密码。或者它的所有者可能不太能干,它实际上是根据损坏的随机数生成器生成密码。

您可以通过在自己的计算机上生成密码来缓解第一个问题。有诸如 LastPass 之类的工具可以作为扩展在浏览器中本地执行完全相同的过程。

最后通行证

这些密码很可能是足够随机的,也就是说它们不会出现在前 50,000 个列表中。最好通过实际进行统计分析来确定它们是否表现出一些偏差。通常,他们使用系统的内置加密 RNG,这通常非常安全。

但即便如此,对于一次性密码而言,使用偏离某些值 1% 的密码的危险并不是特别成问题。当您创建统计上显着数量的这些密码(数千、数百万)时,就会出现问题,从而使偏见变成一种模式。事实上,攻击者不会费心调整他的算法以匹配给定密码生成器的偏差。这不是他的时代:暴力破解 122 位密码并不比 128 位密码更可行。

如果您的密码既长又不可预测,那么您是相当安全的。

要记住的另一件事是,该站点本身可能性质良好,并且不会记录任何生成的值,但您生成的值可能会在整个网络中被嗅探。

您示例中的randomkeygen.com站点是通过纯 HTTP 访问的,因此它容易受到MITM攻击。在撰写本文时,还没有 HTTPS 版本,这似乎为您提供了默认的 Apache 服务器页面和证书警告。

但是,还有其他服务(例如random.org)支持 HTTPS,以确保您生成的值不会被嗅探。

在他们自己的常见问题解答中,该站点本身警告不要出于安全目的使用任何值:

Q2.4:这些号码是否以安全的方式提供?是的,自 2007 年 4 月起,您可以通过https://www.random.org/访问服务器

我们可能应该注意到,虽然通过安全 HTTP 获取数字可以保护它们在传输过程中不被观察到,但任何真正关心安全的人都不应该相信任何其他人(包括 RANDOM.ORG)来生成他们的加密密钥。

我想说这适用于所有 3rd 方服务,您应该使用自己的本地软件真正生成自己的密钥。RoboForm软件包括一个安全密码生成器

RoboForm 密码生成器