Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Firmas y algoritmos permitidos

5 tareas · 40 min · Principiante

La cabecera de un token declara con qué algoritmo se firmó, y de ahí sale la decisión de diseño más importante de toda la validación: qué algoritmos acepta cada servicio. Hay dos familias que se confunden. Una usa un solo secreto que firma y verifica, y otra usa un par de claves en el que solo el emisor puede firmar. En Mensajería Pico Verde conviven las dos, y un inventario del área de TI dice qué acepta cada servicio y quién guarda qué. Tu trabajo es leerlo y decir dónde la lista de algoritmos permitidos está mal.

0 de 5 · 0%

Objetivo de la sala

La cabecera de un token declara con qué algoritmo se firmó, y de ahí sale la decisión de diseño más importante de toda la validación: qué algoritmos acepta cada servicio. Hay dos familias que se confunden. Una usa un solo secreto que firma y verifica, y otra usa un par de claves en el que solo el emisor puede firmar. En Mensajería Pico Verde conviven las dos, y un inventario del área de TI dice qué acepta cada servicio y quién guarda qué. Tu trabajo es leerlo y decir dónde la lista de algoritmos permitidos está mal.

Las firmas de la familia HMAC (HS256 y compañía) usan una sola clave: la misma firma y verifica. Quien pueda verificar un token también puede fabricar uno que otro servicio dará por bueno, porque no hay forma de distinguir los dos usos con ese secreto. Las firmas de par de claves (RS256, ES256) separan los dos papeles: la clave privada firma y se queda en el emisor; la pública verifica y se puede repartir sin riesgo.

Por eso HS256 resulta cómodo entre dos sistemas que se fían mutuamente y se vuelve problemático cuando el secreto se reparte. El portal de conductores de Pico Verde usa HS256: mira en el inventario de servicios cuántos sitios guardan ese secreto y piensa qué puede hacer cada uno.

Responde para continuar

El secreto HS256 del portal de conductores está en varios servicios y apps. ¿Qué implica?

Ver pista de ayuda

Con un secreto compartido, verificar y firmar son lo mismo. Piensa en quién puede fabricar un token válido.

La especificación de los JWT permite un token sin firma, cuyo algoritmo declarado es none. Existe para usos muy particulares en los que otra capa ya garantiza la integridad. Una API que valida credenciales de acceso no es uno de ellos. La guía de buenas prácticas para JWT (RFC 8725) pide que las bibliotecas no acepten none salvo que quien las usa lo pida explícitamente, y en una API de usuarios casi nunca hay motivo para pedirlo.

Que un servicio lo acepte no significa que alguien lo haya explotado; significa que el servicio no exige firma a un token que dice no tenerla. Busca en el inventario cuál lo tiene en su lista de algoritmos aceptados.

Responde para continuar

¿Qué servicio tiene `none` entre los algoritmos que acepta? Escríbelo tal cual.

Ver pista de ayuda

Es la columna «algoritmos_que_acepta» de la tabla de servicios.

Aceptar dos algoritmos de familias distintas en un mismo punto de verificación suele ser un parche de migración que se quedó: se añadió uno nuevo sin quitar el viejo. Cada algoritmo aceptado es una puerta que hay que vigilar, y dos familias significan que se necesitan dos tipos de clave, con riesgos que no se parecen. El principio de la RFC 8725 es permitir solo algoritmos vigentes que cumplan lo que la aplicación necesita, con una lista fija decidida por quien verifica, no por el token.

Revisa de nuevo el inventario y busca el servicio que verifica con un algoritmo de par de claves y también con uno de secreto compartido.

Responde para continuar

¿Qué servicio acepta a la vez un algoritmo de par de claves y uno de secreto compartido? Escríbelo tal cual.

Ver pista de ayuda

Busca la fila cuya lista de algoritmos aceptados mezcla RS256 con HS256.

El riesgo de un secreto compartido crece con cada lugar donde se copia: cada equipo que lo guarda es otro portátil, otra copia de seguridad, otro repositorio de configuración donde puede acabar. Antes de proponer una migración conviene cuantificar el problema, y la tabla de custodia dice qué servicios lo guardan y quién lo administra.

Cuenta los servicios de la tabla de custodia que guardan el secreto compartido.

Responde para continuar

¿Cuántos servicios guardan el secreto HS256 compartido? Escribe solo el número.

Ver pista de ayuda

Cuenta las filas de la tabla de custodia en las que la columna del secreto dice «si».

El arreglo no es endurecer el parámetro de un solo servicio sino cambiar el criterio. Cada verificador declara de antemano la lista corta de algoritmos que acepta, la que le corresponde por el tipo de clave que tiene, y rechaza cualquier token que declare otro. Los servicios que solo verifican deben tener solo claves públicas; el secreto compartido se migra a un par de claves cuando haya más de dos partes implicadas, y entretanto se retira de quien no lo necesita.

Responde para continuar

Para los servicios que verifican tokens del emisor central, ¿cuál es el arreglo de fondo?

Ver pista de ayuda

El que decide los algoritmos aceptados es el verificador, y cada servicio debería tener la lista más corta posible.

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