为什么 mac 输入正确的密码 就会很快登陆,错误密码就要等一会才能提示出来错误了,计算时间不应该一样吗?

2022-02-26 20:27:50 +08:00
 PeakFish
4344 次点击
所在节点    macOS
28 条回复
meisen
2022-02-26 20:37:27 +08:00
几年前发现这个问题,联系客服无解。

后来我将密码改为一位数一直延续到现在,输错的几率几乎为 0 ,对了,我的密码就是 0 🐶
sky96111
2022-02-26 20:50:41 +08:00
Linux 也是,好奇但没了解过。给自己的理由是密码错误触发安全审计,需要记录日志产生了开销
DonDonc
2022-02-26 20:53:02 +08:00
故意的,防止暴力破解,Windows 也有类似机制。另外在 Windows 上计算时间不一样的,因为还有域控制之类的情况,macOS 应该也类似。
Tianao
2022-02-26 20:53:13 +08:00
防爆破,设计使然。
lance6716
2022-02-26 20:53:36 +08:00
想象一个攻击者可以用光速输入密码
felixcode
2022-02-26 20:54:01 +08:00
降低暴力破解的速度。
windows 登录错了几次后也会停顿一段时间后允许再次输入。
K1W1
2022-02-26 21:07:45 +08:00
大概是为了防范计时攻击
chendy
2022-02-26 21:10:11 +08:00
防爆破机制(还能部分防熊孩子)
印象里 win10 好像也有类似的设计
MrCurly
2022-02-26 21:18:13 +08:00
linux 也这样,不知道为啥
DonDonc
2022-02-26 21:39:29 +08:00
找到一篇文章,似乎可以修改时间 https://www.stigviewer.com/stig/apple_os_x_10.13/2018-10-01/finding/V-81721
苹果官方的文档只提到服务器版 macOS 修改方式。
Windows 10 搜索 Account Autolock Duration ,可以找到官方文档。
xiangyuecn
2022-02-26 21:47:06 +08:00
js 版实现:Math.random + setTimeout 🐶
Jooooooooo
2022-02-26 22:10:51 +08:00
这是防止暴力破解.
CEBBCAT
2022-02-26 23:21:44 +08:00
为了防止《计时攻击 Timing Attacks 》? https://coolshell.cn/articles/21003.html
LifStge
2022-02-27 00:07:36 +08:00
win10 下 我用的 pin 而且当错误次数超过十来次的时候 接受的就不再是 pin 或密码了 必须输入 A0B2C3(好像是这样) 才能继续恢复
westerndream
2022-02-27 00:30:08 +08:00
防止暴力破解。我想过这个问题,觉得是这样(没看过源码),如果从用户的角度会觉得难以理解,我多次输入错误按正常间隔让你重试,然后再禁你一段时间,比较符合我们的思考习惯,但估计从实现的角度,输入错误直接延时一下再让你输,写起来就很简单根本不用记录你前几次的操作,也实现了暴力尝试的频率
dingwen07
2022-02-27 02:17:37 +08:00
有一种攻击方式是时序攻击

最简单的例子就是,假设密码是明文比对而不是 hash
比对的时候把两个字符串按照顺序一个一个字符检查,发现不一致就返回错误
这个时候如果对输入错误密码的返回时间进行测量,在最好的情况下可以很快的试出密码
shiji
2022-02-27 02:42:09 +08:00
@felixcode windows 还会让你输入 112233 这样的东西看你是不是真人在输入密码。
luckycatio
2022-02-27 05:29:09 +08:00
@shiji ……那是为了防误触,哪有 captcha 长那样
ZE3kr
2022-02-27 07:35:44 +08:00
我觉得就是慢哈希,但计算量这个参数设计成了一个区间,这样或许就更安全了?
ZE3kr
2022-02-27 07:37:18 +08:00
@shiji 应该直接引入 hCaptcha 然后操作系统就可以赚钱了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/836620

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX