COM 中的安全性
COM 中的安全性基于 Windows 提供的安全性和基础 RPC 安全机制。 COM 安全性依赖于 身份验证(验证调用方身份的过程)和 授权(确定调用方是否有权执行其要求执行的作的过程)。 COM 中有两种主要安全类型:激活安全 和 调用安全。 激活安全性确定客户端是否可以启动服务器。 启动服务器后,可以使用调用安全性来控制对服务器对象的访问。
在此安全模型中,服务器管理和帮助保护对象,客户端通过服务器访问对象,服务器可以在模拟客户端时尝试访问。
系统实现 Kerberos v5 身份验证协议和 Schannel 安全包。 它还包括委托级模拟、相互身份验证、在注册表中为 AppID 设置身份验证级别和遮盖等功能。 使用 COM 安全性,可以实现可以执行特权作的对象,而不影响安全性。
由于有广泛的 COM 安全功能可用,因此最初确定应用程序所需的安全类型会很有帮助。 对于大多数应用程序,设置可接受的安全级别可能是一个无痛的过程,但也可以使用 COM 安全性来支持非常复杂的安全方案。
可以通过使用 Dcomcnfg.exe 设置注册表或通过调用 CoInitializeSecurity来设置安全进程。 通过两个主要接口(IClientSecurity 和 IServerSecurity(和相关帮助程序函数),可以在程序中设置调用级安全性。
若要了解有关 COM 安全性的详细信息,请参阅以下主题:
- 确定安全需求
- COM 安全默认值
- 激活安全性
- 安全值
- COM 应用程序 设置安全性
- 使用 DCOMCNFG 启用 COM 安全性
- 关闭安全
- Server-Side 安全
- 安全全面谈判
- COM 和安全包
- Windows XP Service Pack 2 和 Windows Server 2003 Service Pack 1 中的 DCOM 安全增强功能
- COM 的 访问控制列表
- COM 提升名字对象