Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Caducidad, revocación y rotación de claves

5 tareas · 45 min · Principiante

Un token firmado se valida solo, sin preguntar al emisor, y esa es su gracia y su problema: una vez emitido, nadie lo puede «apagar» desde fuera salvo que la validación lo permita. La caducidad, la lista de revocados y la rotación de las claves de firma son las tres piezas que acotan el daño de un token filtrado, y las tres suelen quedar a medio hacer. Aquí lees el emisor y el validador de la API de envíos de Mensajería Pico Verde tras un incidente de una cuenta restablecida, y compruebas cuál de las tres falló.

0 de 5 · 0%

Objetivo de la sala

Un token firmado se valida solo, sin preguntar al emisor, y esa es su gracia y su problema: una vez emitido, nadie lo puede «apagar» desde fuera salvo que la validación lo permita. La caducidad, la lista de revocados y la rotación de las claves de firma son las tres piezas que acotan el daño de un token filtrado, y las tres suelen quedar a medio hacer. Aquí lees el emisor y el validador de la API de envíos de Mensajería Pico Verde tras un incidente de una cuenta restablecida, y compruebas cuál de las tres falló.

Un JWT firmado es autocontenido: el validador comprueba firma y fecha y lo acepta, sin consultar a nadie. Eso lo hace rápido y escalable, pero tiene una consecuencia: si el token se roba, seguirá valiendo hasta su exp aunque el usuario cambie la contraseña. Hay tres respuestas combinadas. Una, vida corta de los tokens de acceso, con un token de refresco más protegido para pedir otros nuevos. Dos, una lista de revocados por jti (el identificador único del token) que el validador consulta, o por cuenta, para las cuentas comprometidas. Tres, rotar la clave de firma cuando el compromiso es de gran alcance, lo que invalida todo lo firmado con ella.

Ninguna es gratis: la lista de revocados devuelve al sistema una consulta que el token pretendía evitar, y por eso se reserva para lo que de verdad hay que cortar ya.

Responde para continuar

Una cuenta se restablece por sospecha de uso indebido, pero sus tokens de acceso aún no han caducado. ¿Qué hace falta para que dejen de valer ya?

Ver pista de ayuda

El token se valida sin preguntar al emisor; si ha de cortarse antes de su exp, el validador tiene que enterarse de otra forma.

La vida de un token de acceso es una decisión de riesgo: más corta, menos exposición y más peticiones de renovación; más larga, al revés. Una hora es un valor habitual para APIs internas; en las de datos sensibles se baja a minutos. Lo que no admite discusión es que la vida real coincida con la prevista: si el emisor se sale de lo declarado, la política es papel.

Calcula, con la tabla de tokens emitidos, cuántos minutos de vida tiene el token de acceso que se emitió al usuario usr-3308.

Responde para continuar

¿Cuántos minutos de vida tiene el token de acceso de usr-3308? Escribe solo el número.

Ver pista de ayuda

Resta iat a exp (en segundos) y pásalo a minutos. Elige la fila de tipo «acceso», no la de refresco.

La lista de revocados solo sirve si el validador la consulta. Esa es la comprobación que se olvida: se mantiene una lista en el emisor, se actualiza a conciencia, y el validador nunca la lee. El resultado se ve en el registro de validaciones: un identificador que estaba en la lista y, después de revocarse, aparece aceptado.

Contrasta la lista de revocados con las validaciones recientes y localiza el identificador que se aceptó a pesar de estar revocado. Los parámetros del validador explican por qué.

Responde para continuar

¿Qué `jti` estaba revocado y aun así fue aceptado? Escríbelo tal cual.

Ver pista de ayuda

Revisa cuál de los dos jti de la lista de revocados aparece con resultado ACEPTADO en las validaciones.

Rotar una clave de firma es cambiarla de forma periódica o tras un incidente: se da de alta la nueva, se firma solo con ella, y la vieja se mantiene un tiempo solo para verificar lo que ya se emitió. Cuando la vieja pasa a «retirada», no debería firmar ni un token más. Si lo hace, la rotación es de calendario pero no de efecto, y un token firmado con una clave retirada es una pista de que algo del emisor sigue apuntando a ella.

Cruza la tabla de claves de firma con la de tokens emitidos y localiza la clave retirada con la que se firmó un token después de la fecha de retiro.

Responde para continuar

¿Qué `kid` de una clave retirada aparece firmando tokens emitidos? Escríbelo tal cual.

Ver pista de ayuda

La clave retirada está en `claves_de_firma`; mira la columna kid de `tokens_emitidos`.

Los relojes de emisor y validador no marcan exactamente lo mismo, así que la RFC 7519 admite un pequeño margen al comparar exp y nbf, y habla de unos pocos minutos como mucho. Cualquier cifra bastante mayor deja de ser tolerancia y se convierte en una ampliación silenciosa de la vida del token: con un margen de un día, un token «de una hora» sigue aceptándose durante veinticinco.

Lee el parámetro del margen de reloj en la configuración del validador.

Responde para continuar

El validador tiene un margen de reloj de 86400 segundos. ¿Cómo se registra?

Ver pista de ayuda

Piensa en qué pasa con un token de una hora cuando el margen es de un día.

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