密码:火腿,火腿,火腿,培根,培根,火腿

信息安全 密码
2021-09-01 23:01:31

为什么我们要为骰子器皿烦恼?掷骰子并在印刷书籍(或使用数字模拟)中查找一串 N 个随机单词比简单地重复一个单词或两个单词 N 次更安全吗?

根据一个在线熵计算器,以每秒一百万亿次猜测,破解我的美味密码需要 1.24 万亿个世纪。而且非常容易记住。而且我不需要骰子。甚至我的奶奶也可以有一个令人难忘的强密码:“键入 tophat 七次”。

我确实意识到基于公式的密码违反了 Kerckhoff 原则,并且使用与目标相关的单词会加强有针对性的攻击,但总的来说,最小总长度 T 的随机单词一个单词之间是否存在理论上的安全差异重复足够长以达到长度 T?

2个回答

一旦您说出“有针对性的攻击”这个神奇的词,我不确定该理论是否有太多关于该主题的内容。

密码熵的整个想法只对通用字典/彩虹表攻击有意义。基本上,在线熵估计器试图估计攻击者在找到您的密码之前必须深入研究他们的彩虹表的程度。这些基于公开可用的彩虹表

正如您所说,只有机器随机生成的密码[1] [2]才符合Kerckhoffs 的原则一旦攻击者决定发起有针对性的攻击并研究您的密码习惯,这些在线估计器提供的熵值就不再有意义。通过嗅探您的TLS数据包,他们可以知道您的密码长度,通过在泄露密码[1] [2]的数据库中查找您的电子邮件地址,他们可以知道您喜欢使用哪些模式作为密码,等等。他们可以使用像这样的信息来构建一个有针对性的彩虹表或暴力字典,您的密码将具有显着降低的熵。

底线:在线熵估计器基于研究人员认为攻击者在通用攻击中用于彩虹表的内容,并且显然ham,ham,ham,bacon,bacon,ham站得住脚。任何关于它能抵抗实际有针对性攻击的程度的估计都是纯粹的猜测。

没有真正的随机过程确定的密码没有可靠的熵计算

我们可以计算随机生成方法的熵:在一组 1024 中选择 5 个单词(逐个滚动)熵:5*log2(1024) = 50

对于每个不使用随机生成的部分,我们只能在遵循特定方法时计算熵。

使用生成方法的已知知识对您的密码进行熵估计

  • 1 个随机单词:12 个(如果在书中随机抽取可能会更少)
  • 1 个其他关闭词:3
  • 重复次数:3
  • 选择单词 1 或单词 2:6

熵:24

以每秒 10 亿次哈希的速度反转的时间:<1 秒

事实上,可能没有人会使用这种生成方法来反转哈希,但有人可以,这会使您的密码模糊但不安全,这并不能保证您的安全。

但总的来说,最小总长度为 T 的随机词与一个重复足以达到长度 T 的词之间是否存在任何理论上的安全差异?

随机词:获取密码的时间=(词池)^(词数)

一个单词重复:获取密码的时间=单词池+找出生成方法的时间不幸的是你无法可靠地衡量这一点