wandres.dev
PROPIEDAD DEL DATO · el argumento no técnico

Qué puede ver el proveedor

Qué observa de verdad quien aloja tus datos en cada arquitectura, por qué el cifrado en reposo protege mucho menos de lo que el usuario supone, y qué se sigue filtrando incluso con cifrado extremo a extremo.

⏱ 18 min

La privacidad no es una casilla que una aplicación cumple o incumple: es una propiedad de una arquitectura frente a un adversario concreto, y sin nombrar al adversario la palabra no significa nada. La afirmación más repetida del sector —los datos están cifrados— es casi siempre cierta y casi siempre irrelevante, porque contesta a una pregunta que el usuario no estaba haciendo. Lo que el usuario quiere saber es si el proveedor puede leer su contenido, y la respuesta a eso no depende de que haya cifrado sino de quién custodia las claves y en qué momento existe el texto en claro. Esta lección ordena las arquitecturas posibles en un espectro según lo que cada una deja ver, explica por qué el cifrado en reposo protege contra un conjunto de amenazas mucho más estrecho del que se le atribuye, y examina lo que sigue filtrándose cuando el contenido ya está fuera del alcance de todos: los metadatos, que muchas veces dicen más que el contenido.

🎯 Al terminar esta lección sabrás
  • Formular un modelo de amenaza explícito antes de calificar una arquitectura de privada.
  • Precisar contra qué protege y contra qué no protege el cifrado en reposo.
  • Ordenar las arquitecturas de datos en un espectro según lo que el proveedor puede computar.
  • Reconocer la fuga de metadatos que sobrevive al cifrado extremo a extremo.

El modelo de amenaza que casi nadie escribe

La palabra privado funciona en el discurso comercial como funciona seguro: enuncia una cualidad sin decir respecto a quién, y esa omisión no es un descuido de redacción sino lo que hace útil la afirmación, porque permite que cada lector la complete con el adversario que a él le preocupa. Deshacer esa ambigüedad es el primer trabajo intelectual de la lección.

Antes de decir que algo es privado hay que responder tres preguntas: quién es el adversario, qué capacidades tiene y qué se pierde si triunfa. Sin las tres, la afirmación es decorativa. Los adversarios plausibles de un servicio de datos no son intercambiables: un ladrón que se lleva un disco de un centro de datos, un atacante externo que compromete un servidor de aplicación, un empleado con acceso legítimo que consulta lo que no debe, la propia empresa actuando dentro de sus condiciones, un comprador futuro que hereda los datos con otras intenciones y una autoridad que presenta un requerimiento legal. Cada uno tiene capacidades distintas y cada mecanismo defensivo cubre solo a algunos.

Merece la pena escribirlos con sus capacidades, porque solo así se ve qué defiende cada mecanismo:

  1. Ladrón de hardware. Acceso físico a un disco fuera de servicio o a una máquina apagada. Sin credenciales de aplicación.
  2. Atacante externo. Compromete un servidor en ejecución y hereda todos los privilegios que ese servidor tiene, incluidas sus claves.
  3. Personal interno. Acceso legítimo a la capa de aplicación, limitado solo por controles internos y por la calidad de la auditoría.
  4. El propio proveedor. Actúa dentro de sus condiciones, que él mismo redacta y puede modificar con preaviso.
  5. Sucesor. Quien adquiere la empresa o sus activos en una quiebra, y hereda los datos sin heredar necesariamente las intenciones.
  6. Autoridad con requerimiento legal. Obtiene lo que el proveedor pueda entregar, y solo lo que pueda entregar.

El error de razonamiento más común es tratar la lista como si fuera homogénea y concluir que una medida que detiene al primero detiene a todos. No es así, y la asimetría es sistemática: las medidas fáciles de implementar y de comunicar son justamente las que protegen contra los adversarios menos probables, mientras que los adversarios con acceso legítimo —la empresa, el empleado, el requerimiento— solo se detienen con medidas que cuestan funcionalidad.

El quinto adversario, el sucesor, merece una mención aparte porque es el que peor encaja en el razonamiento habitual. Un usuario evalúa a un proveedor por su conducta actual y por la reputación de su equipo, y ambas cosas son legítimas y a menudo tranquilizadoras. Pero los datos sobreviven a los equipos: sobreviven a la venta de la empresa, al cambio de propiedad, a la reorientación del modelo de negocio y a la liquidación de activos en un concurso. Confiar en un proveedor es, en rigor, confiar en toda la cadena de futuros titulares de esa base de datos, y esa cadena es desconocida por construcción. Cualquier evaluación de privacidad que se apoye en las intenciones presentes está midiendo la variable equivocada.

Cifrado en reposo: qué protege exactamente

El cifrado en reposo significa que los bloques del disco o del sistema de almacenamiento están cifrados con claves que gestiona el proveedor. Protege, y no es poco, contra un conjunto de escenarios reales: el robo físico de una unidad, un disco retirado que se revende sin borrar, una copia de seguridad abandonada en un depósito mal configurado, la incautación del hardware apagado.

Cruzado con la lista de adversarios, cubre exactamente al primero de los seis y a ninguno de los otros cinco:

  • No protege contra el proveedor, porque el proveedor tiene la clave y la usa en cada petición.
  • No protege contra un servidor comprometido, porque ese servidor descifra por definición y el atacante hereda esa capacidad.
  • No protege contra el personal interno, porque el acceso ocurre en la capa de aplicación, por encima del cifrado.
  • No protege frente a un sucesor, porque lo que se transfiere en una adquisición son los datos y las claves juntos.
  • No protege contra un requerimiento legal, porque quien puede descifrar puede entregar el texto en claro.

La razón es una sola y es estructural: para servirte una vista, el contenido tiene que existir en claro en la memoria de una máquina ajena. El cifrado en reposo protege los datos cuando están quietos y el sistema apagado; la vida útil de un servicio transcurre casi entera con el sistema encendido.

La pregunta correcta, entonces, no es si hay cifrado sino quién puede computar sobre el texto en claro. La custodia de la clave es toda la cuestión, y todo lo demás es implementación.

Vale la pena reconocer, para no caer en el desprecio fácil, que el cifrado en reposo sí resolvió un problema que era grave y frecuente. Antes de que se generalizara, la retirada de hardware, el extravío de cintas de respaldo y los depósitos de almacenamiento mal configurados produjeron filtraciones masivas de forma rutinaria. Que hoy esa clase entera de incidentes sea rara es un logro real de higiene operativa. El reproche no es que la medida sea inútil: es que se comunica como si respondiera a una pregunta distinta de la que responde, y esa distancia entre lo que se dice y lo que se hace es la que produce decisiones mal informadas.

⚠️
Tres frases que no significan lo que parecen

Cifrado en reposo quiere decir que el proveedor tiene la clave y la usa constantemente. Cifrado en tránsito quiere decir que un intermediario de red no lee, pero los dos extremos sí, y uno de esos extremos no eres tú. Cifrado de grado militar describe el algoritmo, que casi nunca es el eslabón débil, y no dice absolutamente nada sobre la gestión de claves, que casi siempre lo es. Ninguna de las tres responde a la pregunta que importa.

El espectro de lo que el proveedor observa

Las arquitecturas no se dividen en privadas y no privadas: forman un espectro en el que cada peldaño reduce lo que el proveedor puede computar y cobra un precio en funcionalidad. Recorrerlo entero es la única manera de situar honestamente una decisión, y también la única manera de detectar cuándo un producto se describe con el vocabulario de un peldaño mientras opera en otro.

flowchart TD
A[Texto en claro en el proveedor] --> B[Cifrado en reposo con claves del proveedor]
B --> C[Claves gestionadas por el cliente pero descifrado en el servicio]
C --> D[Computo en entorno de ejecucion confiable]
D --> E[Extremo a extremo con servidor ciego]
E --> F[Solo local sin servidor]
A --> A1[Ve todo y puede indexar buscar y analizar]
B --> B1[Ve todo en ejecucion protege discos parados]
C --> C1[Ve todo mientras sirve deja rastro de auditoria]
D --> D1[Confianza trasladada al fabricante del hardware]
E --> E1[No ve contenido si ve metadatos]
F --> F1[No ve nada y no puede ayudarte en nada]
style A1 fill:#f38ba8,color:#11111b
style B1 fill:#f38ba8,color:#11111b
style C1 fill:#f9e2af,color:#11111b
style D1 fill:#f9e2af,color:#11111b
style E1 fill:#a6e3a1,color:#11111b
style F1 fill:#89b4fa,color:#11111b

Cada peldaño compra una reducción de exposición y paga con funcionalidad, y la transacción conviene enunciarla explícitamente:

  1. Texto en claro. Búsqueda instantánea, vistas previas, análisis, funciones de modelos de lenguaje. Exposición total y permanente.
  2. Cifrado en reposo. Idéntica funcionalidad, coste operativo casi nulo. Solo cubre el escenario del hardware apagado.
  3. Claves del cliente. Añade auditoría y un interruptor de corte inmediato. El texto en claro sigue pasando por el servicio.
  4. Entorno de ejecución confiable. El operador no inspecciona el cómputo. La confianza se traslada al fabricante del procesador y a la atestación.
  5. Extremo a extremo. El servidor no ve contenido. Desaparecen búsqueda en servidor, filtrado, deduplicación y soporte con visibilidad.
  6. Solo local. No hay exposición y no hay servicio: ni sincronización, ni colaboración, ni recuperación tras perder el dispositivo.

Merece subrayarse el peldaño de las claves gestionadas por el cliente, porque es el que más confusión genera en contratos corporativos. Que la organización controle la clave maestra añade auditoría y la capacidad de cortar el acceso de golpe, lo cual tiene valor real; pero mientras el servicio necesite descifrar para funcionar, el texto en claro pasa por sus manos en cada operación. Es un control de gobernanza, no una barrera criptográfica. Los entornos de ejecución confiables prometen cerrar esa brecha ejecutando el cómputo en una región que el operador no puede inspeccionar, y son un avance genuino; pero trasladan la confianza al fabricante del procesador y a la corrección de una atestación, y su historial de vulnerabilidades por canales laterales aconseja tratarlos como mitigación fuerte y no como garantía.

Metadatos y el precio de la ceguera

Supón resuelto el problema del contenido: cifrado extremo a extremo, servidor ciego, claves solo en tus dispositivos. Queda una capa entera de información que el servidor sigue observando y que a menudo es más reveladora que el texto:

  • Con quién. El grafo de sincronización revela la estructura completa de tus relaciones y colaboraciones.
  • Cuándo. Los momentos de actividad revelan horarios, huso horario, vacaciones, insomnio y cambios de rutina.
  • Cuánto. Los tamaños y el ritmo de crecimiento distinguen una nota de un manuscrito y un proyecto vivo de uno abandonado.
  • Con qué frecuencia. La cadencia de las escrituras distingue el trabajo intensivo del mantenimiento ocasional.
  • Desde dónde. Direcciones de red e identificadores de dispositivo revelan ubicación, desplazamientos y número de terminales.

La frase de Michael Hayden, exdirector de la Agencia de Seguridad Nacional estadounidense, sigue siendo la formulación más brutal de este punto: matamos gente basándonos en metadatos. Se puede discutir el contexto en que la dijo, pero la afirmación técnica que contiene es correcta y está bien establecida: sobre un conjunto suficientemente grande de personas, el patrón de comunicación permite inferencias que el contenido apenas mejora.

📝
Lo que cuesta ocultar el patrón

Las contramedidas contra la fuga de metadatos existen y están bien estudiadas, pero su coste explica por qué casi nadie las despliega. El relleno de mensajes a tamaño fijo desperdicia ancho de banda proporcionalmente al tamaño del mayor mensaje posible. Los retrasos aleatorios rompen la sensación de inmediatez que era el principal argumento de la arquitectura. El tráfico de cobertura consume batería y datos en dispositivos móviles de forma permanente. Y las técnicas de recuperación privada de información, que permiten pedir algo sin revelar qué se pide, siguen teniendo un coste computacional que las mantiene fuera del uso general. La privacidad de metadatos no es un problema sin resolver: es un problema resuelto a un precio que casi ningún producto está dispuesto a pagar.

El caso local-first tiene además una fuga específica que conviene nombrar. La sincronización de un CRDT cifrado transmite operaciones, y el patrón de operaciones filtra estructura: número de ediciones, ráfagas de escritura, tamaño de cada delta, orden causal entre participantes. Un servidor que no puede leer una palabra puede reconstruir quién escribió, cuándo, cuánto y en compañía de quién. Ocultar eso exige relleno de mensajes, retrasos artificiales y mezcla de tráfico, y esas técnicas cuestan latencia y ancho de banda, exactamente los recursos que la arquitectura quería ahorrar.

Conviene también matizar en la otra dirección, porque hay una diferencia real a favor. Un servidor de sincronización que solo transporta operaciones cifradas acumula un registro mucho más pobre que un servicio que aloja el contenido: no puede reconstruir el texto, no puede buscar en él, no puede clasificarlo ni derivar de él un perfil temático, y no tiene nada que entregar si alguien se lo pide. Que la fuga de metadatos exista no la iguala con la exposición del contenido, y decir lo contrario sería el error simétrico al que critica esta lección.

🔐

Contenido

Lo protege el cifrado extremo a extremo. Es la parte resuelta, y es la que casi todo el marketing discute.

🕸️

Grafo y ritmo

Quién sincroniza con quién y cuándo. Sobrevive al cifrado, cuesta caro ocultarlo y suele bastar para inferir el contenido.

🧯

Recuperación

Sin custodia de claves, perder el dispositivo es perder los datos. Todo mecanismo de rescate reintroduce a un tercero de confianza.

Y una vez contabilizada la fuga, queda por contabilizar el coste, porque el argumento contrario es fuerte y hay que sostenerlo entero. El cifrado extremo a extremo elimina la búsqueda en servidor, la generación de vistas previas, el filtrado de correo no deseado, la deduplicación entre usuarios, la ayuda humana de soporte —nadie puede mirar tu documento para diagnosticar por qué se rompió— y cualquier función que requiera cómputo sobre el contenido, incluida la mayoría de las capacidades de modelos de lenguaje que hoy definen la competencia de producto. Elimina también la moderación, que la lección quinta trata en serio. Y añade un modo de fallo nuevo y absoluto: la pérdida de la clave es la pérdida irreversible de los datos, sin apelación y sin soporte.

La objeción más incómoda para el bando local-first no es ninguna de esas, sino esta: el dispositivo del usuario es, casi siempre, el eslabón peor protegido de toda la cadena. Un centro de datos tiene actualizaciones automáticas, detección de intrusiones, segmentación de red y personal dedicado; un portátil compartido con la familia, sin cifrado de disco activado y con el bloqueo de pantalla desactivado por comodidad, no tiene nada de eso. Mover los datos allí reduce la exposición ante el proveedor y la aumenta ante el robo físico, el software malicioso y la persona que se sienta a esa mesa. Es un intercambio, no una mejora unilateral, y presentarlo como mejora unilateral es exactamente el tipo de argumento que esta lección quiere evitar.

Frente a eso, el modelo de amenaza realista del usuario medio no es que su proveedor lea sus notas: es el robo de credenciales, la reutilización de contraseñas, el engaño por suplantación y la pérdida del dispositivo. Contra esos vectores, un proveedor centralizado con detección de accesos anómalos, verificación en dos pasos y un procedimiento de recuperación funciona mejor que una arquitectura soberana sin red de seguridad. Cada mecanismo de rescate que se añade —depósito de claves, recuperación social, sincronización de claves en la nube del fabricante— vuelve a abrir, en distinto grado, el agujero que el cifrado había cerrado. Esa circularidad no tiene una salida limpia, y quien la presente como resuelta está vendiendo algo.

La privacidad se diseña en la topología, no en la capa criptográfica

La conclusión que ordena todo lo anterior es que la privacidad de un sistema queda decidida por su topología de cómputo mucho antes de que nadie elija un algoritmo. Si el diseño exige que el contenido se interprete en una máquina ajena para producir la funcionalidad, entonces esa máquina lo verá, y ninguna cantidad de criptografía posterior cambiará ese hecho: se podrán reducir las ventanas de exposición, se podrá auditar el acceso, se podrán cifrar los discos, pero el texto en claro existirá en la memoria de otro y ahí termina la discusión. La consecuencia práctica es que la privacidad es una restricción de arquitectura y no una característica que se añade en una fase posterior, porque en el momento en que el producto depende de una función que requiere leer el contenido, la topología ya está fijada y solo queda administrar el daño. Y la consecuencia intelectual es que hay que dejar de preguntar si un sistema es privado y empezar a preguntar tres cosas concretas: dónde existe el texto en claro, quién controla esa máquina y qué funciones dejarían de existir si nadie pudiera leerlo. Local-first hace bien en llamarse privado por defecto, porque desplazar el cómputo al dispositivo del usuario elimina la exposición de raíz en vez de administrarla; pero debe decir en la misma frase lo que ese desplazamiento cuesta, porque un movimiento que promete privacidad sin nombrar su precio se comporta igual que el marketing al que pretende oponerse.

⚔️ Escribe el modelo de amenaza que falta
  1. Elige una aplicación donde guardes algo sensible y escribe su modelo de amenaza: seis adversarios, sus capacidades y qué pierdes con cada uno.
  2. Busca en su documentación qué tipo de cifrado declara y sitúa el producto en un peldaño concreto del espectro. Justifica el peldaño con una cita.
  3. Enumera tres funciones de ese producto que dejarían de ser posibles si el servidor fuera ciego. Estima cuáles usarías de verdad.
  4. Para un sistema local-first cifrado, lista cinco metadatos que el servidor de sincronización seguiría observando y qué inferencia permite cada uno.
  5. Diseña un mecanismo de recuperación de claves y describe con precisión qué parte de la garantía criptográfica sacrifica.
  6. Evalúa la seguridad real del dispositivo donde vivirían esos datos si los trajeras a casa: cifrado de disco, bloqueo, actualizaciones, personas con acceso físico.
  7. Investiga qué le ocurriría a esos datos si la empresa fuera adquirida, y compáralo con lo que ocurriría si nunca hubieran salido de tu máquina.
  8. Defiende con honestidad un caso en el que preferirías que el proveedor pudiera leer tus datos, y di exactamente qué obtienes a cambio.