论文部分内容阅读
Sun Microsystems公司顺应Internet和网络技术的不断发展的需求,提出了J2EE并成为标准。Java语言走进企业级应用领域的同时,人们也对安全技术提出了新的要求。一些国际大型软件公司生产出符合J2EE标准的应用服务器产品。这些产品提供了完整的同时也是庞大的、复杂的安全架构。然而这个安全架构对于应用服务器的核心部件EJB容器来说,却存在过于复杂、安全信息有泄漏风险、过分依赖Web层等缺点。 针对这些缺点,本文设计一种新型解决方案,即在EJB容器内部实现必要的安全机制,并保留良好的可扩展性。基于这种思想,深入研究目前流行的新型安全技术——Java认证和授权服务(Java Authentication and Authorization Service),和主要的认证和授权模型。本文中授权和访问控制是等同的。决定采用JAAS作为实现安全机制的主要技术,把基于口令和基于证书的认证模型作为主要认证模型,基于角色的访问控制模型(RBAC)作为访问控制的模型。 EJB容器中安全机制主要包括两个功能模块:身份认证器和访问控制器。认证和访问控制也是一个安全系统的两个必要功能。身份认证器在JAAS框架的基础上设计和实现,实现了基于口令的认证模块,可以扩展证书认证模块。我们还根据需要修改和扩展了一些主要类。 访问控制器实现了基于角色的访问控制模型。不同于主流应用服务器中使用的声明性访问控制,我们在访问控制器中同时实现了Java中的声明性和编程性访问控制。 对比目前主流的应用服务器的EJB容器中的安全机制,本文的安全机制的具有结构简洁、容器内聚性强、用户安全信息不易泄漏以及访问控制方法灵活等优势,也存在功能略显薄弱、完全依赖于EJB容器等不足。 本文设计的安全机制中没有实现必要的审计功能,可在下一步工作中完成,并可以考虑扩展认证器和访问控制器的其它功能。