¿Qué es Arquitectura de conocimiento cero?
La arquitectura de conocimiento cero es un diseño de sistema en el que el proveedor del servicio no tiene capacidad alguna de acceder, leer ni descifrar los datos que almacena en nombre de los usuarios, porque todas las operaciones de cifrado y descifrado ocurren del lado del cliente.
También conocido como: ZK, zero-knowledge encryption, zero-knowledge proof, ZKA
En un sistema de conocimiento cero, el servidor actúa puramente como almacenamiento cifrado. Recibe datos que el cliente ya ha cifrado y los devuelve cuando se le solicita, pero nunca posee las claves necesarias para darles sentido. Esto contrasta con la mayoría de los servicios en la nube, donde el proveedor conserva las claves de cifrado y podría, en teoría, acceder a los datos del usuario, ya sea a través de un empleado malintencionado, una citación judicial o una brecha de seguridad.
El término «conocimiento cero» en este contexto es distinto de las pruebas de conocimiento cero en criptografía, aunque ambos comparten el principio de no revelar nada más allá de lo estrictamente necesario. Un servicio de conocimiento cero sabe que los datos existen y puede aplicar controles de acceso como la expiración o los límites de visualización, pero no puede determinar qué contienen realmente los datos.
La arquitectura de conocimiento cero transforma el modelo de confianza de raíz. En lugar de confiar en que el operador del servicio proteja tus datos y se comporte con honestidad, solo necesitas confiar en el código del lado del cliente que se ejecuta en tu navegador. Esto supone una mejora de seguridad significativa porque elimina toda una categoría de amenazas: las brechas del lado del servidor, el acceso interno y la divulgación forzada dejan de ser efectivas cuando el servidor genuinamente no puede leer lo que almacena.
Cómo usa Vaulted Arquitectura de conocimiento cero
Vaulted está construido como un sistema de conocimiento cero desde sus cimientos. Todo el cifrado y el descifrado ocurren en tu navegador mediante la Web Crypto API. El servidor recibe y almacena únicamente el texto cifrado, el vector de inicialización y metadatos como el número de visualizaciones y la expiración. La clave de cifrado AES-256-GCM se incrusta en el fragmento de la URL, que los navegadores nunca envían a los servidores según el RFC 3986. Incluso si el servidor o la base de datos de Vaulted estuvieran totalmente comprometidos, un atacante solo obtendría bloques cifrados sin forma de descifrarlos.