基于J2EE的医师协会管理系统安全性研究

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:bohedan
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:介绍了Java平台安全、J2EE安全体系结构。以一个登录请求为例,重点研究了J2EE架构在医师协会管理系统中的应用,以及使用J2EE安全体系结构构建医师协会管理系统。
  关键词:J2EE;安全体系结构;医师协会管理系统
  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)18-2pppp-0c
  
  Security Research on Medical Doctors Association MIS based on J2EE
  JIN Chan-ming
  (Wuhan University of Technology,College Of Computer Science and Technology,Wuhan 430063,China)
  Abstract:In this paper,we research on Java platform security and J2EE security system architecture.Take the request of login for instance,focus on how J2EE works in a college of doctors management system,and how to use J2EE security system architecture to build it.
  Key words:J2EE; security system architecture; a college of doctors management system
  
  1 引言
  
  随着社会主义市场经济的发展,医疗服务的规范化管理日益受到关注,相关的人事制度改革研究也日渐兴盛。为了更好的实现医疗服务规范化管理,严格规范全国各地医师执业资格,更好地协调医师之间的交流合作,建立一套针对全国医师协会的管理系统是势在必行,近年来互联网络的发展和Internet技术的普及,拥有众多优势的B/S结构在Web应用程序开发中得到迅速的推广。但是综合运用JSP、Java、互联网络和数据库等多种技术开发的医师协会管理系统,会存在不少安全性隐患。比如,由于互联网络的开放性、通信协议的安全缺陷、处理分布性等,在网络环境中存储、访问和传输数据信息,很有可能被泄露或破坏,所以加强网络安全非常迫切。
  2 医师协会管理系统概述
  综合分析医师协会管理系统的需求说明,得到系统功能模块图和顶层数据流图。
  
  图2 顶层数据流图
  
  系统用户分为管理员用户和普通用户,不同的用户类型使用权限不同。对于用户管理模块,管理员有增加、修改、删除普通用户信息的权限,而普通用户就只有修改用户信息的权限。对于其他功能模块,管理员可以进行增加、删除、修改操作,普通用户只能浏览。
  
  3 系统的安全性考虑
  
  3.1 物理安全性
  保证安装了医师协会管理系统的计算机设备的物理安全是前提。物理安全是指保护计算机设备免遭雷击、火灾等环境事故以及因人为操作失误导致的破坏过程。主要通过安装消防、避雷系统,设备冗余备份,严格管理及提高员工的整体安全意识等措施予以保障。
  3.2 Java平台的安全性
  J2EE安全体系结构建立在J2SE的基本特征之上,而J2SE又是以Java平台为基础,在研究基于J2EE架构的医师协会管理系统之前,有必要了解Java平台安全机制和J2EE的安全体系结构。
  Java语言是一种与操作系统平台无关的语言,本身有着较为完善的安全机制,用Java开发应用程序,可以安全的在Internet上运行。最初的Java平台(JDK1.1)采用沙箱(sandbox)安全模型,核心主要由3个支柱承担,分别是Java运行环境的3个重要安全组件:类加载器、类文件验证器和安全管理器[1]。
  
  
  图3 Java2安全模型
  
  3.3 用户身份划分
  J2EE中的安全是基于角色的,也就是说资源访问权限赋予角色,通过角色把权限赋予用户。要检查用户是否有访问权限,服务器就检查用户所属的角色以及角色所具有的权限,服务器用特定的工具实现用户和角色之间的映射。不同的J2EE服务器供应商用自己特定的方法告诉服务器哪个用户属于哪个角色,有的使用操作系统的安全机制,有的把用户和角色信息保存在数据库或者文件系统中[2]。通过声明性安全和编程性安全这两种方式可以指出特定角色可以访问的特定资源。
  3.3.1 声明性的安全
  声明性的安全通过安全声明的方式来表示应用程序的安全需求,一般包括安全角色、访问控制和验证要求等。在J2EE平台中的部署描述符充当了声明性安全的主要工具。部署描述符是组件开发者、应用程序部署者和应用程序组装者之间的交流工具。应用程序的开发者用它来表示应用中的安全需求,应用程序部署者或应用程序组装者将安全角色与部署环境中的用户和组件映射起来,在程序运行时容器从部署描述符中提取出相应的安全策略,然后容器根据安全策略执行安全验证。声明性的安全不需要开发人员编写任何相关的代码,一切都是通过配置部署描述符来完成的。
  3.3.2 可编程的安全
  有时候一些声明性安全无法满足特殊安全的要求。假定开发人员定义了两个角色User和Admin,要求User角色的用户只能访问他自己的账户信息,而Admin角色的用户能查看所有账户的信息。这时候利用声明性安全就无能为力了,因为声明性安全通过部署描述符定义的安全需求是基于类,而不是基于实例的。所以这个问题应该利用J2EE的可编程性安全来解决。
  根据实际需要,整个系统面向的用户可分为3类角色:系统管理员、注册用户和游客。每种角色的活动分别沿一条路线前进,对于每一种角色都有相应的机制,控制它只能在允许的活动范围内行使自己的权力,这样就为各种角色构成了自己的活动空间,并且各种角色的活动空间互不干扰,使用这种方法系统的安全性得到了很大程度的加强。在具体的实现上,在数据库中为每种角色都增加了一个表,如administrator表 (系统管理员),user表(注册用户),tourist表(游客用户)。验证用户身份时,使用从用户的证书中获取的信息(用户的证书编号)来验证该信息是否是表中记录的子集,如果是,则说明该用户是该表所表征的角色,可以进行角色允许的操作;否则,将提示为非法用户。为了将角色的活动范围控制在合法的区域内,只对用户有权力访问的页面建立链接,对高安全级的链接增加身份验证[3]。
  3.4 系统登录的安全性考虑
  医师协会管理系统的登录过程如下:
  (1)客户从浏览器客户端向Web服务器发出请求,服务器将请求转发到Web容器,根据请求路径URL找到ActionServlet,Web容器调用Servlet的service()方法,根据请求参数的不同调用doGet()或者doPost()方法。
  (2)ActionServlet的doGet()或者doPost()方法调用process()方法处理请求和响应,生成RequestProcess对象处理配置文件struts-config.xml中的配置信息,依次调用processMapping()查找处理此次请求的Action信息并返回ActionMapping对象;processActionForm()创建此次请求的ActionForm对象;processActionCreate()创建处理此次请求的Action实例(LoginAction对象);processActionPerform()执行Action实例的execute()方法。
  (3)通过调用execute()方法获取LoginForm存储的用户和密码等数据信息,其中将ActionForm Bean、ActionMapping、request、response对象传递给LoginAction对象(Action实例);执行完必要的逻辑处理比如查询数据库后,返回一个ActionForward对象,由该对象调用RequestProcess对象中的processForwardConfig()方法解析配置文件中跳转参数,转发到相应的View页面success.jsp或者failure.jsp。
  医师协会管理系统的登录方式是用表单登录,用户在表单输入用户名及口令以后,提交给服务器,由服务器来查询数据库实现对客户端的认证及授权。但是这并不安全,其主要的漏洞分为一下几种:
  用户的敏感信息在不安全的信道中以明文的形式存在,有时连用户名和密码都没有进行至少的编码,这种方式简单,但只能提供低级的安全。
  没有对服务器进行验证,攻击者冒充服务器,从而要求用户把登录信息发送到攻击者的主机上,这样用户的口令就会被攻击者所截获。
  用户的输入格式非法。在登录时,把用户的登录名和口令作为数据库查询的参数,这样用户可以输入特殊的以及口令来使查询语句失去原来的作用。
  所以要采用安全登录的方式,安全登录的过程如下:
  服务器下载Applet类文件到客户端,并产生一个随机数k,送予客户端,服务器与客户端进行密匙交换,获得会话密匙。客户端的身份验证模块验证服务器身份,客户端的摘要算法模块将用户登录口令进行摘要计算。客户端加密模块把用户名、随机数K 1以及计算所得到的摘要值用会话密匙加密,传送给服务器。服务器脱密模块用会话密匙脱密,获得用户名、摘要值及随机数K 1,验证随机数是否正确并把摘要值与数据库中的摘要值进行匹配,如果服务器匹配成功,JSP显示成功登录,否则显示失败[1][4]。
  3.5 信息发布安全设计
  医师协会信息管理系统内部涉及大量的业务信息发布,主要是发布一些文件、公告信息。这就需要解决哪些人有权限发布信息的问题,既解决身份认证和访问控制的安全问题。可以采用电子政务内网统一的身份认证来访问控制平台,并使用基于PKI/CA体系的数字证书认证方式和基于角色的集中权限管理方式实现。
  
  4 结束语
  
  J2EE平台在构架安全信息管理系统有着独特的优势,其安全体系结构亦非常复杂。文中仅从整体上介绍了构建J2EE的安全构架并针对目前Web开发的弊端,整合了Struts、Hibernate等优秀的开源框架,采用MVC设计模式,构建了一个安全的医师协会管理系统。
  
  参考文献:
  [1] 徐迎晓.Java安全性编程实例[M].北京:清华大学出版社,2003.
  [2] 孙卫琴.精通Struts:基于MVC的Java Web设计与开发[M].北京:电子工业出版社,2004.
  [3] 郝玉龙,等.J2EE编程技术[M].清华大学出版社,2005.
  [4] 倪晓秋,等.J2EE案例开发[M].中国水利水电出版社,2005.
  
  收稿日期:2008-03-12
  作者简介:金婵鸣(1984-),女,湖北武汉人,武汉理工大学计算机科学与技术学院在读硕士,研究方向:多媒体技术、网络应用。
其他文献
摘要:作为对欧美文学影响深远的拉丁美洲作家,博尔赫斯用奇特的叙述方式,将传说或是见诸记载的人物、事件进行“重述”和“改写”。在内容上,他“篡改”和“歪曲”他人作品中所叙述的故事,用近乎抄袭的创作方法表现故事和人物命运的多样性可能,及现实生活的丰富多彩。在形式上,作者从时空的多重维度和现实生活的多重组合中构建文本,将夸张的艺术形式与哲理般的思想内容结合起来,用零散性、互文见义、模糊性体裁、迷宫现象和
摘要:软件复用是提高软件生产力和软件质量的重要途径。本文提出了一种用面向对象的UML方法来分析并从中提取可复用构件的方法,并提出了ERP领域构件的一种提取及分类方法。  关键词:统一建模语言;构件;企业资源计划;构件分类  中图分类号:TP31 文献标识码:A 文章编号:1009-3044(2008)18-20ppp-0c    Extraction and classify component
摘要:系统基于C/S、B/S结构,采用C#为程序设计语言,SQLServer2000为后台数据库。该系统实现了进销存的信息化管理,方便了经营者日常经营管理,减少了额外开销,降低成本。  关键词:进销存;C#;SQLServer2000  中图分类号:TP312文献标识码:A文章编号:1009-3044(2008)18-2pppp-0c  Abstract:System is based on C/
摘要:在简要介绍了JSP数据库连接技术的基本原理和实现方法的基础上,提出了在数据存储、正确选择驱动程序、使用连接池技术及代码优化等方面改进数据访问效率的措施。  关键词:JSP;数据库;连接池  中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)24-1283-02  Research on Performance Optimization of Database Acc
摘要:INTERNET网络的迅速发展使宽带进入了寻常百姓家,网络爱好者们也勇于尝试,在自己的机器上建设自己的网站成为时尚, Win 2000漏洞百出,Win 2003又专门为服务器设计的,而LINUX或UNIX系统在平时又是很少使用。本文介绍了在WINXP环境中利用IIS架构自己的网站的方法。利用Windows XP的组件就可以满足建站的要求,而且安全性能不错。  关键词: Web;FTP;IIS
摘要:江苏省农业种质资源信息系统及基因库建设项目是江苏省农业种质资源保护与利用平台中的一个子平台。平台由水禽种质资源基因库、水禽研究开放实验室、水禽信息中心、水禽推广服务中心等构成。项目中的重要内容之一是构建水禽信息化中心,根据《江苏省农业种质资源保护与利用平台建设总体方案》的要求,要研究和完善水禽种质资源的描述规范,标准化整理,建立江苏省水禽种质资源数据库,通过e-平台和江苏省科技信息共享网络系
摘要:本文介绍了济南市气象网站的建设及其主要结构和网页内容. 济南气象网站发布的信息内容主要为系列气象预报和其他气象信息,实现了网页气象信息的自动更新,介绍了互联网技术在气象服务中的应用。  关键词:气象网站;气象信息;自动更新;后台管理  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)17-20ppp-0c    Internet Technology in Met
摘要:IPv6技术是下一代互联网的技术核心,对IPv6网络入侵检测系统的研究与下一代网络的安全技术紧密相关。在分析网络安全系统的基本原理和IPv6网络的主要特点之后,提出了一种基于IPv6网络入侵检测系统的框架,同时采用了改进的KMP算法和蜜罐技术。  关键词:IPv6;网络入侵检测;模式匹配;蜜罐技术  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)18-2pppp
摘要:本文描述了一种在TCP/IP网络中进行故障节点诊断的程序实现,该方法基于VxWorks操作系统的网络测试仪环境,但此程序算法的实现,并不依赖于底层的操作系统及硬件环境,经过少量修改可以在任何提供TCP/IP协议栈的操作系统中实现,比如Linux,Windows等。  关键词:ICMP;TCP;UDP;路由追踪  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)18
摘要:采用自定义主体Principal和身份Identity实现基于窗体的安全验证,构建了一个灵活方便的安全权限管理系统,综合使用了数据库技术、面向对象设计技术、操作系统权限管理、NET框架中基于代码访问安全性和基于角色访问安全性等多方面技术。该方案可以用于多数WEB系统中,作为通用的安全权限管理模块。  关键词:身份验证;自定义主体;自定义身份  中图法分类号:TP311文献标识码:A文章编号: