Passkey 为什么比密码更难被钓鱼

很多账号被盗,不是因为密码太短,而是因为用户把密码交给了假网站。攻击者做一个长得像登录页的页面,用户输入密码和验证码,攻击者立刻拿去真网站登录。传统密码的问题在这里很蠢:它只是一段“谁拿到谁就能用”的字符串。

Passkey 的思路不一样。它不把秘密交给网站,而是在你的设备里保存一把私钥,网站只保存对应的公钥。登录时,网站发来一个挑战,设备用私钥签名,网站用公钥验证。关键点是,这个签名会绑定网站域名。你在 fake-example.com 上点登录,设备不会给 example.com 的身份凭证签名。

这就是 WebAuthn/FIDO2 的核心价值:它不是让用户“更小心”,而是把“用户会被骗”这个现实写进设计里。好安全设计不该指望人类每次都看清 URL,人类会累,会急,会犯错。系统应该让错误没法变成灾难。

思考题:如果攻击者控制了一个假登录页,并实时转发用户操作到真网站,Passkey 为什么仍然比短信验证码更难被中间人攻击?

💡 核心记忆:密码是“共享秘密”,被看见就完了;Passkey 是“证明我有私钥”,私钥不离开设备,钓鱼页面很难偷走可复用的登录材料。

#Security