Condividi tramite


Generazione della risposta alla sfida del digest

Dopo aver ricevuto una richiesta dal server, il client crea la risposta alla sfida Digest chiamando la funzione InitializeSecurityContext (Digest). Questa funzione genera un'impronta digitale hash MD5 usando informazioni sulla risorsa e i dati richiesti dalla richiesta e restituisce un token di sicurezza che rappresenta un contesto di sicurezza parziale. Per completare l'autenticazione, il client deve restituire il token al server che ha rilasciato la richiesta.

Nella tabella seguente vengono descritti i parametri della funzioneInitializeSecurityContext (Digest) e i valori da specificare quando si costruisce una risposta di sfida digest.

Parametro Descrizione
fContextReq
Attributi del contesto di sicurezza richiesti dal client. Per altre informazioni, vedere Digest Challenge Response Context Requirements.
pszTargetName
HTTP: stringa con terminazione null che specifica l'URL di destinazione.
SASL: stringa con terminazione Null che specifica la destinazione DNS/SPN.
pInput
Buffer che contengono informazioni necessarie dal provider di servizi di gestione del digest. Per altre informazioni, vedere Buffer di input per la risposta alla sfida del digest.
pfContextAttr
Riceve gli attributi supportati dal contesto di sicurezza restituito. Per altre informazioni, vedere Digest Challenge Response Context Requirements.
pOutput
Indirizzo di un buffer di tipo SECBUFFER_TOKEN che riceve un token di sicurezza da inviare al server.

Requisiti del contesto di risposta della sfida del digest

I requisiti di contesto sono flag che determinano:

  • Se Microsoft Digest funziona come meccanismo SASL o protocollo di autenticazione HTTP.
  • Qualità della protezione supportata dal contesto di sicurezza condiviso dal client e dal server.

Per impostazione predefinita, Microsoft Digest funziona come meccanismo SASL.

I requisiti di contesto vengono specificati come flag passati al parametro fContextReq della funzione InitializeSecurityContext . I flag influiscono sulla qualità della protezione del contesto di sicurezza controllando la direttiva qop nella risposta alla richiesta.

Per impostazione predefinita, la direttiva qop è impostata su "autenticazione". Per generare una risposta di richiesta che imposta qop su "auth-int", deve verificarsi quanto segue:

  1. La sfida Digest deve avere una direttiva qop impostata su "auth-int".

  2. Il client deve specificare uno o più flag seguenti:

    • ISC_REQ_INTEGRITY
    • ISC_REQ_REPLAY_DETECT
    • ISC_REQ_SEQUENCE_DETECT

Solo per SASL: generare una risposta di richiesta con la direttiva qop impostata su "auth-conf" specificando il flag di ISC_REQ_CONFIDENTIALITY. Poiché questo flag non è valido per l'autenticazione HTTP, non può essere usato con il flag ISC_REQ_HTTP.

Verifica della qualità della protezione

Il client deve esaminare i flag degli attributi del contesto di sicurezza restituiti nel parametro pfContext della funzione InitializeSecurityContextAttr. Il client deve inviare la risposta alla richiesta al server solo se la qualità della protezione indicata dai flag è sufficiente ai fini. I flag pertinenti possono essere qualsiasi combinazione dei seguenti:

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

Per altre informazioni sulla direttiva qop, vedere Qualità della protezione e crittografia.

Per altre informazioni sulle direttive di risposta alle sfide, vedere Contenuto di una risposta alla sfida del digest.