KEY SYNC

安全的设备间密钥传输

使用 QR 码将加密密钥传输到新设备。X25519 ECDH 密钥交换 + AES-256-GCM 加密传输。

1

源设备

在拥有密钥的设备上:设置 → Key Sync → "传输密钥"。显示 QR 码(5分钟有效)。

2

目标设备

在新设备上:登录后选择"扫描 QR",用摄像头扫描源设备上的 QR 码。

3

传输完成

密钥通过加密通道安全传输。SHA-256 校验和验证数据完整性。会话自动过期。

传输协议

Source Device                        Target Device
     │                                    │
     │  1. Create Session (Firestore)     │
     │  2. Generate X25519 Ephemeral Key  │
     │  3. Display QR Code               │
     │          ─── QR Scan ───►          │
     │                                    │  4. Parse QR → sessionId + publicKey
     │                                    │  5. Generate X25519 Ephemeral Key
     │                                    │  6. ECDH → Shared Secret
     │                                    │  7. HKDF-SHA256 → AES Key
     │          ◄── Firestore ──          │  8. Write encrypted response
     │  9. ECDH → Same Shared Secret     │
     │  10. Encrypt keys (AES-256-GCM)   │
     │          ── Firestore ──►          │
     │                                    │  11. Decrypt → Import keys
     │                                    │  12. SHA-256 Checksum verify
     │  13. Cleanup session               │
     └────────────────────────────────────┘
              Session TTL: 5 minutes

传输的密钥

密钥算法用途
Identity Key PairX25519身份验证 / PQXDH
Signing Key PairEd25519消息签名 (AEGIS XEdDSA)
Signed PreKey PairX25519X3DH 会话建立
Registration ID会话标识符

One-Time PreKey 不会被传输。它们会在新设备上重新生成,以避免设备间的密钥竞争。

平台支持

平台QR 扫描密钥存储替代方案
iOS支持Keychain
Android支持Android Keystore
macOS取决于摄像头Keychain重新生成密钥
PWA (Web)取决于摄像头权限Web Crypto API重新生成密钥

重新生成密钥: 如果无法使用 QR 扫描(PWA/macOS),选择"重新生成密钥"来创建新的加密密钥。将与所有联系人建立新会话,但之前的消息无法解密。

多设备使用

在多台设备上使用同一账户时的重要注意事项。

同一账户,多台设备

  • 每台设备独立存储加密密钥
  • 需要 Key Sync 才能解密原始设备的消息
  • 同时使用多台设备可能出现 One-Time PreKey 冲突
  • 设备限制:Essential 1台 / Premium & Intelligence 3台

不同账户,同一设备

  • 所有加密会话完全重置
  • 之前账户的消息永久无法解密
  • 不同账户之间不存在密钥冲突
  • 切换账户前显示警告对话框

Arc vs Signal:多设备模型

功能SignalArc V2
设备模型Primary/LinkedIndependent key sets
设备添加Via PrimaryDirect registration + Key Sync
密钥分发Primary distributes to LinkedPeer-to-peer QR exchange
设备认证Implicit trustEd25519 signature verification
Primary 故障All Linked devices orphanedNo impact (independent)