日期
|
<chsdate isrocdate="False" islunardate="False" day="1" month="8" year="2005" w:st="on"></chsdate>2005年8月1日
|
作者
|
<rtx w:st="on"></rtx>gauss
|
类型
|
安全认证
|
内容
|
电子平台的安全模式设计
|
电子平台的安全模式设计
1. 前言
由于电子平台的办公信息的敏感性以及网络的虚拟性和开放性,决定了电子平台系统需要有强有力的用户访问安全、网络安全、系统安全、应用程序安全、数据库和事务管理器安全来保证电子平台系统的安全。而系统采用J2EE框架正是满足以上需要,它不但将安全任务的一些内容转移给容器,且能够提供应用程序员完成安全任务的功能。
2. 方案的整体设计
在电子平台系统的安全体系中我们主要应用到了集中认证、系统密码加密、Web模块的角色配置和EJB模块的角色配置。下面就是系统的整个安全体系的设计示意图:
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"></shapetype><stroke joinstyle="miter"></stroke>
<formulas>
</formulas>
<f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f>
<lock aspectratio="t" v:ext="edit"></lock><shape id="_x0000_i1025" style="WIDTH: 359.25pt; HEIGHT: 414pt" type="#_x0000_t75"></shape><imagedata o:title="绘图3" src="file:///C:\DOCUME~1\gauss\LOCALS~1\Temp\msohtml1\01\clip_image001.jpg"></imagedata><lock aspectratio="f" v:ext="edit"></lock>
电子平台安全体系示意图
2.1 集中认证:
集中认证就是采用CA机构的认证服务器和Web应用程序,对客户端数字证书的验证过程与普通的认证相同都是采用的Https传输信息。在验证完成以后CA机构的Web应用程序会根据配置文件转发到指定位置,这里我们可以设定电子平台系统的首页面,同时将认证的一些信息放到客户端的Cookie中,这样我们只需要在自己的电子平台系统的用户进行业务登入的时候调用CA机构提供的认证接口进行验证,这个过程是采用Http方式,速度上将会有很大的提高,同时保证的安全性,且对电子平台系统的影响较小,有利于系统的开发、集成和更新。为了更好的说明集中认证与普通认证的区别,我做了以下比较:如图
<shape id="_x0000_i1026" style="WIDTH: 363pt; HEIGHT: 161.25pt" type="#_x0000_t75"></shape><imagedata o:title="" src="file:///C:\DOCUME~1\gauss\LOCALS~1\Temp\msohtml1\01\clip_image003.png"></imagedata>
集中认证VS普通认证
下面我们集中讨论集中认证在电子平台系统的应用,下面是电子平台系统应用集 中认证的一个网络流程示意图和集中认证的程序流程图:
<shape id="_x0000_i1027" style="WIDTH: 363pt; HEIGHT: 322.5pt" type="#_x0000_t75"></shape><imagedata o:title="liu2" src="file:///C:\DOCUME~1\gauss\LOCALS~1\Temp\msohtml1\01\clip_image005.jpg"></imagedata>
电子平台应用集中认证的流程图
系统应用集中认证登陆注册的程序流程:
<shape id="_x0000_i1028" style="WIDTH: 193.5pt; HEIGHT: 446.25pt" type="#_x0000_t75"></shape><imagedata o:title="liu" src="file:///C:\DOCUME~1\gauss\LOCALS~1\Temp\msohtml1\01\clip_image007.jpg"></imagedata>
上面提到的一些关于集中认证的一些概念可以参考《关于CA的一些基本概念》和《公钥基础设施PKI技术》。具体服务证书和CA认证机构auth.war包怎么部署以及如何应用参考《集中认证在电子平台中应用》文档。关于调用CA机构提供的验证接口在LoginAction/RegAcion内进行。具体如何实施在下面的“系统开发过程中注意的事项”中会具体讨论。
2.2 J2EE安全体系:
电子平台采用采用先进的、流行的MVC三(多)层技术体系架构,分别为:View、Controller、Model,如下图所示:
<shape id="_x0000_i1029" style="WIDTH: 384pt; HEIGHT: 247.5pt" type="#_x0000_t75"></shape><imagedata o:title="绘图4" src="file:///C:\DOCUME~1\gauss\LOCALS~1\Temp\msohtml1\01\clip_image009.jpg"></imagedata><lock aspectratio="f" v:ext="edit"></lock>
这样将业务逻辑层与视图分开不但有利于开发而且保证了数据的安全性,下面主要谈一下J2EE应用程序的安全性。
J2EE应用程序安全使用基于角色的安全机制,在开发期间,我们应当通过为特定的安全角色分配安全资源和方法来确定应用程序的安全策略。在应用程序装配期间,安全角色被影射为真实的用户和组。这种两段式安全管理方法给予应用程序很大的灵活性和可移植性,在运行时,J2EE容器负责强迫执行访问控制安全的资源和方法。J2EE容器支持两类安全:
·说明性的安全性:
·可编程的安全性:
说明性的安全性,根据名称可以看出说明性安全主要是将安全策略在部署的描述文件中定义,可编程的安全性要求程序员通过编码来保证J2EE的安全性。而不需编码实现,它主要借助J2EE的容器根据定义对安全策略。可编程的安全性,我们在本系统中采用说明性的安全性。两者之间都有各自的优缺点:
名称
|
优点
|
缺点
|
说明性的安全性
|
不需要编码,减轻了程序员的编码工作量;更改角色方便。
|
灵活性差;部署的时候比较麻烦
|
可编程的安全性
|
灵活性好,能够根据业务的需要定制安全;部署方便
|
需要编码实现,增加了程序员的工作量;更改角色不方便,需要修改代码
|
在电子平台项目中我们是尽量采用说明性的安全性,若在说明性的安全性无法满足业务 需求的情况下采用可编程的安全性。下面我们分为Web模块和EJB模块来讨论:
2.21:Web模块:
在Web模块里面用的角色现拟如下:
大众用户 everyone
企业用户 enterprise
质检用户 organ
市监督局 city_ surveillance
省监督局 province_ surveillance
国家监督局 country_ surveillance
平台管理员 plat _manager
具体到开发部署的时候可以根据需要变通的进行更改和增删。
(A)定义验证方法:
验证机制定义客户如何被Web应用程序验证。在应用任何验证约束之前,用户需要使用一个已经设置的机制来通过验证过程。Servlet规范定义了4种验证用户的机制。基础验证、摘要验证、客户证书验证、基于表单的验证。电子平台系统主要采用了客户端证书验证和基于表单的验证。其中关于证书的验证采用的集中认证的模式。
(B)定义安全角色:
在Web部署描述文件web.xml中,所用在Web模块中使用的安全角色和一个可选的描述文字都必须被命名。一个角色时一个占位符,在应用程序的部署期间占位符最后被映射为真实的用户和用户组。
(C)定义安全约束:
在Web模块中可以定义多个安全约束。安全约束声明了应用程序的内容是如何被保护的。对于一个给定的安全约束,我们定义2个特征:
·Web资源集合:一个Web资源集合是一组URL模式和该模式代表的资源中的HTTP方法。一个安全约束可以有多个Web资源集合。
·授权约束:一个授权约束定义了在安全约束下授权哪些角色存取Web资源集合。
(D)为单个的servlet/jsp定义安全角色引用(可选):
这部分内容可以根据需要,将一些比较特殊而且安全级别比较高的页面定义安全角色引用。
(E)口令加密:
分享到:
相关推荐
本项目“J2EE电子商务平台”旨在模仿淘宝网这样的大型在线购物网站,利用Struts、Hibernate和Spring这三大核心框架,提供了一个全面的功能体系,包括开设店铺、购买商品、留言交流以及商品浏览等服务。 首先,...
### J2EE体系结构及其主要设计模式 #### J2EE体系结构 **1.1 J2EE产生前提** 随着企业应用系统的不断复杂化以及分布式应用程序的需求增加,传统的开发方式已经无法满足新的需求。例如,当应用程序需要跨越多个...
### 基于J2EE的水务电子政务体系结构研究 #### 概述 随着信息技术的飞速发展,电子政务已成为提升政府工作效率和服务质量的重要手段。对于水务领域而言,实现电子政务不仅能够优化水务管理流程,还能够提高公共...
### 基于J2EE体系结构的保险电子商务系统的设计研究 #### 一、引言与背景 随着互联网技术的迅速发展,电子商务逐渐成为各行各业的重要组成部分。保险业作为传统金融领域的一部分,在面对新市场形势下,迫切需要...
9. **安全管理**:讲解J2EE的安全机制,如角色、权限、认证和授权,以及如何在Web.xml和ejb-jar.xml中配置安全约束。 10. **Javadoc与文档生成**:指导如何使用Javadoc工具生成API文档,提高代码的可读性和维护性。...
总结,J2EE应用实践教程涵盖了从基础到进阶的多个方面,通过PPT形式的电子教案和实例代码,学习者不仅可以深入理解J2EE的理论知识,还能通过实践提高自身的开发能力。无论是对初学者还是有一定经验的开发者,这都是...
J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的...
本文根据 J2EE 体系结构规划了一个 BtoC 模式的电子商务交易平台,要求该平台符合 J2EE 架构的企业级 Web 应用开发框架,以利于提高开发效率,同时保证系统的稳定性、安全性、易维护性。 一、J2EE 分层结构 J2EE ...
在信息技术领域,J2EE(Java 2 Platform, Enterprise Edition)是一个用于构建企业级应用程序的平台,尤其适合开发分布式、多层架构的电子商务系统,如电子商城。本篇文章将深入探讨基于J2EE技术栈的电子商城系统...
10. **安全**:J2EE提供了一套全面的安全模型,包括身份验证、授权、加密等机制,保护应用程序和数据的安全。 通过"J2EE+Tutorial中文版.chm"这个文档,学习者可以了解到J2EE的完整体系,理解各种组件的作用,掌握...
【J2EE网上书店项目】是一个基于Java企业版(J2EE)技术平台构建的在线图书销售系统。这个项目展示了如何利用J2EE的核心组件...通过这样的项目实践,开发者可以提升对J2EE体系结构、数据库操作以及Web开发流程的理解。
在J2EE技术体系中,主要涉及以下几个关键组件和概念: 1. **Servlet**:Servlet是Java编写的服务器端程序,用于处理HTTP请求,是J2EE应用的核心部分。开发者可以通过Servlet实现动态网页内容的生成,处理客户端请求...
J2EE(Java 2 Platform, Enterprise Edition)是Oracle公司推出的用于构建企业级分布式应用的平台,它提供了一个标准化、模块化的框架,使得开发人员可以利用Java语言进行多层架构的应用程序开发。J2EE教程中文版是...
Java 2 Platform, Enterprise Edition(J2EE)是Oracle公司推出的用于开发企业级分布式应用程序的平台,它包含了一系列的API、服务和协议,为开发者提供了构建可扩展、安全且易于维护的企业应用的框架。在J2EE环境中...
1. **跨平台性**:J2EE基于Java语言,具有天然的跨平台特性,使得开发的应用可以在多种操作系统上运行,无需进行大量修改。 2. **可伸缩性与可扩展性**:J2EE设计之初就考虑到了企业级应用的规模和复杂度,通过组件...
J2EE采用多层次体系结构,主要包括用户层、Web层、业务层和EIS层。 1. **用户层**:负责与用户交互,展示信息。支持多种用户类型,如HTML用户、Java Applets等。 2. **Web层**:处理客户端请求,由Web容器内的...
- **体系架构**:J2EE平台的核心是一组用于开发和部署可移植、健壮、安全、多用户访问、多层基于Web的应用程序的技术和服务。 - **主要技术**:包括但不限于Servlets、JSP、EJB、JDBC、JMS、RMI-IIOP等。 #### 二...
### J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现 #### J2EE概论 - **双层架构与多层架构的区别**: - 双层架构通常指的是客户端/服务器(Client/Server, C/S)架构,这种架构下的应用程序在...