首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在密码创建的上下文中,“随机”意味着什么?

在密码创建的上下文中,“随机”意味着什么?
EN

Security用户
提问于 2015-03-23 11:04:29
回答 5查看 3.4K关注 0票数 18

免责声明:正如你从我的问题中看到的,我在这个问题上完全是局外人,只是很好奇。

我想知道破解一个受密码保护的RAR5文件有多容易,我发现了许多答案,比如“一个真正随机的密码比一个基于真实单词的密码更难破解”。此外,很多答案都提到密码的随机性。

我知道基于真实单词的密码很容易被字典攻击破解,这可能就是这些答案所指的,但我仍然不清楚在密码创建中“随机”意味着什么,原因如下。

即使我使用最好的“随机化器”生成一系列字符,我获得HelloWorld的机会和获得f.ex的机会也是如此。在我的理解中,gkwwpBnePU完全一样,那么在这个上下文中“随机”是否意味着“离任何真实的单词越远越远”?但如果是的话,这难道不意味着密码就不那么随意了吗?

让我产生怀疑的想法--我认为这是同一个概念,但我不确定--是:如果我选择一个密码,它是一个真实的单词,但来自一种非常罕见的语言的晦涩方言,而这种方言的字典没有攻击者会输入破解工具,那么这样的密码还会比gkwwpBnePU更容易破解吗?(当然,假设gkwwpBnePU在任何语言中都不是一个真正的单词,明白我的意思吗?)

EN

回答 5

Security用户

回答已采纳

发布于 2015-03-23 11:28:32

“随机”的意思是:“攻击者不知道的东西”。

需要理解的重要一点是,攻击成本总是平均的。它们在一个数据点上是没有意义的。攻击者在第一次尝试时可能总是运气好,并找到正确的密码。这完全是不可能的。

如果您将密码生成为纯粹随机字符的序列,那么您可能会获得"HelloWorld";但通常不会,而且关键的是,攻击者将无法以不可忽略的概率猜测您的密码由两个连在一起的英语单词组成,因为它通常不会。

一种说法是,密码熵不是密码的属性,而是生成密码的过程的属性;它不影响单个密码的内容,而是密码的平均内容,接受了足够多的实验。更多关于密码熵这里

平均值仍然是一个重要的概念,因为攻击者和其他人一样,从经济学的角度思考问题(尽管他和其他大多数人一样,并没有完全意识到这一点)。如果攻击者破解密码的几率低于他中彩票中数百万美元的几率,他就不会麻烦地攻击你的密码。即使他总是“走运”,彩票的努力也要少得多,5000万美元比访问你的Facebook账户更有回报。

票数 22
EN

Security用户

发布于 2015-03-24 00:39:05

即使我使用最好的“随机化器”生成一系列字符,我获得HelloWorld的机会和获得f.ex的机会也是如此。在我的理解中,gkwwpBnePU完全一样,那么在这个上下文中“随机”是否意味着“离任何真实的单词越远越远”?但如果是的话,这难道不意味着密码就不那么随意了吗?

是。这是一个已知的问题,排除所谓的“弱密钥”在密码学。通过排除某些类型的弱键,剩余的键空间已经减少.不时出现的密钥选择算法意外地排除了几乎所有的密钥,给攻击者留下了很小的搜索空间。

您所描述的推理是这种错误的典型前兆:如果某些键是“弱”的,那么这些键的完全相反的是“强”,对吗?但是,如果您试图找到一个与Hello World这样的常用短语“完全相反”的键,则攻击者可以猜测它将您的“完全相反”映射函数应用于常见短语。

避免弱键与只根据某种距离选择与弱键最大距离的键有很大的不同(后者是由于对威胁模型和概率的误解而产生的严重错误,请不要这样做)。

因此,避免像Hello World这样的弱键,但不要缩小键选择范围,缩小到与“弱”键集一样小的搜索空间。

票数 4
EN

Security用户

发布于 2015-03-24 09:14:07

这里的随机意思是“攻击者将花费时间”。

从技术上讲,密码是由各种字符(可以是小写、大写、.)组成的。因为它们是作为字符串处理的。有两种密码:

  1. 由用户处理的
  2. 由密码管理器处理的

第二种情况很简单:尽可能进行长时间、复杂的组合,直到应用程序请求密码的极限(它们设置了一些限制,有时这些限制是可怕的)。!sg8Itp2%hjxXxo6a6TGMbJs8Jcxtk205XgZ@M^C2CmAgfC*q6是我刚刚想出的一个很好的密码,随机和所有的东西。

第一种情况更复杂,因为你的记忆,什么是“随机”和什么是“字符”之间的冲突。

让我们从一开始就清楚地表明,上面真正随机的密码大大减少了所谓的“密钥空间”,即密码的可能性。关键空间越大越好。但如果仔细处理,这不是一个问题。

你唯一的目标是建立一个密码,需要“很长时间”才能破解。你定义你自己什么是很长的时间。这可能是1分钟或100年。由于统计和CPU便宜的事实,让我们瞄准1000年。一千年的努力,由一个专门的破解者谁将拥有国家安全局的计算能力,供他支配。

破解程序将通过尝试所有可能的组合来攻击您的密码(我在这里对应用程序所有者对密码存储的适当质量做了一些假设)。这意味着他将尝试ab,. aaab .

嗯,不是。他不会这样做,因为他知道你的密码可能至少有6个字符长。这里有一个关于随机性的关键点:你必须绝对假定破解者知道你的密码是如何构建的。这里没有“默默无闻的安全性”(它在其他地方有用,但在这里不有用)。

这让我想到最后一部分:你的记忆。你不会很好地记住我之前给出的50个字符的密码。你最终会得到一些类似于单词及其变体的东西。拥抱它!去一个完整的月,并建立一个密码,由一些(4或5)随机词组成!

但是“每个人都说使用字典词是不好的”。那些没有做数学运算的人。

让我们计算一下:您有一个由4个单词组成的密码,每一个都是7000种可能性中的一个(这是人口的平均词汇量)。请注意:

  • 总词汇量在70,000至100,000字(法语或英语)之间。
  • ..。所以我们取一小部分你能真正想到的单词..。
  • ..。因为你可能不会用骰子法来选择你的话,而是突然间

因此,您有7000^4 ~= 10^15密码。高端专用破解环境每秒钟可以尝试10^10组合,这是大约1天的4字版本。5个字就能让你活到30年。这是用于脱机攻击的,当攻击者获得您的密码数据库时。在线攻击是不切实际的(大约1000次组合排在第二位)。

作为一个比较,一个8个字符的密码与小写,大写和数字有10^14组合。

备注:

  • 以上信息对于正确存储的密码来说,无论是在线攻击还是离线攻击,都是相关的。这就是说,如果密码是以纯文本形式存储的,或者是非盐渍的短密码,它就会立即被破解。
  • 我坚信必须明智地选择密码策略。有时没有密码是可以的,有时多因素认证是要走的路。没有“一刀切”的解决方案。
  • 我还坚信,密码的启动必须是务实的,并解决现实世界的限制。并不是每个人都能记住253个密码,每三个月有25个字符长和总长。
  • 可悲的是,许多标准和官方建议和截尾一样愚蠢,我们最终仍然使用Hello1密码,因为它们恰好符合构造规则。

最近,我对NIST、ISO27002、HIPAA、SANS、PCI、法国和德国政府机构、ISF和CobIT (特别是密码过期时)的密码建议进行了比较。上面的顺序是从“好好思考”到“我拿了90年代随便一个人或女孩发明的任何东西”,然后把它写在纸上,因为我在六年级就停止了数学,而我的四个神经元不允许我把超过20秒的时间集中在一个问题上。

编辑:根据评论中的请求,下面是标准评审的结论。这与密码过期不能提高安全性。的研究结果形成鲜明对比。

  • 根本没有任何建议(NIST)
  • 除“常规更改”(ISO27002)外,没有其他建议
  • 基于风险评估的变化,不足2年(HIPAA)
  • 180天(无症状)
  • 90天(PCI、法国和德国政府机构、ISF、CobIT)

考虑到ISF所做的出色工作,ISF的建议尤其令人失望。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/84397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档