📄 coba安全模型.htm
字号:
<p> CORBA系统中只有客户和对象能处理操作请求并对这些请求作出应答。在这个过程中ORB在客户和对象之间维持着牢固的连接。CORBA安全服务在这种连接之上建立安全联系。建立安全联系就是在客户和对象之间建立信任关系和协商它们之间信息传输保护。从某种意义上说,安全联系是客户和对象之间关于信息保护的类型和强度的公共协议。建立安全联系的技术和系统由此而具有的特性由客户和对象各自的管理和技术安全策略以及他们的公共安全机制而定。CORBA安全服务规范为设置客户和对象的安全联系策略定义了一组管理接口和可选的名字。<br>
CORBA安全服务提供的信息保护包括:机密性保护和完整性保护。客户与对象之间的安全联系决定了它们之间信息传输保护的质量。一般信息保护由ORB信息层提供。但在某些时候,保护可以在ORB信息层以下提供。例如,依靠安全套接字层(SSL)或物理手段进行信息保护。</p>
<p><strong>2.3 对象调用访问控制</strong></p>
<p> 在OMA分布式对象系统中访问控制基本分为两个级别:对象调用访问控制和应用访问控制。对象调用访问控制在对象调用时由ORB自动实施,而应用访问控制由应用自己实施。<br>
对象调用访问控制服务是基于对象调用访问策略实现的。对象访问控制策略控制代表当前主体的客户是否能调用目标对象上的操作。对于所有的应用,不管它们有无安全意识,对象调用访问控制策略由ORB和ORB使用的安全服务实施。对象调用访问控制策略中Access
Decision功能实现。当被要求检查访问是否被允许,Access Decision函数只提供yes或no回答。客户方访问判定函数用于判断客户能否调用目标对象上指定的操作。目标方访问判定函数判断对象是否接受调用。某些系统可能只支持目标方控制,甚至仅把它们用于某些对象。CORBA安全服务访问策略通过主体的特权属性和目标对象的控制属性表示。主体的特权属性封装在CORBA安全服务的Credentials对象中,目标对象的控制属性封装在CORBA安全服务的Access
Decision对象中。<br>
概念上对象调用访问控制服务通过截获对象调用(如请求)实现。截获可能发生在客户和目标两方。一旦ORB截获到对象调用,ORB就咨询Credentials对象获取客户对象拥有的特权。然后这组特权作为Access
Decision对象的access_allowed操作的参数,由这个操作判断是否继续对象调用。</p>
<p><strong>2.4 安全审计</strong></p>
<p> 安全审计记录系统发生的安全相关事件,帮助审查系统危害。各个系统对安全相关事件的定义并不一致,因此CORBA安全服务SRM和规范都包括安全审计策略,说明在什么情况下事件应被审计。审计策略分为两类:一是系统审计策略,控制ORB和CORBA安全服务事件的审计;二是应用审计策略,控制发生在应用范围事件的审计。<br>
安全审计策略确定是否审计某事件基于以下几点:<br>
<sup><strong>。</strong></sup>事件类型(如方法调用完成、所做的访问控制检查和安全联系的建立等)。<br>
<sup><strong>。</strong></sup>事件的成功或失败(只审计失败事件)。<br>
<sup><strong>。</strong></sup>被调用的对象和操作。<br>
<sup><strong>。</strong></sup>代表请求调用的主体的审计ID。<br>
<sup><strong>。</strong></sup>日期、时间。<br>
CORBA安全服务规范提供了完备的系统审计策略。系统审计策略在所有应用中都是自动实施的,即使对没有安全意识的应用也不例外。另外规范还规定了一种特殊应用审计策略,根据事件的类型、事件的成功或失败确定是否审计此事件。CORBA安全服务模仿CORBA事件服务,规定由审计事件生产者把事件发送到审计通道。但是规范中没有说明审计通道的消费者如何处理通道中的记录。</p>
<p></font><font size="4"><strong>2.5 代理</strong></font><font size="3"></p>
<p> 在CORBA系统中存在这样一种情况,客户调用目标对象执行某一操作,但是目标对象自己不能完成这个操作。于是目标对象就请求其它对象执行这个操作。这样形成了对象之间的请求链,使得系统的访问控制复杂化了。从访问控制的立场来看,问题变成了从客户到目标的对象请求链中某一请求的后续请求能用哪些特权。针对这一问题,CORBA安全服务规范提出了特权代理的概念。在特权代理中启动主体(请求链中第一个客户)的特权属性以某种形式委托给中间对象直到传到最终目标对象。目标对象依靠收到的特权属性作访问决定。<br>
CORBA安全服务规范给出了如下五类代理策略。<br>
<sup><strong>。</strong></sup>无代理—这种情况下中间对象只能利用自己的特权属性,而且不能把属性委托给其它对象。<br>
<sup><strong>。</strong></sup>简单代理—中间对象使用启动主体的特权属性代替自己的特权。目标对象收到的只是启动主体的特权,不知道中间对象是哪个对象。<br>
<sup><strong>。</strong></sup>复合代理—中间对象能够使用客户的凭证,还能把这个凭证委托给其它对象。客户和中间对象的特权都传递给目标对象。所以目标对象可分别检查客户特权和中间对象的特权。<br>
<sup><strong>。</strong></sup>混合特权代—客户同意中间对象使用它的特权。中间对象把客户的特权转化为凭证并与自己的凭证结合起来。这种情况下目标不能区别特权分别来自哪个主体。<br>
<sup><strong>。</strong></sup>跟踪代理—实际上是复合代理的扩展。在请求链中每个中间对象都把自己的特权和收到的特权传递下去。这样最终目标就能跟踪代理的序列并就任何中间对象特权作出访问控制判断。</p>
<p><strong>2.6 防否认</strong></p>
<p> 在相当多的应用中都有防否认安全服务的需求。防否认服务为每次发生的活动产生不可辩驳的证据。根据不同的安全机制和策略,防否认需要一个或多个可信任的第三方参与。CORBA防否认服务为有安全意识的应用而设计,不在标准CORBA安全服务或ORB中使用。CORBA的防否认服务不但可生成仅在使用防否认服务的应用上下文中相关的证据,而且可生成与信息的创建(起源)和接收(发送)相关的证据。防否认服务不提供成功执行对某对象的请求的证据。因为这种情况需要在ORB中使用防否认服务。</p>
<p align="center"><img src="image1/t4901.gif" width="206" height="98"
alt="t4901.gif (1828 bytes)"></p>
<p align="center">图2 ISO(CORBA安全服务)防否认模型</p>
<p> CORBA安全的防否认服务只提供国际标准组织(ISO)防否认模型中证据产生和验证的功能(见图2)。这意味着它只为应用提供以下操作:<br>
①产生活动的证据。<br>
②验证活动的证据。<br>
③请求发送消息的证据。<br>
④接收对收到信息证据的请求。<br>
⑤分析活动的证据。<br>
⑥收集需要长期保存的证据。</p>
<p><strong>2.7 安全管理</strong></p>
<p> 在CORBA系统中分别管理每个对象的开销太大。因此CORBA标准提出了域的概念。域是具有一定的公共特征并遵守一定的公共规则的对象集。为管理安全相关对象,CORBA安全服务定义了三类有关安全的域:<br>
<sup><strong>。</strong></sup>安全策略域—实施安全策略的作用域。<br>
<sup><strong>。</strong></sup>安全技术域—使用相同技术实现安全服务的对象或实体的集合。<br>
<sup><strong>。</strong></sup>安全环境域—在域内策略的实施可通过基于环境的手段而不是在对象系统中完成。例如,所有网络连接线路加密可以解除CORBA安全服务确保信息机密性的职责。<br>
CORBA安全服务规范着重讨论了安全策略域。彻底解决管理CORBA安全服务需要管理安全策略域的以下三方面:<br>
①管理安全策略域本身,包括创建,删除域和建立它们之间的联系。<br>
②管理域的成员对象,包括在域之间迁移对象的能力。<br>
③管理每个域实施的策略。不仅为域指定策略,还要设置安全策略的细节。<br>
现有CORBA安全服务规范虽然在上述①、②方面只规定了最低限度的服务,但是对第③方面进行了详细说明。它包括了管理安全策略的框架和如何管理特殊策略的细节,如指定域中信息保护缺省质量、代理凭证和审计事件的策略。<br>
访问控制方面的策略管理是不明确的,因为管理访问控制策略的方法依赖于策略的类型。例如,基于ACL(Access
Control List)的策略和基于分类的策略需要不同的管理。但是标准域访问策略是明确规定的。访问策略可以使用权利为访问控制操作分类。CORBA安全服务规范包括了权利到操作的映射的管理。像这样权利到操作的映射用于标准域访问策略,也用于其它访问策略。</p>
<p></font><font size="4"><strong>3 总结</strong></font><font size="3"></p>
<p> 本文通过讨论安全参考模型对CORBA安全进行了论述。现有的CORBA安全服务规范已是1.5版,综合了上一版和其它关于安全的规范,对更广泛的安全问题进行了讨论,提出了解决方法。它给出的安全模型和体系结构都是可扩充的。本文给出的CORBA安全参考模型仅仅是设计实现CORBA安全系统的指导方针。根据系统实际需要CORBA安全服务可以有不同的具体实现方案。随着安全技术的发展和众多CORBA安全服务产品的出现,CORBA安全服务规范将得到进一步的发展,由此实现更安全的CORBA系统。</p>
<p align="left"><span class="zz">蔡建宇(国防科技大学计算机学院 长沙
410073)<br>
滕猛(国防科技大学计算机学院 长沙 410073)<br>
王怀民(国防科技大学计算机学院 长沙 410073)<br>
邹鹏(国防科技大学计算机学院 长沙 410073)</span></p>
<p>参考文献</p>
<p><span class="wx">1The Object Management Group, The Common Object Request
Broker:Architecture and Specification, Version 2.2, Feburary 1998<br>
2The Object Management Group, Security Service Specification, Version 1.5, March 1999<br>
3TECS: Papers: A Quick Tour of the CORBA Security Service, July 1998</span></p>
</font><p align="right"><font size="3">收稿日期:<span class="sg">1999年6月28日</span></font></td>
</tr>
</table>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -