手机 App 早就做到了”无密码登录”,按一下指纹,或者人脸识别,就可以登录,完全不需要密码。
具体来说,Passkey 之所以不要密码,因为采用了密钥登录。网站不再保存用户密码,而是保存用户的公钥。登录时,用户必须用自己的私钥,解开公钥加密的随机数,从而确认身份。
这也意味着,用户要自己保存私钥。这是很麻烦的事情,因此 Passkey 协议的重点,就在于密钥的生成和保管彻底自动化了。
Passkey 要求用户必须配备一个”身份管理器”(通常由操作系统提供),这个”身份管理器”负责生成密钥,然后公钥交给网站保存,私钥由它自己保存。
等到用户登录网站,需要私钥证明自己身份时,网站就要向用户选定的”身份管理器”发出请求。这时,“身份管理器”就会调用操作系统的指纹识别或者人脸识别,要求用户完成验证。如果用户通过了,“身份管理器”就允许用户使用保存在里面的私钥