La protección comienza antes de la carga
Las bóvedas nativas funcionan localmente sin una cuenta Revault. El contenido de los archivos, los nombres de los archivos, los tipos MIME, las miniaturas, los nombres de las bóvedas, las carpetas, las etiquetas y los favoritos se cifran en el dispositivo. El uso local no carga archivos de bóveda en Revault. La sincronización y el uso compartido nativos de la nube son operaciones opcionales e independientes.
El modelo asume un sistema operativo confiable, una aplicación instalada y una fuente criptográfica aleatoria cuando se crea o desbloquea una bóveda. Alguien que sólo tenga archivos cifrados y envoltorios de claves no puede descifrarlos sin el secreto requerido. El malware o una aplicación comprometida que se ejecuta mientras una bóveda está abierta puede capturar texto sin formato y claves.
Claves independientes para cada bóveda
Cada bóveda comienza con una clave maestra AES aleatoria de 256 bits, generada utilizando la fuente criptográfica aleatoria del sistema operativo. El gesto no determina directamente esta clave. Cada bóveda tiene material de clave maestra independiente, por lo que la divulgación de una clave de bóveda no genera otra.
Un patrón de dispositivo combina su secuencia de puntos ordenada con un secreto de dispositivo aleatorio de 256 bits. La entrada resultante se normaliza con NFKC y se pasa a PBKDF2-HMAC-SHA-256 con un salt nuevo de 128 bits y 600.000 iteraciones. La clave derivada de 256 bits envuelve la clave maestra usando AES-256-GCM. La aplicación no guarda un patrón de texto sin formato ni una huella digital de patrón separada.
Los patrones utilizan una cuadrícula de 5 × 5 con entre seis y 25 puntos distintos y deben ser únicos en todas las bóvedas inscritas en el mismo dispositivo. Un patrón coincidente abre sólo su bóveda; otros nombres y contenidos del almacén permanecen ocultos. Los gestos predecibles son aún más fáciles de adivinar. Una persona que obtiene tanto el secreto del dispositivo como su contenedor cifrado puede intentar adivinar patrones fuera de línea.
Abrir una bóveda nativa requiere su patrón local o un flujo de recuperación explícito, no una cuenta Revault o una clave de acceso. La sincronización en la nube opcional utiliza la autorización Apple o Google de la plataforma, y las compras en la tienda utilizan la cuenta de facturación de la plataforma. Ni la autorización en la nube ni la compra proporcionan una clave de descifrado de la bóveda.
| Objetivo | Construcción |
|---|---|
| Llave maestra de la bóveda | Clave aleatoria AES de 256 bits |
| Envoltura de llaves | PBKDF2-HMAC-SHA-256 · 600.000 iteraciones · Sal de 128 bits → AES-256-GCM |
| Metadatos y miniaturas | AES-256-GCM · nonce aleatorio de 96 bits · etiqueta de autenticación de 128 bits |
| Derivación de clave de archivo | HKDF-SHA-256 · salt aleatorio de 256 bits por archivo · salida AES de 256 bits |
| Secreto de recuperación | Generado: 18 palabras aleatorias (198 bits); personalizado: al menos 6 palabras distintas y entre 32 y 512 caracteres |
Protección de claves solo para dispositivos
En iOS, el bloqueo del dispositivo se almacena como un elemento Keychain no sincronizado usando la protección WhenUnlockedThisDeviceOnly. Solo se puede acceder a él mientras el dispositivo está desbloqueado y no migra mediante la sincronización Keychain. El secreto almacenado no es una clave Secure Enclave.
En Android, el bloqueo del dispositivo se cifra usando AES-256-GCM bajo una clave no exportable Android Keystore que requiere un dispositivo desbloqueado. El archivo de bloqueo cifrado se encuentra en el directorio sin respaldo de la aplicación. Keystore el respaldo de hardware depende del dispositivo; La aplicación no promete que todos los dispositivos utilicen claves respaldadas por hardware.
Los secretos de desbloqueo locales están excluidos de la sincronización nativa en la nube y de las copias de seguridad de la bóveda portátil. La posesión de una cuenta Apple o Google no recrea esos secretos ni desbloquea automáticamente una bóveda restaurada. Un dispositivo nuevo debe verificar el secreto de recuperación independiente e inscribir su propio patrón.
Confidencialidad y detección de manipulaciones
Los metadatos de la bóveda, los metadatos de los archivos, las miniaturas y las claves empaquetadas utilizan AES-256-GCM con etiquetas de autenticación de 128 bits. Cada cifrado independiente utiliza un nuevo nonce aleatorio de 96 bits. El descifrado verifica la etiqueta antes de devolver texto sin formato; El texto cifrado modificado o una clave incorrecta hacen que falle la autenticación.
Los datos autenticados adicionales vinculan cada objeto cifrado con su versión de formato, identificador de almacén, identificador de objeto y propósito. Por ejemplo, un registro de metadatos de archivo y miniatura utiliza contextos diferentes. Mover un objeto cifrado a una bóveda diferente o sustituirlo por otro objeto cambia el contexto autenticado y falla la verificación.
El contexto autenticado no oculta los identificadores y no demuestra su frescura. Un registro anterior válido todavía puede tener una etiqueta válida. Las comprobaciones de revisión de aplicaciones detectan actualizaciones simultáneas ordinarias, pero esto no es una defensa criptográfica contra un servicio malicioso que reproduce un estado completamente antiguo.
Los archivos grandes utilizan segmentos autenticados
El cifrado de archivos nativo utiliza la construcción de transmisión AES-256-GCM-HKDF-SHA-256 descrita por Tink. iOS usa CryptoKit para AES-GCM y HKDF; Android utiliza primitivas criptográficas de plataforma. Cada nueva secuencia tiene un encabezado de 40 bytes que contiene su marcador de longitud, un salt aleatorio de 32 bytes y un prefijo nonce aleatorio de siete bytes.
HKDF deriva una clave de cifrado de archivos independiente de la clave maestra del almacén. Su contexto incluye los identificadores de archivo y bóveda, la longitud de bytes de texto sin formato y el tamaño de segmento configurado. El nonce de 12 bytes de cada segmento combina el prefijo aleatorio, un contador de segmento de cuatro bytes y un indicador de segmento final. Los segmentos llevan etiquetas GCM de 128 bits.
Las aplicaciones nativas procesan archivos en segmentos acotados de aproximadamente 5 MiB. Los contadores de segmentos, el indicador de segmento final y las longitudes de bytes esperadas detectan segmentos alterados, reordenados o truncados. Cada segmento se autentica antes de su uso y se publica una vista previa privada solo después de que el archivo termina de descifrarse. La salida incompleta se descarta en caso de falla; Los reintentos transfieren los bytes cifrados existentes.
La construcción sigue el Especificación de transmisión Tink AES-GCM-HKDF. La implementación y la configuración del segmento de Revault no han sido auditadas ni certificadas de forma independiente por Tink.
Almacenamiento privado, importaciones y vistas previas
Los archivos cifrados de la bóveda se encuentran en el almacenamiento privado de aplicaciones. Los nombres de archivos, tipos MIME, carpetas, etiquetas, favoritos y miniaturas son registros cifrados autenticados. El filtrado de búsqueda y etiquetas opera en los metadatos descifrados de la bóveda activa después del desbloqueo; no existe un índice de búsqueda de servidor de texto sin formato.
Las importaciones de fotos, vídeos y archivos pueden utilizar una preparación temporal privada antes del cifrado. La captura de la cámara en el almacén no guarda automáticamente una copia en la galería. La importación desde Fotos u otro proveedor deja intacto el original de ese proveedor. La optimización de medios opcional ocurre localmente antes del cifrado y cambia solo los medios recién importados.
Las vistas previas privadas requieren texto sin formato temporal mientras están abiertas. Las aplicaciones eliminan sus vistas previas temporales al cerrarlas, bloquearlas y luego iniciarlas; iOS aplica una protección completa de archivos a los archivos de vista previa descifrados. Los archivos exportados explícitamente a otra aplicación salen de la protección de la bóveda. La eliminación de archivos temporales no es garantía de borrado forense.
Sincronización nativa en la nube opcional
La sincronización está desactivada de forma predeterminada y habilitada por separado para cada bóveda en cada dispositivo. iOS almacena registros cifrados y segmentos de archivos en la base de datos privada CloudKit del usuario en iCloud. Android utiliza el appDataFolder privado de Google Drive. Ninguno de los transportes requiere una cuenta de Revault ni carga datos de sincronización nativos en la nube web de Revault.
La nube recibe metadatos cifrados, segmentos de archivos y contenedores de claves, no una clave maestra de bóveda en texto sin formato, un secreto de dispositivo local o un secreto de recuperación. Otro dispositivo en la misma plataforma necesita la misma cuenta de nube nativa y la clave de recuperación de la bóveda para inscribir su propio patrón local. La autorización Apple y Google controla el acceso a los registros cifrados, no su descifrado.
Desactivar la sincronización detiene más transferencias para esa bóveda desde el dispositivo actual; Las copias cifradas en la nube existentes permanecen. Los cambios y eliminaciones de sincronización pueden propagarse y las ediciones simultáneas pueden requerir una revisión de conflictos. iCloud y Google Drive son tiendas independientes, sin puente multiplataforma automático. Utilice una transferencia telefónica cifrada para moverse entre iPhone y Android.
La recuperación es un segundo camino hacia la misma clave.
Revault genera una frase de recuperación que contiene 18 palabras elegidas de forma independiente de una lista agrupada de 2048 palabras, lo que proporciona 198 bits de aleatoriedad. La creación no ofrece frases personalizadas ni regeneración. La frase deriva de forma independiente una clave de envoltura usando PBKDF2-HMAC-SHA-256 y una sal fresca, luego envuelve la clave maestra de la bóveda con AES-256-GCM. Cualquiera que tenga la frase y la bóveda cifrada puede descifrarla. Las frases personalizadas existentes y las claves de recuperación hexadecimales siguen siendo compatibles con sus bóvedas originales.
El secreto de recuperación se muestra durante la configuración y no se conserva en el almacenamiento de la aplicación nativa ni se carga en el almacenamiento nativo en la nube. Manténgalo separado de los archivos cifrados. Para inscribir otro dispositivo se requiere la bóveda cifrada de la cuenta de nube nativa original o una copia de seguridad cifrada, además de la clave de recuperación. Un secreto no puede restaurar los datos del archivo faltante y Revault no tiene una clave de restablecimiento en poder del proveedor.
Una copia de seguridad portátil .qvault contiene contenedores de claves cifradas, un inventario cifrado autenticado y segmentos de archivos cifrados. Excluye el secreto de desbloqueo del dispositivo local. La importación verifica el inventario, los metadatos y cada segmento antes de restaurarlo en una bóveda con identificadores nuevos, clave maestra, claves de archivo y un nuevo patrón de dispositivo. Guarde la nueva clave de recuperación después de la restauración.
Las nuevas frases de recuperación conservan mayúsculas y minúsculas, normalizan Unicode con NFKC y contraen espacios en blanco adicionales. Las claves hexadecimales heredadas siguen siendo compatibles. Puede reemplazar la frase de recuperación de una bóveda en su configuración después de guardar la nueva frase. Esto reemplaza el contenedor de recuperación actual; Las copias de seguridad antiguas y los dispositivos que no se han sincronizado aún pueden contener el contenedor antiguo. Cambiar un patrón o una frase de recuperación no rota la clave maestra del almacén ni revoca copias. Si el material clave se ve comprometido, mueva los archivos a una nueva bóveda con claves nuevas.
Migración cifrada de teléfono a teléfono
La transferencia telefónica crea una copia cifrada portátil con identificadores de bóveda nuevos, clave maestra, claves de archivos y encabezados de transmisión. Su secreto de transferencia independiente no puede desbloquear la bóveda de origen y el secreto de recuperación de origen y el secreto de desbloqueo del dispositivo no están incluidos. El paquete cifrado y el secreto de transferencia deben entregarse por separado.
La aplicación receptora autentica el paquete y sus segmentos de archivo, luego lo restaura en una nueva bóveda con un nuevo patrón local y clave de recuperación. Esto funciona entre iOS y Android sin conectar sus cuentas en la nube. El original permanece en el dispositivo antiguo; confirme el contenido restaurado y guarde la nueva clave de recuperación antes de eliminarlo.
Bloqueo y limpieza de sesiones
Las aplicaciones móviles se bloquean inmediatamente cuando están en segundo plano y después de 60 segundos de inactividad de forma predeterminada. Cada bóveda puede seleccionar 30 segundos, 1 minuto, 2 minutos, 5 minutos o 10 minutos. Una bóveda compartida utiliza el valor predeterminado de 60 segundos. Al salir se vuelve a la pantalla de patrón y finaliza la sesión descifrada.
El bloqueo cancela el trabajo de la sesión, borra los metadatos descifrados y el estado de búsqueda, cierra las vistas previas, elimina archivos temporales y sobrescribe los buffers de claves propios antes de liberarlos. Las claves de derivación temporales también se borran después de su uso. Swift y JVM gestión de memoria, bibliotecas criptográficas y decodificadores de medios podrán crear copias; No se puede garantizar el borrado inmediato de cada copia.
iOS cubre las instantáneas del cambio de aplicaciones con un escudo de privacidad. Android utiliza la marca de ventana segura para restringir las capturas de pantalla y las vistas previas de aplicaciones recientes. Estas protecciones de la plataforma no impiden que alguien fotografíe una pantalla desbloqueada y no retraen archivos exportados previamente a otra aplicación.
Revault Cloud
Revault Cloud es un proveedor de almacenamiento Pro opcional para sincronización multiplataforma. Los segmentos cifrados y los metadatos de archivos cifrados están vinculados a una instalación de facturación seudónima. El servicio puede observar identificadores de almacenamiento, tamaños, sumas de comprobación, revisiones y actividad de transferencia, pero no recibe ninguna clave de almacenamiento ni frase de recuperación. Un código de conexión aleatorio independiente autoriza el acceso al almacenamiento; conectar otro dispositivo también requiere la frase de recuperación. Los datos existentes en la nube siguen siendo legibles para su recuperación después de que expire Pro.
Transportes compartidos nativos y controles de acceso.
En iOS, una invitación privada de solo lectura CloudKit coloca la instantánea cifrada en una jerarquía de registros compartidos separada, fuera de la zona de sincronización personal. Apple controla el acceso a las invitaciones; el destinatario aún necesita el secreto de descifrado por separado. CloudKit las invitaciones no imponen el recuento de sesiones de acceso del servidor, ni el vencimiento fijo ni el temporizador de destrucción. El propietario puede detener el acceso CloudKit futuro.
Los recursos compartidos multiplataforma cargan partes cifradas al servicio de uso compartido de Revault. Las capacidades de administración y lectura aleatorias independientes de 256 bits se almacenan como hashes SHA-256. El enlace del sitio web contiene la capacidad de lectura en su fragmento, no el secreto de descifrado. Al abrirlo, se crean enlaces profundos a una bóveda compartida y se solicita el secreto del remitente; no se requiere ningún patrón personal ni bóveda existente. Las bóvedas personales permanecen cerradas.
Los recursos compartidos de servidores controlados imponen el máximo de sesiones de acceso del remitente, vencimiento fijo dentro de los 30 días, revocación y permiso de exportación opcional. Una sesión se concede de forma atómica y tiene una duración máxima de 15 minutos, delimitada por los plazos de la acción. Un acceso cuenta cuando se concede la sesión, incluso si falla la descarga o el descifrado. El espectador comprueba el acceso en curso y cierra en la fecha límite.
Las sumas de verificación SHA-256 verifican las partes transferidas, mientras que el cifrado autenticado verifica su contenido. Cuando se permite la exportación, el espectador puede guardar una copia cifrada .qvault que se abre con el secreto compartido. Deshabilitar la exportación elimina esa acción de la aplicación; no puede evitar criptográficamente que las capturas de pantalla o que un cliente modificado conserve el texto sin formato. Eliminar un archivo fuente no revoca un recurso compartido creado de forma independiente.
Actividad de bóveda opcional
Los registros de auditoría nativos están desactivados de forma predeterminada y configurados por almacén en cada dispositivo. Los últimos 500 eventos locales se cifran con la clave maestra de la bóveda y un contexto autenticado dedicado. Excluyen claves, patrones, contenidos de archivos y otros datos de bóvedas, no se sincronizan y se pueden borrar o deshabilitar. No son pruebas a prueba de manipulaciones. Los desbloqueos fallidos no se asignan a una bóveda.
Los nuevos recursos compartidos controlados creados con el registro habilitado conservan hasta 100 marcas de tiempo de sesiones de acceso en el servicio compartido. Sólo la capacidad de gestión puede recuperarlos; el registro no contiene ninguna identidad del destinatario ni secreto de descifrado. Deshabilitar el registro local afecta las acciones futuras. Los registros compartidos existentes conservan su configuración original hasta su revocación o vencimiento y limpieza.
Fotos de robo cifradas opcionales
Los propietarios pueden habilitar las alertas de robo por separado para cada bóveda en cada dispositivo. Después de tres patrones inigualables, la aplicación de primer plano puede capturar una foto de la cámara frontal, sujeta a permiso, disponibilidad de la cámara y un tiempo de reutilización de un minuto. Los indicadores de la cámara del sistema permanecen visibles. Las diez alertas más recientes se almacenan localmente y nunca se agregan a Fotos ni se cargan. Un patrón no coincidente no identifica una bóveda de destino, por lo que cada bóveda habilitada recibe un registro de intento de dispositivo cifrado por separado.
Una clave pública RSA-3072 dedicada envuelve una clave nueva de 256 bits AES-GCM para cada alerta usando OAEP con SHA-256 y MGF1-SHA-256. Esto permite el cifrado mientras la bóveda está bloqueada. La clave privada correspondiente está cifrada bajo la clave maestra de esa bóveda con un contexto autenticado dedicado. Sólo desbloquear esa bóveda puede descifrar sus fotos. Las alertas aparecen en su vista de auditoría independientemente del registro de actividad normal y se pueden borrar en la configuración de Alertas de intrusión. No son pruebas a prueba de manipulaciones.
Safe Exit elimina el acceso local
Se puede designar una bóveda en un dispositivo para Safe Exit. Al ingresar su patrón, se abre normalmente mientras se eliminan los otros registros de la bóveda local, los fragmentos cifrados, el material de desbloqueo del dispositivo y los cambios en cola. La aplicación mantiene una lista de permitidos local persistente para que la sincronización no pueda volver a llenar silenciosamente las bóvedas excluidas. Es posible que aún finalicen las transferencias cifradas que ya están en vuelo.
Se mantienen las copias nativas en la nube y en otros dispositivos. La recuperación explícita requiere la clave de recuperación del almacén excluido antes de inscribir un nuevo patrón local. Se puede perder una bóveda que solo esté fuera de línea y que no tenga una copia de seguridad independiente. Esta configuración se aplica a la instalación actual, no a todos los dispositivos que utilizan la misma cuenta en la nube.
Safe Exit no garantiza el borrado u ocultación forense. El almacenamiento flash, las cachés del sistema operativo, las copias de seguridad y las exportaciones anteriores pueden conservar rastros. Eliminar los datos de la aplicación o reinstalarla puede eliminar el límite de aislamiento local; Los registros de la nube se pueden descubrir nuevamente a través de la cuenta de la nube nativa. Sólo el secreto de recuperación puede desbloquear esos registros.
Lo que queda visible
El cifrado oculta el contenido, no toda la información operativa. Los registros locales y los proveedores de la nube pueden observar identificadores, relaciones de registros, recuentos de objetos, tamaños, revisiones, marcas de tiempo, envoltorios de claves cifradas y encabezados de flujo. Los identificadores utilizan UUIDv7 e incluyen información del momento de la creación; no son secretos. Apple o Google pueden asociar la actividad de sincronización nativa con la cuenta de la plataforma.
El servicio de intercambio controlado de Revault puede observar tamaños de paquetes cifrados, sumas de verificación parciales, configuraciones de vencimiento, recuentos de sesiones de acceso y marcas de tiempo de sesión opcionales, pero no el secreto de descifrado entregado por separado. CloudKit compartir expone la invitación y la información del participante a Apple. Los registros operativos y de red pueden exponer información de conexión. Revault no proporciona anonimato ni resistencia al análisis de tráfico.
HTTPS protege las solicitudes de red en tránsito. El cifrado autenticado en el dispositivo protege por separado el contenido de la bóveda almacenado localmente y en la nube. Ni el cifrado de transporte ni el texto cifrado ocultan todos los datos sobre cuándo, dónde o cuántos datos se transfieren.
Donde termina la protección
Una bóveda desbloqueada necesariamente expone información descifrada a la sesión de su aplicación. El malware, un sistema operativo o una aplicación comprometidos, alguien que esté viendo la pantalla o un destinatario que no sea de confianza pueden capturarlo. El almacenamiento de claves solo en el dispositivo es un límite adicional, no una garantía contra un dispositivo totalmente comprometido. Un patrón predecible no es seguro una vez que su secreto local se ve comprometido.
El cifrado no evita la eliminación de la nube, el ransomware, la pérdida de un secreto de recuperación, la retención de registros por parte de un proveedor o la reversión de todo un estado cifrado anteriormente válido. Mantenga copias de seguridad cifradas independientes y verifique la recuperación antes de eliminar un dispositivo antiguo. La revocación no puede recuperar capturas de pantalla, exportaciones o copias ya conservadas por otra persona.
Revault no se ha sometido a una auditoría de seguridad independiente. Estas son descripciones del diseño criptográfico implementado, no una certificación o garantía contra cualquier intrusión.
Bóvedas de navegador existentes
Esta referencia describe las aplicaciones nativas. Las bóvedas de navegador existentes tienen una cuenta separada, un modelo de almacenamiento de dispositivo y de nube web. Las cargas S3 específicas del navegador y los enlaces para compartir del navegador no son sincronización nativa en la nube. La cuenta del navegador no inicia sesión en las aplicaciones móviles; utilice una copia de seguridad cifrada y su clave de recuperación para mover los datos existentes del navegador a una bóveda nativa.