
适用范围:先分清三个层次
这些检查适用于使用公私钥账户,或通过 WebAuthn 实现网站认证的身份钱包;不同产品可能只采用其中一种机制。“分布式”这一名称本身不能说明密钥由谁控制,也不能证明所有服务都不存在中心化依赖。
Ethereum 账户文档区分了钱包与账户:钱包是交互界面,外部账户由私钥控制,合约账户由代码逻辑控制。MDN 的 WebAuthn 文档则解释了网站如何通过公钥验证认证响应。两者分别涉及账户控制和网站认证,不能相互替代。

密钥风险:谁能实际发起签名
检查重点是密钥在哪里生成、保存和使用,钱包提供方能否独立签名,以及备份是否受到保护。私钥具有控制意义,界面上的密码保护不能直接证明底层密钥没有泄露风险。

若使用合约账户,应进一步核对谁有权调用关键功能、变更控制规则或启动恢复。合约账户没有自身私钥,并不意味着没有控制权限风险;控制边界需要从代码逻辑及相关授权判断。
签名风险:认证不等于授权所有操作
确认签名请求是在证明账户控制权、完成网站登录,还是触发其他操作。请求页面应清楚呈现用途和作用范围,不能仅凭“验证身份”的按钮文字判断。
Ethereum 交易中的 nonce 用于限制同一账户交易的重复执行,但不能据此推断所有登录消息都能防重放。身份认证还需检查自己的挑战值与验证流程。
网站认证:检查完整验证链
采用 WebAuthn 时,应检查是否运行于 HTTPS 安全上下文,以及服务端是否核对签名、挑战值、预期来源和依赖方标识。出现指纹或设备确认提示,只能说明流程中的一个环节发生了,不能代替服务端验证。
WebAuthn 将认证与网站来源关联,有助于抵御仿冒登录网站。其保护范围是相应认证流程,不应扩大解释为钱包内所有签名、授权和后续操作都安全。
常见问题与恢复边界
认证成功是否证明现实身份真实?不一定。公钥认证主要证明对相应凭据的控制,不能单独证明姓名、资质等身份陈述真实。
设备丢失后是否一定能恢复?不能从采用公钥技术这一点得出答案。应核对备用认证方式、密钥备份和恢复权限;若恢复绕过原有认证机制,就需要单独评估这条路径的风险。
检查结论应明确到具体机制:账户如何控制、认证如何验证、故障后如何恢复。仅有技术名称或安全宣传,不足以证明某个钱包已经满足这些要求。