论文部分内容阅读
对于分布式应用资源的大量安全攻击来说,访问控制是重要的防范手段。现存的中间件访问控制技术存在这样几个问题:1)不能提供一个完整的解决方案,应用开发者不得不在应用系统中嵌入访问控制功能,这带来了大量的问题,包括实施困难、高开销、高错误率、资源所有权的归属等;2)就有效性来说,在一些应用领域,访问控制还要更细致,在鉴权判定方面对使用专门因素的支持,还有广大组织之间鉴权的一致性和可靠性的增强;3)中间件越来越异构化,相互作用方式复杂。在使用这些中间件时,要了解其安全特性,比如,机密性数据不会在网络上泄漏,但是,现在很难证实这些中间件有很好的安全特性。 针对中间件对访问控制不能提供完整的解决方案以及其有效性问题,本文提出了一个体系结构方法:基于J2EE的RBAC支持。首先,通过详细分析了J2EE访问控制机制的性能,设计了能够正式定义系统状态的J2EE保护系统配置。通过该定义,本文设计了一个鉴权判定算法。其次,本文研究了在进行J2EE安全服务时,对基于角色的访问控制模型的支持。利用J2EE保护系统定义的配置,用J2EE语言定义了RBAC0和RBAC1两种模型。此外,为了支持RBAC0-RBAC3模型,本文分析并给出了实施J2EE安全服务所需的必要条件。本方法在遵循J2EE安全规范的前提下实现了对RBAC0的支持,并实现了J2EE安全规范范围以外的必要功能,来支持RBAC1和RBAC2。这加强了J2EE访问控制机制的性能。 J2EE中间件访问控制机制与RBAC模型相结合的方法比较好的解决了完整性和有效性这两个问题,但是对于复杂策略,它们还存在灵活性差、粒度粗和扩展性较弱等问题。本文设计了鉴权服务体系结构(JCRADS),用它来解决分布式资源的访问控制问题。JCRADS抽象了鉴权服务中的鉴权逻辑,该鉴权服务位于应用程序的外部,独立于下层的安全模型和安全规则。这种资源访问判定办法解决了保护大多数分布式资源所面临的问题。对于鉴权判定,允许使用多种类型的主体安全,服务结构允许使用从工作流和其它资源中获得的信息,这样它就能支持应用领域所特有的规则。它也能够使用在访问控制判定中的特殊信息。鉴权逻辑包装为一个独立的服务,可以很容易地在穿越应用边界时保持访问控制策略的一致性。此外,这个结构支持多重鉴权模型,并且它有助于安全管理员和应用开发者进行清晰的责任分离。 尽管当前的设计利用了J2EE所遵循的安全机制,JCRADS几乎独立于下层的安全技术。JCRADS方法能够应用到大多数分布式环境中去。这种结构不但简化了应用程序和安全系统开发,而且也允许管理部门一致地管理和实施其安全策略,很好的解决了分布式资源访问系统普遍存在的不够灵活、粒度粗、可扩展性差等主要矛盾。