访问控制一直是信息安全的重要保证之一。基于角色的访问控制(Role-Based Access Control, RBAC)也是目前研究应用广泛的一种访问控制模型。为了保证系统的数据安全,严格区分各用户对系统访问的功能和权限的基础上,本文提出在基于角色的访问控制中与校园网组织结构相一致的安全策略,重点阐述所采用的基于角色的用户访问控制,并在数据库中增加角色对数据表中每一项的访问权限表应用于西北民族大学校园网,可提供一个灵活稳定又安全的校园网络环境。 Access control has been an important guarantee information security. Role-Based Access Control (RBAC) is currently widely used as a research application access control model. To ensure the security of the data in the system, based on the distinction among the individual user’s access to system as well as to the function of the system, this article proposes the security strategy which is consistent with the campus network organizational structure. It puts stress on the role-based user access control; and in the database, the role’s access authority to every item in the data table applied to the Northwest University for Nationalities campus network is also increased. Thus a flexible and stable campus network environment is provided.
皮炳坤1,王春喜2,张弘强1,马聪1,王书文1*
1西北民族大学电气工程学院,甘肃 兰州
2郑州市气象局,河南 郑州
收稿日期:2016年7月15日;录用日期:2016年7月24日;发布日期:2016年7月27日
访问控制一直是信息安全的重要保证之一。基于角色的访问控制(Role-Based Access Control, RBAC)也是目前研究应用广泛的一种访问控制模型。为了保证系统的数据安全,严格区分各用户对系统访问的功能和权限的基础上,本文提出在基于角色的访问控制中与校园网组织结构相一致的安全策略,重点阐述所采用的基于角色的用户访问控制,并在数据库中增加角色对数据表中每一项的访问权限表应用于西北民族大学校园网,可提供一个灵活稳定又安全的校园网络环境。
关键词 :校园网管理系统,访问控制,角色,数据库
20世纪70年代,为了解决大型主机上共享数据授权访问的管理问题,访问控制技术快速发展起来。为实现信息的可用性,保证合法用户能够访问到资源,可以采用访问控制对系统权限进行设定 [
目前,主流的访问控制技术有自主访问控制DAC (Discretionary Access Control)、强制访问控制MAC (Mandatory Access Control)和基于角色的访问控制RBAC (Role-Based Access Control) [
基于角色的访问控制RBAC [
基于角色的访问控制的基本模型以及概念结构对应关系主要包括四个实体:用户(User)、角色(Role)、权限(Permission)、会话(Session)。在应用系统方面,用户通过会话激活出角色集,并得到映射在角色集的访问权限,间接地访问应用系统的信息资源。该管理机制主要有3种对象:
用户(User):使用系统的操作人员,可以是人、计算机等。
角色(Role):是一个组织中的工作或职务,如教师、学生等。它是已命名的权限的集合,也是一个有序对(N,P)。其中N = 角色名,P = 权限的集合。
权限(Permission):对系统中的客体进行特定模式访问的操作命令的许可。它是个有序对(X, M),其中X为一个对象,M表示对X的非空的存取方式的集合。在数据库系统中X可以是各种数据项、二维表、视图、元组等对象。
用户、角色和权限三者之间的关系模型图如下图1所示。
比如西北民族大学新进一名本科生student1,使这名本科生具有学生的权限。只需系统管理员将学生这个角色分配给student1,而不用更改访问控制列表。多个角色可以指派给一个用户,比如一个用户有多重身份,可以是学生,也可以是负责授课的老师。学校可以有学生、教师和教务管理人员等不同的角色。在学生成绩管理系统中,假设Tchl,Tch2,Tch3,…,Tchi是各位教师;Studl,Stud2,Stud3,…,Studj是与其对应的学生;Mngl,Mng2,Mng3,…,Mngk是教务处的相关负责人,那么学生的权限为{查询自己课程的成绩,反馈老师教学的意见};老师的权限为{录入所教课程的成绩,查询所教学生的成绩,按各种查询结果打印成绩表};教务管理人员的权限为{日常事务管理,查询所有在校生成绩,按各种查询结果打印成绩表}。
在校园网中,通过管理系统来提供全校统一的用户管理平台和授权认证体系,实现各应用系统的集中认证,规范用户的操作行为,对校园网内一些涉及到钱财方面和个人隐私的信息等进一步安全过滤。校园网管理系统采用单点登陆技术,用户通过一次登陆认证后,即可获得相应权限,能使用数字化校园中所有应用系统提供的服务。这不仅可以通过各种角色来决定哪些数据可访问,实现访问力度控制,而
图1. RBAC模型结构图
且在该用户有权访问数据后再由数据项的访问权限来确定用户可访问的数据项,实现访问粒度控制 [
用户访问控制设计中采用位映射来组织功能权限信息,即每种功能权限对应一个bit位,允许用“1”代表,禁止用“0”代表。这些表示功能权限的位合成二进制,形成了角色权限码。当系统认为当前用户是合法用户时,便可获得该用户所对应的角色权限码,并根据该值和特定的映射关系得出用户对应于每种功能权限的情况 [
对于用户管理和角色管理中涉及到数据库层的用户、角色的增删及角色权限的设定则由SQL Server 2000 [
其中,表1是作用于系统用户信息;表2是作用于保存角色信息;表3是作用于保存系统的权限信息,可定义系统哪些模块公开;表4是作用于关联用户和角色的关系表;表5是作用于关联角色和权限的关系表;表6是对于不同的角色,我们需要展示的数据内容也不同;见下表所示。
管理系统包括两种模块:一部分是针对整个高校校园网信息系统的用户、角色、权限设定的模块。
字段名 | 数据类型(宽度) | 主键 | 说明 |
---|---|---|---|
User-ID | Varchar (20) | TRUE | 用户编号 |
Super-user | Varchar (20) | 系统管理员,可根据需要增加系统角色,同时设置权限 | |
User-name | Varchar (20) | 用户名 | |
Password | Varchar (20) | FALSE | 密码 |
表1. 用户集合表
字段名 | 数据类型(宽度) | 主键 | 说明 |
---|---|---|---|
Role-ID | Varchar (20) | TRUE | 角色编号 |
Role-name | Varchar (20) | 角色名 | |
Description | Varchar (100) | FALSE | 该角色的相关描述 |
表2. 角色集合表
字段名 | 数据类型(宽度) | 主键 | 说明 |
---|---|---|---|
Permission-ID | Varchar (20) | TRUE | 权限编号 |
Permission-name | Varchar (20) | 权限名称 | |
Description | Varchar (100) | FALSE | 描述权限信息 |
表3. 权限集合表
字段名 | 数据类型(宽度) | 主键 | 说明 |
---|---|---|---|
User role-ID | Varchar (20) | TRUE | 用户角色编号 |
User-ID | Varchar (20) | 合法用户的编号 | |
Role-ID | Varchar (20) | 角色编号 | |
Description | Varchar (100) | FALSE | 用户角色信息描述 |
表4. 用户–角色表
字段名 | 数据类型(宽度) | 主键 | 说明 |
---|---|---|---|
Role permission-ID | Varchar (20) | TRUE | 角色权限编号 |
Role-ID | Varchar (20) | 角色编号 | |
Permission-ID | Varchar (20) | 权限编号 | |
Description | Varchar (100) | FALSE | 角色权限信息描述 |
表5. 角色–权限表
字段名 | 数据类型(宽度) | 主键 | 说明 |
---|---|---|---|
Role | Varchar (100) | TRUE | 角色名 |
Column1 | Varchar (1) | 用0/1表示访问权限 | |
Column2 | Varchar (1) | 用0/1表示访问权限 | |
...... | ....... | ....... | ....... |
表6. 角色访问数据权限表
在这个模块下可以创建新用户,指定用户能登录的子系统,及为用户分配在可登录的各个子系统中所拥有的不同的角色,不同的角色具有不同的权限。另一部分是嵌入不同的子系统的用户、角色、权限设定模块。在这个模块下创建的新用户被默认为只能登录该模块所在的子系统里。
在校园网系统的各个子系统里,未经授权的用户不能对数据库进行任何操作命令。用户输入其账号、密码准确后可取出用户的系统登录权限码来决定用户能否登录该子系统。成功登录后,软件模块根据角色权限码来控制用户分权操作的子系统 [
用户管理部分用来创建新用户、维护用户信息、指定用户可以登录的模块,并为用户分配指定模块的多个不同的角色。用户组管理如图3所示。
角色管理部分用来创建各个子系统下的角色,并给每个角色分配属于该系统下的权限。我们可以根据不同的分类标准来实现角色,进行权限管理。用户通过角色获得该角色对应的权限,我们通过数据库的授权方式来实现基于角色的功能和权限控制。在许多系统中,普通用户的数量都比较多,而且大部分用户具有许多相同的权限,可以把这些具有相同权限的用户(如研究生)组成一个用户组,然后为每一用户
组分好角色。系统管理员设定不同层次的用户组来实现对用户的简单方便的管理。
图2. 用户登录流程图
图3. 用户登录流程图
本文主要进行对基于角色的访问控制理论研究,是校园网管理较好的一种访问控制模式。然后在此基础上对RBAC模型进行了改进,给出了管理系统的数据库设计表,在数据库中增加角色对数据表中每一项的访问权限表,使用户有权访问数据后再由数据项的访问权限来判断用户可访问的数据项,防止非法访问和泄漏,很好地适应了高校管理系统的安全策略。最后详细介绍了管理系统完整的工作流程,实现了在校园网灵活的管理应用模式。
本文的下一步工作首先是随着校园网管理系统的不断完善,如何更好地提高对权限控制的灵活需求;其次是将此模型应用到企业OA管理系统,以保证系统使用的安全性,提高其实用性。
本课题得到国家自然科学基金资助,项目号:61261042;本课题得到西北民族大学物联网关键技术研究科研创新团队项目资助。
皮炳坤,王春喜,张弘强,马聪,王书文. 基于角色的访问控制在校园网管理系统中的应用研究 Role-Based Access Control Application in Campus Network Management System Research[J]. 计算机科学与应用, 2016, 06(07): 399-405. http://dx.doi.org/10.12677/CSA.2016.67049
http://dx.doi.org/10.1145/501978.501980