Partager via


Niveau d’authentification

Le niveau d’authentification contrôle la sécurité souhaitée par un client ou un serveur à partir de son fournisseur de services partagés. Le niveau d’authentification est défini en passant une valeur de RPC_C_AUTHN_LEVEL_xxx appropriée à CoInitializeSecurity ou CoSetProxyBlanket via le paramètre dwAuthnLevel . Les niveaux d’authentification du client et du serveur sont comparés pendant la négociation, et le paramètre de protection de sécurité de niveau supérieur est utilisé pour la connexion.

Les différents niveaux d’authentification sont décrits comme suit, du niveau de protection de sécurité le plus bas au niveau le plus élevé :

Aucun (RPC_C_AUTHN_LEVEL_NONE)

Aucune authentification n’est effectuée pendant la communication entre le client et le serveur. Tous les paramètres de sécurité sont ignorés. Ce niveau d’authentification peut être défini uniquement si le niveau de service d’authentification est RPC_C_AUTHN_NONE.

Par défaut (RPC_C_AUTHN_LEVEL_DEFAULT)

COM choisit le niveau d’authentification à l’aide de sa négociation générale de sécurité normale. Il ne choisira jamais un niveau d’authentification de Aucun.

Connect (RPC_C_AUTHN_LEVEL_CONNECT)

La négociation d’authentification normale se produit entre le client et le serveur, et une clé de session est établie, mais cette clé n’est jamais utilisée pour la communication entre le client et le serveur. Toutes les communications après la négociation ne sont pas sécurisées.

Appel (RPC_C_AUTHN_LEVEL_CALL)

Seuls les en-têtes du début de chaque appel sont signés. Le reste des données échangées entre le client et le serveur n’est ni signé ni chiffré. La plupart des fournisseurs de services de sécurité (SSP) ne prennent pas en charge ce niveau d’authentification et le promussent en mode silencieux paquet.

Paquet (RPC_C_AUTHN_LEVEL_PKT)

L’en-tête de chaque paquet est signé, mais pas chiffré. Les paquets eux-mêmes ne sont pas signés ou chiffrés.

Intégrité des paquets (RPC_C_AUTHN_LEVEL_PKT_INTEGRITY)

Chaque paquet de données est signé dans son intégralité, mais n’est pas chiffré. Étant donné que toutes les données sont signées par l’expéditeur, le destinataire peut être certain qu’aucune des données n’a été falsifiée pendant le transit.

Confidentialité des paquets (RPC_C_AUTHN_LEVEL_PKT_PRIVACY)

Chaque paquet de données est signé et chiffré. Cela permet de protéger l’ensemble de la communication entre le client et le serveur.

AuthenticationLevel

LegacyAuthenticationLevel