文档详情

应用软件系统安全性设计.pdf

发布:2024-06-04约3.53千字共8页下载文档
文本预览下载声明

应用软件系统安全性设计

应用软件系统安全性设计

引言

应用程序安全是一个广泛的领域,类似于OSI网络分层

模型,存在不同的安全层面。为了确保一个应用系统是安全的,

必须在不同层面上都具备足够的安全性。本文将讨论应用系统

本身的安全问题。

安全多层模型

应用系统安全涉及哪些内容

1)系统级安全

系统级安全是应用系统的第一道防护大门,包括访问IP

段的限制、登录时间段的限制、连接数的限制、特定时间段内

登录次数的限制等。

2)程序资源访问控制安全

程序资源访问控制安全对程序资源的访问进行安全控制。

在客户端上,为用户提供和其权限相关的用户界面,仅出现和

其权限相符的菜单、操作按钮;在服务端则对URL程序资源

和业务服务类方法的调用进行访问控制。

3)功能级安全

功能级安全会对程序流程产生影响,如用户在操作业务记

录时,是否需要审核,上传附件不能超过指定大小等。这些安

全限制已经不是入口级的限制,而是程序流程内的限制,在一

定程度上影响程序流程的运行。

4)数据域安全

数据域安全包括两个层次,其一是行级数据域安全,即用

户可以访问哪些业务记录,一般以用户所在单位为条件进行过

滤;其二是字段级数据域安全,即用户可以访问业务记录的哪

些字段。

应用系统安全设计

应用系统安全设计需要考虑多个层面,包括系统级安全、

程序资源访问控制安全、功能级安全、数据域安全等。在设计

时,需要根据应用系统的组织机构特点来决定选择何种授权模

型。同时,需要在不同层面上都具备足够的安全性,确保应用

系统的安全性。

应用系统的安全可以从四个层次进行分类,依次为系统级

安全、程序资源访问控制安全、功能性安全和数据域安全。不

同的应用系统对系统级安全的关注点有所不同,有些业务系统

甚至不需要考虑系统级安全问题。对于无明显组织机构的系统,

例如论坛和内容发布系统,一般没有数据域安全问题,数据对

于所有用户都是一视同仁的。

不同的应用系统对数据域安全的需求有很大的差别,其中

业务相关性比较高。对于行级的数据域安全,可以分为以下几

种情况:大部分业务系统允许用户访问其所在单位及下级管辖

单位的数据,此时组织机构模型在数据域安全控制中扮演着重

要的角色。还有一些系统允许用户访问多个单位的业务数据,

这些单位可能是同级的,也可能是其他行政分支下的单位。对

于这样的应用系统,一般通过数据域配置表配置用户所有有权

访问的单位,并通过这个配置表对数据进行访问控制。在一些

保密性要求比较高的系统中,只允许用户访问自己录入或参与

协办的业务数据,即按用户ID进行数据安全控制。还有一种

比较特殊情况,除进行按单位过滤之外,数据行本身具有一个

安全级别指数,用户本身也拥有一个级别指数,只有用户的级

别指数大于等于行级安全级别指数,才能访问到该行数据。例

如在机场入境应用系统中,一些重要人员的出入境数据只有拥

有高级别指数的用户才可查看。

一般业务系统都有行级数据域控制的需求,但只有少数业

务系统会涉及字段级数据域控制,后者控制粒度更细。字段级

数据域安全一般采用以下两种方式:通过配置表指定用户可以

访问业务记录哪些字段,在运行期,通过配置表进行过滤;业

务表的业务字段指定一个安全级别指数,通过和用户级别指数

的比较来判断是否开放访问。

程序资源访问控制安全是最常见的应用系统安全问题,几

乎所有的应用系统都会涉及到这个安全问题。它的粒度大小界

于系统级安全和功能性安全两者之间,而且业务相关性很小,

容易总结出通用的模型,甚至可以通过的框架解决。例如最近

开始流行的Acegi安全框架就为解决该问题提供了通用的方案。

程序资源访问控制分为客户端和服务端两个层面,类似于

表单数据校验分为服务端和客户端校验两个层面。客户端和服

务端访问控制都是程序资源访问控制的重要层面。

联合描述

这种方式是将编码和程序资源描述结合起来,形成一个统

一的程序资源描述,如Java中的注解。这种方式将程序资源

和访问控制逻辑解耦,维护性较好,但需要在程序中使用注解

来描述程序资源,增加了一定的开发工作量。

通过配置文件描述

将程序资源描述信息放在配置文件中,通过读取配置文件

来实现程序资源的访问控制。这种方式的优点是可扩展性

显示全部
相似文档