El ID de sesión SSL es transitorio; Designa los "parámetros de sesión SSL" que el cliente recuerda acerca de un protocolo de enlace SSL anterior, en particular el valor secreto simétrico negociado obtenido de la criptografía asimétrica de ese protocolo de enlace. Se mantiene en RAM solamente; si el usuario se reinicia, o incluso simplemente cierra todas las ventanas de su navegador, entonces se olvida de la ID de sesión. Si utiliza la ID de sesión SSL como parte del mecanismo de autenticación, los usuarios que cierren y vuelvan a abrir su navegador tendrán que autenticarse nuevamente con su contraseña.
Si eso es lo que quieres, entonces, por todos los medios, usa el ID de sesión SSL. Sé de bancos que hacen eso por su administración de cuentas bancarias basadas en la Web.
Tenga en cuenta que si el servidor se reinicia, el ID de sesión SSL también quedará obsoleto: incluso si se almacena en la base de datos, el servidor reiniciado ha olvidado la clave de la sesión real (el servidor también lo almacena solo en la RAM), y por lo tanto negociará una nueva sesión con un apretón de manos completo en la próxima conexión del cliente. Además, la memoria del servidor de las sesiones anteriores es configurable pero a menudo está limitada en el tiempo (con Apache, consulte la documentación , directivas SSLSessionCache
y SSLSessionCacheTimeout
). También tenga cuidado de que la memoria del cliente se base en el proceso : en una PC, cerrar todas las ventanas tiende a terminar el proceso del navegador; en los teléfonos inteligentes y las tabletas, a quienes les gusta mantener las cosas funcionando durante un tiempo excesivo, realmente matar el proceso es un proceso más complicado (por lo general, el navegador se "cierra" solo cuando el usuario se queda sin batería).
Por otro lado, para los sitios menos críticos (en el punto de vista del usuario), los usuarios tienden a preferirlo cuando se autentican una vez , y son "recordados" incluso entre reinicios o incluso navegadores. cerrar. Para que funcione una característica así, no hay que evitarla: debe haber algún secreto específico del usuario almacenado en el lado del cliente. Las cookies no son peores que cualquier otro mecanismo para eso, y son casi el único que está disponible y es compatible con todos los navegadores.
Resumen: use el ID de sesión SSL si desea sesiones muy transitorias, que desaparecen automáticamente cuando se cierra el navegador (el proceso del navegador, no solo la ventana correspondiente) . Utilice cookies para la autenticación de mayor duración. No son intercambiables; no operan en la misma escala de tiempo.