一种基于行为的B/S应用系统访问控制策略

2016-04-08 03:05董晓明
计算机与数字工程 2016年1期
关键词:访问控制列表控制策略

张 剑 董晓明

(中国舰船研究设计中心 武汉 430064)



一种基于行为的B/S应用系统访问控制策略

张剑董晓明

(中国舰船研究设计中心武汉430064)

摘要随着计算机技术和网络技术的快速发展,B/S模式在各类应用系统中得到广泛应用。在基于B/S模式的应用系统中,为了确保数据的安全性和保密性,一般会对用户权限进行验证和控制。论文在研究常用访问控制策略的基础上,提出了一种基于行为的B/S应用系统访问控制策略。详细介绍了该访问控制策略的实现方法和技术途径,并对其特点进行了探讨。

关键词B/S; 访问控制; 行为

An Access Control Policy Base on Action for B/S Application System

ZHANG JianDONG Xiaoming

(China Ship Development and Design Center, Wuhan430064)

AbstractAlong with the rapid development of computer technology and network technology, B/S mode has been used widely in various application systems. In B/S application system, user permission will be authorized and controlled for ensuring the security and confidentiality of data. Based on the research of general access control policy, a policy is proposed for B/S application system based on action. The implementation steps and technical approach is introduced in detail, and the characters are discussed.

Key WordsB/S, access control, action

Class NumberTP393

1引言

随着计算机技术和网络技术的快速发展,信息化、网络化已经成为现代生活的特征之一,无论是在广域网还是在局域网中,B/S模式由于数据共享便利、实现方法简单,在各类系统中得到广泛应用。出于数据的完整性和安全性讨论,在基于B/S模式的应用系统中,一般会设置一定的访问控制策略[1~2],对用户的操作进行权限验证和控制。如何有效地进行访问控制,成为研究的热点。本文在研究常用访问控制策略的基础上,提出了一种基于行为的B/S应用系统访问控制策略,详细介绍了该访问控制策略的实现方法和技术途径,并对该访问控制策略的特点进行了探讨。

2常用访问控制策略

2.1自主访问控制

自主访问控制(Discretionary Access Control,DAC)[3~4]允许合法用户以用户或用户组的身份访问策略规定的客体,同时阻止非授权用户访问客体,某些用户还可以自主地把自己所拥有的客体的访问权限授予其他用户。在实现上,首先要对用户的身份进行鉴别,然后就可以按照访问控制列表所赋予用户的权限允许和限制用户使用客体的资源。主体控制权限的修改通常由特权用户或是特权用户(管理员)组实现。

2.2强制访问控制

强制访问控制(Mandatory Access Control,MAC)[5~6]的用户和客体资源都被赋予一定的安全级别,用户不能改变自身和客体的安全级别,只有管理员才能够确定用户和组的访问权限。MAC是一种多级访问控制策略,在实施访问控制时,系统先对访问主体和受控对象的安全级别属性进行比较,再决定访问主体能否访问该受控对象。

2.3基于角色的访问控制

基于角色的访问控制(Role-based Access Control,RBAC)[7~8]的基本思想是将访问许可权分配给一定的角色,用户通过饰演不同的角色获得角色所拥有的访问许可权。通过给用户分配合适的角色,让用户与访问权限相联系。角色成为访问控制中访问主体和受控对象之间的一座桥梁。

2.4基于任务的访问控制

基于任务的访问控制(Task-based Access Control,TBAC)[9~10]是从任务(活动)的角度来建立安全模型和实现安全机制,在任务处理的过程中提供动态实时的安全管理。在TBAC中,对象的访问权限控制并不是静止不变的,而是随着执行任务的上下文环境发生变化。TBAC不仅能对不同工作流实行不同的访问控制策略,而且还能对同一工作流的不同任务实例实行不同的访问控制策略。

3B/S应用系统的访问控制策略

3.1安全需求

在B/S模式的应用系统中,用户通过浏览器方式访问服务器上存储的数据。为了保证数据的安全性,应用系统在访问控制方面一般应满足如下要求:

1) 通过给用户授权,分配给用户一定范围的权限,使得用户按照分配的权限访问系统数据;

2) 通过给用户分配角色身份,使得用户只能执行角色身份范围内的职权操作,不能逾越自己的角色身份;

3) 访问控制策略实现方便,同时便于后期扩展。

3.2策略选择

针对以上需求,单一的访问控制策略不能完全满足,而将自主访问控制策略和基于角色的访问控制策略结合起来可以满足。基于以上思想,提出了一个基于行为(action)的访问控制策略。

总体实现思路是以action为核心实施访问控制。将用户的操作细分为多个action,用户在执行某个action之前,进行权限检查,判断用户是否有权限进行这个操作,如果用户有权限,则程序允许用户执行这个操作,否则,程序拒绝执行,并提示用户权限不够。

权限检查分为两个步骤:

1) 检查用户被分配的角色是否有资格执行当前的操作。该步骤采用基于角色的访问控制策略。

2) 检查用户被授予的权限是否满足action的权限要求。该步骤采用基于自主访问控制策略。

比如,明确鲢鳙鱼的投放、捕捞经营权归千岛湖发展集团,鲢鳙鱼年投放量必须在60万kg以上,鲢鳙鱼捕捞生产采取限额捕捞制度。

如果以上两项权限检查都通过,则说明用户有权限执行操作,系统放行用户操作。只要有一项权限检查没通过,则系统阻止用户操作。

3.3技术实现

3.3.1检查用户的角色资格

检查用户的角色资格包含三点:确定角色身份及角色的操作范围;设置用户角色;检查用户的角色权限。

1) 确定角色身份及角色的操作范围

根据常用信息系统的角色划分情况,设置四种身份角色:系统管理员、安全保密员、安全审计员和普通用户,并对每种角色分配能够执行的操作,即每种角色能够执行哪些action。

2) 设置用户角色

设置用户名和密码,设置用户组,以及将用户划分到哪一个用户组,这些操作都是在LDAP服务器上进行的。当用户登录系统时,根据用户输入的用户名和密码,从LDAP服务器获取当前用户的信息,查询当前用户属于哪些用户组,根据用户所在的用户组,判断用户的角色。具体对应关系如表1所示。

表1 角色对应的用户组

在设置用户角色时,需满足以下条件:

2) 用户不能同时具备多种角色身份,即用户仅且只能被划入上述四个特定用户组的一个,不能同时存在于两个及以上的特定用户组中。

3) 检查用户角色的权限

当用户执行某个action时,首先获取配置文件中该action能够被哪些角色执行,然后从LDAP服务器获取用户的角色身份,只要用户的角色身份在允许执行该action的角色列表中,则用户的角色权限检查通过,说明用户有资格执行该action。例如,执行某个action时,要求的角色身份包括系统管理员、安全审计员、安全保密员,如果用户的身份是普通用户,则用户无法执行该action。

3.3.2检查用户的权限

检查用户的权限包含两点:设置执行每个action所需的权限;设置数据的访问控制列表。

1) 设置执行每个action所需的权限

用读、写、执行,即RWX三位的二进制数来描述操作的权限。凡是执行对数据进行写入的操作需要拥有写权限,凡是执行对数据进行查询的操作需要拥有读权限。用‘0’表示无权限,‘1’表示有权限。由于操作action用不到执行权限X,所以用RWX的二进制数表示执行action所需要的权限时,X位用0填充。

action权限的设置需要仔细考虑实际操作的需要。例如,添加各种节点的操作是append,需要的权限表示为“010”,即写入数据的权限;查询各种节点列表的操作是update list,需要的权限是“100”,即读取数据的权限;“000”则说明不需要用户具备任何权限。

2) 设置数据的访问控制列表

设置数据的访问控制列表,就是设置指定用户和用户组对于特定数据中各种操作拥有的权限。权限信息记录以XML文件形式记录,在相应的数据下加入访问控制列表元素〈acl〉〈/acl〉,其详细结构如表2所示。修改权限信息记录的操作只能由安全保密员进行设置。

在设置数据的访问控制列表时,有以下特点:

(1)服务器自动为数据的创建者添加了对于该数据的访问权限。而其他用户对于该数据的访问权限必须由安全保密员在访问控制列表中设置。

(2)如果给用户组分配了权限,那么该用户组所有的用户都被分配了相同的权限。

(3)如果某用户所在的用户组被分配了某数据的访问权限,而该用户又被单独分配了对于该数据的访问权限,那么系统以用户单独被分配的权限为准。

3) 检查用户的权限

当用户执行某个action时,首先获取配置文件中执行该action需要的权限,然后再获取访问控制列表中用户被分配的权限。只要用户拥有的权限满足执行该action需要的权限,则用户的权限检查通过,说明用户有权限执行该action。例如,执行删除某个节点的操作时,要求的权限是“010”写权限,如果用户拥有的权限是“100”读权限,则用户无法执行该action,被系统拒绝。

由于在访问控制列表中设置用户对于数据的权限时,既可以设置用户的权限,也可以设置用户组的权限,所以检查用户的权限需要考虑到多方面的情况,按以下流程判断用户拥有的权限是否满足要求:

(1)如果用户是创建者,那么以创建者的权限作为判断依据,否则执行第(2)步;

(2)如果用户在访问控制列表中被单独设置权限,那么以用户被单独分配的权限作为判断依据,否则执行第(3)步;

(3)如果用户所在的用户组在访问控制列表中被设置了权限,那么以用户组的权限作为用户的权限进行判断,否则执行第(4)步。需要说明的是,如果用户所在用户组不止一个,且这些用户组在在访问控制列表中不止一个被设置了权限,取用户组的最大权限,作为用户的权限;

(4)取访问控制列表中〈other/〉元素的权限,作为用户权限被判断的依据。

表2 访问控制列表详细结构

4讨论

基于行为的访问控制策略,可以为B/S系统的数据访问控制带来如下好处:

1) 实施灵活。通过为用户划分角色,将用户的权限进行粗分,使得不同角色身份的用户具有对应的权限。同时也可直接为用户设置相应权限。

2) 扩展容易,可以根据实际需要,将行为划分为不同的粒度。例如,可以将粒度粗略划分到每一种操作(添加、删除);也可以细致划分到每一类节点的操作。

5结语

本文针对B/S应用系统的访问控制,提出了一种基于行为的访问控制策略。该策略实施灵活、扩展容易,可以有效实现B/S应用系统的数据安全性保护。

参 考 文 献

[1] 魏玮,张庆,梁文铮.B/S系统中跨权访问控制技术[J].兵工自动化,2011,30(2):49,65.

WEI Wei, ZHANG Qing, LIANG Wenzheng. Technique of Access Control Based on B/S System[J]. Ordnance Industry Automation,2011,30(2):49,65.

[2] 张轩,余亮.基于LDAP的B/S应用系统权限管理[J].舰船电子工程,2012,32(9):108-110.

ZHANG Xuan, YU Lian. Authority Management on B/S Application System Based on LDAP[J]. Ship Electronic Engineering,2012,32(9):108-110.

[3] 张强,魏立峰.严格自主访问控制的研究与设计[J].计算机技术与发展,2012,22(4):219-222,226.

ZHANG Qiang, WEI Lifeng. Research and Design of Strict Discretionary Access Control[J]. Computer Technology and Development,2012,22(4):219-222,226.

[4] 李广.强制访问控制和自主访问控制应用区别浅析[J].计算机安全,2012(8):86-88.

LI Guang. Analysis for Difference between Mandatory Access Control and Discretionary Access Control[J]. Computer Security,2012(8):86-88.

[5] 王静,徐开勇,赵彬.一种Xen细粒度强制访问控制框架的设计与实现[J].计算机应用与软件,2013,29(12):99-102,136.

WANG Jing, XU Kaiyong, ZHAO Bin. Design and Implementation of A Fine-Grained Mandatory Access Control Framework of Xen[J]. Computer Applications and Software,2013,29(12):99-102,136.

[6] 蒋绍林,王金双,于晗,等.改进的Android强制访问控制模型[J].计算机应用,2013,33(6):1630-1636.

JIANG Shaolin, WANG Jinshuang, YU Han, et al. Improved mandatory access control model for Android[J]. Journal of Computer Applications,2013,33(6):1630-1636.

[7] 吴娇.基于RBAC的权限管理研究与设计[J].现代机械,2014(1):91-94.

WU Jiao. Research and design of privilege management based on RBAC[J]. Modern Machinery,2014(1):91-94.

[8] 夏文忠,单长吉.RBAC在图书馆门户网站访问控制中的应用[J].重庆科技学院学报(自然科学版),2014,16(2):137-139.

XIA Wenzhong, SHAN Changji. The Application of RBAC in The Library Portal[J]. Journal of Chongqing University of Science and Technology(Natural Sciences Edition),2014,16(2):137-139.

[9] 李勇,盖新貌.面向应用对象的访问控制模型研究[J].计算机工程与设计,2012,33(1):61-65.

LI Yong, GAI Xinmao. Research of application object oriented access control model[J]. Computer Engineering and Design,2012,33(1):61-65.

[10] 张文梅.基于信任的任务访问控制模型[J].实验室研究与探索,2013,32(3):258-262.

ZHANG Wenmei. Task-based Access Control Model Based on Trust[J]. Research and Exploration in Laboratory,2013,32(3):258-262.

中图分类号TP393

DOI:10.3969/j.issn.1672-9722.2016.01.025

作者简介:张剑,男,硕士,工程师,研究方向:舰船电子信息系统。

收稿日期:2015年7月10日,修回日期:2015年8月21日

猜你喜欢
访问控制列表控制策略
学习运用列表法
扩列吧
工程造价控制策略
现代企业会计的内部控制策略探讨
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
容错逆变器直接转矩控制策略
基于Z源逆变器的STATCOM/BESS控制策略研究
大数据平台访问控制方法的设计与实现