2011-03-09 27 views
16

He visto personas que usan UUID para la generación de tokens de autenticación. Sin embargo, en RFC 4122 se indica queMejores prácticas para SessionId/Autenticación Token generation

No asuma que los UUID son difíciles de adivinar; no deben utilizarse como capacidades de seguridad (identificadores cuya mera posesión concede acceso ), por ejemplo.

Me preguntaba qué algoritmos se utilizan, por ejemplo, en Java y .NET para la generación SessionId/AuthenticationToken. ¿El UUID no es adecuado para estos fines en una aplicación que tiene necesidades de seguridad superiores a la media?

Respuesta

5

UUID generación es aleatorio, pero al azar con mala entropía significa que terminará con fácil de adivinar UUID s. Si usa un buen generador de números aleatorios, puede generar UUID s que se pueden usar para las sesiones. El inconveniente de esto, sin embargo, es que UUID s no tienen prevención, alteración, fijación, etc. integrados en el juego, usted debe manejar eso por su cuenta (léase: un UUID en sí mismo no debe considerarse). una ID de sesión válida por sí mismo). Dicho esto, aquí hay un buen fragmento de cómo se genere un seguro UUID usando python:

Unique session id in python