Génération de la réponse au défi Digest
Après avoir reçu un défi du serveur, le client crée la réponse au défi Digest en appelant la fonction InitializeSecurityContext (Digest). Cette fonction génère une empreinte digitale de hachage MD5 à l’aide d’informations sur la ressource et les données demandées à partir du défi et génère un jeton de sécurité qui représente un contexte de sécurité partiel. Pour terminer l’authentification, le client doit renvoyer le jeton au serveur qui a émis le défi.
Le tableau suivant décrit les paramètres de la fonction InitializeSecurityContext (Digest) et les valeurs à fournir lors de la création d’une réponse au défi Digest.
Paramètre | Description |
---|---|
fContextReq |
Attributs de contexte de sécurité demandés par le client. Pour obtenir plus d’informations, veuillez consulter la page Conditions requises en matière de contexte de réponse au défi Digest. |
pszTargetName |
HTTP : chaîne terminée par un caractère Null qui spécifie l’URL cible. SASL : chaîne terminée par un caractère Null qui spécifie les DNS/SPN cibles. |
pInput |
Mémoires tampons qui contiennent des informations requises par le SSP Digest. Pour obtenir plus d’informations, veuillez consulter la page Mémoires tampon d’entrée pour la réponse au défi Digest. |
pfContextAttr |
Reçoit les attributs pris en charge par le contexte de sécurité retourné. Pour obtenir plus d’informations, veuillez consulter la page Conditions requises en matière de contexte de réponse au défi Digest. |
pOutput |
Adresse d’une mémoire tampon de type SECBUFFER_TOKEN qui reçoit un jeton de sécurité à renvoyer au serveur. |
Exigences de contexte de réponse au défi Digest
Les exigences de contexte sont des indicateurs qui déterminent :
- Si Microsoft Digest fonctionne comme un mécanisme SASL ou un protocole d’authentification HTTP.
- La qualité de la protection prise en charge par le contexte de sécurité partagé par le client et le serveur.
Par défaut, Microsoft Digest fonctionne comme un mécanisme SASL.
Les exigences de contexte sont spécifiées en tant qu’indicateurs passés au paramètre fContextReq de la fonction InitializeSecurityContext. Les indicateurs affectent la qualité de la protection du contexte de sécurité en contrôlant la directive qop dans la réponse au défi.
Par défaut, la directive qop est définie sur « auth ». Pour générer une réponse au défi qui définit qop sur « auth-int », les éléments suivants doivent se produire :
Le défi Digest doit avoir une directive qop définie sur « auth-int ».
Le client doit spécifier un ou plusieurs des indicateurs suivants :
- ISC_REQ_INTEGRITY
- ISC_REQ_REPLAY_DETECT
- ISC_REQ_SEQUENCE_DETECT
Pour SASL uniquement : générez une réponse au défi avec la directive qop définie sur « auth-conf » en spécifiant l’indicateur ISC_REQ_CONFIDENTIALITY. Étant donné que cet indicateur n’est pas valide pour l’authentification HTTP, il ne peut pas être utilisé avec l’indicateur ISC_REQ_HTTP.
Vérification de la qualité de protection
Le client doit examiner les indicateurs d’attributs de contexte de sécurité retournés dans le paramètre pfContextAttr de la fonction InitializeSecurityContext. Le client doit envoyer la réponse au défi au serveur uniquement si la qualité de la protection indiquée par les indicateurs est suffisante à ses fins. Les indicateurs appropriés peuvent être n’importe quelle combinaison des bits suivants :
- ISC_RET_INTEGRITY
- ISC_RET_REPLAY_DETECT
- ISC_RET_SEQUENCE_DETECT
- ISC_RET_CONFIDENTIALITY (contextes SASL uniquement)
Pour obtenir plus d’informations sur la directive qop, veuillez consulter la page Qualité de la protection et des chiffrements.
Pour obtenir plus d’informations sur les directives de réponse au défi, veuillez consulter la page Contenu d’une réponse au défi Digest.