Compartilhar via


Gerando o desafio do Digest

O desafio do Microsoft Digest é gerado pela chamada inicial do servidor para a função AcceptSecurityContext (Digest). Essa chamada de função gera um nonce, que é um valor exclusivo que contém informações que podem ser usadas para detectar violações de segurança. Essa chamada também gera um contexto de segurança parcial que é usado para manter informações de estado. Ao chamar AcceptSecurityContext (Digest), você especifica sinalizadores de requisitos de contexto para controlar o comportamento do Microsoft Digest e definir a qualidade da proteção. Para obter mais informações, consulte Requisitos de contexto do desafio do Digest.

A saída da chamada inicial para a função AcceptSecurityContext (Digest) é um buffer de segurança que contém um token que é enviado ao cliente com uma resposta HTTP 401 (Acesso Negado).

Observação

Chamadas para AcceptSecurityContext (Digest) que não contêm informações nos buffers de entrada retornam um desafio do Digest.

 

Requisitos de contexto do desafio do Digest

Os requisitos de contexto são sinalizadores que determinam:

  • Se o Microsoft Digest funciona como um mecanismo SASL ou protocolo de autenticação HTTP.
  • A qualidade da proteção suportada pelo contexto de segurança compartilhado pelo cliente e pelo servidor.

Por padrão, o Microsoft Digest funciona como um mecanismo SASL. Para usá-lo para autenticação HTTP, o sinalizador ASC_REQ_HTTP ( 0x10000000) deve ser definido pelo servidor.

Os requisitos de contexto são especificados como sinalizadores passados para o parâmetro fContextReq da função AcceptSecurityContext (Digest) . Os sinalizadores afetam a qualidade da proteção do contexto de segurança controlando a diretiva qop no desafio.

Por padrão, a diretiva qop é definida como "auth". Para gerar um desafio que define a diretiva qop como "auth-int", o servidor deve especificar um ou mais dos seguintes sinalizadores:

  • ASC_REQ_INTEGRITY
  • ASC_REQ_REPLAY_DETECT
  • ASC_REQ_SEQUENCE_DETECT

Somente para SASL: Gere uma resposta de desafio com a diretiva qop definida como "auth-conf" especificando o sinalizador de requisito de contexto ASC_REQ_CONFIDENTIALITY. Como esse sinalizador não é válido para autenticação HTTP, ele não pode ser usado com o sinalizador ASC_REQ_HTTP.

Para obter mais informações sobre a diretiva qop, consulte Qualidade de proteção e criptografias.

Para obter mais informações sobre desafios, consulte Conteúdo de um desafio do Digest.