V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
WilsonGGG
V2EX  ›  问与答

2022 年,基于动态密码的两步验证(2FA)是否还有意义?

  •  
  •   WilsonGGG · 11 天前 · 1087 次点击
    我知道现在很多种方式都叫做两步验证,主要想问的是基于 [验证器-扫码-动态密码] 的这种。

    我想到的优势:
    1. 安全,多一层保障
    2. 不容易被截获,每 30s 就刷新一次
    3. 很酷(……),就像是银行 u 盾一样

    我不喜欢的地方:
    1. 需要验证器在你手边才能登录
    2. 同步与备份。我用的是 Microsoft Authenticator ,开启了同步,数据却丢了
    3. 容错差。一旦密钥丢了,很多时候就要花额外的精力去撤销 2FA ,如果我保留原始密钥在某个地方,那安全性又无法保障了
    4. 其他(两步)验证方式的兴起,设备、手机验证码、邮箱验证码……

    所以我想问对于普通人(非商用 /机密环境),这种方式的 2FA 是否失去了意义?
    15 条回复    2022-09-23 23:47:00 +08:00
    youngzy
        1
    youngzy  
       11 天前   ❤️ 1
    当然有
    2FA 就应当是独立于 邮箱 /手机号 的验证体系
    目的就在于当 其他验证手段已经不安全时(如邮箱已经被盗,手机号被回收或被盗) 作为最后一层保护(因为 2FA 密钥只下发一次,所以理论上只有持有密钥的人有能力计算出当前的密码。)

    对于你不喜欢的点:
    1. 无解,当然如果你记住了密钥然后自己根据当前时间算出动态密码理论上也行。。
    2. 2FA 其实本来就不应当被同步,同步会造成多份密钥副本,传输和存储时密钥泄漏的风险会大幅增加
    3. 安全的 2FA 应当只能够被自己本身,或随密钥下发应的恢复码恢复。如果 2FA 能够随意地被其他形式解除(如手机或邮箱验证),那么其实安全性没有太大意义。保留原始密钥推荐的做法是写在纸上,物理保存。
    4. 其他方案的攻击面与 2FA 不同(如邮箱验证可以撞库,手机验证可以是伪基站和钓鱼)。2FA 只能通过物理接触(获取到密钥或恢复码)进行攻击。

    最后,如果认为账号的安全等级没必要使用 2FA ,那么不去开启 2FA 就是了。
    youngzy
        2
    youngzy  
       11 天前
    修改错误:
    保留原始“密钥”推荐的做法是写在纸上,物理保存。-> 保留原始“恢复码”推荐的做法是写在纸上,物理保存。
    xmumiffy
        3
    xmumiffy  
       11 天前 via Android
    其他验证方式才是真的绑定了设备 /工具(像你说的手机卡 /邮箱),只有 TOTP (使用标准协议的)可以在任何地方使用你想用的方法获取到密码
    arch9999
        4
    arch9999  
       11 天前
    如果你用密码管理器保存了所有账号信息呢,那就不存在列出的问题。
    v2tudnew
        5
    v2tudnew  
       11 天前
    取代 TOTP 必须有替代方案:
    生物信息识别不可变更,泄露更是烂大街。
    邮箱如何保证安全,短信和 TOTP 一样必须设备在身边。

    似乎只有长密码才能满足随时更改和登录(就像核密码),但有多少比例的人类能记住呢?
    也许植入芯片行?但我是不喜欢身体塞点芯片。
    gollwang
        6
    gollwang  
       11 天前
    可以看一下 FIDO ,个人认为可以替代 TOTP ,既可以免密,也可以用来 MFA
    pkoukk
        7
    pkoukk  
       11 天前
    对于国内的个人而言,确实没多大意义
    主流软件的风控做的很 “好”,盗你账号的人没什么可做的
    尴尬的问题主要是,你换号也很容易被风控
    wdssmq
        8
    wdssmq  
       11 天前
    既然作为「普通人」那么就是把恢复密钥存在电脑或手机上的某个地方好像也并不是什么罪大恶极的事吧;

    之前有试着用 Cryptomator 加密,但是最早这东西本身是没有恢复密钥的,忘记密码就真的寄了,所以干脆不加密保存;

    Cryptomator 新版本虽然多了恢复密钥,可是这个恢复密钥又该写在哪里呢?

    总之保存有各种恢复密钥、正版软件授权码、身份证 /户口页照片的那个文件夹,在两部安卓手机,以及四台 win 系统 PC 上都有同步保存,不加密码那种 (╯﹏╰)

    软件用的使用 Resilio Sync
    nothingistrue
        9
    nothingistrue  
       11 天前
    验证是双方面的,对用户没意义的东西,对服务商可能很有意义。如果单纯从用户方面来看,那么别说 2FA ,密码都没有意义,要不然哪来的 Password1 这样的密码。

    基本上,不管认证方式是否匿名(密码是匿名的,TOTP 是匿名的,手机号是不匿名的),只要是强制的,那都是对服务商有意义对用户没意义的。
    yoa1q7y
        10
    yoa1q7y  
       11 天前   ❤️ 1
    我用 1password 保存 2fa 信息,体验非常棒,而且多设备同步
    yoa1q7y
        11
    yoa1q7y  
       11 天前
    你说的这些问题都可以保存在 1password 的一份登录信息里,包括邮箱,密码,2fa 验证码,back codes 等等,2fa 也可以自动填充
    lp7631010
        12
    lp7631010  
       11 天前
    自从换了手机没注意把二步验证搞过来,就不用这玩意了
    flashlight
        13
    flashlight  
       11 天前 via iPhone
    复杂独立密码 可以大大加强你的安全性 1password 了解一下
    WilsonGGG
        14
    WilsonGGG  
    OP
       11 天前
    @youngzy 谢谢您的解答
    agagega
        15
    agagega  
       10 天前
    2FA 的出发点是:如果有两个相互的独立认证方式都通过了,那么你是你本人的概率比只用一种方式大得多。

    显然,把 2FA 和密码一起存在管理器里填写就不满足这里的「独立」要求了(虽然还是比不用 2FA 多一点意义,比如可以防御撞库之类的场景)。但填验证码还要拿起手机找到 App 确实很麻烦。更好用一点的场景是认证的时候手机弹出通知,点开认证。硬件密钥看起来很美好,不过只要不是一直插电脑上,其实也不方便……短信 /邮箱验证码倒是不错的方案,就是有延迟。

    微软那个登录要么直接输密码,要么直接验证器登录,都没有强制要求 2FA ,看起来他们对自己的风控很自信。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1948 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 10:55 · PVG 18:55 · LAX 03:55 · JFK 06:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.