Segurança em COM

A segurança em COM é firmemente baseada na segurança fornecida pelo Windows e nos mecanismos de segurança RPC subjacentes. A segurança COM depende de autenticação (o processo de verificação da identidade de um chamador) e autorização (o processo de determinar se um chamador está autorizado a fazer o que está pedindo para fazer). Existem dois tipos principais de segurança em COM: segurança de ativação e segurança de chamada. A segurança de ativação determina se um cliente pode iniciar um servidor. Depois que um servidor for iniciado, você poderá usar a segurança de chamadas para controlar o acesso aos objetos de um servidor.

Nesse modelo de segurança, os servidores gerenciam e ajudam a proteger objetos, os clientes obtêm acesso a objetos por meio de servidores e os servidores podem tentar o acesso enquanto representam o cliente.

O sistema implementa o protocolo de autenticação Kerberos v5 e o pacote de segurança Schannel. Ele também inclui recursos como representação em nível de delegado, autenticação mútua, a capacidade de definir níveis de autenticação para um AppID no registro e cloaking. Usando a segurança COM, você pode implementar objetos que podem executar operações privilegiadas sem comprometer a segurança.

Como há uma ampla gama de recursos de segurança COM disponíveis, é útil determinar inicialmente que tipo de segurança seu aplicativo precisa. Para a maioria dos aplicativos, definir um nível aceitável de segurança pode ser um processo indolor, mas você também pode usar a segurança COM para oferecer suporte a cenários de segurança muito complexos.

Você pode definir todo o processo de segurança, usando Dcomcnfg.exe para definir o Registro ou chamando CoInitializeSecurity. Duas interfaces principais, IClientSecurity e IServerSecurity (e funções auxiliares associadas), permitem que você defina a segurança em nível de chamada dentro do seu programa.

Para saber mais sobre segurança COM, consulte os seguintes tópicos: