[摘 要] j2ee作为多层企业应用开发模型,成为当前电子商务应用开发的主流。随着电子商务得到越来越广泛的应用,其安全性成为人们关注的焦点问题之一。本文主要介绍了基于j2ee的电子商务的安全概念、安全架构的设计技术及其实现方法。
[关键词] j2ee 电子商务 安全架构
一、背景介绍
随着网络应用的发展,电子商务作为一种新的商务系统得到了广泛的应用。目前电子商务的使用越来越广,电子商务的安全性成为人们关注的焦点。事实上,电子商务由于黑客的入侵,系统存在的安全漏洞而造成各方面的损失的报道也屡见不鲜。因此,电子商务的开发设计必须要把安全作为应用系统的一个重要的方面加入到电子商务系统的开发的整体设计中来。
当前电子商务应用的主流开发技术则是以j2ee为主,j2ee(java 2 platform enterprise edition)是美国sun公司推出的多层企业应用开发模型。j2ee简化了基于工业标准的、组件化的企业应用开发,提供了一套完整的企业应用的开发框架和服务的支持。由于j2ee完善和灵活的框架设计、强大服务支持等优点,使其迅速成为电子商务应用系统开发的主流技术。本文则主要介绍了如何在基于j2ee的电子商务系统设计中加入安全架构的设计,并介绍了安全架构设计中的一些概念和实现技术。
二、电子商务的安全架构及其概念
电子商务的安全架构的根本目标是为了实现对用户访问系统和使用系统资源进行控制,达到合法用户合法使用系统的目的,因此在电子商务中采用的安全架构一般涉及到以下几个概念:
1.合法用户:合法用户是指通过验证的,拥有一定系统使用权限的用户。当一个用户进入系统时,只要通过验证后才可以获得进入系统的资格和使用系统的权限。
2.角色:由于一个电子商务系统可能对不同的用户给予不同的权限。如果对每个用户都要进行权限的设置,这样的做法显然是不合理的,因此在电子商务系统中一般将相同使用权限的用户归并成一类,称之为角色,相同的角色拥有相同的系统使用权限。
3.安全域:是一个逻辑范围或区域,在这一范围或区域中安全服务的管理员定义和实施通用的安全策略。它是比角色更高的层的抽象。一个组织可以划分成众多的安全域,而一个安全域中可以包含众多的角色。
4.资源:泛指电子商务系统中可以被用户使用,访问的有价值信息。比如说报价系统,订单系统等都属于电子商务系统的资源。
5.映射:映射是电子商务将一个合法用户与系统内的某个角色相关联的动作,从而该合法用户即拥有对应角色的系统使用权限。一个用户可以在不同的策略配置下对应不同的角色,达到实现系统用户权限管理的灵活性。
以上述的概念可知,一个组织的电子商务系统的安全架构可以首先看成是由安全域组成的,每个安全域内包含了众多的角色和资源。用户通过验证后进入系统,即根据其所属安全域的安全配置策略被映射到其对应的角色上,从而拥有该角色使用系统的权限。
三、电子商务的安全架构设计
1.用户身份验证:用户身份认证是用户进入系统的第一步,也是系统安全性保障的基本前提,用户身份验证有很多种方式和实现技术,就j2ee而言,主要有通过web客户端来实现对用户的身份验证和基于应用程序客户端验证两种方式, j2ee中提供了三种基于web客户端的用户身份验证技术,主要有http基本验证,基于表单的验证,基于客户端证书的验证。而利用基于应用程序客户端验证的方式,这种方式主要是通过应用程序客户端在运行前由其应用程序客户端容器来完成验证过程。
2.安全域的划分:安全域涉及到更高抽象层的安全策略的配置,因此安全域的划分一般是依据电子商务系统用户所属组织的结构来划分。
3.用户角色设置主要是根据用户使用系统的需求来进行设置,将相同使用权限需求的用户归并为一类,设置成相同的角色。并针对该角色依据最小有限使用权限的原则配置该角色在系统中的使用权限。最后根据角色和权限配置,再结合实际的使用情况设置详细的安全管理策略。
4.以上第二、第三步骤主要集中在电子商务的安全管理逻辑设计,当逻辑设计完成后,就需要将逻辑的安全管理规则在电子商务系统中予以实现,在电子商务系统中加入安全管理功能模块。具有的实现方式有多种,以下本文将简要说明在电子商务应用系统中加入用户权限控制的过程和方法。
四、应用举例
在j2ee的架构中实现对用户访问权限的控制主要有二种实现方式:一种是通过session对象来实现,即当用户通过身份验证后,为用户建立一个session对象用以记录用户的角色,以及权限,当用户访问系统中的资源时,首先对用户的session对象中的用户角色权限进行审计。如果用户的角色拥有访问该资源的权限,则允许其访问资源,否则拒绝;另一种方式则是通过对web应用容器进行设置来实现的。以tomcat为例,它可以用其web.xml配置文件进行配置,该配置文件实质上是定义<资源,角色,访问方式>的三元组,在该配置文件将系统的资源定义成用户角色将要访问的页面集合,并将相关的页面资源进行合并,也可以通过通用匹配符来表示成web资源集合,然后根据安全策略的设置,定义针对该集合允许访问的角色集合,在集合中定义允许访问的用户角色,最后是说明角色的验证方式,指出用户的角色名和其所属的安全域。对tomcat配置完成后,则可以由tomcat容器来实现对用户访问资源的控制。
从两种方式对比来看,第一种方式应该说安全策略的配置粒度更细,而且访问权限的控制能力也更强些,但是模块的功能设计复杂而灵活性也会受一定的影响,后一种方式直接在web容器中配置安全策略,实现方便,灵活性也高,但是功能则会受限制。因而其更适合一些小型的应用。
参考文献:
[1]谭 琳:剖析j2ee的安全机制.现代电子技术,2004
[2]张洪伟:tomcat web开发及整合应用.清华大学出版社.2006