EL CIFRADO, EXPLICADO

Cifrado en tu dispositivo.Verificado en tu dispositivo.

Tu dispositivo cifra el contenido de los archivos y los metadatos sensibles antes de subirlos. Los verifica y descifra cuando abres un archivo. Esta página explica el cifrado de archivos, la gestión de claves y nuestro formato de streaming compatible con Tink.

Explorar el código criptográfico público
Archivos y envolturas de claves
AES-256-GCM
Derivación a partir de la frase de contraseña
Argon2id
Formato de streaming
Compatible con Tink

De tu dispositivo al almacenamiento

Abrir el diagrama a tamaño completo
Arquitectura de cifrado de InfiniDrive. El inicio de sesión en la cuenta proporciona autenticación. El dispositivo del usuario desbloquea y almacena claves, cifra archivos y verifica los datos al descifrarlos. Los datos cifrados pasan por la pasarela de almacenamiento hasta el almacenamiento de archivos; las miniaturas cifradas, por la distribución de vistas previas; y los manifiestos cifrados y las claves envueltas, por la API de metadatos y claves.
Una vista general de la arquitectura. El inicio de sesión autoriza el acceso; un desbloqueo local independiente permite utilizar las claves de cifrado. El almacenamiento y la distribución de vistas previas transportan datos cifrados. La API de metadatos gestiona metadatos cifrados, claves envueltas e información de control pública.

01

El inicio de sesión y el descifrado son independientes

Iniciar sesión permite al servicio identificar tu cuenta y aplicar los permisos de acceso. Una unidad cifrada se desbloquea localmente mediante una frase de contraseña de cifrado, una clave de recuperación o una clave de acceso de cifrado compatible. El inicio de sesión en la cuenta, por sí solo, no proporciona el secreto necesario para descifrar la unidad.

02

Cómo se crean y desbloquean tus claves

La configuración de la cuenta genera en el dispositivo una clave raíz aleatoria de 256 bits y un par de claves de firma ECDSA P-256. La clave raíz y la clave privada de firma se guardan en un paquete cifrado de claves de la cuenta. El servidor recibe copias cifradas de ese paquete y la clave pública de verificación.

La frase de contraseña de cifrado se normaliza con Unicode NFKC y se procesa con Argon2id usando una sal aleatoria de 16 bytes, 64 MiB de memoria, 3 iteraciones y un paralelismo de 4. La clave resultante de 256 bits protege el paquete de claves de la cuenta con AES-GCM. Estos parámetros ralentizan los intentos de adivinar contraseñas; sigue siendo importante usar una frase de contraseña robusta y única.

Una clave de recuperación aleatoria de 256 bits, generada por separado, protege otra copia del mismo paquete. Cambiar la frase de contraseña vuelve a envolver el paquete; no vuelve a cifrar todos los archivos almacenados. En los autenticadores compatibles, WebAuthn PRF aporta material para una envoltura independiente que permite desbloquear con una clave de acceso. Una clave de acceso utilizada solo para iniciar sesión en la cuenta no es automáticamente una clave de acceso de cifrado.

Volver a envolver el paquete no revoca un paquete antiguo que alguien ya haya copiado y pueda desbloquear. Eliminar una clave de acceso de cifrado impide obtener su envoltura en el futuro, pero no puede borrar claves que un cliente desbloqueado ya haya obtenido.

Guarda la clave de recuperación en un lugar seguro fuera de la unidad. Si pierdes todos los métodos de desbloqueo utilizables y todos los dispositivos desbloqueados, los datos cifrados podrían quedar irrecuperables. Restablecer el acceso a la cuenta no vuelve a crear las claves de cifrado.

03

El cifrado de archivos y el papel de Google Tink

Cada nueva revisión de un archivo recibe una nueva clave de contenido aleatoria de 256 bits. Los archivos se cifran en segmentos autenticados, lo que permite a los clientes subir archivos grandes y leer un intervalo solicitado sin descifrar antes todo el archivo. Cada segmento se comprueba antes de que sus datos en claro estén disponibles.

InfiniDrive implementa un formato de transmisión compatible con el perfil Streaming AEAD RAW AES256_GCM_HKDF_1MB de Google Tink. HKDF-SHA-256 deriva una clave AES por flujo a partir de la clave de contenido y una sal nueva. Los nonces de los segmentos combinan un prefijo aleatorio, el índice del segmento y un indicador de segmento final. El formato autentica la posición de los segmentos y la finalización del flujo.

La compatibilidad con Google Tink se verifica mediante pruebas de cifrado y descifrado en ambas direcciones.

Perfil criptográfico actual
ComponenteImplementación
Identificador del formato de transmisióninfinidrive-tink-aes256-v1
Flujo del archivoAES-256-GCM + HKDF-SHA-256; compatible con RAW AES256_GCM_HKDF_1MB
Tamaño del segmento cifrado1.048.576 bytes (1 MiB); incluye una etiqueta de autenticación de 16 bytes
Cabecera del flujo40 bytes: longitud de la cabecera, sal de 32 bytes, prefijo de nonce de 7 bytes
Envolturas de claves y metadatosAES-256-GCM; nonce aleatorio de 12 bytes; etiqueta de autenticación de 128 bits
KDF de la frase de contraseñaArgon2id: 65.536 KiB de memoria, 3 iteraciones, paralelismo 4, sal de 16 bytes
Separación de clavesHKDF-SHA-256 con contexto específico para cada finalidad
FirmasECDSA P-256 con SHA-256

04

Metadatos, firmas y comprobaciones de versiones

Los nombres de archivo y los metadatos de contenido se cifran por separado de los bytes del archivo. Las claves de contenido se envuelven en contenedores de cifrado autenticado. El contexto vincula los datos protegidos a su cuenta, nodo, revisión y finalidad, lo que reduce el riesgo de aceptar un objeto cifrado válido en un lugar incorrecto.

Las firmas ECDSA P-256 con SHA-256 protegen los manifiestos y las operaciones de la cuenta. Los clientes comprueban las firmas, las identidades de los objetos y el contexto de revisión antes de mostrar el contenido. Las comprobaciones del historial comparan las respuestas del servidor con puntos de control guardados localmente para detectar retrocesos o historiales contradictorios respecto de lo que ese dispositivo ya ha observado.

Un dispositivo nuevo necesita un estado inicial de confianza. Los puntos de control locales no son un servicio global de transparencia de claves, y las firmas por sí solas no pueden garantizar que un servidor muestre el mismo historial a todos los dispositivos.

05

Fotos, vistas previas y enlaces compartidos

Los clientes compatibles generan localmente vistas previas de imágenes y vídeos. Cada vista previa tiene su propia clave de revisión aleatoria y se cifra antes de subirla. Sus metadatos cifrados y firmados la vinculan a la revisión del archivo original. La distribución de vistas previas almacena y sirve bytes cifrados; el cliente verifica y descifra la imagen.

Un enlace público cifrado lleva su secreto de descifrado en el fragmento de la URL, después del carácter #. Los navegadores no incluyen ese fragmento en la solicitud HTTP al servidor. El navegador del destinatario utiliza el secreto localmente para desbloquear el contenido compartido.

El enlace también contiene un token de acceso independiente que el cliente envía al servicio para autorizar la obtención de los datos, y un resumen criptográfico que fija el registro de uso compartido firmado. La autorización cifrada contiene claves de las revisiones de archivo seleccionadas, en lugar de la clave raíz de la cuenta. Un enlace compartido hace referencia a una instantánea de solo lectura de esas revisiones.

Cualquiera que tenga el enlace completo puede utilizar su secreto, así que trata el enlace como un acceso al archivo. Revocar un enlace puede impedir el acceso futuro a través del servicio, pero no puede borrar una copia que un destinatario ya haya descargado o descifrado.

06

Dónde se guardan las claves y los archivos legibles

Los clientes nativos pueden recordar las claves de cuenta desbloqueadas mediante la protección del sistema operativo: Keychain en las plataformas Apple, almacenamiento seguro respaldado por Android Keystore y DPAPI por usuario en Windows. La aplicación necesita claves utilizables mientras descifra; el almacenamiento del sistema operativo no convierte en seguro un dispositivo comprometido y desbloqueado.

Bloquear la unidad y cerrar sesión restringen el uso posterior de sus claves. Los archivos legibles ya descargados mediante Finder, el Explorador, una exportación u otra aplicación pueden permanecer en el disco. Los archivos locales, las cachés de miniaturas del sistema operativo, las copias de seguridad y otras aplicaciones tienen sus propias reglas de protección y conservación.

Examina el código criptográfico público

Descarga el código fuente criptográfico, con casos de prueba sintéticos y un entorno de pruebas de interoperabilidad con Google Tink.

El archivo incluye streaming de archivos, envolturas de claves, firmas, formatos de nodos y recursos compartidos, metadatos de vistas previas y funciones auxiliares para las envolturas de claves de acceso, además de dependencias con versiones fijadas e instrucciones para ejecutar las pruebas. Los módulos criptográficos de producción se copian sin cambios; los puntos de entrada del paquete se han limitado para esta publicación.

Descargar el código fuente criptográfico (.zip)v1.0.0 · 60,8 kB · AGPL-3.0-onlySuma de comprobación SHA-256522accd052f0f23b0239973ff8be604d2a7eef11c1fd411852ed9609bab1b9ed

Es una instantánea del código fuente criptográfico, no el cliente o servidor completo. Excluye las interfaces de la aplicación, la configuración de despliegue, el transporte del servicio, el almacenamiento de claves en el dispositivo y la integración completa de las comprobaciones del historial. Las implementaciones independientes en Dart y Swift no forman parte de esta descarga. Licencia: AGPL-3.0-only; se incluyen los avisos de las dependencias.

Especificaciones y lecturas adicionales

Google Tink — Streaming AEADTink — AES-GCM-HKDF streaming formatRFC 9106 — Argon2Seguridad y divulgación responsable