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

如果只用 WebAuthn(Passkey)做网站唯一登录凭证是否靠谱?会有哪些安全风险和弊端?

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

    rt 不考虑老用户密码舍弃问题,不考虑用户注册设备丢失问题,不考虑无密码找回重置问题

    生物识别会不会没那么靠谱?

    22 条回复    2024-09-13 10:18:09 +08:00
    totoro625
        1
    totoro625  
       308 天前
    安全设计的预设:如果坏人能控制你的人身自由,解锁你的设备,就不用考虑密码的安全风险
    jiagm
        2
    jiagm  
       308 天前 via Android
    一般而言生体认证无法使用的话会回落到使用锁屏密码,所以倒不至于会有突然验证不过就登录不了的问题。
    Passkey 的最大问题还是在于同步问题。海外用户的 Android 有 Google Password Manager ,国内总不能指望每个人都用 Bitwarden ,甚至是 1password 等。
    cccer
        3
    cccer  
       308 天前
    Passkey 并不只有生物识别,usb key 硬件认证器、手机扫描认证、windows hello pin 、密码管理器等都可以认证。
    cccer
        4
    cccer  
       308 天前
    如果准备舍弃密码登录,就至少要注册 2-3 个 Passkey 设备,或者可以云同步的 Passkey 管理器。
    jocover
        5
    jocover  
       308 天前
    用户学习成本太高,可能就不会注册你网站了
    生物识别也就是设备返回给你的结果,至于是不是真的去识别了,都能修改的
    raw0xff
        6
    raw0xff  
    OP
       308 天前
    @jiagm 所以只要知道锁屏密码就能登录凭证,感觉不安全。Google Password Manager 国内不可用吗?挂梯子忽略了这个问题。
    raw0xff
        7
    raw0xff  
    OP
       308 天前
    @cccer
    @jocover 咱们说说安全的事。
    jocover
        8
    jocover  
       308 天前
    @raw0xff 这东西标准是要去验证用户设备证书是否有效,否则你用第三方设备可以轻易模拟 passkeys 登录,然后 dump 出设备上保存的登录凭证,就可以实现你网站登录凭证复制到其他设备了

    验证证书需要 metadata ,不过里面有几百个通过认证的设备,所以你服务器验证证书挺费时间,证书会在设备 authenticatorMakeCredential 后返回给你的服务器

    苹果是验证证书的,github 和 google 是忽略这一步的
    当然 passkeys 的验证设备是用户选择的,客户可以选择开源方案或者花钱买一个有认证的设备

    设备认证的 metadata 下载地址:
    https://fidoalliance.org/metadata

    我的开源 passkeys 实现项目
    https://github.com/jocover/esp32_u2f
    jiagm
        9
    jiagm  
       308 天前 via Android
    @raw0xff
    一般而言,锁屏密码是仅限本人知道的情报。而且如果锁屏密码泄露,那不使用 Passkey 而是使用密码管理器(或者浏览器的记住功能)保存密码,一样会泄露,一样不安全。
    所以并不认为在锁屏密码会为第三者所知晓的前提下,Passkey 比其他密码管理器保存的方式更不安全。
    cccer
        10
    cccer  
       308 天前
    @raw0xff "所以只要知道锁屏密码就能登录凭证,感觉不安全",这句话是错的,passkeys 在安全设备上至少是需要一个生物识别或者 PIN ,并不是只需要锁屏密码,而且这个 PIN 是有尝试次数到了次数就无法使用。
    passkeys 作为互联网巨头联合推出的新一代登录解决方案,至少不会有明显的安全问题,只可能存在一些不安全的实践。
    raw0xff
        11
    raw0xff  
    OP
       308 天前 via iPhone
    @jiagm 明白了。记得以前看过一篇文章说有人“破解”了人脸识别,拿对方照片贴在眼镜上就能通过,当然也有一些技巧,安卓手机大部分都能过。不知道现在情况怎样。当然作为开发者一定是更愿意用公私钥方式,因为不用担心私钥的安全,只需要管理好凭证即可。
    raw0xff
        12
    raw0xff  
    OP
       308 天前 via iPhone
    @cccer 我在自己手机上等待人脸识别失败后可以用 pin 登录,不清楚你说的“错”在哪里?
    raw0xff
        13
    raw0xff  
    OP
       308 天前 via iPhone
    Esp32 再加个 rfid 模块就能在线授权门禁,nfc 识别,淘汰 ic id 卡啦
    raw0xff
        14
    raw0xff  
    OP
       308 天前 via iPhone
    BwNVlwSq
        15
    BwNVlwSq  
       307 天前 via iPhone
    Passkey 太好用了,国内的网站不会跟进吧
    cccer
        16
    cccer  
       307 天前
    @raw0xff 上面已经说了吗、,至少一个生物识别或者 PIN ,PIN 并不等于密码,是绑定设备的限次数的令牌。
    PIN 任何时候都不能告诉别人,而且因为有限制次数无法遍历。
    dnsdk
        17
    dnsdk  
       307 天前
    @BwNVlwSq 🐔手机号关联塞广告,肯定不会跟进
    zx900930
        18
    zx900930  
       307 天前   ❤️ 1
    国内喜欢搞手机号一键登录,然后广告电话短信就来了
    SenLief
        19
    SenLief  
       307 天前
    @BwNVlwSq #15 国内还在研究手机一键登录。
    SenLief
        20
    SenLief  
       307 天前
    话说 passkey 在手机上有支持吗
    raw0xff
        21
    raw0xff  
    OP
       141 天前
    @jocover 你的设备有没有在 fido (登记?获取?)证书?
    抱歉你说的非常对,当时忽略了用户认证器设备的验证,如果服务端不验证用户认证器就存储公钥,那么就有可能存在中间人。可否留个小飞机请教一些问题?
    afxcn
        22
    afxcn  
       75 天前
    你比我早 232 天关注 webauthn 这个问题,有在实际项目中用了吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1136 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 18:48 · PVG 02:48 · LAX 10:48 · JFK 13:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.