Resumen

  • La arquitectura de Key Transparency admite que un usuario reciba respuestas correctas y pruebas válidas dentro de una vista que no coincide con la mostrada a otros. La consistencia mantiene al cliente en su rama, pero no crea por sí sola el encuentro que la delata.
  • Descubrir la bifurcación requiere una comparación independiente mediante un tercero no coludido, una consulta anónima o gossip entre pares. La elección define quién observa, qué estado debe durar y quién asume los fallos.

El ataque no necesita fabricar una prueba rota

La escena inicial es un caso construido para analizar la arquitectura, no un incidente conocido. Su interés está en la diferencia entre «esta respuesta es coherente con mi pasado» y «esta respuesta coincide con la realidad que reciben todos». La primera afirmación puede verificarse desde un dispositivo. La segunda necesita al menos otro punto de observación.

draft-ietf-keytrans-architecture-09 sitúa esa diferencia en el centro de su modelo. El Datatracker lo muestra como Internet-Draft activo. La revisión 09 fue publicada el 29 de junio de 2026 y el expediente cambió el 9 de julio a Submitted to IESG for Publication, con estado IESG Publication Requested. Busca un RFC Informational, no tiene telechat asignada y todavía no es un RFC aprobado.

El documento parte de una asimetría de la mensajería cifrada. El cifrado de extremo a extremo puede proteger el contenido y, al mismo tiempo, dejar en manos del operador el directorio que enlaza una identidad visible con una clave pública. Si el operador sustituye esa clave por otra controlada por él, la sesión puede seguir pareciendo cifrada mientras el extremo autenticado ya no es el esperado.

Key Transparency incorpora los enlaces de identidad y clave a un registro append-only protegido. Search devuelve el valor de una etiqueta y una prueba; Update añade una versión; Monitor comprueba en segundo plano que los valores anteriores continúan presentes y que el propietario no ha sufrido cambios ocultos. Es un mecanismo compartido acotado: fija cómo observar una historia, no cómo gobernar toda la aplicación.

Un registro deshonesto puede, sin embargo, mantener dos historias. A cada usuario le entrega respuestas que prolongan su propio punto de control. Así, cada cliente permanece en una vista linealizable y rechaza después cualquier respuesta que contradiga la rama recibida. La bifurcación no puede cerrarse limpiamente ni borrarse de la memoria del cliente. Esa persistencia aumenta las oportunidades de descubrirla, pero no compara las ramas.

Hay que construir el lugar donde se cruzan los testigos

La arquitectura ofrece tres familias: tercero de confianza, comunicación anónima con el registro y comunicación entre pares. Las tres añaden una observación que no procede del canal autenticado y aislado del usuario.

Un auditor externo sigue el crecimiento append-only y firma una raíz reciente. El registro entrega esa firma junto con las respuestas. El modelo funciona si auditor y registro no colaboran para autenticar una rama falsa. Además, la firma suele producirse de forma asíncrona. La tolerancia al retraso del auditor no viene dictada por una primitiva; es un parámetro elegido que decide cuánto tiempo puede aceptarse una zona todavía no atestiguada.

Con gestión de terceros, el gestor conserva y opera la mayor parte del registro; el servicio conserva el control de acceso y autentica las nuevas versiones. La separación reduce el poder unilateral, pero el operador debe detectar bifurcaciones presentadas por el gestor. Varios terceros con firma umbral dificultan que uno actúe solo. Aun así, alguien decide el conjunto, el umbral, la sustitución y la rotación de claves.

Contact Monitoring reparte el deber entre propietarios y contactos. El propietario revisa su valor actual. Quien consultó una versión recién creada vuelve más tarde para confirmar que no desapareció antes de que el propietario tuviera ocasión de verla. Al no haber un tercero permanente, la aplicación también debe realizar comparaciones anónimas o entre pares. La arquitectura deposita más responsabilidad en dispositivos que pueden estar apagados, perder estado o no encontrarse nunca.

La consulta anónima solicita una raíz sin revelar qué usuario la pide y la compara con la obtenida en el canal autenticado. Un registro que mantiene muchas ramas no sabe con certeza cuál devolver. Repetir la prueba eleva la probabilidad de exposición, pero solo si la vía realmente oculta la identidad y no es bloqueada de forma selectiva.

El gossip entre pares puede ser mínimo y viajar por un canal externo de poco ancho de banda. Dos usuarios incluso pueden contrastar datos mediante un código QR. El requisito difícil es que esas comparaciones conecten al conjunto de usuarios. Comunidades sin puentes pueden continuar indefinidamente en ramas distintas.

Recuperar una cuenta también recupera una obligación

El cliente usa memoria local para exigir continuidad. Si desaparece el último punto aceptado, el registro puede intentar presentar un pasado nuevo que ya no choca con lo que el cliente recuerda. Por eso la pérdida de estado afecta a la garantía aunque las funciones criptográficas permanezcan intactas.

En Contact Monitoring, el peligro se concentra en versiones recientes que siguen dentro de la ventana de vigilancia o que no han circulado suficientemente. En auditoría externa, existe un intervalo relacionado con el retraso admitido del auditor. Un navegador efímero, un teléfono sustituido, una copia parcial o un borrado provocado pueden abrir ese hueco.

Una recuperación seria debe restaurar o declarar ausentes la última raíz, las tareas Monitor pendientes, las firmas de testigos, los momentos de comparación y la configuración del registro. No conviene presentar un dispositivo recuperado como si nunca hubiera tenido historia. La ausencia de continuidad es un dato que el usuario y el operador necesitan para decidir.

También hay varias duraciones. La detección depende de la antigüedad máxima aceptada para una respuesta, de la Reasonable Monitoring Window, de la frecuencia real del trabajo en segundo plano, del intervalo de consultas anónimas o gossip, del retraso del auditor y de la eficacia de la comprobación del gestor. Una promesa de detección acotada pierde contenido si esos números no se miden en producción.

Los indicadores deben separar «prueba válida» de «vista comparada». Conviene conservar edad del punto de control, atraso del testigo, comparaciones fallidas, cola de vigilancia, recuperaciones, rechazos por obsolescencia y tiempo hasta la acción local. Un porcentaje perfecto de pruebas puede describir precisamente el aislamiento que el atacante quiere.

Transparencia no significa acceso universal

El borrador mantiene el transporte y las reglas de autorización en la aplicación. Esta puede exigir sesión, limitar qué contactos se consultan, aplicar cuotas y bloquear modificaciones ajenas. El registro demuestra la ejecución de una operación permitida, no concede permisos por sí mismo.

Contact Monitoring obliga a distinguir autorización presente y deber pasado. Un usuario que ayer pudo consultar una etiqueta quizá ya no pueda hacerlo hoy, pero necesita ejecutar Monitor para comprobar que la versión observada no fue ocultada. El documento exige permitir ese seguimiento. Una revocación uniforme podría eliminar el único camino que descubre la manipulación.

La privacidad cambia con el testigo. Un auditor aprende volumen, orden y tiempo aproximado de los cambios, aunque no vea etiquetas y valores en claro. Un gestor suele conocer etiquetas, valores, historial y patrones de consultas. Una ruta anónima añade metadatos que deben protegerse. El intercambio entre pares evita un observador central, pero puede exponer relaciones. Elegir el testigo es elegir una superficie de información.

Por eso el contrato de un auditor necesita detalles concretos: observaciones permitidas, retención, correlación, contenido de la firma, distribución de la clave, máxima demora y procedimiento de reemplazo. «Independiente» no es una propiedad permanente si la operación diaria crea dependencia o colusión.

La migración no debe jubilar la evidencia

Los clientes deberían poder tratar con varios registros porque migrar rápidamente es una vía de recuperación ante un fallo. En una migración gradual, el registro anterior tiene que seguir disponible durante el tiempo necesario para que incluso usuarios poco conectados completen sus tareas. Cerrarlo antes vuelve indetectables para ellos ciertas conductas antiguas.

Una migración inmediata exige distribuir de forma confiable el tamaño final y la raíz del registro anterior. Todos necesitan el mismo punto de cierre. En un sistema federado, además, debe existir una política común para decidir qué registro corresponde a una identidad; de lo contrario, la selección del registro se convierte en otra fuente de división.

La poda también requiere precisión. Los datos serializados de usuario pueden expirar o volverse inaccesibles, mientras que nodos criptográficos vinculados todavía son necesarios para demostrar el estado que permanece. La eliminación por privacidad y la continuidad probatoria no son decisiones idénticas, aunque deban coordinarse.

La evidencia de una rama no decide el trato final

Una vez comparadas dos vistas incompatibles, el usuario puede conservar prueba no repudiable del mal comportamiento. El protocolo no puede decidir por todos qué hacer después. La aplicación podría advertir, congelar un cambio de clave, detener un mensaje, pedir verificación fuera de banda, aislar un dispositivo o mantener funciones limitadas durante una investigación.

Estas opciones tienen costes distintos en seguridad y disponibilidad. El mecanismo común debe hacer portable el conflicto. La autoridad sobre la consecuencia debe permanecer cerca de quien conoce el contexto y soporta el daño, con una decisión explícita y reversible.

Una revisión útil no termina en una demostración criptográfica. Debe comprobar que los canales independientes se ejecutan de verdad, que el estado sobrevive al recorrido normal de recuperación, que la migración conserva el punto final del registro antiguo y que el equipo sabe quién puede interrumpir una conversación. La transparencia aparece cuando las vistas tienen dónde encontrarse.

Fuentes