Cifrado, códigos de recuperación, copias de seguridad, migración — las respuestas a lo que te importa, aquí.
Sí, realmente. CosmosBox está diseñado con cero cuentas: los datos viven solo en tu dispositivo por defecto, procesados con los algoritmos más fuertes reconocidos — tu contraseña pasa por Argon2id (usa 128MB de memoria; la fuerza bruta con GPU es prácticamente imposible) para derivar una clave maestra, y cada archivo se cifra luego con su propia clave aleatoria independiente AES-256-GCM. La clave (maestra) existe solo en memoria mientras estás desbloqueado y se borra al bloquear; las claves de datos las custodia el chip de seguridad del sistema (Android Keystore / iOS Keychain).
Sin cuenta significa que no existe el eslabón “el servidor guarda tu contraseña” — la superficie de fuga de la contraseña es cero. La contrapartida: si olvidas tu contraseña, solo el código de recuperación puede traer tus datos de vuelta.
Para eso está la “recuperación de contraseña” (el sistema de código de recuperación). Al activarla, la app genera un código de recuperación (dividible en 5 partes; cualquier 3 restaura el acceso): guarda 1-2 partes tú y entrega el resto a gente de confianza. Cuando olvides la contraseña, introducir el código la restablece y restaura todos los datos — sin intervención de ningún servidor.
Si has olvidado la contraseña, nunca activaste la recuperación y no tienes copia de seguridad — los datos no se pueden recuperar. Esa es la frontera física del cifrado sin cuentas, por eso recomendamos encarecidamente: activa la recuperación de contraseña justo después de fijarla.
El código de recuperación = un número aleatorio real de 32 bytes (32 × 8 = 256 bits de entropía), generado con la fuente aleatoria segura del sistema (Random.secure()) — cada bit es el resultado de un lanzamiento de moneda independiente. Romperlo significa encontrar el correcto entre 2²⁵⁶ posibilidades.
¿Cuán grande es 2²⁵⁶? Unas comparaciones intuitivas:
Así que “matemáticamente irrompible” significa con precisión: no absolutamente imposible, sino imposible dentro de la potencia de cálculo que permite la física — no es “difícil”, es “físicamente imposible”.
Los ordenadores cuánticos tampoco te salvan: el algoritmo de Grover reduce a la mitad la búsqueda de claves simétricas: 256 bits → 2¹²⁸ intentos. Pero 2¹²⁸ sigue superando el número de átomos del universo — los ordenadores cuánticos están igual de atascados. El AES-256-GCM del código es precisamente el nivel que resiste la búsqueda cuántica.
¿Por qué las contraseñas humanas son distintas?
| Contraseña humana | Código de recuperación | |
|---|---|---|
| Fuente de entropía | Tu memoria — predecible (palabras comunes, cumpleaños, patrones de teclado) | Generador de números aleatorios reales |
| Entropía real | 12 caracteres aleatorios ≈ 78 bits; las comunes suelen tener < 30 bits | 256 bits |
| Coste de ruptura | 30 bits ≈ 10⁹ intentos, unas horas en una GPU | 2²⁵⁶ intentos, físicamente imposible |
La distancia entre 30 bits y 256 bits no es 8× sino 2²²⁶ ≈ 10⁶⁸× — por eso “un KDF fuerte (Argon2id) protege contraseñas humanas, pero con una clave aleatoria de 256 bits es solo el adorno”: el código de recuperación ni siquiera necesita el frenado del KDF — ya es una clave de entropía completa.
La frontera honesta: “matemáticamente irrompible” protege solo la clave. Lo que de verdad vence a un código de recuperación nunca es la fuerza bruta, sino el eslabón humano — un papel fotografiado, una nota en un móvil rooteado, una captura enviada a ti mismo a la nube. Una clave, por fuerte que sea, no vale nada una vez filtrada. Reglas de hierro: escríbelo en papel y guárdalo bajo llave / guárdalo en un gestor de contraseñas (también con contraseña maestra fuerte) — nada de fotos, nada de nube, no lo envíes a nadie. Las partes de amigos son fragmentos del reparto Shamir; una sola parte es inútil, así que compartir es seguro.
Niveles de cifrado de almacenamiento (cámara cifrada, notas cifradas y herramientas similares), de débil a fuerte:
| Nivel | Archivo | Seguridad | Dispositivo nuevo |
|---|---|---|---|
| Texto plano | sin cifrar | quien lo tenga puede leerlo | solo copiarlo |
| Portátil | cifrado, sal en el archivo | requiere contraseña | introducir la contraseña |
| Sal separada (cifrado) | cifrado, sal en el dispositivo | requiere contraseña + sal del dispositivo | requiere código de recuperación |
| Intercambio de sal (exportación más fuerte) | cifrado, sal intercambiada offline | contraseña + sal, dos factores | requiere la sal de la otra parte |
Regla fácil: texto plano → portátil → sal separada, la seguridad sube y también la fricción. El “seguir global” por defecto vale para casi todo; cuanto más sensible el archivo, más alto el nivel elegido.
Flujo estándar: copia de seguridad en el móvil viejo (local o nube WebDAV) → restaurar en el nuevo → introducir la contraseña de la copia.
Recuperar las claves antiguas en el dispositivo nuevo: la copia lleva la configuración de recuperación automáticamente — tras restaurar, introduce el código de recuperación y la clave maestra del dispositivo antiguo queda restaurada, con todos los datos cifrados legibles al instante.
Compartir archivo único: herramientas como las tarjetas de personaje admiten exportación — el formato portátil solo necesita la contraseña de exportación en el dispositivo nuevo; el formato “intercambio offline de sal” requiere intercambiar la sal primero (más seguro, ideal para archivos sensibles).
Porque una copia no es una mera copia del texto cifrado. Una copia debe permitirte reconstruirlo todo en un dispositivo nuevo, así que el paquete contiene no solo texto cifrado sino también datos estructurales en claro (algunos datos de herramientas) y material de claves (sal, sumas de verificación, configuración de recuperación) — todo ello debe volver a cerrarse como un todo con la contraseña propia de la copia. El cifrado del dispositivo defiende contra “fugas de archivos”; la contraseña de la copia contra “fugas del archivo de copia” — dos capas independientes. ¿Olvidaste la contraseña de la copia? Necesitarías el código de recuperación para restaurar la clave maestra y volver a hacer la copia.
Las copias cifradas se suben automáticamente a tu propia nube / nube privada (Jianguoyun, NextCloud, Synology o cualquier servidor WebDAV) — ningún tercero en medio. Los archivos de copia van cifrados (.encbak), la contraseña vive en el Keystore y las transferencias van por HTTPS. Copias automáticas diarias/semanales que se ejecutan al arrancar — incluso un dispositivo perdido se recupera desde la nube.
Sal perdida: una copia con sal separada (el archivo no lleva sal) ya no puede descifrarse — ni siquiera por ti. Por eso al activarla la app recuerda repetidamente: exporta la sal de la copia y guárdala offline (pendrive / impresión / gestor de contraseñas).
Sal filtrada: todas las copias con sal separada anteriores a la fuga están comprometidas (irrecuperables — considera borrar las copias viejas de la nube); tras regenerar la sal de la copia, las nuevas copias usan automáticamente la sal nueva y vuelven a estar seguras. Las copias antiguas siguen siendo restaurables mientras la sal vieja esté en la biblioteca de sales.
Si no quieres cargar con la responsabilidad de custodiar la sal, la copia “portátil” por defecto es suficiente — lleva la sal, se restaura en un dispositivo nuevo solo con la contraseña y ya es muy segura.
No. Una versión antigua tenía un fallo grave: los importes de archivos externos sobrescribían los datos existentes; corregido en versiones posteriores: cuando el dispositivo ya tiene datos, abrir una copia externamente pasa por importación de fusión tras desbloquear (datos existentes + nuevos, deduplicados por id); solo un dispositivo completamente vacío (primer uso) hace una importación en un paso. Asegúrate de usar la última versión.
Si es una copia exportada por una versión antigua: las fotos internas siguen cifradas con las claves del dispositivo de origen, que el destino no puede descifrar — exporta de nuevo con una versión nueva en su lugar (las exportaciones nuevas vuelven a cifrar las fotos con la contraseña de exportación; en el dispositivo nuevo basta introducirla).
Si es una exportación nueva: asegúrate de haber introducido la contraseña de exportación; el formato “intercambio offline de sal” requiere además importar primero la sal del remitente.
Ambos problemas históricos están corregidos: ① el destino del compartido se fusionaba antes con la pila de tareas de esta app y causaba “atascarse en la pantalla de WeChat” — ahora compartir se abre en una tarea independiente y volver te trae directo; ② los fallos de FileProvider en dispositivos Huawei (por la ofuscación R8) hacían caer las exportaciones — corregido conservando org.xmlpull.v1. Si aún tienes problemas, cuéntanos tu modelo y versión del sistema vía comentarios.
Las exportaciones cifradas exigen una contraseña fuerte: al menos 8 caracteres, con letras y números, y no solo numérica ni solo alfabética — las débiles no se pueden confirmar. Como en el formato portátil la sal viaja con el archivo, la contraseña es la única llave del archivo — cuanto más fuerte, más seguro; combinada con exportaciones de “intercambio offline de sal”, ni una contraseña + archivo filtrados abren nada.