UUID y Open_id en la cookie 'bien' es suficiente?

2

Estoy usando Tomcat 7, jsp para crear un sitio web pequeño. Soy nuevo en seguridad y es un proyecto escolar, por lo que usar Spring Security no es una opción. Estoy intentando almacenar UUID y Open_id en las cookies de los clientes para la función "Recordarme, inicio de sesión de usuario". Luego solo revise estos dos identificadores en la base de datos, para ver si existen. ¿Es esto suficientemente seguro para un sitio web pequeño si https no es una opción también? Cualquier punteros?

    
pregunta wtsang02 21.03.2013 - 03:27
fuente

1 respuesta

2

Dado que la cookie no está encriptada, el sistema es más susceptible al ataque Man-in-the-middle (MITM). La cookie puede interceptarse en la red y luego utilizarse para iniciar sesión como usuario. Poner UUID y OpenID en una cookie sin firmar (a través de HMAC-SHA1 con sal) es malo. En realidad, OpenID puede y debe almacenarse en la base de datos, mientras que la cookie firmada solo contendrá "id de usuario", ya sea UUID o entero monotónicamente incrementado, que es simplemente una referencia al registro de la base de datos en la tabla users . Así se hace en el "mundo real": la forma de "inicio de sesión" configura dicha cookie, la forma de "cierre de sesión" la elimina (asegúrese de que ambas funcionan solo en HTTP POST y no se olviden de la protección CSRF).

Aunque el atacante podrá interceptar dicha cookie firmada a través del ataque MITM, no podrá cambiarla. Es decir, podrá detectar dicha manipulación y podrá negarse a aceptar dicha cookie.

El uso de HTTPS mitigará el ataque MITM, por lo tanto, utiliza la firma de cookies HTTPS +.

    
respondido por el neo 22.03.2013 - 11:21
fuente

Lea otras preguntas en las etiquetas