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

macOS 每次锁屏后都要输入密码,不能用 Touch ID, V 友有没有什么排查思路

  •  
  •   mschultz · 351 天前 · 1465 次点击
    这是一个创建于 351 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近遇到一个问题(可能是 bug ,也可能是我某个设置或者第三方软件造成的),想问问 V 友有没有类似情况或者排查思路。

    1. 系统环境:电脑是 MacBook Air M2, macOS Sonoma 14.1.2. 系统设置 - Touch ID & Password 中,"Use Touch ID to unlock your Mac" 等所有 Touch ID 相关功能均已打开。

    2. 问题:我每次锁屏(左上角苹果菜单 - Lock Screen, 快捷键 ctrl + command + Q )之后,都不能用 Touch ID 解锁,只能输入密码,密码框下方提示 Your password/PIN is required to enable Touch ID. 注:之前用了 YubiKey PIV ,所以插着 YubiKey 的时候这里需要输入 PIN ,没插的时候是要 password 。

    3. 这里最让我迷惑的是,如果我此时在系统设置 - Touch ID & Password 中,将 "Use Touch ID to unlock your Mac" 这个选项 关闭再打开,问题就消失了,锁屏就又可以用 Touch ID 了。这应该首先说明我的 Touch ID 硬件没问题,也大概没有什么软件或者系统设置硬性地 block 掉了 Touch ID 这个功能。 https://s2.loli.net/2023/12/09/bOneSuN3k1YFZmz.png

    4. 但是 3. 中的解决办法,电脑重启一次后就失效了。电脑重启后,又回到 2 的现象。注意不是仅仅开机第一次登入的时候需要密码,是 每次 锁屏后都要求输入密码。

    10 条回复    2023-12-10 13:18:01 +08:00
    mschultz
        1
    mschultz  
    OP
       351 天前
    好像…… 有点儿破案了,大概是我没理解 YubiKey PIV 机制的锅

    众所周知,macOS 第一次开机 Login 的时候是必须输入密码的,后续的锁屏就可以使用 Touch ID 解锁。所以这次输入密码可以认为起到了两个效果:

    1. 登录用户,解锁屏幕,进入桌面
    2. 激活后续的 Touch ID 功能

    而如果设置了 YubiKey 的 PIV 功能(设置方法在 https://support.yubico.com/hc/en-us/articles/360016649059-Using-Your-YubiKey-as-a-Smart-Card-in-macOS 供参考),在插着 YubiKey 的情况下就可以用 YubiKey 的 PIN 代替输入 macOS 密码,用于 Login 或者 unlock screen 。但是这里使用 YubiKey PIV login 时,仅仅是登入或解锁,却无法起到上述的第 2. 条效果 -- 激活 Touch ID 。

    我由于平时几乎一直插着 YubiKey ,所以好久没有输入过完整的 macOS 密码了,每次都用 PIV PIN 解锁,所以始终都没能激活 Touch ID 。解决方法是,拔掉 YubiKey ,完整输入一次 macOS 的本地密码,下次就可以用 Touch ID 了。
    imnpc
        2
    imnpc  
       351 天前
    YubiKey 使用建议我记得是有需要的时候才建议插上吧
    mschultz
        3
    mschultz  
    OP
       351 天前
    @imnpc #2 感觉非常注重安全的时候确实可以考虑这么做。

    但是我感觉太麻烦了,平时登录网站 2FA 或者 git 签名之类的频繁插拔不方便。
    另外,大部分操作都需要触摸确认或输入 PIN ,这应该避免了绝大多数「电脑中有恶意程序偷偷利用一直插着的 Key 做坏事」的风险。
    alex66
        4
    alex66  
       351 天前
    我的 yubikey 也是用的时候才插上去的?
    另外问问旧的 youbikey 的资料可以复制到新的 yubikey 上吗?
    mschultz
        5
    mschultz  
    OP
       351 天前
    @imnpc #2 昨天想了想,现在很多网站支持 Passkey 了(不支持 Passkey 的那些网站“大概率”也不支持用 YubiKey 硬件密钥做 2FA ),YubiKey 用得越来越少了,我也决定平时不长期插着了🤣

    @alex66 #4 YubiKey 里大部分资料是被设计为可写不可读的,(不考虑严重漏洞的情况下)理论上无法把 YubiKey 里保存的密钥复制出来。
    一般来说,如果要“备份” YubiKey ,一般是把这个两个 YubiKey 用同样的方法设置一遍。比如说作为 2FA ,就在网站上把两个 YubiKey 都设置为 2FA 设备。
    luodan
        6
    luodan  
       350 天前
    感觉一直插着 yubikey 是大幅降低安全性。
    mschultz
        7
    mschultz  
    OP
       350 天前
    @luodan #6 从应用方面讲,可以提示一下有什么具体的「大幅降低安全性」的例子吗?

    我感觉个人常用的几个功能( FIDO2 2FA, Passkey ,GPG 签名)好像都需要输入 PIN 或者触摸确认,个人直观感觉好像一直插着并没有明显降低安全性(我能想到的降低安全性的可能,就是有什么木马程序在用户不知情的情况下操作了 一直插在电脑上的 YubiKey ;但是好像 YubiKey 的设计并不容易在用户不知情的情况下被操作)

    注:我的情况是笔记本电脑,不是办公室台式机;平时基本上在家,不考虑其他人物理接触的风险。
    luodan
        8
    luodan  
       350 天前
    @mschultz 因为一直插着就等于你的所有安全措施都限死在软件空间了,物理空间的安全性是 0 。这比你把所有密码都刷在你家墙上的安全性都还低。你要说从应用方面来讲,确实没有降低安全性。
    mschultz
        9
    mschultz  
    OP
       350 天前
    @luodan #8 这样说的话,使用密码管理器(密码库一直在电脑里)也是把所有安全措施限死在软件空间了,所以使用密码管理器比把所有密码刷在墙上的安全性都还低。

    说实话我没太 get 到这个比喻要表达的逻辑:
    - 是想表达只依赖软件空间安全措施的安全性太低(甚至低于把密码刷墙上这种看上去荒谬的做法,所以结论是仅依赖软件空间的安全措施很不靠谱);
    - 还是想说其实在保证现实中房子无外人物理侵入的情况下,把密码刷墙上的安全性已经很高,甚至高过所有安装在电脑里的密码管理器?所以结论是证明把密码刷墙上其实也靠谱?

    但不管怎么说,从实用角度,很多人还是选择密码管理器这种方案的。

    ----
    虽然我现在已经不长期插着 YubiKey 了(#5 ),但还是比较好奇有没有比较 solid 的证据证明一直插着的不安全性。

    我个人理解:使用 YubiKey 即使不长期插着,至少用的时候还是要插的,无法避免与电脑之间的信息交换,有一部分安全性还是依赖 YubiKey 本身的固件设计的(比如 key 内的密钥不可 copy 出来之类的),长时间插着无非就是增加了与电脑接触的时长,属于量变不是质变;
    其安全性仍然不如密码刷墙上这种,仅靠光学信息 -> 人脑处理 -> 控制肌肉打字 这种数据传输方式。
    mschultz
        10
    mschultz  
    OP
       350 天前
    @luodan #8 另外我觉得虽然“可以说” YubiKey 插入电脑时,由于物理隔离程度下降,*物理空间* 安全性有所下降,但直接说为 0 是不是有点儿夸张了。

    由于物理密钥的硬件设计和固件设计,它至少密钥还在 Key 里,和密码管理器那种数据都在 *电脑内存* 里的情况还是有所不同的吧。而且我觉得这种不同,多少还是可以视作物理空间上的不同。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:51 · PVG 10:51 · LAX 18:51 · JFK 21:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.