Estoy diseñando una cookie para fines de autenticación. En caso de éxito, esto entrará en una aplicación.
Aquí están las cosas que he incluido en esta cookie:
- Es para web, por supuesto,
- Incluye algunos datos sobre el usuario autenticado, con fines de rendimiento (UserId es la menor cantidad de datos)
- Incluye una sal (datos adicionales) que solo conoce el servidor, para evitar ataques de falsificación de cookies
- El valor total de la cookie se cifra a través de AES
- Anexa un token de los datos del cliente con el fin de evitar el secuestro de cookies (la IP del cliente no se incluye debido a cada cambio de red, otro inicio de sesión sería obligatorio). De hecho, solo incluye el encabezado UserAgent
- Es HttpOnly, para evitar que los ataques XSS obtengan acceso a las cookies (pero aún son vulnerables a CSRF)
- Su vencimiento se establece en un mes, debido a una mejor UX (a las personas no les gusta iniciar sesión siempre después de cerrar el navegador)
Hemos hecho esto hasta aquí, y hemos probado y funciona bien. ¿Qué posibles ataques son posibles a través de este diseño y cómo podemos hacerlo más seguro?