Acabo de terminar el capítulo sobre autenticación de resumen en HTTP: la Guía definitiva , no estoy muy seguro. lo que el servidor almacena como secreto del cliente † en su base de datos:
- la contraseña de texto sin formato del cliente o
- un hash MD5 de la contraseña del cliente concatenada con el nombre de usuario y el reino
En la página 287 del libro, se lee
El cliente y el servidor conocen la contraseña secreta
También esta respuesta indica que
[la autenticación de digestión] hace que sea necesario almacenar las contraseñas en el servidor de forma simple o de forma equivalente
Esta respuesta también indica que el servidor almacena la contraseña en texto sin formato:
el servidor busca la contraseña esperada para el usuario desde su base de datos de usuario
Sin embargo, RFC 2617 contradice esto (énfasis mío):
Normalmente [lo que almacena el servidor] puede contener pares que constan de nombre de usuario y H (A1), donde H (A1) es el valor digerido del nombre de usuario, el dominio y la contraseña como se describió anteriormente.
Mi pregunta es: en el contexto de la autenticación de resumen, ¿el servidor almacena la contraseña de texto sin formato del cliente o almacena un hash de la contraseña de texto sin formato (combinada con el nombre de usuario y el dominio)?
Nota: esta es una pregunta teórica, no pretendo usar la autenticación implícita en HTTP no cifrado y sé que MD5 es propenso a ataques de diccionario.
† Con "secreto" me refiero a la cadena que el cliente combina con un nonce recibido del servidor y luego los hashes para enviarlo al servidor para su autenticación.