Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Fuentes de azar, de dónde sale lo impredecible

5 tareas · 40 min · Principiante

Toda la criptografía de la ruta da por hecho algo que casi nunca se mira: que las claves, los nonces y los tokens son impredecibles. Esa propiedad no la da el algoritmo, la da la fuente de azar de la que sale el valor. Esta sala empieza por ahí. Lees el inventario de los generadores de azar de la plataforma de Talanquera Entradas, una empresa de ejemplo que vende entradas a eventos, y separas dos cosas que se parecen y no lo son: el azar que sirve para repartir y el azar que sirve para proteger. No se ejecuta nada: se lee un inventario ya hecho.

0 de 5 · 0%

Objetivo de la sala

Toda la criptografía de la ruta da por hecho algo que casi nunca se mira: que las claves, los nonces y los tokens son impredecibles. Esa propiedad no la da el algoritmo, la da la fuente de azar de la que sale el valor. Esta sala empieza por ahí. Lees el inventario de los generadores de azar de la plataforma de Talanquera Entradas, una empresa de ejemplo que vende entradas a eventos, y separas dos cosas que se parecen y no lo son: el azar que sirve para repartir y el azar que sirve para proteger. No se ejecuta nada: se lee un inventario ya hecho.

Los lenguajes traen casi siempre dos clases de generadores. El de propósito general busca que sus números estén bien repartidos y sean rápidos; sirve para mezclar una lista, simular o elegir un color. Pero su siguiente salida se deduce de las anteriores: tiene un estado interno y, con suficientes salidas, ese estado se reconstruye. El criptográfico (CSPRNG, generador pseudoaleatorio criptográficamente seguro) está diseñado para que eso no pase: conociendo muchas de sus salidas no se puede deducir la siguiente.

La diferencia no es de velocidad ni de tamaño del número: es de qué se puede deducir de lo que ya salió. Todo lo que debe ser impredecible para otro (claves, nonces, tokens de sesión, sales) sale del segundo.

Responde para continuar

¿Qué distingue a un generador criptográfico de uno de propósito general?

Ver pista de ayuda

La diferencia es qué se puede deducir de las salidas ya vistas, no la velocidad ni el tamaño.

Un programa no inventa entropía: la pide. Los sistemas operativos recogen eventos imprevisibles (tiempos de interrupciones, de disco, de red, fuentes del hardware) y los mezclan en un generador del propio sistema, al que se accede con llamadas pensadas para eso: getrandom y /dev/urandom en Linux, BCryptGenRandom en Windows. Las librerías criptográficas de cada lenguaje (secrets en Python, SecureRandom en Java, random_bytes en PHP, el módulo crypto de Node.js) son envoltorios de esa fuente. La guía de gestión de sesiones de OWASP lo pide así: un generador criptográficamente seguro para los identificadores de sesión.

La regla práctica del revisor es corta: lo que protege algo se pide a la fuente del sistema o a la librería criptográfica, nunca se fabrica.

Responde para continuar

Hace falta un valor impredecible para una clave. ¿De dónde se obtiene?

Ver pista de ayuda

El valor no se fabrica ni se copia: se pide a la fuente que el sistema mantiene para eso.

Abre el inventario del laboratorio. Cada fila es un servicio de la plataforma, con el uso que hace del azar y la llamada que emplea. Para revisarlo no basta con mirar qué generador es: hay que preguntar para qué se usa el valor. Un generador de propósito general en un uso que no protege nada es una decisión razonable; en un uso que identifica a una persona es un hallazgo.

Responde para continuar

Escribe el nombre del servicio cuyo valor identifica una sesión y sale de un generador de propósito general.

Formato esperado: ________-___

Ver pista de ayuda

Quédate con las filas cuyo uso es de seguridad y mira cuál llama a un generador que no es criptográfico.

El otro lado del inventario también cuenta: un informe de revisión debe decir qué está bien, para que no se pierda entre los fallos. Cuenta las filas cuyo valor protege algo y sale de una fuente criptográfica.

Responde para continuar

¿Cuántos servicios de la tabla usan una fuente criptográfica para un valor que protege algo?

Ver pista de ayuda

Descarta las filas con generador de propósito general y cuenta las que quedan con una fuente criptográfica.

El inventario tiene también un servicio que elige qué banner de portada se muestra, y otros dos que esperan un tiempo aleatorio entre reintentos o reparten el orden de una cola de espera. Marcar todo uso de un generador de propósito general como fallo es tan mal informe como no ver el fallo real: el hallazgo existe cuando una propiedad de seguridad depende de que el valor sea impredecible.

Responde para continuar

El servicio rotador-banners usa un generador de propósito general para elegir el banner de portada. ¿Cómo lo registras?

Ver pista de ayuda

Pregunta qué se pierde si alguien adivina el valor. Aquí, nada.

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