安全概述
Anon 采用非托管模式,由您控制支出密钥。公开交易详情和服务请求元数据仍可能被其他方看到。Mobile Sync 以加密二维码在您的屏幕之间直接传输恢复材料,不上传到 Anon。
非托管模式
“非托管”意味着控制资金的私钥仅由您持有。Anon:
- 不会在服务器存储私钥或助记词
- 不要求您在 Anon 平台注册账户
- 无法冻结、撤销或访问您的交易
- 丢失助记词后无法帮您恢复账户
相应地,您负责备份恢复短语。
数据存储位置
| 数据 | 位置 | 访问方式 |
|---|---|---|
| 已加密助记词 | 浏览器 IndexedDB | 仅凭通行密钥或密码解密 |
| IDB 加密密钥 | chrome.storage.local |
使用 PRF 派生密钥加密 |
| 公开地址 | chrome.storage.local |
明文,设计上公开 |
| RPC 配置 | chrome.storage.local |
明文 |
| 会话密钥(仅查看、支出) | 仅内存 | 锁定或退出时清除 |
| PRF 密钥 | 仅内存 | 仅在验证流程中存在 |
| 交易历史 | Railgun SDK IndexedDB | 本地加密 |
密钥材料、助记词和票据内容不会发送到 Anon 服务器。网络调用及其暴露的信息如下:
| 调用 | 用途 | 可见信息 |
|---|---|---|
Digest CDN(digest.anon.inc) |
下载屏蔽池历史 | 您的 IP;各用户请求相同,不含从密钥派生的信息 |
索引器 head API(api.anon.inc) |
在 CDN 更新间隙追踪最新状态 | IP 和链同步位置,即落后程度,而非持有资产 |
| 经 Anon 代理的 PPOI 聚合器 | 清白证明合规检查 | IP 及所查询的盲化承诺;钱包特定请求,见下文 |
| RPC 端点 | 公开余额、gas、广播 | IP 和查询的公开地址;端点可配置 |
| Waku 点对点网络 | 广播者通信 | 链上提交被委托,网络元数据仍可能可见 |
| Paymaster API(可选) | Gas 赞助 | IP 及发起赞助交易请求这一事实 |
.anon.buzz 注册服务(可选) |
用户名解析 | IP 和所解析的用户名 |
第一行承载大部分数据,并特意不使用针对钱包的查询:钱包下载与其他人相同的公开文件并在本地解密,服务器不会获知哪些票据属于您。钱包同步有完整说明。
PPOI 是独立的隐私路径:聚合器收到针对查看密钥派生的特定承诺的查询。当前 Anon 代理可以缓存这些读取结果,并在缓存元数据中保留请求参数。对缓存键做哈希不会匿名化参数,也不阻止与网络元数据关联。请审查运营方的保留策略和访问控制,不要假定此路径不缓存。
威胁模型
Anon 可防护的威胁
- 链上观察者:zk-SNARK 隐藏私密交易中的金额、发送方和接收方
- IP 关联:提交方式改变谁能看到连接元数据;通过 Waku 广播不保证 IP 匿名
- 索引器获知您的票据:历史以统一公开文件获取,而非逐钱包查询;解密在设备上进行,无服务器可读的筛选条件。见钱包同步
- 口令暴力破解:高内存成本的 Argon2id 减慢离线字典攻击
- 存储窃取:静态加密;保护效果取决于验证秘密和实现
- 仅截获 Mobile Sync 二维码:解密还需手机生成的 120 位配对码及两台设备上输入的一次性密码
Anon 无法防护的威胁
- 设备被入侵:恶意软件可能截取内存密钥或密码
- 浏览器扩展漏洞:扩展代码缺陷可能暴露密钥材料
- 完整配对信息被截获:若加密二维码、手机配对码及一次性配对密码全部泄露,攻击者可恢复所传账户。离线二维码副本无法过期或限制猜测次数。
- 配对码剪贴板同步:点击手机配对码可能通过通用剪贴板或其他同步服务复制到桌面。若剪贴板与二维码同时泄露,剩余保护只有一次性密码;30 秒剪贴板清理仅是尽力而为。
- 手机截屏:Anon 请求系统阻止受支持的截图和录屏,并在检测到截图尝试后警告。平台防护可降低风险但不保证安全;请删除“照片”和“最近删除”中的恢复图像。
- 网络流量分析:委托提交不会消除网络元数据或流量分析
- 同步流量形态:下载量和时间可大致反映某 IP 最近何时同步,但不揭示其票据。VPN 或 Tor 会改变观察者,无法抹去时间和流量大小
- 清白证明查询:合规检查本身针对钱包,经 Anon 代理到达第三方聚合器
- 助记词丢失:没有 12 词恢复短语就无法恢复
开源
Anon 计划开源,正在逐步向 github.com/anondotinc 发布代码仓库和工具。组件达到可公开维护的状态后分别发布,而非一次性全部公开。
部分组件已公开,包括 paymaster 中继的完整 Go、Docker 和 Cloudflare Worker 实现。
独立于 Anon 自身代码,底层 Railgun 协议合约和密码学电路已经开源,并经过多家独立机构审计,报告可在 Railgun GitHub 组织找到。钱包同步的摘要数据公开且按内容寻址,任何人无需访问 Anon 基础设施即可对照链上日志验证,见摘要同步。