论文部分内容阅读
摘要:在企业构建分布式应用系统中,安全性是必须要考虑的一个方面,本文根据J2EE现有安全机制问题,从java平台安全体系、预警机制、认证机制以及认证模型等几个方面进行了分析和研究。并根据企业对分布式系统的需求进行了深入的阐述和探讨。
关键词:J2EE;安全机制;认证方法;单点登录
中图分类号:TP312 文献标识码:A 文章编号:1007-9599 (2012) 11-0000-02
一、引言
SUN公司所发布的J2EE平台主要作用是完成分布式应用型系统的创建工作,它对Java开发平台及其他相关问题进行了简化,更简化了公司应用开发,同时还为公司应用提供了数据管理及安全、事物及命名等服务。Java作为编程的标准平台,其代码已经成为应用型系统开发过程中的最基本的要求。同时,Java安全所追求的是:在其平台上安全运行其功能,实现各种服务,满足各领域客户的广泛需求。J2EE核心及其APIS扩展保证了应用系统的安全。同时,J2EE还提供了部分安全商家的系统程序卡口,实现Java的安全拓展。
二、Java 平台的安全性
Java语言要求严格,构架安全,与操作系统语言无关联性,运用其开发的程序可在网络中安全的运行。最原始的Java平台的安全模型是沙箱式的,其安全核心由三个方面组成:
1.字节代码验证:当只有正确的代码出现时才被执行;
2.类加载器:运行时,本地名称范围被其定义,保证了Java的安全运行;
3.安全管理:进行核心系统数据的访问时,由JVM进行协调,利用安全模式进行预先搜索,降低不可信代码出现次数。
但是,沙箱自身具有漏洞。通过在Java中引入新体制,加强其平台安全,新模型中的核心部分主要有:访问权限、保护范围、访问权限复核、安全策略等。
三、J2EE 安全体系
(一)安全体系结构
从B/S模式来看,应用型系统安全体制的开发,一般要进行三个层面的思考。以Java的分布式构架为基础的4种组合主要包括:
1. RMI的远程调试:利用APPLE与J2SE进行服务器的远程调试;
2. WEB应用:利用WEB浏览器、J2SE客户端及APPLE访问SERVLET;
3. EJB组件:即SERVLET、J2SE与EJB组件的访问部署问题;
4. WEB服务:任意程序都可对J2EE容器中的WEB服务进行访问。
针对以上应用,J2EE提供了API,加强自身安全。J2EE的安全结构其实是安全构架的抽象表现。
(二)安全角色映射
J2EE安全应用程序通过支持认证机制保护了同未知实体进行交互的客户,在进行操作前,必须在客户端进行验证,保障自身操作权限;中间核心部分是EJB,开发人员依据需要完成特殊功能的访问与系统安全策略;后台资料库与LDAP服务器保障访问和策略控制的安全。每一个EJB中的安全管制都需要运行计算环境下剥离出的两个“实体”,以此完成某些特殊任务。在进行EJB应用访问之前,这类资料用以进行客户的认证工作,安全角色代表一类特定的用户类型。安全角色的运用使得程序开发人员不必进行安全身份特殊代码的编写,就可在BEAN所部署的安全环境中获得足够的权限。EJB中的安全角色的指定和服务器相关联,但对代码的移植没有影响。
四、J2EE 的安全预警机制
(一) Java 的认证及授权服务
作为J2EE中一个独立的API,JAAS(Java Authentication Authorization Service)即Java认证及授权服务提供给用户权限许可之内的接口,该接口具有可移植性。JAAS适用于各种安全系统,也可较好的适用于现阶段的高级服务器平台及集合有多个安全系统的情况。以J2EE分布式應用程序采用JAAS技术的方式来进行划分,J2EE分布式应用程序可以分为以下两个方面。
1.用户主动出具身份信息证明或者以系统文件进行检索确定身份的形式进行验证,这是应用系统与远程EJB系统实现连接的先决条件。以应用服务器为主的应用服务系统利用JASS完成对用户身份的验证。当用户身份不被识别时,用户将无法调用EJB方法。
2. 以Web浏览器为平台的客户端程序在对Servlet/JSP 层进行连接时,客户端首先进行身份证明,同时Servlet/JSP 层利用JAAS技术对该证明信息进行验证。
(二)EJB容器的安全性
在J2EE平台上,EJB组件的容器决定着其自身的安全性,EJB程序的开发人员无需在组件的安全性花费太多的精力,这有助于业务与安全在逻辑上的独立,这种方式决定了J2EE应用系统具有卓越的可扩展性与可移植性。J2EE以容器为安全性保障可以从声明的安全性和可编程安全性两个方便进行,这有利于进行角色控制。EJB容器负责声明式授权,编程人员则负责编程式授权。
1.可编程式安全性。由于绝大多数的安全策略都已以声明的形式进行陈述,EJB结构体系则依靠必要的方式保证调用者对上下文可编程访问的合法性及安全性。
2.声明安全性。ejb-jar.xml作为J2EE的描述性部署文件一方面包含有Bean 类的参考信息数据,另一方面还包含有EJB的安全性视图形式。安全视图在逻辑上是安全角色的所有集合。声明方式在执行时可以采用两步走的形式。第一完成对Bean 的安全策略的事先声明,第二完成声明安全角色的部署。
(三) J2EE 的认证模型
J2EE 的认证模型大致如下:EJB方法调用者及普通用户在进行一些操作时需要以必要形式向系统证明自己的身份,系统后台则检索数据库所储存的数据信息进行对比,以此确定用户所提供的证明信息是否合法。容器负责进行认证,具体的认证方式则取决于容器的特性。J2EE一般具有两种认证方式:第一种是Web 层负责完成对用户名及密码等信息的收集,然后将其反馈到EJB层进行具体验证。第二种是Web 层负责完成对用户名及密码等信息的收集后直接对其进行验证,然后把结果上传到EJB层。这是比较常见的方式。 (四)认证方式
根据客户端之间的差异性,用户认证可以划分为应用程序客户端认证和WEB客户端认证两种形式。
1.应用程序客户端认证
J2EE 的所有组件当然也包括其应用程序客户端都是以客户端容器为平台来实现运行的。应用程序客户端负责对使用J2EE的用户进行身份验证。J2EE 获取用户身份验证信息的途径是非常灵活的,一方面可以以自定义的方式获取,另一方面也可以基于使用容器的缺省模式来获取。在实现用户身份验证时,客户端程序容器把系统后台所存储的描述性文件的类别名称上传给系统的认证模块,认证模块在接收数据信息后对其实例化生成实例类。它主要功能是完成对用户信息的收集,并将其反馈到登陆模块,进而登录模块对信息进行对比验证。实现类获取用户认证信息的形式多样,既有命令的形式也有读取本地数据的形式,方式的选取是由认证信息的存储形式所决定的。
2. Web 客户端认证
Web 客户端大多利用互联网通信协议完成对服务器资源的响应。不同级别的用户在获取Web资源的权限也是不同的,所以需要对其进行访问控制。一般身份认证的方式包括表单的认证、HTTP 认证、客户端证书认证三种形式。其中以客户端证书为基础的认证方式在安全性上较之其它方式更为理想。该方式通过对信息真实性、数据加密的认证,有效的保证了数据的安全性。
(五)单点登录技术
为了在Web环境下实现数据的安全访问,采用单点登录技术是一个行之有效的措施。伴随着企业发展的需要,用户一般在进行应用服务时需要登录各种信息系统。传统的应用系统中,各个系统在维护安全性方面都是独立的,它们之间不存在一些必要的关联,用户在进行登录时需要多次输入不同系统的密码,这样既麻烦也不利于系统安全性的提高。而单点登录则较好的解决了该问题,用户在初始登入系统时只需进行一次身份验证就可以对所有系统进行访问,获取所需的网络资源。这样有助于管理员对用户进行安全控制,最大程度的降低了系统的风险。为了实现在业务伙伴之间完成信息的认证及授权,OASIS以及发布了单点登录的安全设计标准SAML1.0,这有助于组建各个企业运营点的单点登录系统。
五、結束语
J2EE大大的提高了企业的开发效率,使企业的系统的开发更加快捷方便,对于大型电子商务平台来说,J2EE的适用性更强。为确保电子商务系统的安全性,J2EE提供了完善的安全机制。J2EE安全策略的实现是通过角色认证来实现的。J2EE的信息安全模型比以往有所简化,而且采用了统一的标准。在进行开发时,可以根据角色设定对特殊功能的访问。在进行大型电子商务系统构建时,不但要考虑系统的安全性,还要考虑系统的可扩展性和可移植性。为此,通常要把传统的认证加密技术和防火墙技术结合起来。
参考文献:
[1]袁梅冷.在基于Spring框架的应用中使用Acegi实现安全控制[J].电脑知识与技术,2006(08)
[2]黄岩渠.基于J2EE安全框架实现应用系统的安全性[J].中国金融电脑,2006(06)
[3]孙秀红,易泽湘.基于J2EE架构的安全电子商务/电子政务系统[J].计算机技术与发展,2006(09)
[4]王泽兵,冯雁.基于Java 2安全体系结构的安全扩展研究[J].计算机工程与设计,2006(24)
[作者简介]侯晓兰(1988-),女,哈尔滨师范大学计算机科学与信息工程学院,本科生,研究方向为计算机教育。
关键词:J2EE;安全机制;认证方法;单点登录
中图分类号:TP312 文献标识码:A 文章编号:1007-9599 (2012) 11-0000-02
一、引言
SUN公司所发布的J2EE平台主要作用是完成分布式应用型系统的创建工作,它对Java开发平台及其他相关问题进行了简化,更简化了公司应用开发,同时还为公司应用提供了数据管理及安全、事物及命名等服务。Java作为编程的标准平台,其代码已经成为应用型系统开发过程中的最基本的要求。同时,Java安全所追求的是:在其平台上安全运行其功能,实现各种服务,满足各领域客户的广泛需求。J2EE核心及其APIS扩展保证了应用系统的安全。同时,J2EE还提供了部分安全商家的系统程序卡口,实现Java的安全拓展。
二、Java 平台的安全性
Java语言要求严格,构架安全,与操作系统语言无关联性,运用其开发的程序可在网络中安全的运行。最原始的Java平台的安全模型是沙箱式的,其安全核心由三个方面组成:
1.字节代码验证:当只有正确的代码出现时才被执行;
2.类加载器:运行时,本地名称范围被其定义,保证了Java的安全运行;
3.安全管理:进行核心系统数据的访问时,由JVM进行协调,利用安全模式进行预先搜索,降低不可信代码出现次数。
但是,沙箱自身具有漏洞。通过在Java中引入新体制,加强其平台安全,新模型中的核心部分主要有:访问权限、保护范围、访问权限复核、安全策略等。
三、J2EE 安全体系
(一)安全体系结构
从B/S模式来看,应用型系统安全体制的开发,一般要进行三个层面的思考。以Java的分布式构架为基础的4种组合主要包括:
1. RMI的远程调试:利用APPLE与J2SE进行服务器的远程调试;
2. WEB应用:利用WEB浏览器、J2SE客户端及APPLE访问SERVLET;
3. EJB组件:即SERVLET、J2SE与EJB组件的访问部署问题;
4. WEB服务:任意程序都可对J2EE容器中的WEB服务进行访问。
针对以上应用,J2EE提供了API,加强自身安全。J2EE的安全结构其实是安全构架的抽象表现。
(二)安全角色映射
J2EE安全应用程序通过支持认证机制保护了同未知实体进行交互的客户,在进行操作前,必须在客户端进行验证,保障自身操作权限;中间核心部分是EJB,开发人员依据需要完成特殊功能的访问与系统安全策略;后台资料库与LDAP服务器保障访问和策略控制的安全。每一个EJB中的安全管制都需要运行计算环境下剥离出的两个“实体”,以此完成某些特殊任务。在进行EJB应用访问之前,这类资料用以进行客户的认证工作,安全角色代表一类特定的用户类型。安全角色的运用使得程序开发人员不必进行安全身份特殊代码的编写,就可在BEAN所部署的安全环境中获得足够的权限。EJB中的安全角色的指定和服务器相关联,但对代码的移植没有影响。
四、J2EE 的安全预警机制
(一) Java 的认证及授权服务
作为J2EE中一个独立的API,JAAS(Java Authentication Authorization Service)即Java认证及授权服务提供给用户权限许可之内的接口,该接口具有可移植性。JAAS适用于各种安全系统,也可较好的适用于现阶段的高级服务器平台及集合有多个安全系统的情况。以J2EE分布式應用程序采用JAAS技术的方式来进行划分,J2EE分布式应用程序可以分为以下两个方面。
1.用户主动出具身份信息证明或者以系统文件进行检索确定身份的形式进行验证,这是应用系统与远程EJB系统实现连接的先决条件。以应用服务器为主的应用服务系统利用JASS完成对用户身份的验证。当用户身份不被识别时,用户将无法调用EJB方法。
2. 以Web浏览器为平台的客户端程序在对Servlet/JSP 层进行连接时,客户端首先进行身份证明,同时Servlet/JSP 层利用JAAS技术对该证明信息进行验证。
(二)EJB容器的安全性
在J2EE平台上,EJB组件的容器决定着其自身的安全性,EJB程序的开发人员无需在组件的安全性花费太多的精力,这有助于业务与安全在逻辑上的独立,这种方式决定了J2EE应用系统具有卓越的可扩展性与可移植性。J2EE以容器为安全性保障可以从声明的安全性和可编程安全性两个方便进行,这有利于进行角色控制。EJB容器负责声明式授权,编程人员则负责编程式授权。
1.可编程式安全性。由于绝大多数的安全策略都已以声明的形式进行陈述,EJB结构体系则依靠必要的方式保证调用者对上下文可编程访问的合法性及安全性。
2.声明安全性。ejb-jar.xml作为J2EE的描述性部署文件一方面包含有Bean 类的参考信息数据,另一方面还包含有EJB的安全性视图形式。安全视图在逻辑上是安全角色的所有集合。声明方式在执行时可以采用两步走的形式。第一完成对Bean 的安全策略的事先声明,第二完成声明安全角色的部署。
(三) J2EE 的认证模型
J2EE 的认证模型大致如下:EJB方法调用者及普通用户在进行一些操作时需要以必要形式向系统证明自己的身份,系统后台则检索数据库所储存的数据信息进行对比,以此确定用户所提供的证明信息是否合法。容器负责进行认证,具体的认证方式则取决于容器的特性。J2EE一般具有两种认证方式:第一种是Web 层负责完成对用户名及密码等信息的收集,然后将其反馈到EJB层进行具体验证。第二种是Web 层负责完成对用户名及密码等信息的收集后直接对其进行验证,然后把结果上传到EJB层。这是比较常见的方式。 (四)认证方式
根据客户端之间的差异性,用户认证可以划分为应用程序客户端认证和WEB客户端认证两种形式。
1.应用程序客户端认证
J2EE 的所有组件当然也包括其应用程序客户端都是以客户端容器为平台来实现运行的。应用程序客户端负责对使用J2EE的用户进行身份验证。J2EE 获取用户身份验证信息的途径是非常灵活的,一方面可以以自定义的方式获取,另一方面也可以基于使用容器的缺省模式来获取。在实现用户身份验证时,客户端程序容器把系统后台所存储的描述性文件的类别名称上传给系统的认证模块,认证模块在接收数据信息后对其实例化生成实例类。它主要功能是完成对用户信息的收集,并将其反馈到登陆模块,进而登录模块对信息进行对比验证。实现类获取用户认证信息的形式多样,既有命令的形式也有读取本地数据的形式,方式的选取是由认证信息的存储形式所决定的。
2. Web 客户端认证
Web 客户端大多利用互联网通信协议完成对服务器资源的响应。不同级别的用户在获取Web资源的权限也是不同的,所以需要对其进行访问控制。一般身份认证的方式包括表单的认证、HTTP 认证、客户端证书认证三种形式。其中以客户端证书为基础的认证方式在安全性上较之其它方式更为理想。该方式通过对信息真实性、数据加密的认证,有效的保证了数据的安全性。
(五)单点登录技术
为了在Web环境下实现数据的安全访问,采用单点登录技术是一个行之有效的措施。伴随着企业发展的需要,用户一般在进行应用服务时需要登录各种信息系统。传统的应用系统中,各个系统在维护安全性方面都是独立的,它们之间不存在一些必要的关联,用户在进行登录时需要多次输入不同系统的密码,这样既麻烦也不利于系统安全性的提高。而单点登录则较好的解决了该问题,用户在初始登入系统时只需进行一次身份验证就可以对所有系统进行访问,获取所需的网络资源。这样有助于管理员对用户进行安全控制,最大程度的降低了系统的风险。为了实现在业务伙伴之间完成信息的认证及授权,OASIS以及发布了单点登录的安全设计标准SAML1.0,这有助于组建各个企业运营点的单点登录系统。
五、結束语
J2EE大大的提高了企业的开发效率,使企业的系统的开发更加快捷方便,对于大型电子商务平台来说,J2EE的适用性更强。为确保电子商务系统的安全性,J2EE提供了完善的安全机制。J2EE安全策略的实现是通过角色认证来实现的。J2EE的信息安全模型比以往有所简化,而且采用了统一的标准。在进行开发时,可以根据角色设定对特殊功能的访问。在进行大型电子商务系统构建时,不但要考虑系统的安全性,还要考虑系统的可扩展性和可移植性。为此,通常要把传统的认证加密技术和防火墙技术结合起来。
参考文献:
[1]袁梅冷.在基于Spring框架的应用中使用Acegi实现安全控制[J].电脑知识与技术,2006(08)
[2]黄岩渠.基于J2EE安全框架实现应用系统的安全性[J].中国金融电脑,2006(06)
[3]孙秀红,易泽湘.基于J2EE架构的安全电子商务/电子政务系统[J].计算机技术与发展,2006(09)
[4]王泽兵,冯雁.基于Java 2安全体系结构的安全扩展研究[J].计算机工程与设计,2006(24)
[作者简介]侯晓兰(1988-),女,哈尔滨师范大学计算机科学与信息工程学院,本科生,研究方向为计算机教育。