Generación del desafío implícito
El desafío de Microsoft Digest lo genera la llamada inicial del servidor a la función AcceptSecurityContext (Digest). Esta llamada de función genera un nonce, que es un valor único que contiene información que se puede usar para detectar infracciones de seguridad. Esta llamada también genera un contexto de seguridad parcial que se usa para mantener la información de estado. Al llamar a AcceptSecurityContext (Digest) se especifican marcas de requisitos de contexto para controlar el comportamiento de Microsoft Digest y para establecer la calidad de protección. Para obtener más información, consulte Requisitos del contexto de desafío de Digest.
La salida de la llamada inicial a la función AcceptSecurityContext (Digest) es un búfer de seguridad que contiene un token que se envía al cliente con una respuesta HTTP 401 (Acceso denegado).
Nota:
Las llamadas a AcceptSecurityContext (Digest) que no contienen información en los búferes de entrada devuelven un desafío de Digest.
Requisitos de contexto de desafío de Digest
Los requisitos de contexto son marcas que determinan:
- Si Microsoft Digest funciona como un mecanismo SASL o un protocolo de autenticación HTTP.
- La calidad de la protección compatible con el contexto de seguridad compartido por el cliente y el servidor.
De forma predeterminada, Microsoft Digest funciona como un mecanismo SASL. Para usarla para la autenticación HTTP, el servidor debe establecer la marca ASC_REQ_HTTP ( 0x10000000).
Los requisitos de contexto se especifican como marcas que se pasan al parámetro fContextReq de la función AcceptSecurityContext (Digest). Las marcas afectan a la calidad de protección del contexto de seguridad mediante el control de la directiva qop en el desafío.
De forma predeterminada, la directiva qop se establece en "auth". Para generar un desafío que establezca la directiva qop en "auth-int", el servidor debe especificar una o varias de las marcas siguientes:
- ASC_REQ_INTEGRITY
- ASC_REQ_REPLAY_DETECT
- ASC_REQ_SEQUENCE_DETECT
Solo para SASL: generar un desafío con la directiva qop establecida en "auth-conf" especificando la marca de requisito de contexto ASC_REQ_CONFIDENTIALITY. Dado que esta marca no es válida para la autenticación HTTP, no se puede usar con la marca ASC_REQ_HTTP.
Para obtener más información sobre la directiva qop, consulte Calidad de protección y cifrado.
Para obtener más información sobre los desafíos, consulte Contenido de un desafío de Digest.