V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
PeakFish
V2EX  ›  macOS

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

  •  
  •   PeakFish · 2022-02-26 20:27:50 +08:00 · 4321 次点击
    这是一个创建于 1007 天前的主题,其中的信息可能已经有所发展或是发生改变。
    28 条回复    2022-02-28 09:55:13 +08:00
    meisen
        1
    meisen  
       2022-02-26 20:37:27 +08:00
    几年前发现这个问题,联系客服无解。

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

    最简单的例子就是,假设密码是明文比对而不是 hash
    比对的时候把两个字符串按照顺序一个一个字符检查,发现不一致就返回错误
    这个时候如果对输入错误密码的返回时间进行测量,在最好的情况下可以很快的试出密码
    shiji
        17
    shiji  
       2022-02-27 02:42:09 +08:00 via iPhone
    @felixcode windows 还会让你输入 112233 这样的东西看你是不是真人在输入密码。
    luckycatio
        18
    luckycatio  
       2022-02-27 05:29:09 +08:00 via iPhone
    @shiji ……那是为了防误触,哪有 captcha 长那样
    ZE3kr
        19
    ZE3kr  
       2022-02-27 07:35:44 +08:00 via iPhone
    我觉得就是慢哈希,但计算量这个参数设计成了一个区间,这样或许就更安全了?
    ZE3kr
        20
    ZE3kr  
       2022-02-27 07:37:18 +08:00 via iPhone
    @shiji 应该直接引入 hCaptcha 然后操作系统就可以赚钱了
    cest
        21
    cest  
       2022-02-27 10:02:04 +08:00
    @ZE3kr #20
    不光要看广告,还要帮你训练模型
    这不成了要饭的
    dialtcp
        22
    dialtcp  
       2022-02-27 10:10:53 +08:00 via Android
    13 楼正解
    binux
        23
    binux  
       2022-02-27 11:41:27 +08:00
    @ZE3kr 如果是慢哈希,为什么密码正确的时候很快?
    这样的话 hash 函数到密码正确的时间没返回正确的结果,就知道结果错误了啊,那所谓的慢哈希还有什么意义?
    ZE3kr
        24
    ZE3kr  
       2022-02-27 12:48:19 +08:00
    @binux 我是这样想的,慢哈希但计算难度比如在 5-20 这个区间,而且哈希是那种依赖的(就是要算难度为 6 的需要先算 5 )。存哈希的时候随机一个难度,比如是 8 。输入正确密码时算到 8 发现匹配就结束了。错误密码需要试到 20 。不过纯属猜测,非密码学专家。

    看到了一个破解 APFS 和 HFS+的工具,感兴趣的可以研究下,或许可以解释楼主的问题 https://tinyapps.org/docs/cracking-filevault.html
    leon912
        25
    leon912  
       2022-02-27 14:06:37 +08:00
    应该是怕你暴力破解吧,逐渐拉长你的时间
    yikyo
        26
    yikyo  
       2022-02-27 20:54:54 +08:00
    暴力破解是一个原因,另外是通过检验时间,可以反推出其他信息,加快破解
    neptuno
        28
    neptuno  
       2022-02-28 09:55:13 +08:00
    防暴力破解有点道理,,,但为啥不是第二次或者第三次出错再延长时间呢?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2907 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:33 · PVG 11:33 · LAX 19:33 · JFK 22:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.