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 duInitializeSecurityContext (Général)ou 'appel AcceptSecurityContext (Général) pour spécifier un ensemble d’indicateurs qui indiquent les fonctionnalités requises. Lorsque la fonction est retournée, 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 ou retournés par InitializeSecurityContext (Général) sont préfixés par ISC. Ceux demandés par AcceptSecurityContext (Général) sont préfixé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 pour l’authentification mutuelle passée à InitializeSecurityContext (Général) est ISC_REQ_MUTUAL_AUTH. Un serveur demandant l’authentification mutuelle passe ASC_REQ_MUTUAL_AUTH à AcceptSecurityContext (Général). Si l’authentification mutuelle est obtenue, InitializeSecurityContext (Général) retourne 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’il ne peut pas être effectué, l’appelant doit décider s’il faut annuler le contexte ou continuer.

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

Drapeau Description
DÉLÉGUER
Le serveur de l’application de transport peut créer de nouveaux contextes de sécurité empruntant l’identité du client qui seront acceptés par d’autres serveurs comme contextes du client. Le délégué fonctionne uniquement si MUTUAL_AUTH est défini. DELEGATE n’est actuellement pris en charge que par Kerberos. De plus, Kerberos délègue uniquement à un serveur disposant de l’indicateur TRUSTED_FOR_DELEGATION. N’utilisez pas cet indicateur pour délégation contrainte.
MUTUAL_AUTH
Les parties communiquantes doivent authentifier leurs identités les unes avec les autres. 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.
Lorsque vous utilisez le 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 relectés 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 la remise hors commande des paquets ultérieurement via les fonctions de prise en charge 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 deEncryptMessage (Général)et deDecryptMessage (Général). L’indicateur CONFIDENTIALITÉ ne fonctionne pas si le contexte généré concerne 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 à entrer 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 appeler la fonction FreeContextBuffer pour libérer de la mémoire allouée par le package de sécurité.
USE_DCE_STYLE
L’appelant s’attend à une authentification à trois étapes transaction.
DATAGRAMME
sémantique datagramme doit être utilisée. Pour plus d’informations, consultez contextes de datagramme.
CONNEXION
La sémantique de connexion doit être utilisée. Pour plus d’informations, consultez Connection-Oriented Contextes.
RUISSEAU
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 si le contexte échoue.
INTÉGRITÉ
L’intégrité de la mémoire tampon peut être vérifiée, mais aucune détection de séquencement ou de réponse n’est activée.
NO_INTEGRITY
L’exigence d’intégrité est ignorée.
IDENTIFIER
Lorsqu’un serveur emprunte l’identité d’un contexte avec cet indicateur défini, cet emprunt d’identité génère un accès extrêmement limité. L’emprunt d’identité avec l’ensemble IDENTIFIER est utilisé pour vérifier l’identité du client.