谷歌已经开始在所有主要平台的谷歌账户上提供Passkey支持。Passkey 将作为现有机制(包括密码、两步认证等)的附加身份验证选项提供。
按照谷歌的说法,Passkey 为用户提供了一种更简单、更安全的认证方式。
Passkey 允许用户像解锁设备一样登录应用和网站:通过指纹、面部扫描或屏幕锁定 PIN 码。而且,与密码不同,Passkey 可以抵御网络钓鱼等在线攻击,这使得它们比一次性短信验证码更安全。
对于用户来说,密码是出了名的难以管理,他们需要创建并记住大量的强密码,而且要为他们使用的每个服务都设定不同的密码。事实上,尽管密码可能很强大,但它们并不能保护用户免受网络钓鱼攻击的侵害,并且越来越频繁地与另一种机制——双因素身份验证(2FA)——搭配使用,而这种机制也有自身的缺点。
在底层,Passkey 是存储在用户设备上的加密私钥,而对应的公钥则上传到谷歌。当用户试图使用 Passkey 登录谷歌时,谷歌将要求他们的设备使用私钥签署挑战书(sign a challenge)。
这个签名向我们证明了设备是你的,因为它有私钥,是你在设备上解锁它,而你确实是在尝试登录谷歌,而不是一些中间网络钓鱼站点。
用户只有在解锁了设备的情况下才能签署挑战书,这一步可以利用许多设备都提供的先进的生物识别硬件,包括指纹和面部识别。或者,用户可以使用更传统的 PIN 码。根据谷歌的说法,任何生物特征数据都不会在签名设备之外共享,签名设备只会发送公钥和签名。
谷歌还提供了一种机制,让你可以借助自己的手机在另一台设备上登录。当你需要从共享设备上访问自己的账户时,这一点至关重要。在这种情况下,设备将首先使用蓝牙检查手机是否在附近,然后它会显示一个 QR 码,如果用户要授权,就可以用手机进行扫描并用它生成一次性密码签名。这个新设备既不会收到 Passkey,也不会接收到任何生物特征信息。
密钥驻留在个人设备上,每个设备都需要获得自己的 Passkey,这可能会很麻烦。为了规避这个问题,你可以在所有设备上共享 Passkey。谷歌并没有为此提供一种通用的机制,但用户可以依靠苹果设备上的 iCloud Keychain,以及 Android 和 Chrome 设备上的谷歌密码管理器来获得完美的体验。遗憾的是,除非使用第三方 SSH 密钥管理器,否则不能在 iPhone 和 Android 设备之间共享 Passkey。值得注意的是,微软官方尚未提供一个可以跨 Windows 设备共享秘密的解决方案。
要为自己的谷歌帐户创建一个 Passkey,目前你需要使用一个专用域。
去年,谷歌一直在与苹果和微软合作,制定标准的方法,其中包括可以在全行业采用的无密码认证方法FIDO和W3C WebAuthn。
声明:本文为 InfoQ 翻译,未经许可禁止转载。
原文链接:
https://www.infoq.com/news/2023/05/google-passkeys-rollout/
延伸阅读:
评论 4 条评论