工程技术
主办单位:科技部西南信息中心
国际刊号:1671-5586
国内刊号:CN:50-9210/TB
学术数据库优秀期刊 《中文科技期刊数据库》来源期刊
       首 页   |   期刊介绍   |   新闻公告   |   征稿要求   |   期刊订阅   |   在线投稿   |   留言板   |   联系我们   
  本站业务
  在线期刊
      最新录用
      期刊简明目录
      本刊论文精选
      过刊浏览
      论文下载排行
      论文点击排行
      
 

访问统计

访问总数:167255 人次
 
    本刊论文
基于Struts2框架的Web系统安全模型分析

  [摘要]基于B/S结构的应用软件系统,因为其在客户端采用浏览器作为客户端软件而不需要额外安装客户端软件提高了用户的可操作性,近些年来得到了广泛的使用。但其作为一种网络应用软件系统,系统中所要使用到的资源都可能要通过网络进行存取操作,这就对资源的安全性造成了一定的危协。本文就以资源对象的安全性作为出发点,提出一种安全模型以此来保证资源对象在网络中存取的安全性。

  [关键字] Struts2;Web应用;安全模型

  0引言

  近些年来随着企业、事业单位、政府机构以及各种社会组织纷纷建立自己的局域网并接入Internet,基于Web的应用也得到了广泛的发展。用户可以通过Web获取各种服务或资源,并且这些服务或资源只应为合法用户提供。其实这些服务或资源存在于互联网环境下,任何互联网用户都有获取它的可能性(合法或非法),为此就必须有一种机制来保护这些服务或资源,以使得只有合法用户才能使用这些服务或资源。

  1 Struts2框架

  Struts2 Web框架作为目前广泛使用的Web应用软件框架,它通过提供核心控制器实现了Sun的Model2架构,这个控制器可以用来管理业务逻辑层、JSP页面和其他表现设备之间的流程,此外Struts2还通过使用拦截器来实现在业务逻辑实现的前后执行各种校验和权验控制工作以及使用Result来实现返回表现层的工作。如图1所示。

  图1 Struts体系结构图

  从图1中可以得出,Struts的体系结构包括核心控制器,拦截器,业务逻辑(Action)和业务逻辑返回给客户端的表现页面三部分。

  在这里我们主要讨论一下拦截器。拦截器体系是Struts2的重要组成部分,拦截器可以动态的拦截发给业务逻辑(Action)的请求,通过拦截器机制,我们可以在业务逻辑()执行的前后插入某些代码。通过这种方式,就可以把多个业务逻辑中需要重复指定的代码提取出来,放在拦截器里定义,从而提供更好的代码重用性。

  2安全模型

  从以上的Structs2框架分析可得,客户端请求的所有页面首先都会到控制器会聚再由控制器转发到各个业务逻辑(业务逻辑再去访问用户所要的资源),而在控制器与业务逻辑之间可以添加一定量的拦截器来实现对访问资源对象的访问控制。如图2所示。

  图2资源对象访问示意图

  图2中安全参考监督器模块是用来进行资源安全访问控制的核心模块,任何用户对任何资源对象的访问都由此模块来进行许可监督,只有得到安全参考监督器许可用户才可以访问相应的资源对象。

  而对于用户而言其本身也是一种资源,所以在某一使用者在使用系统资源之前,其必须以一个特定的用户身份进行登录。为了保证用户登录的合法性,在此引入了身份验证过程。用户只在合法登录才能进一步的去使用系统中所提供的资源。

  3安全模型的实现

  3.1资源对象的描述及管理

  Web软件系统中的资源主要包括网页、文件夹以及各种文件,为了对这们资源对象实施访问控制就必须对资源对象本身进行描述。在本模型中采用一种称为对象目录的结构来存储系统中的资源对象。对象目录采用面向对象的存储方法,每一个对象实例包括某一具体对象的各种属性,如资源编号、资源名、资源所属人以及资源所属组等。如表1所示。

  表1 资源对象描述表

  ResNumResNameResOfUserResOfGroup

  1file1jackteacher

  在表1中对于每一项资源对象并没有记录某一用户对其的访问权限,这是因为对于不同的资源对象权限的多少以及所牵连的用户数量都是不同的,这样就很难将资源对象的权限记录在每一个对象实例中。为了解决这一问题,模型引入了资源对象的访问控制列表(ROACL:Resource Object Access Control List),每一个资源对象对应于一个资源访问控制列表(使用资源编号建立关联)。每一访问控制列表又包含任干访问控制项(ACE),每个访问控制项用来标识用户或用户组对资源对象的访问权限(如图3所示)。一般情况下,访问控制项有四种类型,分别代表如下含义:拒绝对该资源对象的访问;允许对该资源对象的读取;允许对该资源对象的写入;允许执行该资源对象。访问控制列表首先列出拒绝访问的访问控制项,然后才是允许的访问控制项,并且采用默认拒绝模式。

  图3资源访问控制列表

  上述的资源对象属性以及其访问控制列表在实现时分别可采用二维的关系表来进行实现,分别称为资源对象表和访问控制表。在资源对象表中每一个记录代表某一具体资源;而每一访问控制表表示某一资源对象的访问控制列表;从而形成了资源对象表中一项记录对应于某一特定的访问控制表。

  用户作为一种特殊的资源,它是使用者在使用系统的前提。使用者只有获取了合法用户身份才能在进一步的使用系统资源。用户作为一种资源对象其基本属性信息同样保存在系统中,以便身份验证时使用。用户的基本属性有用户名、密码和用户说明等。由于系统的用户一般都比较多,为了访问控制能够高效实现,在设计时可以对用户按某种关系分为几个组,实现访问控制时除了按用户来也可以按组别来。

  3.2安全参考监督器的实现

  安全参考监督器是实现资源安全访问的核心模块,这一模块根据资源的访问控制列表来保证用户访问的安全性。

  当用户通过身份验证后就成为了系统的一个合法用户,而对于合法用户所言并不意谓着其可以使用系统中的所有资源,对每一资源的访问都要使用安全参考监督器进行访问控制。访问控制的实现通过对照资源访问控制列表来进行。

  3.3审计功能的实现

  审计作为安全系统的一部分,它记录用户访问某一资源这一现实。对于审计功能系统管理员可以进行相应的设置,一般可以分为三类:成功访问审计、失败访问审计及全审计。审计功能实现较为简单,在数据库中建立一张逻辑表来存储审计数据,表中的每一行记录记录一次访问活动。记录中包含的属性主要有用户、用户所属组、资源对象、时间和成功访问或失败访问等。

  4结论

  通过引入安全模型可以对Web资源提供强有力的保护,从而保证Internet上的资源可以安全的为合法提供服务。对于上述的模型通过在校园网Web站点上的实际应用,在服务器服务效率方面无明显下降,所以此模型可以在一般的

  Web应用中进行实现以提高资源安全性。

  [参考文献]

  [1]李刚 编著《Struts权威指南》电子工业出版社 2007

  [2]邓亚平 编著《计算机网络安全》人民邮电出版社 2004

  [3]卿斯汉 蒋建春 编著《网络攻防技术原理与实践》科学出版社 2004

特别说明:本站仅协助已授权的杂志社进行在线杂志订阅,非《工程技术》杂志官网,直投的朋友请联系杂志社。
版权所有 © 2009-2024《工程技术》编辑部  (权威发表网)   苏ICP备20026650号-8