跳至正文
Anon Wallet

身份验证

Anon 支持通行密钥(推荐)和密码两种验证方式。两者均支持钱包密钥层级,但派生和保护根秘密的方法不同。

通行密钥(WebAuthn PRF)

通行密钥使用 WebAuthn 标准及 PRF 扩展(伪随机函数)。验证时:

  1. 浏览器请求设备验证器,例如 Touch ID、Face ID、Windows Hello 或 FIDO2 硬件密钥
  2. 验证器以您的 Anon 凭据运行 HMAC-PRF
  3. PRF 输出一个 32 字节的确定性秘密,用于派生钱包密钥

通行密钥的优势

  • 验证器保护:存储、设备绑定和同步取决于验证器。需要 PRF 支持;通行密钥并不能保证抵御已被入侵的设备。
  • 抗钓鱼:WebAuthn 凭据绑定来源(chrome-extension://...),钓鱼网站无法请求您的通行密钥。
  • 无需输入密码:避免向键盘记录器暴露钱包密码,但仍需保护会话秘密。
  • 生物识别便捷性:轻触或看一眼即可验证。

支持的验证器

可用性取决于浏览器、系统、验证器和 PRF 支持。请在设置时检查兼容性,以下示例不保证所有版本可用。

  • Touch ID(Mac)
  • Face ID(iPhone/iPad 通过蓝牙作为漫游验证器)
  • Windows Hello
  • YubiKey 及其他 FIDO2 硬件安全密钥

密码验证

若选择密码,Anon 使用 Argon2id 派生根密钥:

  • Argon2id 是内存密集型密码哈希算法,旨在提高离线猜测成本
  • Anon 使用较高的内存成本参数(64 MB),增加离线暴力破解成本
  • 随机盐保存在 chrome.storage.local 中;派生密钥不会发送到服务器

密码验证方便,但相比通行密钥略有不足:

  • 派生过程中密码短暂存在于内存中
  • 存储被窃取后,弱密码仍易受离线攻击

请使用足够长且独一无二的口令。

会话管理

验证后,Anon 创建会话:

  • 仅查看密钥加载到内存,用于后台同步
  • 支出密钥在发起交易时按需加载
  • 会话在设定的超时时间后失效

会话到期时,Anon 锁定并清除内存中的所有会话密钥。

自动锁定

Anon 可响应系统事件自动锁定:

  • 空闲超时:持续 N 分钟无操作后
  • 系统锁定:设备锁屏或睡眠时,需要相应浏览器扩展 API,默认启用
  • 关闭浏览器:始终触发锁定

您可在 Settings → Security 中配置这些行为。