COM 中的安全性

COM 中的安全性严格基于 Windows 提供的安全性和基础 RPC 安全机制。 COM 安全性依赖于身份验证(验证调用方标识的过程)和授权(确定调用方是否有权执行其要求执行的操作的过程)。 COM 中有两种主要的安全类型:激活安全调用安全。 激活安全确定客户端是否可以完全启动服务器。 启动服务器后,可以使用调用安全来控制对服务器对象的访问。

在此安全模型中,服务器管理和帮助保护对象,客户端通过服务器访问对象,服务器可以尝试在模拟客户端时访问。

系统实现 Kerberos v5 身份验证协议和 Schannel 安全包。 还包括委派级别模拟、相互身份验证、在注册表中为 AppID 设置身份验证级别的功能和掩蔽。 使用 COM 安全性,可以实现可以执行特权操作的对象,而不影响安全性。

由于 COM 安全功能广泛,因此最初确定应用程序所需的安全类型会很有帮助。 对于大多数应用程序,设置可接受的安全级别可能是一个轻松的过程,但也可以使用 COM 安全来支持非常复杂的安全方案。

可以通过使用 Dcomcnfg.exe 设置注册表或通过调用 CoInitializeSecurity 来设置安全进程范围。 可通过两个主要接口 IClientSecurityIServerSecurity(以及关联的帮助程序函数)在程序中设置调用级别安全。

若要了解有关 COM 安全的详细信息,请参阅以下主题: