【发布时间】:2021-10-07 20:31:52
【问题描述】:
In something like Android,可以简单地检查有效的指纹扫描并根据是否发生匹配来确定能力。据我所知,webauthn 似乎需要一台服务器来进行任何指纹扫描。真的吗?有没有办法简单地让一行代码不执行,除非发生操作系统认为有效的指纹扫描?
我不需要存储凭据,我只想在指纹扫描有效时触发 AJAX 请求,就像“是的,我确定我想这样做,并且操作系统说我是登录用户”——即使它只是客户端检查。在这种情况下我可以接受。
【问题讨论】:
-
所以你的意思是你不在乎谁的指纹?还是你?您的问题在这方面是自相矛盾的:如果您隐含地信任客户而不是验证自己,您就无法安全地确保任何特定用户都提供了他们的指纹。
-
操作系统(比如 touchID)是否不知道指纹是否与用于登录计算机的手指库匹配?
-
确实如此,但在 WebAuthn 上下文中,TouchID/FaceID(或 PIN 码)仅用于保护存储在设备上的凭据,然后用于签署断言,然后在您的后端使用公钥。如果没有生成和验证断言的能力,您就没有保护任何东西,并且有人可以轻松绕过客户端检查。您暗示您有一个后端正在使用(AJAX 请求),所以正确执行此操作不可行吗?
-
@richie 是什么阻止我编译我自己的操作系统,它总是告诉您的应用“是的,这与我的数据库匹配”,即使我不是当前登录的用户......?跨度>
-
没什么,但在这种情况下我不需要那么多的安全性。这是一个内部工具,需要有代码、在 vpn 上、手头有预共享的凭据等。我只是在寻找一种“是的,我确定”的行为,这种行为比简单的确认对话框更有意。跨度>
标签: javascript webauthn