把Passkey想成一个装了双重锁的信箱:任何人都能把信投进公开的信箱口,但只有拿着私人钥匙的人才能打开、确认身分。这正是科技媒体近日一篇说明文章用来解释Passkey机制的比喻——公开密钥放在网站那端,私密密钥则锁在你的设备里,两者缺一不可。

传统密码的问题大家都熟:网站不该把密码以明文存放,所以会做一次哈希运算,再加上随机的「盐值」让相同密码产生不同哈希结果,降低数据库外泄时被还原的风险。但这套机制的漏洞不在算法,而在人——多数人为了记忆方便,会在不同服务重复使用同一组弱密码,而钓鱼网站则专门利用这一点,诱使用户主动把密码「送出去」。

Passkey真能取代密码?先看懂它解决了什么、又留下什么新麻烦

Passkey怎么把弱点补起来

Passkey不需要你记住任何文字。登录时,网站要求设备用公开密钥对应的私密密钥完成验证,这组私密密钥存放在手机或电脑受保护的保存区,由Face ID、Windows Hello PIN或指纹辨识唤醒。也就是说,你需要同时具备「持有设备」与「知道PIN或生物特征」两项条件,等于一次满足了过去要靠双重验证才能达到的安全层级。

Passkey真能取代密码?先看懂它解决了什么、又留下什么新麻烦

更关键的是,创建Passkey时会把它与特定网域绑定,即使打开一个外观一模一样的假冒网站,设备也不会把私密密钥交出去,等于从根本上让「把密码填进钓鱼页面」这件事失去意义。而由于Passkey的规格本身就要求高强度,也不存在「设一组简单Passkey」的可能,数据库外泄时攻击者能拿到的只有公开密钥,本来就不是秘密。

存放位置,才是真正的麻烦来源

Passkey真能取代密码?先看懂它解决了什么、又留下什么新麻烦

Passkey的代价在于它绑着设备或软件,一旦弄丢或跨系统使用就会卡关。iOS与macOS预设存进Apple Passwords,Android仰赖Google Password Manager,Windows 11则收在「设置 > 帐户 > Passkeys」底下,Linux目前还没有原生支持。如果你的设备分散在不同生态系,把所有Passkey都留在单一系统的App里,换到另一支手机登录就会变得麻烦,部分服务虽然提供扫码跨设备登录,但不是每次都顺手。

分享也是另一个现实限制。过去把密码告诉信任的人是一句话的事,Passkey要做到同等方便,得靠支持共用密码库的密码管理工具,单纯的设备内置方案做不到这件事。基于这些原因,把Passkey统一存进一款支持多平台同步的密码管理员,会比分散在各家系统的预设工具更务实,想要更进一步,也可以选择把Passkey存进像YubiKey这类实体安全密钥。

目前多数服务仍让Passkey与密码并存,部分情况下Passkey是取代密码,另一些则是补强而非取代——如果你的帐号属于后者,别忘了那组密码本身还是要够强,否则整套机制仍会被最弱的那一环拖垮。