2012-08-07 20 views
8

No estoy seguro de si debería publicar esto en security o/stackoverflow porque me preocupan la seguridad y el rendimiento.Corrección de administración de cookies

Estoy tratando de encontrar una fuente confiable para la administración de cookies. Leí aunque OWASP, así que sé más o menos lo que puede ser peligroso.

Pero necesito autenticar a mis usuarios con cookies. ¿Hay una guía completa paso a paso?

Lo que hice:

  • generar una cadena aleatoria y única.

  • asociado de la cadena aleatoria con un usuario en mi rndstring caché -> usuario

  • crear una cookie segura y firmado. value = hash (rndstring + secret) | rndstring

  • si el usuario regresa, compruebo si los valores hash coinciden, y si la cadena de caracteres está en mi caché.

  • if yes obtener el usuario.

Creo que mi enfoque es defectuoso porque lo hice por mi cuenta.

Otro problema sería que protejo el objeto del usuario de la base de datos en mi caché. Si el usuario actualiza su perfil, también debería actualizar la caché.

Estoy usando java con el framework play2 + mongoDB.

¿Qué recursos me pueden recomendar?

+2

+1 por "Creo que mi enfoque es defectuoso porque lo hice solo". –

Respuesta

2

Creo que esta es una pregunta para Security StackExchange y observo que ha hecho preguntas similares allí, recientemente con un excellent answer from DW. Hay mucha gente en el foro security.stackexchange.com que criticará su metodología.

Personalmente, no recomendaría desarrollar su propia gestión de sesión, de hecho, desaconsejaría. Muchas personas han revisado la administración de sesiones de "marco de juego", mientras que la suya no tiene y puede tener fácilmente vulnerabilidades que simplemente ha omitido. Utilizaría la gestión de sesión integrada provista por su marco de programación elegido. ¿Has leído la obra documentation?

En términos de recursos, debes consultar los Principios de Desarrollo Seguro de David Rook - here y here.

Si cambia de opinión con las cookies, puede consultar web keys,, que es un método para insertar un token inaplicable en una URL.

Al leer Owasp, ¿leyó la última Session Management cheatsheet? Creo que muchas de tus preguntas son respondidas allí.

Un recurso final es el SANS Top 25 Software Errors.

+0

gracias algunos de los enlaces son nuevos para mí. Solo estoy haciendo esto porque estoy usando Play 2 y no hay documentación sobre este tema, bueno hay un ejemplo pero no tiene demasiado sentido para mí. También debería decir que también uso las cookies integradas. Solo con mi propia autenticación. También hice una pregunta sobre la autorización de reproducción2 aquí http://stackoverflow.com/questions/11820273/java-play-2-authentication-does-not-make-sense ¡Pero el slideshow/pdf me parece prometedor! –

+0

Bueno, gracias, trato de usar las funciones que play2 ofrece tanto como puedo. –

1

Yo recomendaría que también genere una nueva cadena única y actualice el valor de su cookie cada vez que compruebe los valores hash y coincidan. Esto mejorará la seguridad de su sistema. Dado que la probabilidad de piratería se reduce en caso de robo de cookies.

Cuestiones relacionadas