XMPP, OMEMO y cambio de dispositivo
Si usamos XMPP en el móvil, tener que cambiar el teléfono por el motivo que sea, supone volver a instalar la aplicación que usemos habitualmente (monocles, Conversations...), volver a configurar la cuenta o cuentas junto con sus claves para cifrado OMEMO, y volver a someter a confianza y verificación de dichas claves por parte de nuestros interlocutores.
El cambio de móvil se suele hacer con bastante frecuencia.
Desde hace algún tiempo, muchos de los clientes de XMPP sobre Android, disponen de la característica de poder guardar un fichero de respaldo con la configuración de la cuenta o cuentas junto con las claves OMEMO correspondientes. Ignoro si en iOS existe lo mismo, en su cliente Monal.
Esta característica está pensada para facilitar la migración de cuentas de un dispositivo a otro, es decir para usar una cuenta con sus claves en un dispositivo y DEJAR de utilizarla en el anterior.
Creación de copia de respaldo
Necesitamos saber la o las contraseñas de nuestra cuenta o cuentas.
Para hacer la copia de respaldo, nos dirigimos al menú de configuración o ajustes. Desde allí buscamos la categoría de “Copia de seguridad” o “Respaldo y restauración” o similar. Entre las opciones relacionadas, tendremos una para seleccionar el destino donde guardar la copia, otra para programar copias desatendidas y una para hacer copias puntuales.
Seleccionaremos la opción de copia puntual y se creará un fichero en el destino actualmente seleccionado con la configuración de la o las cuentas. La aplicación mostrará una ventana informando de que se está creando la copia y que se emitirá una notificación cuando termine.
Cuando haya terminado, lo más conveniente es sacar ese fichero del móvil para llevarlo a un ordenador u otro dispositivo, usando bluetooth o cable... Si se avería el móvil y queda inutilizado antes de extraer la copia de respaldo, perderíamos los datos de configuración, y tendríamos que hacer lo que está descrito en el primer párrafo.
Una copia de respaldo proporciona disponibilidad de los datos. Además está cifrada por seguridad.
Recuperación o restauración de la copia de respaldo
Necesitamos saber la o las contraseñas de nuestra cuenta o cuentas.
Cuando tengamos el móvil nuevo, como precaución, deberíamos apagar el viejo, o al menos desactivar la cuenta. No hacerlo puede provocar problemas durante la activación en el nuevo dispositivo.
El primer paso que recomiendo es traspasar el fichero de copia de respaldo al nuevo dispositivo. Realmente se puede hacer en cualquier momento previo a la configuración de la aplicación de XMPP.
Después instalamos FDroid y la aplicación XMPP, tal como se explica en esta otra publicación. Aunque en esta publicación se menciona a Conversations, se haría para igual para otras (monocles, Cheogram...).
Cuando esté instalada la abrimos, asegurándonos antes de que tenemos el fichero de copia de respaldo, y que en el anterior dispositivo, no está activa la cuenta. Después de varias pantallas de bienvenida y explicaciones se nos ofrecerá:
- Crear una cuenta
- Registrar un cuenta existente
- Restaurar una copia de respaldo
Es posible, depende de la aplicación e incluso de la versión, que la última opción esté en otro menú, como en un menú de tres puntos en la parte superior, es una cuestión de interfaz de usuario.
Necesitamos la opción de restaurar, al lanzarla podremos buscar y seleccionar el fichero de copia de respaldo que hemos traspasado al móvil. Se iniciará el proceso de restauración pero para que continúe necesitamos teclear la contraseña de la cuenta, de esta forma solo quien sepa la contraseña puede restaurar los datos.
Cuando termine, tendremos la cuenta registrada en el nuevo dispositivo, con la clave OMEMO que tenía en el anterior, pero desactivada, para poder usarla tendremos que dirigirnos a la gestión de cuentas y activarla.
Los mensajes que nos hayan enviado en el transcurso de crear y restaurar la copia de respaldo no se podrán descifrar en el nuevo dispositivo, con lo que se hace interesante hacer la copia de respaldo con cierta frecuencia o incluso programarla, para después extraerla del dispositivo.