有没有一种方法可以生成可以在我自己的脑海中执行的特定于站点的密码?

信息安全 密码 密码管理
2021-08-28 12:45:36

我最近在考虑密码安全问题。我的目标是使用随机密码,每个站点都不同。但是你也应该能够在没有任何笔记等帮助的情况下记住它们(或重新生成它们)。如果我使用真正随机的密码(由密码生成器生成),我只能记住几个。比我拥有的网络帐户数量少得多。更简单的密码通常更容易猜到。

我认为妥协可能是一些易于学习的规则和一些秘密的主密码,从网站名称生成密码。假设您有 ebay 和 amazon 的密码。此方法应为“ebay”和“amazon”生成两个不同的密码。但我也应该能够在脑海中完成这个过程,无需软件甚至纸笔的支持。常用密码我会直接记住。但是很少使用和被遗忘的,可以用这种方法重建。有谁知道这种方法?

编辑:我要求的东西应该通过为每个站点/机器/程序设置不同的密码来提高安全性,但也要让所有这些都令人难忘。密码保险箱很好,但您更有可能忘记网站密码,如果您丢失商店或商店损坏,您就会遇到问题。此外,所有密码都可以一次泄露!最后,如果我在朋友的机器上,我的本地密码保险箱不在手边。

4个回答

有趣的问题。这是一个新的,希望更好的头脑风暴。买者自负。

生成两个强硬的随机密码,并将它们提交到内存中。

按顺序取站点名称的字母。如果字母是元音,请使用第一个密码中的相应字母。否则,如果是辅音,请使用第二个密码中的相应字母。

例如,假设您的密码是(来自 apg)hicIrfyic9 和 FritwoivAuv0。对于 site stackexchange,前两个字母是辅音,因此您使用第二个密码中的“Fr”。接下来是元音,因此您使用第一个密码中的“c”。继续前进,你会得到“FrctwfivA9”。

如果您真的担心有人找到您的多个密码并找出模式,您可以添加一些方法来首先循环旋转每个密码或其他方法,或者通过字母表或其他方式移动它们,但很容易变得太偏执和困惑......

为方便起见,您可以在常规机器上对其进行编码,让它提示您输入基础密码,但仍然可以从内存中更慢地在信息亭上使用它。我不相信这个一般的想法值得麻烦,但也许在某些情况下。

对此我有两个方面的答案——

您可以这样做,通常所说的方法包括基于网站的部分和基于时间的部分。您可以设置一个像 blahblahebay2010 这样的密码,如果您在几年后考虑一下,这可能是可以恢复的。做你想做的。

但是我不建议这样做- 你不应该使用一个系统,这意味着你的密码可以被计算出来。好吧,你可能不是一个大目标 - 但也许有人会想要破解你的密码......所以如果你使用基于网站的算法,那么你会大大降低密码的强度。取而代之的是,使用Password Safe之类的东西来存储您的所有密码(可能很长、很复杂、难以记忆等),并且只需记住一个强密码来保护它们。

如果您只想为各个站点设置不同的密码,那么只需将站点名称附加到一个通用的“基本”密码即可。例如,您记得基础“7g93hrew9”,然后您的密码将是 7g93hrew9ebay、7g93hrew9amazon、...

当然,这并不令人满意。此示例旨在显示您真正想要的内容:您不想要“不同的”密码,您想要知道其中几个密码不会让您猜测另一个站点的密码。在密码学上,您希望您的密码生成器是一个伪随机函数,它将站点名称作为输入,并输出特定于站点的密码。

有一些经验证据表明,建立一个人类可以(合理地)在他的头脑中计算的 PRF 是不可行的。事实上,如果你看一下密码散列函数,速度非常快的(MD4、MD5...)已经被破坏,速度较慢的(SHA-1)有所削弱,而强的(SHA-256)速度较慢. 查看基本操作的数量,您可以看到用于散列一个小块的大约 1000 个操作的截断。SHA-3 竞赛中观察到类似的截止值看起来要实现安全性必须执行最少的工作量,而这个数量至少是几百次操作,这对于普通人脑来说太多了。

因此,我担心您的问题没有好的答案。

使用一个tabula recta,它结合了一个简单的算法,该算法只使用 know 和一个物理令牌,只有你必须根据需要输入密码。