首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当用户输入新密码时显示字符数量是否不安全?

当用户输入新密码时显示字符数量是否不安全?
EN

Security用户
提问于 2021-08-31 14:59:36
回答 6查看 7.1K关注 0票数 30

当用户在某个地方输入一个新的密码时,提供系统接收到的字符数量的反馈是很有帮助的。

在我刚刚运行的用户体验(UX)测试中,我的用户在她的密码管理器中创建了一个密码,然后尝试将它粘贴到终端中的新密码提示中。但是,由于没有对当前系统提供反馈(即光标没有显示输入的点),所以粘贴不起作用并不明显。

因此,从UX的角度来看,最好是显示一些点,这样用户就可以知道实际出现了哪些字符。

这种反馈会以任何显著的方式降低安全性吗?显然,它会给肩部冲浪者的长度,可以用来缩小攻击范围,但我希望对更好的UX影响是最小的。

为了提供一些上下文,这是如果用于终端命令行接口(CLI),特别是交互式输入提示。它现在没有提供任何反馈,但是我正在考虑打开一个特性请求来这样做,并且想知道安全性的影响。

EN

回答 6

Security用户

发布于 2021-08-31 18:53:11

知道密码的长度对猜测或破解密码的容易程度并没有太大的影响。

如果密码是很容易猜测或在字典中,那么长度是无关的。

如果密码是随机的,并且您试图强行执行(以某种方式获得了哈希),那么知道长度不会有多大影响,因为破解时间随长度增长的速度有多快。

例如,假设您知道密码有8个字符长,但是您不知道密码是由什么样的字符组成的。野蛮-强迫一个8个字符的密码(假设每个字符有95个可能的选项),以600亿散列每秒(从MD5到一个像样的GPU)将需要大约31个小时。

如果您不知道密码的长度,那么您可能会尝试蛮干--首先强制使用较短的密码。但暴力-强迫所有的密码从一个字符到七个字符只需20分钟,因为每增加一个字符使攻击时间延长95倍。

因此,通过隐藏密码的长度,您只会获得非常小的好处(即大约1%),并且只在一个非常特定的情况下(攻击者试图对哈希进行暴力攻击)。

票数 39
EN

Security用户

发布于 2021-08-31 23:48:22

具有这种行为的UI确实存在。我见过几个没有提供任何视觉反馈的。我也看到过一些随机反馈。

这是安全问题吗?好吧,想想密码的长度。我认为8-15个字符是用户的合理期望(有些用户会用更长的密码破解银行,但我们暂时跳过它们)。在该范围内有8个可能的密码长度,这意味着您正在“泄漏”3位信息。

考虑到我不相信有任何密码强度算法可以使结果准确地在3位内,我认为有很好的理由,为什么几乎所有的密码输入泄漏这些信息。用户体验的价值足以超过安全性的好处(请记住,可用性和安全性始终是平衡的。你不能只关注其中一个)。

事实上,我发现越来越多的系统提供了你的密码,如果你点击一个按钮。因此,如果说有什么区别的话,实际的系统将开始远离“模糊密码的长度”。

我所能想到的唯一真正有意义的攻击是,如果我碰巧在一家公司承担了密码的长度,并利用它来优先处理较短的密码,首先尝试破解密码。但即便是在那时,也很难争论到底是哪一个问题:显示的密码长度,或者它最初是一个弱密码。

票数 13
EN

Security用户

发布于 2021-08-31 15:17:19

威胁的情况极为有限。一个人必须是实际存在的,并且能够数出“点”才能得到长度。这比能够读懂课文要困难得多,因为大脑没有模式可以有效地解析。那他们还得用暴力强制密码。

即使攻击者获得了大致长度范围的知识,以这种方式提供反馈也不会以任何重要方式降低凭据的风险。

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

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

复制
相关文章

相似问题

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