一种基于代码访问控制的改进模型

合集下载

基于角色的访问控制在教务系统中的应用

基于角色的访问控制在教务系统中的应用

基于角色的访问控制在教务系统中的应用摘要本文通过对RBAC96的分析提出扩展的RBAC模型(ERBAC),并且在高校教务系统中加以应用,验证了其有效性和实用性。

关键词RBAC;角色;访问控制传统的高校教务系统的访问控制模块通常将用户和权限直接关联,这样的授权模型不方便系统的扩展,也不够灵活,当组织规模不断扩大、结构变换频繁时,就出现了大量繁琐的授权变化,权限管理的复杂度呈现指数增长的态势,而基于角色的访问控制(Role-Based Access Control,以下简称RBAC)模型能够较好的解决这个问题。

1 RBAC概述RBAC模型引入了“角色”的概念,使得操作权限不直接授予用户,而是通过建立“用户→角色→权限”的映射关系,来灵活的表征组织内部以及用户与权限间的关系。

现阶段RBAC的研究均以RBAC96为基础,RBAC96[1]由Ravi S.Sandhu 教授及其领导的乔治梅森大学信息安全技术实验室(LIST)提出,主要由RBAC0、RBAC1、RBAC2和RBAC3组成,如图1所示。

图 1 RBAC96(包括RBAC0、RBAC1、RBAC2和RBAC3)RBAC0是RBAC96模型的核心,主要包括U(用户集)、R(角色集)、P (权限集)和S(会话集),P由OPS(操作集)和OBS(客体集)组成。

RBAC1在RBAC0的基础上增加了RH(角色分层)概念,使用偏序来描述这种角色继承的关系。

RBAC2在RBAC0的基础上引入C(约束集)来决定对RBAC0各组件的操作是否被接受,只有被接受的操作才被允许。

RBAC3综合了RBAC1和RBAC2,自然也包括了RBAC0。

RBAC96是一个基本模型,属于中性策略,这就决定了在应用中,可以根据实际情况对RBAC96进行扩展。

2 扩展的RBAC模型本文根据我院教务系统的访问控制的实际需求,对RBAC96进行扩展,增加了“属性”的概念,形成了一个扩展的RBAC模型,简称ERBAC模型。

一种基于任务的计算网格访问控制模型

一种基于任务的计算网格访问控制模型

A s at h dscryi rs at e( S )i e egdfrd ni u etia o ,dt cn dnilya di ery bt c:T e eu t n at c r G I s m re o ietyat nietn a of et i n n g t, r i f r u f h f i a i at t i
统的访 问控 制模 型也 不能很好 地 满足 网格 的安 全 需求 。为 此 , 出 了一 种基 于任 务 的计 算 网格 访 问控 制模 型 。 提
该模型通过定义授权步和任务状态及 系统条件约束 , 能动态地控制主体访问资源的权限, 具有较好 的通用性、 灵
活性 和可扩展 性 , 已在计 算 网格 实验 平 台 中得 到 了实现 。 并 关键词 :计 算 网格 ; 问控 制 ; 于任 务 的访 问控制 : 权 步 访 基 授

ts sau n y tm o ii n a k t ts a d s se c nd to s,a miso s c l y a c ly c n rl d. T i d lwa n o c n c mpu ig g d nd pe s in oud be d n mi al o toe h s mo e se fr edi o tn r i

种 基 于任 务 的计 算 网格 访 问控 制模 型 木
龙 涛 计算机 学院 信 息安全 系, 汉 407 ; . 1华 武 304 2 中国地 震局 地震研 究所 , 汉 407 ) 武 30 1 摘 要 :网格 安全基 础设 施 ( S) 决 了身份鉴 别 、 密性 和 完整性 问题 , 难 以有 效地 解 决访 问控 制 问题 , G I解 保 却 传

P2P网络中一种基于信任的访问控制模型

P2P网络中一种基于信任的访问控制模型
第3 卷 第 1 3 期
Vo _ 3 No 1 l3 .
宁 夏 大 学 学报 ( 自然科 学 版 )
J u n l fNig i nv riy Na u a S in eEdt n o r a n xaU ie st ( t r l ce c io ) o i
2 1 年 3月 0 2
2 北 京 工 业 大 学 计 算机 学 院 , 京 1 0 2 ) . 北 0 14 摘 要 : 于 P P 这样 高度 自主 的 分 布 式 系统 而 言 , 全性 的 提 高应 该 依 靠 对 节 点 相 关 机 制 和 对 文 档 相 关机 制 的 对 2 安
共 同控 制 来 实现 . 计 了存 贮 节 点 直 接 交 互 评 价 和 对 下栽 资 源评 价 的数 据 结 构 , 出 了过 滤 推 荐 节 点 的 方 法. 此 设 给 在 基 础 上 , 出 了一 种 P P 文 件 系 统 信 任模 型及 访 问控 制 方 案 . 过 计 算 节 点 的信 任 值 和 资 源 的 信任 值 , 设 置 资 源 提 2 通 并 提 供 者 信 任 闽值 和共 享 文件 信 任 阈 值 2种 限 制 , 证 选 取 安 全 可 靠 的 下 载 源 , 而 实 现 安 全 访 问 策 略 . 真 实验 结 保 从 仿
表 1 节点 直 接 经验 评 价 记 录 表
体 可信 性 的访 问控制 决策 . 献[ ] 文 6 针对 文件 共享 系
统 中节 点 的欺骗 和 自私 行 为 , 出了 一种 基 于访 问 提 控 制 的信任 模型 , 种信 任模 型在 下载 成功 率 、 恶 这 对
意 节点 的孤 立 以及激 励文 件共 享等 方 面都有 很大 优 势. 这些 模 型对 信任 传 递 链 上 信 任值 的局 部 简 单 计

基于角色的访问控制框架的研究与实现

基于角色的访问控制框架的研究与实现
Abstr act: A framework of Role- Based Access Control and its implementation mechanism and principle are introduled in detail in this paper. Role- Based Access Control (RBAC) is an abstract model on authorization management. It is more flexible, secure and easy to maintain, compared with the traditional authorization strategies. This framework of Role - Based Access Control extends the conception of the basic moddel of the RBAC. A concept on more minute granular re- source and a mechanism of authorization judgment are presented, in order to fulfill the requirements of the authorization management of large- scale data resource. Key wor ds: RBAC, Resource class, Static resource, Dynamic resource, Role including, Judge on triple
资源通常是应用相关的, 即资源属于某个应
102
微电子学与计算机
2005 年第 22 卷第 11 期

基于RBAC的二维访问控制模型设计

基于RBAC的二维访问控制模型设计
实 现 多种 权 限 对 象 的 授 权 和 访 问 控 制 。本 文 通 过 对 传 统 的 访 问 控 制 方 法 的 分 析 , 传 统 的 RB 在 .AC 模 型 的 基 础
上进 行 扩 充和 改进 , 出 了一种 集 成功 能 权 限和 数 据 权 限 的二 维访 问控 制模 型 。 提
【 键 词 】 RB 关 .AC 访 问控 制
功能 模 块 数 据 资 源
随 着 访 问 控 制 技 术 的 不 断 发 展 ,基 于 角 色 的 访 问 控 制 ( AC) 考 虑 软 件 各 个 功 能 模 块 的 访 问 控 制 , 法 区 分 同 一 部 门 用 户 使 用 的 RB 无
2 .基 于 RB C 的 二 维 访 问 控 制 模 型 设 计 A
上 述 两 种 RB AC模 型 。 前 者 按 照 用 户 的 职 务 或 岗 位 从 功 能 模 块
但 是 , 随 着 企 业 信 息 日益 增 多 . 各 种 应 用 系 统 也 日趋 庞 大 . 访 上 来 划 分 用 户 , 者 按 照 用 户 的 部 门 或 单 位 从 数 据 资 源 上 来 划 分 用 后 问控 制 的 复杂 程 度越 来 越 高 ,需要 设 置 权 限 的 对 象类 型越 来 越 多 . 户 , 有优 缺点 。作 为 一个 完善 的软 件 系 统 , 其 是 大 型软 件 系 统 . 各 尤 传 统 的 一 维 R AC模 型 已 经 暴 露 出 它 的 缺 陷 , 不 能 很 好 的 满 足 实 际 必 须 同 时 考 虑 功 能 模 块 和 数 据 资 源 两 方 面 的 访 问 控 制 。 独 哪 一 种 B 单
是 目 前 应 用 较 为 广 泛 的 访 问 控 制 技 术 。 R A 克 服 了 自 主 型 访 问 控 不 同 功 能 模 块 。 B C

MVC设计模式简介

MVC设计模式简介

MVC设计模式简介MVC简介MVC的全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,是⼀种软件设计典范。

它是⽤⼀种业务逻辑、数据与界⾯显⽰分离的⽅法来组织代码,将众多的业务逻辑聚集到⼀个部件⾥⾯,在需要改进和个性化定制界⾯及⽤户交互的同时,不需要重新编写业务逻辑,达到减少编码的时间。

MVC开始是存在于桌⾯程序中的,M是指业务模型,V是指⽤户界⾯,C则是控制器。

使⽤的MVC的⽬的:在于将M和V的实现代码分离,从⽽使同⼀个程序可以使⽤不同的表现形式。

⽐如Windows系统资源管理器⽂件夹内容的显⽰⽅式,下⾯两张图中左边为详细信息显⽰⽅式,右边为中等图标显⽰⽅式,⽂件的内容并没有改变,改变的是显⽰的⽅式。

不管⽤户使⽤何种类型的显⽰⽅式,⽂件的内容并没有改变,达到M和V分离的⽬的。

在⽹页当中,V即View视图是指⽤户看到并与之交互的界⾯。

⽐如由html元素组成的⽹页界⾯,或者软件的客户端界⾯。

MVC的好处之⼀在于它能为应⽤程序处理很多不同的视图。

在视图中其实没有真正的处理发⽣,它只是作为⼀种输出数据并允许⽤户操纵的⽅式。

M即model模型是指模型表⽰业务规则。

在MVC的三个部件中,模型拥有最多的处理任务。

被模型返回的数据是中⽴的,模型与数据格式⽆关,这样⼀个模型能为多个视图提供数据,由于应⽤于模型的代码只需写⼀次就可以被多个视图重⽤,所以减少了代码的重复性。

C即controller控制器是指控制器接受⽤户的输⼊并调⽤模型和视图去完成⽤户的需求,控制器本⾝不输出任何东西和做任何处理。

它只是接收请求并决定调⽤哪个模型构件去处理请求,然后再确定⽤哪个视图来显⽰返回的数据。

下图说明了三者之间的调⽤关系。

⽤户⾸先在界⾯中进⾏⼈机交互,然后请求发送到控制器,控制器根据请求类型和请求的指令发送到相应的模型,模型可以与数据库进⾏交互,进⾏增删改查操作,完成之后,根据业务的逻辑选择相应的视图进⾏显⽰,此时⽤户获得此次交互的反馈信息,⽤户可以进⾏下⼀步交互,如此循环。

一种基于RBAC的Web环境下信息系统权限控制方法

一种基于RBAC的W eb环境下信息系统权限控制方法周沈刚,赵嵩正(西北工业大学管理学院,陕西西安710072)摘 要:信息系统的权限管理是保证数据安全的必要条件。

在论述了基于角色的权限控制模型的基础上,分析了基于用户-功能的权限控制方法存在的问题,提出了一种基于RBAC的B/S体系结构的信息系统权限控制方法,实现了安全的权限控制,取得了较好的效果。

关键词:角色;权限控制;B/S结构;安全管理中图法分类号:TP30912 文献标识码:A 文章编号:100123695(2005)0620204203Method of I nfor mati on System Authority Contr olBased on RBAC in W eb Envir onmentZHOU Shen2gang,Z HAO Song2zheng(School of M anage m ent,N orthw estern Polytechnical U niversity,X i’an Shanxi710072,China)Abstract:The authority management in inf or mati on syste m s is one of the necessary conditi ons t o guarantee the data safety. Based on discussing the model of r ole2based access contr ol and combining with the shared p r oject of infor mati on syste m devel o2 p ing,a ne w RBAC2based authority contr ol method in inf or mati on syste m of B/S mode is p resented s o as t o the p r oble m s in the method of access contr ol based on user2functi on are s olved.The ne w method has been app lied in the course of the syste m devel2 op ing,and the safe authority contr ol is realized with good effect.Key words:Role;Authority Contr ol;B/SMode;SafetyManage ment 随着网络技术的迅速发展和普及,越来越多的企业选择浏览器/服务器(B r owser/Server)模式进行信息系统开发。

一种浏览器端RBAC模型

一种浏览器端RBAC模型熊海东;徐德;潘刚;彭智勇【摘要】实现基于角色访问控制(RBAC)是B/S或C/S系统安全的必要条件,在服务端实现RBAC有成熟的方案,而浏览器端尚没有标准方案.为实现浏览器端的RBAC,在常用JavaScript框架ExtJS基础上,提出模块和操作栏的概念,设计了浏览器端的RBAC模型,使用服务器端的RBAC数据实现了浏览器端的RBAC.在实际项目开发中使用该模型,不仅使系统浏览器端实现了RBAC,而且为浏览器端开发提供了一个开发标准和规范,更有助于提高开发效率及系统源代码的规范.【期刊名称】《宜宾学院学报》【年(卷),期】2015(015)006【总页数】4页(P66-69)【关键词】RBAC模型;浏览器端;ExtJS;Spring Security;题库【作者】熊海东;徐德;潘刚;彭智勇【作者单位】四川幼儿师范高等专科学校教务处,四川绵阳 621700;中国人民银行乌鲁木齐中心支行,新疆乌鲁木齐 832000;四川文理学院计算机学院,四川达州635000;凯里学院组织部,贵州凯里 556011【正文语种】中文【中图分类】TP311Xiong HD,Xu D,Pan G,etal.Role-Based Access Control(RBAC)Modelon the Browser Side[J].Journal of Yibin Uni⁃versity,2015,15(6):66-69.随着计算机B/S系统的广泛应用,客户对系统安全性和用户体验提出了更高的要求,系统安全的一个必要条件就是实现基于角色访问控制(Role-Based Access Control,RBAC).在服务器端,实现RBAC比较容易,模型方面有RBAC96模型、AR⁃BAC97模型、DRABC模型等,在这些模型的基础上出现了许多非常优秀的开源框架,像Spring Security Framework、Shiro等.但在浏览器端缺乏标准和规范,这也是基于浏览器的动态语言JavaScript特性所造成的JavaScript框架众多,很难有统一的实现标准.为了更好地实现RBAC,很多学者提出服务器端和浏览器端共同协作权限控制方法[1],其特点是:用户操作时,浏览器端首先做的是简单权限检验,浏览器端检验通过以后服务器端再做最终权限检验.由于浏览器端的检验非常简单,这种方法在浏览器端没有真正实现RBAC,而是将所有的操作直接暴露给用户,当用户操作被服务端拒绝后,浏览器端提示用户无法进行该操作,这样不但降低了用户体验而且存在安全隐患.浏览器端实现RBAC的最佳效果是浏览器端对用户有权限的内容进行加载并显示,而对无权限的内容则不加载不显示,根据用户权限动态的显示界面,实现“所见即所得”的效果.设计的浏览器端模型依赖服务器端的RBAC模型,服务器端可使用常见的细粒度权限管理框架,如Spring Security Framework、Shiro等,也可自行设计.浏览器端可以通过常见的JavaScript框架来实现,如ExtJS、JQuery UI等.本文以Spring Security Frame⁃work和ExtJS为例来实现这个模型;在模型中,浏览器端和服务器端是依赖关系,浏览器端使用服务器端提供的动态数据来初始化浏览器端的视图.1.1 浏览器端的一些定义在浏览器端提出“模块”“操作面板”“操作栏”“操作”的概念.模块(图1的1部分),是针对某一项业务的,如“试题管理”“系统管理”等,一般使用TreePanel和Tree来表示.用户选择某个模块,则会出现相应的操作面板(图1的2、3部分一起构成操作面板),操作面板是用户进行真正操作的地方,用户可以选择某条数据进行某种操作,操作面板一般使用GridPanel[2].操作栏(图1的2部分)是操作面板的一部分,用户选择某条数据以后就可以在操作栏选择相应的操作,一般使用ToolBar.操作栏由很多操作组成,操作使用Button表示.在这个4个概念中,不同权限的用户,其拥有的模块和操作是不同的,实现浏览器端RBAC 的关键是如何动态地初始化模块和操作.1.2 服务器端数据表结构浏览器端的RBAC的实现依赖于服务器端的数据,浏览器端使用该数据初始化模块和操作.由于本文模型是细粒度的RBAC的实现,所以不仅要对浏览器端的模块实现RBAC,而且对于每个模块上的操作也要实现RBAC.模型所涉及的数据表如表1所示.其中涉及角色数据表如图2所示.各表之间的关联关系分为两种:一对多和多对多.模块表和操作表是一对多的关系,在操作表里有一外键属性,用于存储操作对应的模块.角色与模块、操作是多对多的关系,所以通过中间表(图2)“角色模块表”和“角色操作表”来实现.按照这样的数据库设计,并在表信息中加入浏览器端部分相关信息,就可以同时在服务器端通过Shiro或Spring Se⁃curity实现RBAC,这样服务器端就能根据不同用户的权限动态为浏览器端提供模块和操作的数据.1.3 浏览器端模型浏览器端模型的关键是如何利用登陆成功后服务器端返回的数据初始化浏览器界面.在“模块”和“操作”概念里,“模块”对应TreePanel和TreeNode,“操作”对应ToolBar的Button,初始化浏览器端也就是初始化TreePanel、TreeNode、ToolBar、Button等控件.初始化这些控件需要JSON[3]格式的数据,初始化“模块”和“操作”所用到的JSON格式数据分别与表1中的模块表和操作表对应.数据转化流程为模块表、操作表——Java POJO对象——JSON数据——ExtJS的TreePanel、TreeNode、ToolBar、Button控件等.JSON格式数据是初始化ExtJS控件的关键,在服务器端需要对Java POJO对象作适当的处理才能形成符合初始化ExtJS控件的JSON数据.模块数据的JSON格式如下所示:{"id":3,"chinese":"系统根模块","iconClz":"root","orderNum":1,"status":2,"parent":1}id表示该模块记录在数据库中的主键,chinese表示该模块的中文名称,iconClz 表示该模块使用图标的英文名称,orderNum表示该模块在同类中的顺序,status表示模块的状态,parent为该模块的父模块的主键.操作数据的JSON格式如下:{"id":11,"chinese":"创建","iconClz":"create","orderNum":1,"status":0,"moduleId":51}id表示该操作记录在数据库中的主键,chinese表示该操作的中文名称,iconClz表示该操作使用图标的英文名称,orderNum表示该图标在ToolBar中的顺序,status表示操作的可用与否,moduleId是该操作所属模块的主键,用于确定操作属于哪个模块.这样的数据结构设计既适合关系型数据库的存储,也适合浏览器端初始化TreePanel、TreeNode和ToolBar.2.1 工作流程本模型的工作流程根据用户的操作分为登录和选择模块两个部分,根据处理地点分为浏览器端和服务器端,如图3所示.用户进行登录操作,此时浏览器端发出登录请求,服务端在接收到登录请求后首先检查用户的合法性,如果用户不合法则向浏览器端返回错误信息,如果用户合法则获取用户所拥有的角色对应的模块和操作数据并将其返回给浏览器端.浏览器端在接收到服务器的响应以后,如果是错误信息则直接在页面上显示错误信息,如果是正确信息,则提取并保存模块和操作数据,接着浏览器发生跳转,进入管理界面,用保存的模块和操作数据来初始化管理界面.选择模块,用户在浏览器端选择某一模块,浏览器向服务端发出获取文本的Ajax请求[4],服务器端在收到浏览器端的请求以后返回该模块对应的JavaScirpt文本,浏览器利用该文本通过eval将文本加入到JavaScript运行环境中,接着浏览器端初始化图1中的2部分和3部分,即ToolBar和操作面板,其中初始化ToolBar的数据是登录后的浏览器端保存的操作数据.2.2 初始化模块和操作的核心函数在浏览器端获得了模块和操作的数据后,难点是如何将数据高效地转换为JavaScript对象.因为有树结构的存在,初始化模块和操作的函数主要通过遍历和递归来完成.核心代码如下所示:function initBrowser(json){∥json为用户登录后返回的数据var coms=json.data;var userModule=$.makeArray(erModule);∥获取模块userCommand=$.makeArray(erCommand);∥获取操作var_showModule=[];$.each(userModule,getShowModule);∥获取需要显示的模块showModule = objArrayUnique(_showModule,"id");∥去除重复的模块new layout.viewport(showModule);∥完成显示function getShowModule(n,v){while(v!=null){_showModule.push(v);v=v.parent;}}}initBrowser函数通过闭包、循环遍历完成了图1 的1部分模块树的初始化.json 变量为用户登录后返回的数据,其中json.data为模块和操作的数据.json不是JavaScript中的数组,需要通过$.makeArray函数将json转换成数组erModule是模块数据,是从操作中提取的,由于模块与操作是一对多的关系,所以从操作中提取的模块是有重复的,需要通过自定义的objArrayUnique函数来去重.在实际开发中应用此模型简单方便,使用过程如下:1)在Web工程中引入通用JavaScript文件.这些文件主要分两类:一类是通用函数的JavaScript文件,包括该模型里用到的通用函数、初始化模块和操作的核心函数、生成并初始化ExtJS的ToolBar控件的函数、生成并初始化ExtJS的Combox控件的函数;另一类是Web系统常用模块的JavaScript文件,如“系统管理”“用户管理”“权限管理”等.2)添加服务器端数据库的数据表.该过程通过运行数据库初始化脚本完成,数据库初始化脚本包含了模型全部用到的数据表,主要为表1中所列举的数据表,另外初始化过程也会往数据库追加一些基础的数据记录,例如Web系统常用的模块和操作的数据.3)往数据库的模块及操作表增加开发中的模块、操作具体信息[5].信息包括模块信息和全部操作信息,对应表1中的“模块表”和“操作表”.由于模块之间、模块与操作之间存在一对多的关系,所以,在创建模块和操作的时候必须指定模块和操作属于哪个模块.添加模块如图4所示.4)编写浏览器端JavaScript代码,按照模型的代码规范编写浏览器端的JavaScript代码.代码规范是模型的一部分,没有统一的代码规范,就无法实现真正的浏览器端的RBAC.代码规范虽然在一定程度上约束了开发者,但是在开发者熟练掌握代码规范以后也可以实现快速开发,同时后期维护人员在掌握代码规范以后也可以进行代码维护.5)为角色分配模块的操作权限.如图5所示,当前选中的角色拥有“题库管理”模块,该模块拥有子模块“课程管理”,并且当前的角色拥有“课程管理”的“创建”和“删除”操作.用户可通过勾选和取消勾选来完成权限管理.本文提出浏览器端模型有以下优点:第一,通过模型可以在浏览器端实现RBAC模型,在浏览器端就杜绝了用户的非法操作,提高了系统的安全性,给用户“所见即所得”的用户体验;第二,使用该模型能简化、规范浏览器端代码的开发,浏览器端开发工程师可以借助该模型快速进行操作界面的编码,同时代码也得到规范统一,有助于后续的代码维护工作.同时模型存在以下需改进的地方:界面初始化核心函数需改进性能,由于界面层使用到树控件,所以在初始化过程中使用到递归,随着树的数据增加,递归的时间会变长,加上网速的影响,浏览器端的初始化可能会很慢;可移植性有待提高,模型目前只能应用在ExtJS上,除了ExtJS还有其他主流JavaScript库如jQuery UI、Dojo等没有试验,需要继续改进模型的通用性,使其框架能被简单地移植到其他JavaS⁃crip库;实际使用中步骤过多,初学者不易将模型集成到自己的Web工程中,需要简化合并使用过程,改进模型的集成性.【相关文献】[1] 吴波,王晶.基于基本RBAC模型的权限管理框架的设计与实现[J].计算机系统应用,2011(4):32-36.[2] 张鹏伟,陈景霞,张文平,等.基于ExtJS和SSH的Web应用架构的研究与实现[J].陕西科技大学学报(自然科学版),2010(6):15-19.[3] 高静.JSON序列化机制与传输效率研究[D].济南:山东师范大学,2011.[4] 熊海东,陈亚军,潘刚.基于Ajax的动态JavaScript文件加载模型[J].西昌学院学报(自然科学版),2011(3):52-54.[5] 刘强,王磊,何琳.RBAC模型研究历程中的系列问题分析[J].计算机科学,2012(11):12-16.。

一种对IRBAC2000模型的改进方法

收稿日期:2005208225.作者简介:廖振松(19792),男,博士研究生;武汉,华中科技大学计算机科学与技术学院(430074).E 2mail :liaocaili -0@基金项目:国家自然科学基金重大专题资助项目(90412010).①Apu K apadia ,Jalal Al 2Muhtadi ,Campbell R H ,et al.IRBAC2000:secure interoperability using dynamic role transla 2tion[A ].The 1st International Conference on Internet Com puting[C].Monte Carlo Resort ,Las Vegas ,IEEE Press.2000.120—130一种对IRBAC2000模型的改进方法廖振松 金 海 羌卫中(华中科技大学计算机科学与技术学院,湖北武汉430074)摘要:针对IRABC2000模型在安全方面的不足,在认真分析IRBAC2000模型的基础上,提出了一种新的改进方案,解决了因角色关联而引起的交叉和冲突.该方案去掉角色继承,改角色层次结构为目录结构,将角色的差异体现在角色2权限的映射,同时允许角色跨域关联,但拒绝角色传递,对改进后的模型进行了安全性和灵活性分析.实验表明,该改进方案具有较高的安全性和操控的灵活性.关 键 词:基于角色的访问控制;IRBAC2000;角色继承;安全互操作中图分类号:TP309 文献标识码:A 文章编号:167124512(2005)S120292204An improved approach tow ards the model of IRBAC 2000L iao Zhensong Ji n Hai Qiang Weiz hongAbstract :According to the security pitfalls of IRBAC2000model ,an improved approach is proposed to deal with the problems of role intersection and role conflicts.The approach discards role hierarchy ,changes it into the directory structure.The difference between roles appears on the map from role to privilege.Mean 2while ,the improved approach allows roles to have an association across various secure domains ,however ,the role transitive is disallowed.This paper still gives a detailed analysis of the improved approach on securi 2ty and feasibility.The experimental results show that the improved approach has a good practicability and operation flexibility.K ey w ords :RBAC ;IRBAC2000;role hierarchy ;security interoperabilityLiao Zhensong Doctoral Candidate ;College of Computer Sci.&Tech.,Huazhong Univ.of Sci.&Tech.,Wuhan 430074,China. 访问控制是保证系统资源不被非授权的用户访问的一种安全技术,是计算机信息安全系统的第二道安全防线(第一道安全防线是身份鉴别,如用户名-密码技术等)[1].在访问控制技术的发展中,RBAC 通过引入角色的概念,将用户与权限分离,而得到了广泛的应用.IRBAC2000模型首次提出了跨域的角色访问控制,通过角色的关联,实现了本地用户到其他安全域角色的映射①.IRBAC2000模型在为动态角色转换提供灵活策略的同时,也暴露了许多安全方面的问题,本文在对IRBAC2000模型进行分析的基础上,进行了一些改进.在改进的模型中,去掉了复杂的角色继承,避免了角色的关联所带来的冲突,极大地降低了系统的开销.同时,角色的关联更符合现实的办公环境,也方便了管理员对角色的管理.1 IRBAC2000模型的策略框架在RBAC 模型中,引入了角色的概念,将用户与权限进行了分离,从而形成了两个映射:a .用户到角色的映射 mapUser ToRole (User ,第33卷增刊 华 中 科 技 大 学 学 报(自然科学版) Vol.33 Sup.2005年 12月 J.Huazhong Univ.of Sci.&Tech.(Nature Science Edition ) Dec. 2005Role );b .角色到权限的映射 map Role To Priv 2ilege (Role ,Privilege )①,②.IRBAC (Interoperability Role Based Access Control )2000是美国伊利诺斯州大学开发的一种跨域之间用户互操作的RBAC模型,该工作第一次将RBAC 模型成功地扩展到多个安全域中,通过域间角色关联,实现了跨域之间的RBAC 系统.1.1 IRBAC2000模型的思想IRBAC2000为系统管理员提供角色关联编辑窗口,动态地将本地角色与其他安全域角色进行关联,实现本地用户到外域角色的映射.IR 2BAC2000中,安全域D 1用户访问安全域D 2资源过程可描述为:var session ∥定义绘话;session.mapUser ToRole(D 1.U user1,D 1.R role1)∥本地域内用户角色映射;①ANSI INCITS 359—2004.Role Based Access A :American National Standard for Information Technolo 2gy ,2004.②Barka E ,Sandhu R.A role 2based delegation model and some extensions[A ].Proceedings of the 23rd National Infor 2mation Systems Security Conference[C].Washington :ACM Press ,2000.59—68session.associate (D 1.R role1,D 2.R role2)∥域间角色关联;session.map Role To Privilege (D 2.R role2,D 2.P privilege2)∥外域角色权限映射.1.2 角色转换策略IRBAC2000中,定义了2种关联:a .传递关联(Transitive Associations ) 如果将D 1中的a 角色与D 2中的b 角色进行关联,则a 角色在D 2中拥有b 角色的所有的权限,但b角色不拥有D 1中a 角色的权限.b .非传递关联(Non 2transitive Associations ) 将两个角色关联后,一个域中在该角色之上的其他角色便也被赋予了另一域中的相应角色.非传递关联则仅仅将两个角色进行关联,而拒绝角色的传递,用|→N T 表示.在IRBAC2000中,定义了3种角色转换策略:a .默认策略(Default Policy ) 该策略用来建立一个最小角色关联,即本域的角色具有外域最小角色所具有的权限,如Guest R2|→Guest R 1.b .显式策略(Explicit Policy ) 系统管理员可以单独地将某个外域的角色与本地角色进行关联.该规则充分体现了IRBAC2000的灵活性,非传递关联保证了该策略可以正确执行,如Em 2ployee R 2|→N T Director R 1.c .隐式策略(Partially Explicit Policy ) 该策略是与显式策略相对应的策略,即当某个策略不是显式策略时,便可认为其是隐式策略.如Man 2ager R 2|→Professor R 1,则Manager R 2|→Student R1以及Administrator R 2|→Professor R 1等自动满足.1.3 性能分析文献[2]指出,当角色层次中具有n 个角色,在关联表中有p 个角色进行关联时,则寻找角色关联入口的时间复杂度为O (np ).2 对IRBAC2000模型的改进方案2.1 IRBAC2000模型的安全问题IRBAC2000在进行域间角色关联时,存在着如下一些问题.2.1.1 角色冲突在关联角色时,传递关联很容易产生角色关联冲突,如图1,Manager R 2|→Student R 1与Em 2ployee R 2|→Professor R 1存在关联冲突.IRBAC2000中的冲突解决方案是提升高角色的角色关联,即图1的冲突解决方法是改Manager R 2|→Student R 1为Manager R 2|→Professor R 1.这样,冲突虽然解决了,但也会带来新的问题:a .提升了外域角色的关联.如,在增加Employee R 2|→Professor R 1时,因与Manager R 2|→Student R 1冲突,就将Manager 提升到了Professor ,外域角色则可以通过角色冲突来提升自己的角色.b .增加了无用的角色关联.在此例中,提升角色关联后,Employee R 2|→Professor R 1便多余了,而在关联表中仍然保留,增加了系统的开销.图1 具有冲突的角色关联2.1.2 角色退出或删除当角色退出或删除时,所有与该角色相关的392增刊 廖振松等:一种对IRBAC2000模型的改进方法 角色关联必须重新进行关联.在IRBAC2000中,当源端角色退出或删除时,就将源端角色上移一个层次,其关联仍然保留,如图2中,若D 2中的Manager 退出或删除了,就角色关联变为Admin 2istrator R 2|→Professor R 1;当目的端角色退出或删除时,则将目的端角色下移一个层次,其关联仍然保留,同样在图2中,若Professor 退出或删除了,则角色关联变为Manager R 2|→Student R 1.这样的图2 对应的角色目录结构图解决方案有其合理性,它保证用户能持续访问资源,但它也暴露出其安全隐患:a .让不需要访问资源的用户具有与外域的角色关联.假如D 2中的用户Tom 具有Manager 角色,角色关联后他现在具有D 1中的Professor 角色了;当Manager 角色退出或删除时,则用户Tom 便不再具有D 2和D 1的角色了,但解决方案中,却让D 2的Admin 2istrator 具有了D 1的Professor 角色;特别地,当原角色关联是非传递关联时,这样处理更危险,这显然违背了访问控制的初衷.b .并不能真正保证用户不间断地访问资源.当D 1中的Professor 角色退出或删除时,D 2中的用户便具有了D 1中的Student 角色,而Student 角色并不能完成用户Tom 资源访问的任务.c .当有角色退出或删除时,角色的层次关系需要重新组合,否则角色层次图便成了森林.而在IRBAC2000中,并未指出角色层次的重组.2.1.3 跨域角色关联当3个或3个以上的域用户同时通过角色关联编辑器(Role Association Editor )进行角色关联以实现跨域资源访问时,会出现渗透(Infiltration )和隐提升(Covert promotion )问题.D 2的用户Tom 用Manager 关联D 1的Professor ,D 1的Pro 2fessor 又关联D 0的角色(如MeetingChair ),这并不能说明Tom 是具有D 0的MeetingChair 角色的,该现象称为角色渗透.用户通过多个域之间的角色关联,最终在本地域里获得了一个更高的角色,这种现象称为角色隐提升.IRBAC2000解决此类问题的方法是拒绝角色跨多域关联(只能两个域之间进行角色关联),从而避免了角色外泄.如果不考虑IRBAC2000的可扩展性,这种回避问题的方法足以胜任域间的角色关联;但如果考虑到域的可信任度、用户访问资源权限的委托等问题,则应允许多个域之间的角色关联.2.1.4 角色加入IRBAC2000并没考虑角色加入的问题.当有新的角色加入时,需要对角色层次结构进行一次重组,这会给系统带来一定的开销;同时,角色的关联问题,也得进行相应的变更,这个开销更大,很可能把所有的角色重新进行关联.2.1.5 系统瓶颈由于所有的角色关联操作都是由系统管理员进行的,且Role Association Editor 是集中管理的,因此,当用户量很大时,Role Association Editor 就会成为用户访问外域资源的瓶颈,但IRBAC2000并没有考虑到Role Association Editor 会成为单一失效点.2.2 对IRBAC2000的改进2.2.1 去掉角色继承,改角色层次结构为目录结构一般地,角色所拥有的权限比较固定;而一个用户,在不同的时刻和场所,可能具有不同的角色.为了体现这样动态的用户2角色对应关系,科研者先后提出了最小角色、角色继承、角色私有权限等概念,指出用户在公司的地位,其目的是为了更准确地描述用户到底能拥有哪些权限.然而人为地对角色进行等级划分,无疑增加了系统的开销,如构建角色层次树,为每一个角色的私有权限编写代码等.在对IRBAC2000的改进方案中,将角色层次结构改为目录结构,如图2所示.同时,对关联规则作如下修改:所有的关联均为非传递关联,统一用|→表示,表示关联的两个角色等价.用目录结构的好处在于:a .从实现代价来说,减少了系统为构建角色层次图而带来的系统开销.在构造角色层次图时,不仅要考虑角色的高低大小,同时也要考虑互斥角色的摆放问题.在层次结构图构造后,又要考虑角色私有权限问题等,增加了问题的复杂度.b .从管理角度来看,当有角色退出或删除时,系统不必重新更新角色目录,只需从角色目录中将该角色删除或置为不可用,此时,相应的角色关联自动失效;当有新的角色加入时,也不用重新更新角色目录,只需将新的角色加入到目录中去即可.c .从设计的角度出发,该方法更具有实用492 华 中 科 技 大 学 学 报(自然科学版) 第33卷性.在现实中,与顾客打交道的是一般的服务员,因此,有时候宁可相信热情周到的服务员,而不愿意给素昧平生的经理赋予角色;而在IRBAC2000中并不能体现到这一点.同时,在目录结构中,角色不分高低,可以迷惑入侵者的攻击.角色的不同体现在角色2权限的映射上(在下面讲到).d .此外,这种改变充分回避了IRBAC2000中的角色冲突,以及跨域产生的渗透与隐提升现象.2.2.2 角色的差异体现在角色2权限的映射当前的RBAC 系统,都强调了通过角色继承来体现用户所具有的权限.但不管角色如何继承,不同的角色总会有一些权限不同的,这样,程序员需编写大量的代码来实现权限的继承与否.但将角色改为目录结构后,角色之间不再有任何关联,而角色所具有的权限,只需在角色2权限的映射函数里进行定义即可.图3是改进后的角色2权限映射设计.图3 对IRBAC2000改进后的角色2权限设计2.2.3 允许角色跨域关联,但拒绝角色传递出于设计的灵活,以及模型的可扩展性,改进的模型允许角色跨域关联,但作了一些限制:a .域与域之间的角色关联均为非传递关联,即:Πa ∈R D 1,b ∈R D 2,c ∈R D 3,则a R 1|→b R 2∧b R 2|→c R 3!]a R 1|→c R 3.b .角色关联的深度不得任意长,应限制在一定的范围内.允许跨域角色关联,是出于角色委托的考虑;若不限制关联的深度,则很容易走向另一个极端:关联混乱,管理复杂.c .角色关联中不允许出现环,可通过控制角色出现的个数来避免环的出现.形成环的条件是同时存在X X R i |→a R j 和a R j |→00R k ,环中每个角色的个数都是偶数,根据该特点可对环的产生进行有效的避免.3 对改进后模型的分析3.1 模型的安全性针对原模型中的一些安全问题,改进后的模型通过改层次角色结构为角色目录结构进行了有效的回避.对于角色的变换(如角色的加入、退出),角色目录结构只需进行局部变化而已,不需要全局更新.域间的角色关联,不允许角色传递,保证了权限仅在关联中的角色之间传递.跨域角色关联时,设置角色关联深度,通过一定的算法避免环的出现.角色之间不分等级,有效地防止入侵者的攻击.3.2 操作的灵活性从实现的角度和编程的难易程度来看,角色目录结构只需将域中的当前活跃角色进行罗列即可,而角色层次结构需要按照一定的规则将角色进行排序,并组建成图,相比之下,改进后的模型更易实现与维护.从管理员操作的方面来看,由于角色关联不存在着传递,管理员不用担心角色冲突、权限外泄等问题,这为管理员带了操作上的便利.3.3 性能分析在角色目录结构中,若有p 个角色关联,则寻找角色关联入口的时间复杂度为O (p ),与全局角色个数n 无关.仿照IRBAC2000的性能分析,对改进后的模型进行了实验测试.实验中也使用了相同的角色个数(本地域和外域均使用15个角色)和关联的角色对(分别关联5,10,15个角色),实验结果:角色关联数为5,10,15;平均时间分别为0.016ms ,0.031ms ,0.045ms.本文从构思、规则、策略以及安全问题等方面对当前流行的IRBAC2000模型进行了分析,针对其暴露的安全问题给出了相应的解决方案,并从多个角度分析了改进后的模型.实践表明,这种改进方法较原方案优越,具有可行性.在接下来的工作中,将在改进后的模型中引入授权机制,使模型由人工参与逐渐转向智能化.参考文献[1]杨义先,钮心忻.网络信息安全技术基础[M ].北京:电子工业出版社,2002.592增刊 廖振松等:一种对IRBAC2000模型的改进方法 。

RBAC模型研究_改进与实现

收稿日期:2006-06-28;修订日期:2006-08-28作者简介:李志英(1979-),女,河南鹤壁人,硕士研究生,主要研究方向:软件工程、网络数据库; 黄强(1981-),男,四川成都人,讲师,主要研究方向:软件工程、虚拟机、人工智能、神经网络; 楼新远(1963-),男,四川成都人,副教授,主要研究方向:网络数据库、图形图像处理、软件工程; 冉鸣(1962-),男,四川成都人,教授,主要研究方向:原子分子学研究、化学CA I .文章编号:1001-9081(2006)12-2945-03RBAC 模型研究、改进与实现李志英1,黄 强2,楼新远1,冉 鸣3(1.西南交通大学信息科学与技术学院,四川成都610031;2.四川农业大学信息工程与技术学院,四川雅安625014;3.四川师范大学计算机软件重点实验室,四川成都610068)(x jlzy619@163.co m )摘 要:针对传统RBAC 模型的角色管理过于复杂,权限粒度不够细化等不足,提出了一种改进模型,并详细描述了该改进模型的特点,引入了限制元素和特有权限等新概念。

通过将功能模块及其相关操作映射为权限数据,使得权限代码和业务逻辑代码完全解耦。

最后结合实例,详细阐述了该改进模型应用于权限管理系统的实现过程,以及该模型的优缺点。

关键词:基于角色的访问控制;限制元素;MVC 中图分类号:TP309 文献标识码:AR esearch ,i m prove m ent and i m p l e m entation of RBAC modelLI Zh-i ying 1,HUANG Q i a ng 2,LOU X i n -yuan 1,RAN M i n g2(1.School of Infor ma tion Science and T echnology,South w est J iao tong Un i vers it y,Chengdu S ichuan 610031,China ;2.College of Information and E ngineer i ng T echnology,S ichuan A gricultural University,Yaan S ichuan 625014,Ch i na ;puter Sof t w are Laboratory,S ic huan N ormal Universit y,Chengdu S ichuan 610068,Ch i na)Abstract :A n i m proved m ode lw as proposed for t he defi c ienc i es of trad iti onal RBAC m odel i n ro le -m anagement such as over com plex ity and rough g ranu l a rity .T he charac teristi cs o f this model were descri bed i n de tai,l i n w hich perm iss i onconstraint ele m ents and specia l pe r m iss i ons w ere i ntroduced .A cti ng as per m ission data ,o t her functi onal m odules and t he ir related operations can m ake the coup l e of t he per m ission codes and operation l og ics e li m i nated .A s a conc l usi on ,i m p l em enta tion o f this i m proved m odel i n syste m of pe r m iss i on m anage m en t w as described in deta i,l a l so inc l udi ng its advan tages and d isadvantages .K ey words :Ro le -based A ccess Contro l (RBA C);constraint e l ement ;MV C 基于角色的访问控制(R o le -based A ccess Contro,l RBAC )是实施企业权限控制的一种有效的访问控制方法,既弥补了自主式访问控制安全性方面的不足,同时也解决了强制式访问的灵活性不够的问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第22卷第2期 2006年6月 金陵科技学院学报 

JOURNAL OF JINLING INSTITUTE OF TECHNOLOGY Vo1.22.No.2 

Jun.,2006 

一种基于代码访问控制的改进模型 谷就 ,一,钱 (1.南京工业大学信息科学与工程学院,江苏南京 江 ,应明峰 ,2 

210009;2.金陵科技学院商学院,江苏南京210001) 摘要:随着分布式计算的不断发展,传统的基于角色的安全性(I强AC)模型已无法满足分布式安全的要求。根 据微软的代码访问安全性,归纳出基于证据的代码访问控制(EBCAC)模型,并给出了它的一种形式化描述。该 模型能实现对系统更低层次的访问控制;然后提出了一种改进的基于证据的代码访问控制(EBCAC)系统设计方 案;最后给出了防止引诱攻击的实例。 关键词:分布式网络安全;访问控制;引诱攻击 中图分类号:TP393 文献标识码:A 文章编号:1672—755X(2006)02—0031—05 

Research on Code Access Control Model Based on Evidence GU Yan ,QIAN Jiang ,YING Ming.feng , (1.School of Information Science and Engineering,Nanjing University of Technology,Nanjing 210009,China; 2.School of Business,Jin ̄ng Institute of Technology,Nanjing 210001,China) 

Abstract:With the development of the distributed computing,traditional role—based access control model doesn’t meet the demand of distributed computing security any more.An evidence-based code access control(EBCAC)model,which can provide the lower access control of system security,is generalized from code aCCesS control of Microsoft in this paper.Then we give a formalized descrip— tion of it and descript an improved system architecture based on it.We also discuss how to imple— ment it and give an instance of EBCAC Model。 Key words:distributed network security;access control;luring attack 

随着分布式计算的不断发展,传统程序开发模 式已逐步转变为“松散耦合”的组件开发模式。组 成应用程序的各组件通常来tl于完全不同的组织。 所以应用程序的不同组件可能要求不同的信任度。 用组件动态组成的系统具有独特的安全需求。 针对这种安全需求,有人提出了多种改进模 型,试图在分布式环境下实现传统的角色访问控 制-1,2j,但这些方案大都有以下缺陷: 1)无法解决引诱攻击问题。来自被信任组织 的组件可能需要访问敏感资源,而这些资源正常情 况下需要得到保护以防止恶意代码访问。而引诱 攻击经常通过欺骗受信任的代码组件对敏感资源 进行调用,或以低信汪度组件调用高信任度组件的 方式来获得合法代码的权限,以此访问敏感资源。 2)角色分配困难。有的代码,例如可移动代码 可以由任意数量的用户下载和执行,而这些用户在 开发时都是不了解的,因此身份无法判断,角色也 就无从分配【3,4 J。仅仅关心谁在运行代码的 RBAC安全模型已经不再满足要求。 针对以上角色访问控制的缺点,不仅要关心谁 运行代码,还要考虑代码的来源。本文从微软的代 码访问安全性(Code Access Security,CAS)中归纳 

收稿日期:2006—04—22;修回日期:2006—05—10 作者简介:谷髋(1977一),男,江苏南京人,工程师,硕士,研究方向:网络安全。 

维普资讯 http://www.cqvip.com 32 金陵科技学院学报 第22卷 出基于证据的代码访问控制(Evidence—Based Code Access Control,EBCAC)模型,给出了该模型的一 种形式化解释,并提出了基于证据的代码访问控制 (EBCAC)系统的一种改进设计方案,该方案结合 了角色访问控制和基于证据的代码访问控制两者 的优点,能够从较低的代码层次和用户角色层次上 进行访问控制。 

1基于证据的代码访问控制模型(E. BCAC) 

1.1 EBCAC思想概述 EBCAC思想最早来源于微软.NET战略中提 出的代码访问安全性(CAS)。.NET框架除了提供 传统的基于角色的安全性(RBAC)安全模型之外, 也在代码上提供了代码访问安全性。 EBCAC不是基于用户的身份,而是基于代码 的身份实现安全保护。在EBAC安全模型中权限 被授予代码而不是给用户,系统根据与代码及其身 份相关联的标志——证据来限制代码能够执行哪 些操作、访问哪些资源。这样在某个用户可以获得 信任以访问某个资源的情况下,如果用户执行的代 码不受信任,那么访问资源将被拒绝[ , 。 1.2 EBCAC模型的形式化解释 经过以上归纳,给出基于证据的访问控制抽象 模型,并利用集合和关系的概念,给出一种简单的 形式化解释。 代码访问安全控制模型如图1所示,主要由三 部分组成:程序集、证据、权限。 

一多对多 图1 基于证据的代码访问控制的基本模型 Fig.1 Basic model of code access control based on evidence 

程序集A:程序集是代码加载并运行的组织单 元。定义为一个多元组(Aid,Ver,Ds,PK): 其中Aid是程序集标识(即它的简单文本名 称),Ver是程序集的版本号,Ds是发行者根据该 程序集生成的数字签名,PK是与“用于创建数字 签名的私钥”相对应的公钥,用于验证数字签名。 由于程序集由标识、版本号组成并通过公钥和数字 签名加强,这样可确保程序集版本,且发行者的身 份得到确认,代码内容不被篡改。 证据集E:证据是关于代码身份和来源的标 识,是系统安全策略用来给程序集授权的根据。证 据集E={e1,e2,…,e },ei是一条证据,ei定义 为一个二元组(EType,MShip),其中EType表示 证据类型的集合,EType={Id,Source},MShip是 证据成员资格条件的集合。 多条证据组成证据集合EvSet,其定义如下: EvSet EType×MShip 每条证据至少可以分解成一个成员资格条件。 例如某程序集代码来源于URL:www.microsoft. com,则二元组(Id,URL:www.microsoft.com)表 示程序集的身份类型证据中成员资格条件为 URL:www.microsoft.com[ 。 权限集P:定义为一个二元组(Ob,Op),其中 Oh(Objects)是系统中的客体,客体是一种可识别 的信息实体,如文件、目录、服务等,一个客体可以 包含另外一个客体,如owner,group name等。Op (Operations)是客体ob上的访问方法集,它是一 个集合,可能包含不止一种访问方法,如read, write,append或rw,rc等。 EA表示证据E分配给程序集A的过程,是关 于A和E的多对多关系,定义为一个卡氏积: EA A×E 一个程序集可能有多条证据,一条证据也可能 分配给程序集。 PA表示为根据证据E计算分配给程序集A 的权限P的过程,是关于E和P的多对多关系。 定义为一个卡氏积: PA E×P 一条证据可能有多种权限,一种权限也可能分 配给多条证据。下面的讨论中分别用A,E,E— Type,MShip、P代表程序集、证据、证据类型、成员 资格条件和权限的集合,而a,e,etype,mship,P则 是对应集合的一个元素。 1.3基本操作 EBCAC可以概括为以下基本操作: 规则1.把证据e赋予程序集a; a.EvSet=a.EvSet+{e} 规则2.删除程序集a的证据E; a.EvSet=a.EvSet一{e} 规则3.给证据e添加一条新的成员资格条件 

维普资讯 http://www.cqvip.com 第2期 谷 兢,等:一种基于代码访问控制的改进模型 33 mship; e.Mship=e.Mship+{reship} e.EType e.EType+{etype} 规则4.删除证据e的一条成员资格条件 reship; e.Mship=e.Mship+{reship} e.EType=e.EType一{etype} 2 基于证据的代码访问控制(E. BCAC)系统的改进设计 2.1改进后的EBCAC系统结构 改进后的EBCAC结合了传统的RBAC和E— BCAC的优点,不仅考虑了代码的身份及其权限, 也考虑了运行代码的用户身份及其权限,改进后的 EBCAC系统设计方案如图2所示。 应用层 苛求预女 理模块 代码预处 理模块 程序集 程序集要 求的权限集 中间件环境 I 不 模块/\一 允许Y访问 \资源 操作系统 图2改进的EBCAC系统体系结构 Fig.2 Improved EBCAC system EBCAC机制可实现于位于操作系统和应用层 之间的中间件环境中,这样的好处有二:一是由于 代码实现的方式不同,所用编程语言多种多样,运 行的方式也不同,为了能用统一的机制来处理这些 代码,不仅需要在中间件环境里按照一定的标准和 格式组织成程序集单元以供操作系统运行,还需要 对应用层屏蔽代码的实现细节;二是对上层的应用 层程序而言,在中间件环境里运行EBCAC可以为 应用层程序提供无缝代码访问控制服务。 2.2 EBCAC系统的工作原理 EBCAC系统分为请求预处理、角色分配、代码 预处理、安全策略、权限计算、安全审核等6个模 块: 2.2.1客户请求预处理模块该模块将接受来自 于应用层的客户请求,验证该客户的身份并分离出 加载的代码。 2.2.2 用户角色分配模块该模块根据用户的身 份分配角色,并根据角色分配用户的访问权限。 2.2.3代码预处理模块代码预处理模块工作在 代码加载阶段,主要实现功能有,把代码组织成标 准单元,即程序集;负责对代码身份和来源进行检 查;并添加相应证据给程序集。此模块对应E— BCAC模型中EA的实现。 2.2.4安全策略模块安全策略模块中定义的是 安全策略,可以由管理员配置。它和程序集的证据 

相关文档
最新文档