Un ID de sesión es una contraseña temporal que generalmente está vinculada a un nombre de usuario. Las sesiones anónimas también son herramientas útiles en algunos casos.
El almacenamiento del nombre de usuario en el cliente no tiene ningún propósito útil. Si el servidor confiaba en esta información, cualquiera podría obtener el control cambiando su cookie de nombre de usuario a 'admin' o root '. Por lo tanto, la identificación de la sesión identifica al usuario y demuestra el estado de autenticación, pero solo a través de una búsqueda indirecta almacenada en el servidor.
Además de las sesiones anónimas, también vale la pena señalar que los datos de la sesión pueden ser más que solo un nombre de usuario y un estado de autenticación; también pueden contener información de autorización (por ejemplo, roles) preferencias del usuario e información (dentro de los límites) transaccional. El almacenamiento de información de forma segura no se realiza fácilmente en un sustrato que no está protegido contra la manipulación indebida.
No entiendo cómo crees que esto hace que el secuestro / fijación de sesión sea más difícil; no ha explicado por qué y tiene algunas ideas erróneas acerca de cómo funcionan las sesiones.
Ciertamente, si los datos de las cookies son confiables, sería fácil asociar la verdadera identidad de un atacante con las solicitudes http, sin embargo, los datos NO son confiables.
Hay otras formas de asignar identidades a las solicitudes en el servidor web: la mayoría de las implementaciones de SSO permiten poblar la noción de los servidores web del usuario autenticado. La información se puede enviar desde la aplicación (por ejemplo, mod_auth_memcookie) o indirectamente a través de otros vectores como supercookies y huellas digitales del navegador.