Sécurité dans COM

La sécurité dans COM est fermement basée sur la sécurité fournie par Windows et les mécanismes de sécurité RPC sous-jacents. La sécurité COM s’appuie sur l’authentification (le processus de vérification de l’identité d’un appelant) et l’autorisation (le processus de détermination de l’autorisation d’un appelant à faire ce qu’il demande de faire). Il existe deux types main de sécurité dans COM : la sécurité d’activation et la sécurité des appels. La sécurité d’activation détermine si un client peut lancer un serveur. Une fois qu’un serveur a été lancé, vous pouvez utiliser la sécurité d’appel pour contrôler l’accès aux objets d’un serveur.

Dans ce modèle de sécurité, les serveurs gèrent et aident à protéger les objets, les clients obtiennent l’accès aux objets via les serveurs, et les serveurs peuvent tenter d’accéder lors de l’emprunt d’identité du client.

Le système implémente le protocole d’authentification Kerberos v5 et le package de sécurité Schannel. Il inclut également des fonctionnalités telles que l’emprunt d’identité au niveau des délégués, l’authentification mutuelle, la possibilité de définir des niveaux d’authentification pour un AppID dans le registre et le masquetage. À l’aide de la sécurité COM, vous pouvez implémenter des objets qui peuvent effectuer des opérations privilégiées sans compromettre la sécurité.

Étant donné qu’il existe un large éventail de fonctionnalités de sécurité COM disponibles, il est utile de déterminer initialement le type de sécurité dont votre application a besoin. Pour la plupart des applications, la définition d’un niveau de sécurité acceptable peut être un processus indolore, mais vous pouvez également utiliser la sécurité COM pour prendre en charge des scénarios de sécurité très complexes.

Vous pouvez définir le processus de sécurité à l’échelle du processus, soit en utilisant Dcomcnfg.exe pour définir le Registre, soit en appelant CoInitializeSecurity. Deux interfaces principales, IClientSecurity et IServerSecurity (et les fonctions d’assistance associées), vous permettent de définir la sécurité au niveau des appels au sein de votre programme.

Pour en savoir plus sur la sécurité COM, consultez les rubriques suivantes :