KEY SYNC

Transferencia segura de claves de dispositivo a dispositivo

Transfiere tus claves de cifrado a un nuevo dispositivo usando códigos QR. Intercambio de claves X25519 ECDH + transferencia cifrada AES-256-GCM.

1

Dispositivo origen

En el dispositivo que tiene tus claves: Ajustes → Key Sync → «Transferir claves». Se muestra un código QR (válido por 5 minutos).

2

Dispositivo destino

En tu nuevo dispositivo: después de iniciar sesión, selecciona «Escanear QR» y escanea el código QR del dispositivo origen con tu cámara.

3

Transferencia completada

Las claves se transfieren de forma segura a través de un canal cifrado. La suma de verificación SHA-256 verifica la integridad de los datos. La sesión expira automáticamente.

Protocolo de transferencia

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

Claves transferidas

ClaveAlgoritmoFunción
Par de claves de identidadX25519Verificación de identidad / PQXDH
Par de claves de firmaEd25519Firmas de mensajes (AEGIS XEdDSA)
Par de PreKey firmadaX25519Establecimiento de sesión X3DH
ID de registroIdentificador de sesión

Las PreKeys de un solo uso NO se transfieren. Se regeneran en el nuevo dispositivo para evitar la competencia de claves entre dispositivos.

Soporte de plataformas

PlataformaEscaneo QRAlmacenamiento de clavesAlternativa
iOSCompatibleKeychain
AndroidCompatibleAndroid Keystore
macOSDependiente de la cámaraKeychainRegenerar claves
PWA (Web)Dependiente del permiso de cámaraWeb Crypto APIRegenerar claves

Regenerar claves: Si el escaneo QR no está disponible (PWA/macOS), elige «Regenerar claves» para crear nuevas claves de cifrado. Se establecerán nuevas sesiones con todos los contactos, pero los mensajes anteriores no podrán descifrarse.

Uso multi-dispositivo

Consideraciones importantes al usar la misma cuenta en múltiples dispositivos.

Misma cuenta, múltiples dispositivos

  • Cada dispositivo almacena claves de cifrado independientes
  • Key Sync necesario para descifrar mensajes del dispositivo original
  • Posibles conflictos de PreKeys de un solo uso con dispositivos simultáneos
  • Límite de dispositivos: Essential 1 / Premium e Intelligence 3

Cuenta diferente, mismo dispositivo

  • Todas las sesiones de cifrado se restablecen completamente
  • Los mensajes de la cuenta anterior son permanentemente indescifrables
  • Sin colisión de claves entre diferentes cuentas
  • Diálogo de advertencia mostrado antes del cambio de cuenta

Arc vs Signal: modelo multi-dispositivo

CaracterísticaSignalArc V2
Modelo de dispositivoPrimary/LinkedIndependent key sets
Adición de dispositivoVia PrimaryDirect registration + Key Sync
Distribución de clavesPrimary distributes to LinkedPeer-to-peer QR exchange
Autenticación de dispositivoImplicit trustEd25519 signature verification
Fallo del dispositivo principalAll Linked devices orphanedNo impact (independent)