Feed de Edgaragg

Artículos relacionados

Facebook Share

Share on facebook

Designed by:
SiteGround web hosting Joomla Templates
Buenas prácticas en el manejo de sesiones en aplicaciones web
Buenas prácticas en el manejo de sesiones en aplicaciones web - El ID de Sesión PDF Imprimir E-mail
Escrito por edgaragg   
Lunes, 08 de Septiembre de 2008 14:48
Indice del artículo
Buenas prácticas en el manejo de sesiones en aplicaciones web
Manteniendo el estado
ID de sesión en el URL
Uso de campos ocultos en un formulario
Cookies
El ID de Sesión
Robo de sesión
Fallas comunes
Buen manejo de sesión
Conclusiones
Todas las páginas

El ID de Sesión

Un aspecto importante en el manejo del estado en una aplicación web es la "fuerza" del ID de sesión.  Como este identificador es usado para hacer un seguimiento al usuario a través de la aplicación web, los desarrolladores deben asegurarse que dicho ID debe cumplir con ciertos criterios para que estos no sean comprometidos usando técnicas predictivas o ataques de fuerza bruta.  La dos características más importantes de un ID de sesión son la aleatorieddad y la longitud.

Aleatoriedad del ID de sesión:

Es importante que el ID de sesión sea generado de una forma que no pueda ser predecida, así que la aplicación debe utilizar un método lo suficientemente fuerte para generar identificadores aleatorios.  Es vital que un algoritmo criptográfico fuerte sea usado para generar un ID de sesión para un usuario autenticado.  No es aconsejable usar algoritmos lineales que usen variables fáciles de predecir como la fecha, hora o dirección IP del cliente.

En otras palabras, el ID de sesión debe cumplir con los siguientes criterios:

  • Debe parecer aleatorio.  Debe pasar pruebas de aleatoriedad.
  • Debe ser impredecible.  Tiene que resultar prácticamente imposible adivinar el siguiente ID a generar, y dado el algoritmo y la información del hardware del cliente no se pueda generar el ID actual y los anteriores.
  • No debe ser reproducible bajo las mismas circustancias.  Si el mismo generador es usado dos veces usando exáctamente la misma entrada, los identificadores generados deben ser distintos y no relacionados.

Longitud del ID de sesión:

Es importante que el ID de sesión sea lo suficientemente largo para hacer prácticamente infactible el uso de un ataque de fuerza bruta para generar un ID de sesión válido en un tiempo razonable.  Dado la capacidad de procesamiento y el ancho de banda actual, un ID de sesión de 50 caracteres es recomendable, pero si es posible generarlos con una longitud mayor es mucho mejor.

La longitud del ID de sesión depende de ciertos factores:

  • Velocidad de conexión. Un ID de sesión muy largo requiere un tiempo adicional para poder ser enviado hacia y desde el cliente.
  • Complejidad del ID.  Usar ID de sesión numéricos no es lo mismo que usar ID alfa-numérico para un ID de la misma longitud.  Al tener más combinaciones usando un ID alfa-numérico, este es mucho más dificil de predecir.



Actualizado ( Martes, 23 de Septiembre de 2008 14:38 )