J2EE安全服务保障的分析与研究
2011-10-18夏斌
夏 斌
(1. 中国海洋大学,山东 青岛 266100;2. 寿光市安监局,山东 寿光 262700)
1 引言
随着 Java2平台在企业类系统和电子商务系统中的大量应用,对 J2EE平台的安全性要求也随之提高。安全性攻击伴随Internet技术的发展变得越来越频繁,如果J2EE体系结构没有设置安全机制,很可能会导致怀有敌意的程序造成信息丢失、资料泄密、相信伪造数据和修改本地计算机安全设置等后果。要保证J2EE平台的安全性,其安全保障体系形成至关重要。
2 J2EE安全体系框架
J2EE平台的安全机制是一个动态可扩展的安全体系结构,是基于标准的交互操作的平台。其安全特性有密码学、认证、授权、PKI基础设施等。对安全性的支持主要是通过Java语言本身安全性、虚拟机的类加载器和安全管理器以及Java提供的安全API几个方面来实现。基本框架,见图1。
图1 J2EE安全体系的基本框架
3 J2EE安全服务保障的实现
3.1 用户信息认证与授权
JAAS(Java Authentication and Authorization Ser-vice),Java认证和授权服务,是Sun为了进一步增强Java2安全框架的功能而提供的编程接口,其目的是提供基于代码运行者的存取控制能力,它是JDK1.3的标准扩充,并成为JDK1.4的一个组成部分。JSSE是专门针对SSL协议开发的安全扩展模块,它提供了对应不同SSL实现的标准接口。JAAS提供了验证用户和对用户实现访问控制的接口。
3.2 安全会话管理
当用户认证之后,用户认证状态的安全持久保持和验证通过安全会话进行,认证器认证用户后会使用会话管理器建立一个安全会话,将所有用户的安全信息和会话绑定。会话管理器负责统一管理所有用户认证之后的安全会话,会话管理功能可分为两类:操作型和管理型。会话管理对象模型,见图2。
图2 会话管理模型
目前有两种方法保持Session会话状态,一种是在客户端保存Session状态;另一种是在服务器端保存Session状态。在客户端保持 Session状态有两个好处:①相对容易实现,如采用HTTP hidden变量或者HTTP cookies来保存会话状态;②如果需要记录的状态量较少,工作效率高。
3.3 访问控制
J2EE规范对 Web层的认证机制给出了具体的定义。Web层的认证机制有四种:HTTP基本认证、基于FORM的认证、HTTPS的相互认证和混合认证。
3.3.1 EJB方法访问控制
访问权限定义调用方法的一个或多个安全角色,如果调用标识是角色表示中的一个成员,容器将允许这个方法调用继续执行。否则,EJB容器将发出一个java.rmi.RemoteException的异常信息,且禁止调用的执行。
3.3.2 单点登录技术
单点登录(Single Sign-On)是实现Web环境下安全访问的一个关键技术。由于系统间互相独立,一个用户在使用每个应用系统前,都必须按照相应的系统身份进行系统登录。用户必须记住每个系统的用户名和密码,而且需要频繁地输入口令,出错可能性较大,增加了安全风险。借助单点登录技术,用户可以基于最初访问网络时的一次身份验证,对被授权的网络资源进行无缝的访问,在此条件下,管理员无需修改或干涉用户登录就能方便地得到应有安全控制,从而提高整体的安全性能。
4 结束语
J2EE体系结构对信息安全提供了灵活框架,只要使用得当就能很好的保证信息的安全性,降低了应用开发的代价和风险,同时也要加强一些其他相关的安全工作,比如保护好私钥等,这样才能保证J2EE安全框架发挥最大的作用。随着信息技术的不断发展,信息安全也会面临越来越大的挑战,这些都需要J2EE安全框架更加完善和进一步发展。
1 高月、梁本亮.基于JAAS的JAVA安全应用研究[J].计算机系统应用,2005(1):68~70