真正的零知识认证,带有硬件绑定的设备环签名
Legion 是一个 免密码的零知识认证系统,可以在不暴露你是谁的情况下证明你拥有授权。
只需使用你的 指纹 + 24 词恢复助记词(类似 MetaMask)即可完成认证。无需用户名、无需密码、无需服务器端秘密。
| 属性 | 保证 |
|---|---|
| 认证 | 免密码(BIP-39 + 指纹) |
| 用户匿名性 | 1 / 2^20(1,048,576) |
| 设备匿名性 | 每用户 1 / 2^10(1,024) |
| 可靠性错误 | 2^-128 |
| 证明系统 | Halo2 PLONK(透明设置) |
| 凭证推导 | Blake3(BIP-39 种子) |
| 硬件绑定 | WebAuthn Level 2(TPM/Secure Enclave) |
| 多设备 | 每账户最多 2 台设备 |
| 速率限制 | 每小时 5 次尝试 |
| 设备撤销 | 即时黑名单 |
git clone https://github.com/deadends/legion.git cd legion
chmod +x scripts/install.sh && ./scripts/install.sh
scripts\install.bat
**大功告成!** 在浏览器中打开 http://localhost。
### 安装内容
- ✅ Redis(会话存储)
- ✅ Legion Server(ZK 证明验证器)
- ✅ 前端(WASM 客户端)
- ✅ Nginx(反向代理)
**性能**:注册约 5 秒,认证约 2 分钟(k=14 证明生成)
---
### 手动设置(不使用 Docker)
<details>
<summary>点击展开手动安装步骤</summary>```bash
# 1. Install Redis
# macOS: brew install redis && redis-server
# Ubuntu: sudo apt install redis && redis-server
# Windows: https://redis.io/docs/install/install-redis/install-redis-on-windows/
# 2. Run server (terminal 1)
cd legion-server
cargo run --release --features redis
# 3. Build frontend (terminal 2)
cd wasm-client
wasm-pack build --target web --release
python3 -m http.server 8000
# 4. Open http://localhost:8000
对于生产部署,请参见 DEPLOYMENT.md
| 安全级别 | k | 证明时间 | 证明大小 | 用途 |
|---|---|---|---|---|
| 开发 | 12 | ~30秒 | 3.2 KB | 测试 |
| 生产 | 14 | ~2分钟 | 3.4 KB | 推荐 |
测试硬件: Lenovo IdeaPad 3 - 第11代Intel Core i3
注意: 性能可能因硬件规格而异。
| 指标 | 数值 | 备注 |
|---|---|---|
| 证明大小 | 3,264 字节 | 压缩后 3.19 KB |
| 公开输入 | 10 | 用户树根、设备树根、无效化器 等 |
| 参数生成 | 7.03秒 | 每个k值一次设置 |
| 电路创建 | 2.3微秒 | 开销可忽略 |
| 验证密钥生成 | 1.29秒 | 一次性密钥生成 |
| 证明验证 | 107.7毫秒 | 实际ZK证明检查 |
| 总验证时间 | 8.43秒 | 端到端(未缓存) |
细目:
| 指标 | 数值 | 备注 |
|---|---|---|
| 证明大小 | 3,392 字节 | 压缩后 3.31 KB |
| 公开输入 | 10 | 用户树根、设备树根、无效化器 等 |
| 参数生成 | 100.78秒 | 每个k值一次设置 |
| 电路创建 | 5微秒 | 开销可忽略 |
| 验证密钥生成 | 12.89秒 | 一次性密钥生成 |
| 证明验证 | 967.2毫秒 | 实际ZK证明检查 |
| 总验证时间 | 114.65秒 | 端到端(未缓存) |
细目:
重要说明: 参数生成和密钥生成均属于一次性开销,可进行缓存。一旦缓存,根据k值不同,验证仅需约108-967毫秒。当前实现尚未包含参数缓存。
为何比旧基准慢? 无密码电路现在需要验证两个Merkle树(用户树+设备树),而非仅一个,从而实现了真正的设备级匿名性(每个用户可拥有1/1024台设备)。
📖 有关包含密码学细节的逐步认证流程,请参见 ARCHITECTURE_FLOW.md