Compartir a través de


Generación de la respuesta de desafío implícito

Después de recibir un desafío del servidor, el cliente crea la respuesta de desafío implícita llamando a la función InitializeSecurityContext (Digest). Esta función genera una huella digital hash MD5 mediante el uso de información sobre el recurso solicitado y los datos del desafío y genera un token de seguridad que representa un contexto de seguridad parcial. Para completar la autenticación, el cliente debe devolver el token al servidor que emitió el desafío.

En la tabla siguiente se describen los parámetros de la función InitializeSecurityContext (Digest) y los valores que se deben proporcionar al construir una respuesta de desafío implícita.

Parámetro Descripción
fContextReq
Atributos de contexto de seguridad solicitados por el cliente. Para obtener más información, consulte Requisitos del contexto de respuesta a desafío de Digest.
pszTargetName
HTTP: cadena terminada en NULL que especifica la dirección URL de destino.
SASL: cadena terminada en NULL que especifica del destino de DNS/SPN.
pInput
Búferes que contienen información necesaria para el SSP de Digest. Para obtener más información, consulte Búferes de entrada para la respuesta al desafío de Digest.
pfContextAttr
Recibe los atributos admitidos por el contexto de seguridad devuelto. Para obtener más información, consulte Requisitos del contexto de respuesta a desafío de Digest.
pOutput
Dirección de un búfer de tipo SECBUFFER_TOKEN que recibe un token de seguridad que se va a devolver al servidor.

Requisitos del contexto de respuesta a 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.

Los requisitos de contexto se especifican como marcas que se pasan al parámetro fContextReq de la función InitializeSecurityContext. Las marcas afectan a la calidad de protección del contexto de seguridad mediante el control de la directiva qop en la respuesta del desafío.

De forma predeterminada, la directiva qop se establece en "auth". Para generar una respuesta de desafío que establezca qop en "auth-int", debe producirse lo siguiente:

  1. El desafío de Digest debe haber tenido una directiva qop establecida en "auth-int".

  2. El cliente debe especificar una o varias de las marcas siguientes:

    • ISC_REQ_INTEGRITY
    • ISC_REQ_REPLAY_DETECT
    • ISC_REQ_SEQUENCE_DETECT

Solo para SASL: generar una respuesta de desafío con la directiva qop establecida en "auth-conf" especificando la marca ISC_REQ_CONFIDENTIALITY. Dado que esta marca no es válida para la autenticación HTTP, no se puede usar con la marca ISC_REQ_HTTP.

Comprobación de la calidad de la protección

El cliente debe examinar las marcas de atributos de contexto de seguridad devueltas en el parámetro pfContextAttr de la función InitializeSecurityContext. El cliente debe enviar la respuesta de desafío al servidor solo si la calidad de protección indicada por las marcas es suficiente para sus fines. Las marcas relevantes pueden ser cualquier combinación de lo siguiente:

  • ISC_RET_INTEGRITY
  • ISC_RET_REPLAY_DETECT
  • ISC_RET_SEQUENCE_DETECT
  • ISC_RET_CONFIDENTIALITY (solo contextos SASL)

Para obtener más información sobre la directiva qop, consulte Calidad de protección y cifrado.

Para obtener más información sobre las directivas de respuesta de desafío, consulte Contenido de una respuesta a desafío de Digest.