Según enlace :
Cuando un usuario se autentica en un sitio, el sitio debe generar un valor pseudoaleatorio (criptográficamente sólido) y configurarlo como una cookie en la máquina del usuario separada de la ID de sesión .
(énfasis mío)
¿Por qué el token CSRF debe almacenarse en una cookie separada si el ID de sesión es:
- un valor aleatorio (un valor que el atacante no puede adivinar)
- almacenado en una cookie (un valor que el atacante no puede leer)
- generado por el servidor (un valor que el atacante no puede escribir)
¿Por qué no usar simplemente el identificador de sesión como el token CSRF? Aún debe enviar el valor dos veces (una vez en la cookie, una vez en el formulario) y comparar los valores, pero no use una cookie separada para el token CSRF.