Generación de tokens seguros

PAUT-0202 (Pauta)

Hacer uso de implementaciones existentes y probadas para la generación de números aleatorios para tokens seguros.

Los servidores Web actuales tratan con un gran número de usuarios. Normalmente se realiza un proceso de identificación sobre las cookies u otros identificadores de sesión para diferenciar entre todos ellos. Si estos identificadores de sesión usan una secuencia predecible, un atacante solo necesita generar un valor de la secuencia para presentar un token de sesión aparentemente válido. Esto puede ocurrir en gran número de sitios; a nivel de red para números de secuencia TCP, o bien a través de la capa de aplicación con las cookies usadas como tokens de autenticación.

La única manera de generar un token de autenticación seguro es asegurándose de que no hay manera de predecir su secuencia, en otras palabras: números realmente aleatorios.

Se puede discutir que los ordenadores no pueden generar números realmente aleatorios, pero utilizando nuevas técnicas tales como la lectura de los movimientos de ratón y pulsaciones de tecla para mejorar la entropía han incrementado significativamente la aleatoriedad de los generadores de números aleatorios.

Dado el carácter crítico, es recomendable que no intente implementar esto de forma manual y hacer el uso de implementaciones existentes y probadas.

Contenidos relacionados

Recursos