Resumen

  • RFC 9770 permite a clientes y servidores de recursos de ACE consultar u observar una Token Revocation List; el estándar reconoce que puede existir acceso indebido antes de que el servidor de recursos conozca la revocación.
  • Una auditoría debe seguir la decisión del AS, el hash incorporado a la TRL, el canal de actualización, la recepción, la expulsión del token y la decisión de una solicitud posterior como hechos distintos.

En un diagrama sencillo, la revocación parece viajar a la velocidad de una flecha. En un sistema de dispositivos restringidos, viaja a la velocidad de una política de consulta, de una radio disponible, de una notificación que no se perdió y de una memoria local que efectivamente cambió. Llamar «revocado» al conjunto entero puede ser conveniente para una consola; no es suficiente para explicar qué podía hacer un dispositivo en un instante determinado.

RFC 9770 fue publicada en 2025 como trabajo colectivo de Marco Tiloca, Francesca Palombini, Samuel Echeverria y Grace Lewis. Define cómo el servidor de autorización de ACE ofrece una TRL a dispositivos registrados. Un cliente o un servidor de recursos puede pedir una colección completa de hashes de tokens pertinentes, una diferencia desde cierto punto o suscribirse con CoAP Observe. El hash identifica al token dentro de este mecanismo; no certifica al usuario, el motivo de revocación ni el resultado de una operación protegida.

Esa última reserva importa porque el texto deja fuera de alcance dos decisiones previas: cómo se declara revocado un token y cómo el AS se entera de que debe hacerlo. El registro de una TRL sirve para distribuir el estado que el AS mantiene. No permite reconstruir por sí solo una política, una investigación de compromiso o la legitimidad de una orden administrativa. Convertirlo en esa prueba añadiría autoridad después del hecho.

La suscripción tampoco equivale a conocimiento. Al actualizar la lista, el AS manda notificaciones Observe a los observadores cuya porción pertinente cambió. RFC 9770 advierte que un atacante en la red puede suprimirlas e impedir que el solicitante conozca la revocación. Por eso recomienda no depender solamente de Observe y hacer consultas regulares conforme a una política de aplicación y a los patrones de disponibilidad. Un dispositivo que ahorra batería decide cuándo vuelve a preguntar; el RFC no puede decidirlo por él.

También hay que resistir la lectura de una ausencia. Si la consulta no obtiene respuesta o devuelve un error, el solicitante no debe asumir nada sobre revocación o expiración. Las colecciones de diferencias tienen un máximo y pueden desechar la actualización más antigua. Una consulta completa reduce esa laguna, pero una TRL grande puede superar lo que un dispositivo puede procesar. La señal útil no es «la sincronización está verde», sino qué consulta completa se recibió, cuándo y para qué servidor.

Al recibir una respuesta pertinente, el deber es concreto: el dispositivo registrado debe expulsar todo token almacenado cuyo hash aparezca allí. Un servidor de recursos debe seguir guardando el hash después de borrar el token. Es una transición local definida, y se debe registrar como tal. No demuestra que el mensaje anterior alcanzara a otros dispositivos ni que una solicitud posterior fuera rechazada por una regla correcta.

La propia RFC expone el riesgo que una etiqueta central oculta. Un cliente puede intentar acceder después de la revocación y antes de que el RS la conozca. Si todavía conserva el token, el acceso puede funcionar aunque no debería; el estándar lo llama violación de seguridad. La prueba de retirada se completa en el servidor que aplica la protección, no donde se emitió la primera noticia.

La doctrina de Heng Lu aporta una cautela útil: un protocolo compartido debe ser lo bastante pequeño para coordinar sin inventar control sobre todos los participantes. La TRL comparte información. La conectividad, la política de sondeo, la mutación de la caché y la resolución de cada solicitud pertenecen al código que está corriendo. Conviene medirlos donde ocurren.

Fuentes