Partager via


Conditions requises pour le contexte

Les exigences de contexte sont exprimées sous la forme d’une combinaison d’indicateurs de bits passés à la fonction InitializeSecurityContext (Général) ou AcceptSecurityContext (Général). Ces indicateurs affectent le contexte de plusieurs façons. Tous les indicateurs ne s’appliquent pas à tous les contextes. Certains sont valides uniquement pour le serveur, d’autres uniquement pour le client.

L’appelant utilise le paramètre fContextReq de l’appel InitializeSecurityContext (Général) ou AcceptSecurityContext (Général) pour spécifier un ensemble d’indicateurs qui indiquent les fonctionnalités requises. Lorsque la fonction retourne, le paramètre pfContextAttr indique les attributs du contexte établi. L’appelant détermine si les attributs de contexte finaux sont acceptables.

Les indicateurs demandés à partir de ou retournés par InitializeSecurityContext (Général) sont préfixés par ISC. Ceux demandés à partir ou retournés par AcceptSecurityContext (Général) sont précédés par ASC. Les indicateurs passés dans une fonction incluent REQ, tandis que les indicateurs retournés incluent RET. Par exemple, un indicateur de demande d’authentification mutuelle passé à InitializeSecurityContext (Général) est ISC_REQ_MUTUAL_AUTH. Un serveur qui demande une authentification mutuelle passe ASC_REQ_MUTUAL_AUTH à AcceptSecurityContext (Général). Si l’authentification mutuelle est obtenue, InitializeSecurityContext (Général) renvoie ISC_RET_MUTUAL_AUTH et AcceptSecurityContext (Général) retourne ASC_RET_MUTUAL_AUTH. Si l’appelant demande une authentification mutuelle, mais que le package de sécurité indique qu’elle ne peut pas être effectuée, l’appelant doit décider d’annuler le contexte ou de continuer.

Le tableau suivant décrit les différents indicateurs d’exigence de contexte.

Indicateur Description
DÉLÉGUÉ
Le serveur dans l’application de transport peut créer de nouveaux contextes de sécurité en empruntant l’identité du client qui seront acceptés par d’autres serveurs en tant que contextes du client. Delegate fonctionne uniquement si MUTUAL_AUTH est défini. DELEGATE est actuellement pris en charge uniquement par Kerberos. De plus, Kerberos déléguera uniquement à un serveur qui a l’indicateur TRUSTED_FOR_DELEGATION. N’utilisez pas cet indicateur pour la délégation contrainte.
MUTUAL_AUTH
Les parties qui communiquent doivent s’authentifier mutuellement. Sans MUTUAL_AUTH, le client authentifie son identité auprès du serveur. Avec MUTUAL_AUTH, le serveur doit également authentifier son identité auprès du client.
Lors de l’utilisation du package de sécurité Schannel , le serveur définit la constante ASC_RET_MUTUAL_AUTH uniquement dans le dernier appel à AcceptSecurityContext (Negotiate), une fois le mappage de certificat terminé.
REPLAY_DETECT
Le package de sécurité détecte les paquets relus et avertit l’appelant si un paquet a été relu. L’utilisation de cet indicateur implique toutes les conditions spécifiées par l’indicateur INTEGRITY.
SEQUENCE_DETECT
Le contexte doit être autorisé à détecter ultérieurement la remise en désordre de paquets par le biais des fonctions de support des messages. L’utilisation de cet indicateur implique toutes les conditions spécifiées par l’indicateur INTEGRITY.
CONFIDENTIALITÉ
Le contexte peut protéger les données en transit à l’aide des fonctions EncryptMessage (Général) et DecryptMessage (Général). L’indicateur CONFIDENTIALITY ne fonctionne pas si le contexte généré est pour le compte Invité.
USE_SESSION_KEY
Une nouvelle clé de session doit être négociée.
PROMPT_FOR_CREDS
Si le client est un utilisateur interactif, le package de sécurité doit, si possible, inviter l’utilisateur à fournir les informations d’identification appropriées.
USE_SUPPLIED_CREDS
Les informations d’identification spécifiques au package sont disponibles dans la mémoire tampon d’entrée. Le package de sécurité peut utiliser ces informations d’identification pour authentifier la connexion.
SAVE_SUPPLIED_CREDS
Les informations d’identification fournies doivent être mises en cache avec les informations d’identification supplémentaires.
ALLOCATE_MEMORY
Le package de sécurité doit allouer de la mémoire. L’appelant doit finalement appeler la fonction FreeContextBuffer pour libérer de la mémoire allouée par le package de sécurité.
USE_DCE_STYLE
L’appelant attend une transaction d’authentification à trois étapes.
DATAGRAMME
La sémantique du datagramme doit être utilisée. Pour plus d’informations, consultez Contextes de datagramme.
CONNECTION
La sémantique de connexion doit être utilisée. Pour plus d’informations, consultez Contextes orientés connexion.
Flux
La sémantique de flux doit être utilisée. Pour plus d’informations, consultez Contextes de flux.
EXTENDED_ERROR
Les messages de réponse d’erreur pour l’homologue doivent être générés en cas d’échec du contexte.
INTÉGRITÉ
L’intégrité de la mémoire tampon peut être vérifiée, mais aucun séquencement ou détection de réponse n’est activé.
NO_INTEGRITY
La condition d’INTÉGRITÉ est ignorée.
IDENTIFIER
Lorsqu’un serveur emprunte l’identité d’un contexte pour lequel cet indicateur est défini, cet emprunt d’identité génère un accès extrêmement limité. L’emprunt d’identité avec le jeu d’identification est utilisé pour vérifier l’identité du client.