Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Claves, rotación y conjuntos de claves publicadas

5 tareas · 40 min · Principiante

Un token es tan confiable como la clave que lo firmó y como la forma en que el servicio encuentra esa clave. Boletas Mavecure publica sus claves públicas en un conjunto, las rota dos veces al año y, hace una semana, declaró comprometida una de ellas. Te entregan el conjunto publicado, la bitácora de claves, el código con el que organizadores-api elige la clave y el registro de sus descargas. Ninguna copia incluye llaves privadas.

0 de 5 · 0%

Objetivo de la sala

Un token es tan confiable como la clave que lo firmó y como la forma en que el servicio encuentra esa clave. Boletas Mavecure publica sus claves públicas en un conjunto, las rota dos veces al año y, hace una semana, declaró comprometida una de ellas. Te entregan el conjunto publicado, la bitácora de claves, el código con el que organizadores-api elige la clave y el registro de sus descargas. Ninguna copia incluye llaves privadas.

Cuando el emisor firma con una llave privada, los servicios verifican con la pública correspondiente. Para poder cambiar de clave sin cortar el servicio, el emisor publica un conjunto de claves públicas (JWKS, formato del RFC 7517) y pone en el encabezado de cada token un identificador, kid, que dice con cuál lo firmó. El validador busca ese identificador en el conjunto que descargó de una dirección fija de su configuración.

Rotar bien es un orden: publicar la clave nueva antes de usarla, para que todos los servicios la tengan en su caché; empezar a firmar con ella; y retirar la vieja del conjunto cuando haya vencido el último token que firmó. Si una clave se compromete no se espera a nada: se retira de inmediato y se acepta que los tokens que firmó dejen de servir.

Responde para continuar

¿Para qué sirve el kid del encabezado de un token de Mavecure?

Ver pista de ayuda

El conjunto se descarga de un sitio fijo; el identificador solo elige dentro de él.

Una clave declarada comprometida que sigue publicada sigue verificando: cualquiera que tenga la copia de su llave privada puede firmar tokens que todos los servicios aceptarán como legítimos, con el sujeto y el rol que quiera. El acta del incidente no cambia nada mientras la acción no se ejecute.

Abre el laboratorio y cruza bitacora-de-claves.txt con jwks-publicado.json.

Responde para continuar

¿Qué identificador de clave sigue en el conjunto publicado aunque la bitácora lo declaró comprometido? Escríbelo tal como aparece.

Las especificaciones de JWS prevén cabeceras que señalan una dirección donde estarían las claves o los certificados. Si el validador las obedece, el que decide qué clave verifica el token es quien escribió el token: basta con publicar un conjunto propio y apuntar a él. Las buenas prácticas de la IETF (RFC 8725) piden restringir esas direcciones a una lista conocida, y además una dirección elegida por el token convierte al servicio en alguien que hace peticiones a donde le digan.

Lee validador-organizadores.py.

Responde para continuar

¿Qué cabecera del token decide de qué dirección descarga las claves organizadores-api? Escribe su nombre tal como aparece en el código.

El registro de descargas muestra cuándo y desde dónde obtuvo claves organizadores-api, y qué validaciones se hicieron con ellas. Una descarga desde un dominio que no es el del emisor, seguida de validaciones aceptadas con un kid que el emisor nunca publicó, es la consecuencia directa del código que acabas de leer.

Revisa registro-claves.txt y su nota.

Responde para continuar

¿De qué dominio descargó organizadores-api un conjunto de claves que no es del emisor? Escribe solo el nombre del dominio.

El equipo va a ejecutar por fin la acción del incidente. Ten en cuenta la vida máxima de un token de Mavecure (bitácora), la caché del conjunto en organizadores-api (código) y que mav-2025-07 no firma nada legítimo desde abril.

Responde para continuar

¿Qué plan cierra de verdad la clave comprometida en todos los servicios?

Ver pista de ayuda

Desde abril no queda ningún token legítimo firmado con esa clave; en cambio, la caché puede durar una semana.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad