KEY SYNC

Transferência Segura de Chaves entre Dispositivos

Transfira suas chaves de criptografia para um novo dispositivo usando QR codes. Troca de chaves X25519 ECDH + transferência criptografada AES-256-GCM.

1

Dispositivo de Origem

No dispositivo que contém suas chaves: Configurações → Key Sync → "Transferir Chaves". Um QR code é exibido (válido por 5 minutos).

2

Dispositivo de Destino

No seu novo dispositivo: Após o login, selecione "Escanear QR" e escaneie o QR code do dispositivo de origem com sua câmera.

3

Transferência Concluída

As chaves são transferidas com segurança via canal criptografado. O checksum SHA-256 verifica a integridade dos dados. A sessão expira automaticamente.

Protocolo de Transferência

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

Chaves Transferidas

ChaveAlgoritmoFinalidade
Par de Chaves de IdentidadeX25519Verificação de identidade / PQXDH
Par de Chaves de AssinaturaEd25519Assinaturas de mensagens (AEGIS XEdDSA)
Par de Signed PreKeyX25519Estabelecimento de sessão X3DH
ID de RegistroIdentificador de sessão

One-Time PreKeys NÃO são transferidas. Elas são regeneradas no novo dispositivo para evitar competição de chaves entre dispositivos.

Suporte de Plataforma

PlataformaEscaneamento QRArmazenamento de ChavesAlternativa
iOSSuportadoKeychain
AndroidSuportadoAndroid Keystore
macOSDepende da câmeraKeychainRegenerar Chaves
PWA (Web)Depende da permissão da câmeraWeb Crypto APIRegenerar Chaves

Regenerar Chaves: Se o escaneamento QR não estiver disponível (PWA/macOS), escolha "Regenerar Chaves" para criar novas chaves de criptografia. Novas sessões serão estabelecidas com todos os contatos, mas mensagens anteriores não poderão ser descriptografadas.

Uso Multi-Dispositivo

Considerações importantes ao usar a mesma conta em vários dispositivos.

Mesma Conta, Vários Dispositivos

  • Cada dispositivo armazena chaves de criptografia independentes
  • Key Sync necessário para descriptografar mensagens do dispositivo original
  • Possíveis conflitos de One-Time PreKey com dispositivos simultâneos
  • Limite de dispositivos: Essential 1 / Premium e Intelligence 3

Conta Diferente, Mesmo Dispositivo

  • Todas as sessões de criptografia são completamente redefinidas
  • Mensagens da conta anterior ficam permanentemente indecifráveis
  • Sem colisão de chaves entre contas diferentes
  • Diálogo de aviso exibido antes da troca de conta

Arc vs Signal: Modelo Multi-Dispositivo

RecursoSignalArc V2
Modelo de DispositivoPrimário/VinculadoConjuntos de chaves independentes
Adição de DispositivoVia PrimárioRegistro direto + Key Sync
Distribuição de ChavesPrimário distribui para VinculadosTroca QR ponto a ponto
Autenticação de DispositivoConfiança implícitaVerificação de assinatura Ed25519
Falha do PrimárioTodos os dispositivos Vinculados ficam órfãosSem impacto (independente)