Arquitectura de conocimiento cero: el servidor no ve tus archivos
Aprende cómo la arquitectura de conocimiento cero garantiza que ni el proveedor puede acceder a tus archivos. El modelo de privacidad definitivo.
La arquitectura de conocimiento cero significa que el proveedor del servicio no tiene capacidad técnica para leer tus archivos: las claves de cifrado nunca llegan a sus servidores, no existe una clave maestra, ni una puerta trasera, ni un «confía en nosotros». Tu navegador cifra los archivos con AES-256-GCM antes de subirlos usando una clave generada localmente, y esa clave llega al destinatario únicamente a través del fragmento de URL después de #, que los navegadores nunca transmiten al servidor. Incluso ante una orden judicial válida, el proveedor solo puede entregar texto cifrado. Este es el modelo que utilizan Tresorit, Proton, SwissTransfer y HexaTransfer, y es matemáticamente diferente de «cifrado en reposo».
La prueba está en lo que el servidor puede entregar
La prueba definitiva del conocimiento cero: ¿qué podría entregar la empresa si fuera obligada? En el almacenamiento en la nube tradicional (Google Drive, Dropbox, OneDrive), la respuesta es: tus archivos, en texto plano. El informe de transparencia de Google de 2023 muestra que cumplió el 83 % de las solicitudes de datos del gobierno estadounidense, entregando contenido de usuario cuando fue legalmente requerido. Eso no es un fallo de seguridad de Google, es así como funciona su arquitectura.
Con conocimiento cero, la empresa puede entregar:
- Blobs de archivos cifrados (inútiles sin la clave)
- Metadatos de cuenta (correo, IP de registro)
- Direcciones IP y marcas de tiempo de subida y descarga
- Información de pago si procede
No puede entregar nombres de archivo, contenido, identidad del destinatario ni claves de descifrado. No porque se niegue, sino porque no las tiene.
El truco del fragmento de URL, explicado con precisión
El movimiento técnico central es usar el fragmento de URL como canal encubierto para la clave. Cuando un navegador solicita https://hexatransfer.com/d/xyz789#k=BASE64CLAVE, envía al servidor únicamente GET /d/xyz789. El fragmento permanece en la barra de direcciones del navegador. JavaScript llama entonces a window.location.hash para leer la clave y la pasa a crypto.subtle.decrypt().
Este enfoque fue pionero de Mega.nz alrededor de 2013 y refinado por Firefox Send antes de que Mozilla lo cerrara en 2020. El patrón es ahora estándar. Los logs del servidor, incluidos los logs de acceso de nginx o Caddy, nunca capturan el fragmento porque el RFC 3986 de HTTP lo define como exclusivo del lado del cliente.
Un proveedor podría teóricamente registrar el fragmento a través de JavaScript del lado del cliente, razón por la cual los servicios de conocimiento cero publican su código de cliente para inspección y a menudo lo distribuyen como activos estáticos firmados servidos desde un origen separado.
Por qué esto difiere del «cifrado en reposo»
Todo proveedor de nube cifra los archivos en reposo: es un requisito básico, generalmente exigido por las certificaciones SOC 2 Tipo II e ISO 27001. Pero «cifrado en reposo» con claves en poder del proveedor significa que el cifrado es invisible para atacantes con discos robados e invisible para ti en el sentido de que el proveedor descifra automáticamente a petición.
El conocimiento cero invierte la custodia de claves: tú tienes la clave, el proveedor tiene el texto cifrado. El proveedor no obtiene nada descifrando porque no puede. Esto importa ante tres amenazas específicas:
- Empleados malintencionados. Un empleado del proveedor con acceso a la base de datos ve solo texto cifrado.
- Solicitudes gubernamentales. El artículo 48 del RGPD y las solicitudes de la US CLOUD Act pueden obligar a divulgar, pero no puedes divulgar lo que no tienes.
- Brechas de servidor. La brecha de LastPass de 2021 expuso bóvedas cifradas; las contraseñas maestras débiles fueron crackeadas, pero el diseño de conocimiento cero evitó la exposición masiva de texto plano.
Qué está cifrado y qué es metadato
Una implementación ingenua cifra el contenido de los archivos pero deja visibles los nombres, tamaños y estructura de carpetas. El verdadero conocimiento cero cifra también el nombre de archivo, típicamente anteponiendo una cabecera JSON como {"name": "Q4-finanzas.pdf", "type": "application/pdf"} a los bytes del archivo antes del cifrado AES-GCM.
Metadatos difíciles de ocultar:
- Tamaño de archivo — la longitud del texto cifrado aproxima la del texto plano. El relleno a tamaños fijos (1 MB, 10 MB, 100 MB, 1 GB) lo difumina pero desperdicia ancho de banda.
- Temporización de subida — correlacionar marcas de tiempo con otros datos puede filtrar información.
- Direcciones IP — el proveedor ve quién sube y descarga. Combina con Tor o una VPN de confianza si esto importa.
Proton y Tresorit publican matrices detalladas de exposición de metadatos. SwissTransfer y HexaTransfer adoptan un enfoque más simple: metadatos mínimos, retención breve (24 horas a 7 días) y sin vinculación a cuenta para transferencias gratuitas.
El problema de autenticación
El conocimiento cero crea un desafío: si el servidor no puede descifrar tus archivos, ¿cómo autentica a los usuarios para evitar que desconozidos descarguen? Tres patrones comunes:
- Autenticación por enlace. Tener la URL (y el fragmento) es la autorización. Usado por SwissTransfer, HexaTransfer, Tresorit Send. Simple, funciona sin cuentas.
- Enlaces protegidos por contraseña. El fragmento de URL contiene una salt; la clave real se deriva con PBKDF2 a partir de la contraseña. El servidor almacena un verificador (hash de la clave) para rechazar intentos incorrectos rápidamente.
- Conocimiento cero vinculado a cuenta. Proton y Tresorit derivan tu clave maestra de tu contraseña de inicio de sesión vía Argon2id, luego la usan para desbloquear claves por archivo almacenadas cifradas en el servidor.
Cada uno tiene compensaciones. El enlace es el más simple pero expone la clave a quien tenga la URL. La contraseña añade un segundo factor. El vinculado a cuenta requiere confiar en que el código del cliente no exfiltre la clave maestra.
Errores de implementación que rompen el conocimiento cero
Varios fallos del mundo real que vale la pena conocer:
- Previsualizaciones de archivos en el servidor. Si el proveedor genera miniaturas o extrae texto para búsqueda, necesita el texto plano. Los servicios de conocimiento cero no pueden ofrecer estas funciones sobre contenido cifrado.
- Resolución de conflictos de sincronización. Comparar contenido de archivos entre dispositivos normalmente requiere texto plano. Syncthing y Cryptomator lo gestionan con diffs del lado del cliente.
- SDKs de analítica. Scripts de terceros como Google Analytics o Segment pueden leer
window.location.hashen el código del cliente. Los servicios de conocimiento cero o autoalojan la analítica o eliminan el acceso al fragmento. - Recuperación de contraseña. Si el proveedor puede restablecer tu contraseña y aun así darte acceso a archivos antiguos, debe tener una clave de recuperación, lo que rompe el conocimiento cero. Proton advierte explícitamente que restablecer la contraseña implica perder los datos cifrados.
Quién ofrece realmente conocimiento cero
Una lista corta de servicios con afirmaciones de conocimiento cero creíbles, verificadas por auditorías de terceros (Cure53, NCC Group, Trail of Bits):
- Tresorit — suizo, SOC 2 Tipo II, sincronización de archivos y Send de conocimiento cero.
- Proton Drive — suizo, basado en el modelo criptográfico de Proton Mail.
- SwissTransfer — nivel gratuito con E2EE opcional, gestionado por Infomaniak.
- Mega.nz — Nueva Zelanda, whitepaper de criptografía publicado.
- HexaTransfer — basado en navegador, sin cuenta, 10 GB por transferencia.
Servicios cifrados pero no de conocimiento cero: Google Drive, Dropbox, OneDrive, Box, iCloud (excepto el nivel Advanced Data Protection), y WeTransfer nivel estándar.
Cómo aplicarlo en la práctica
Antes de confiar a un servicio archivos sensibles, usa esta lista de comprobación:
- ¿La política de privacidad afirma que el proveedor no puede leer tus archivos?
- ¿Hay un whitepaper de seguridad publicado que nombre AES-256-GCM y la KDF?
- ¿La URL de compartición contiene un fragmento (texto tras
#)? - ¿Existen informes de auditoría de terceros de los últimos 24 meses?
- ¿El código del cliente es de código abierto o al menos auditable?
Cuatro síes significan que has encontrado un servicio de conocimiento cero. Tres o menos significa que el proveedor puede ver tus archivos.
Pruébalo en hexatransfer.com — gratis, sin cuenta, hasta 10 GB.
Envía archivos grandes de forma segura con cifrado de extremo a extremo
Transfiere archivos de hasta 10 GB gratis con cifrado de extremo a extremo. Sin necesidad de cuenta. Tus archivos se cifran en tu navegador antes de subirlos: nadie más puede leerlos.
Enviar un archivo