身份验证
Anon 支持通行密钥(推荐)和密码两种验证方式。两者均支持钱包密钥层级,但派生和保护根秘密的方法不同。
通行密钥(WebAuthn PRF)
通行密钥使用 WebAuthn 标准及 PRF 扩展(伪随机函数)。验证时:
- 浏览器请求设备验证器,例如 Touch ID、Face ID、Windows Hello 或 FIDO2 硬件密钥
- 验证器以您的 Anon 凭据运行 HMAC-PRF
- 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 中配置这些行为。