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