Al implementar un servidor HTTP Digest, existe el problema de los nonces.
Nonces de servidor (a diferencia de nonce de cliente)
- debe ser emitido por el servidor
- los clientes pueden reutilizarlos siempre que el servidor lo permita
- no sabe nada sobre lo que el usuario utilizará más tarde
Una implementación ingenua es recordar todos los errores que se emiten en la memoria, pero esto introduce un estado: un cliente necesita hablar con el mismo servidor o los servidores deben compartir la lista de archivos no válidos, lo que se convierte en un problema de escalabilidad. / p>
Mi pregunta es: ¿Es posible proporcionar fuentes seguras y sin estado ? Creo que sí, y me gustaría que esté (in) validado:
Convierta el nonce en un mensaje firmado criptográficamente desde el servidor :
- una marca de tiempo de caducidad (por ejemplo, 86400 segundos en el futuro)
- un número aleatorio (¿quizás?)
- una firma criptográfica (sha o hmac quizás?)
Todo esto podría agruparse en el nonce que se proporciona en el encabezado 401 Www-Authenticate. Cuando cualquier servidor ve esto, puede verificar la integridad del mensaje (recalculando la firma). Luego se puede verificar la marca de tiempo, y si es así, entonces el nonce es bueno.
- ¿Esta técnica se describe en otra parte?
- ¿Esta forma de proporcionar nonces derrota el propósito de los nonces?
- ¿Hay alguna otra forma de proporcionar autenticación HTTP Digest sin estado?