¿Puede mi aplicación web implementar el inicio de sesión de usuario y permanecer sin estado?

Tenemos una aplicación web que no tiene estado. Estamos utilizando autenticación http sobre SSL / TLS. Presumiblemente, los navegadores del usuario almacenan credenciales de autenticación (posiblemente incluso después de que se apaga un navegador si configuran sus navegadores de esa manera). Los validamos en cada acceso.

Por razones que tienen que ver principalmente con la usabilidad, nos gustaría dejar de usar la autenticación http. ¿Hay alguna forma razonable de implementar el inicio de sesión de usuario y

Permanecer apátrida.No requiere que los usuarios vuelvan a escribir las credenciales en cada acceso.Sea al menos tan seguro como la autenticación http sobre SSL / TLS.

Por ejemplo, estamos dispuestos a usar cookies y podríamos almacenar el nombre de usuario y la contraseña como una cookie. Sin embargo, esto parece menos seguro. ¿Pero es? Si utilizamos una cookie no persistente, ¿es menos segura que cualquier método que utilice un navegador para almacenar credenciales durante la sesión o más?

Podríamos almacenar el nombre de usuario y un hash de la contraseña como se sugiere aquí:¿Qué debo almacenar en las cookies para implementar "Recordarme" durante el inicio de sesión del usuario? pero eso es mejor?

Podríamos almacenar un token aleatorio como una cookie, pero luego tenemos que mantener una tabla de búsqueda (sesión) en el servidor y convertirnos en estado.

Podríamos almacenar una versión encriptada de las credenciales como una cookie y luego descifrar y validar en cada acceso. Estaparece como si fuera un poco más seguro que la autenticación http y tampoco requiere estado. Sin embargo, no estoy seguro de querer la sobrecarga adicional de descifrado. ¿Y es realmente más seguro? Si alguien obtiene una copia de la cadena encriptada (o en hash, como se indicó anteriormente), ¿no les da el mismo acceso que si tuvieran la contraseña?

Agradecería sus pensamientos, pero comencemos con el supuesto de que la autenticación http sobre SSL / TLS es segurasuficiente para nuestros propósitos y queremos permanecer apátridas.

EDITAR

Después de un poco más de investigación, creo que esta pregunta de stackoverflow:Sesiones del lado del cliente declara el problema mucho mejor, y las respuestas también son mejor. Gracias a todos por su aporte.

Respuestas a la pregunta(3)

Su respuesta a la pregunta