【5A 文】某著名企业科技计划项目可行性研究报告一、总论(一)项目的主要内容及技术原理简述现代OA 应用系统在访问控制的主体、客体对象、访问权限等方面的特殊性决定了现代OA 系统需要满足以下要求:支持对用户组进行访问控制;支持在工作流中动态的改变用户权限;支持协同权限的说明和控制;对授权/消权提供方便的合法性检查;支持用户之间的授权关系以及相应的合法性检查;支持对操作依赖关系的描述;支持对现实办公事务近似模拟。
而传统的访问控制模型以及RBAC96 或TBAC 模型不能直接满足OA 应用系统在访问控制方面的要求,而且RBAC 和TBAC 访问控制模型本身还有许多方面需要完善(例如RBAC 中由于权限继承而导致的私有权限问题、RBAC2 的约束表达能力较弱等)。
因此,我们的研究目标是:改进现有的RBAC96 模型并在将其引入TBAC 模型的基础上设计和实现一种适合于OA 系统工作流环境的新型访问控制模型。
在设计好新型访问控制模型后,我们把它以组件的形式进行封装,并嵌入到实际的OA 系统中,提高OA 系统中工作流控制的易用性和可靠性。
基于上述考虑,我们研究的主要内容将分成以下几个部分:1、对原有的RBAC96 模型的研究和进一步改进;2、将RBAC 模型引入到TBAC 模型中,建立新型访问控制模型;3、改进新型访问控制模型,使其适应OA 系统的访问控制需求;4、以组件库的形式设计与实现这种新型的访问控制模型。
(二)项目的目的和意义目前,我国正处在新旧体制发生剧烈变革的时代。
政府机构和政府职能正在发生改变,企业结构和经营方针也在发生重组。
而OA 应用系统中,传统的权限方式很难及时的反映这种变革。
以Lotus 公司的Domino/Notes 为例,作为当前使用的最为广泛的办公自动化系统平台之一,Domino/Notes 在国内也得到了广泛的应用,国内的各软件公司都开发了多种基于此平台的OA应用系统。
Domino/Notes 为构建在其平台之上的OA 应用提供了一定的权限管理机制,其主要特点是通过建立存取控制列表和设置访问控制级别实现权限管理,同时使用了用户群组和角色等概念对用户的访问控制权限进一步细分。
需要特别指出的是,这里使用的“角色”概念更多的是与用户群组等同,而且其概念模型也只是停留在层次较低的RBAC0级[1]。
Domino/Notes 采用的这种机制对于简单的相对稳定的OA 应用是有效的,然而针对复杂的OA 应用系统,这种权限管理机制存在明显的不足。
主要体现在下面几点:(1 )难以有效处理复杂的岗位和职责问题;(2)不能满足权限控制权限的多样性;(3)无法处理工作流的访问权限;针对当前的OA 访问控制机制存在的这些不足,我们把研究的重点放在改进基于角色的访问控制模型(RBAC)和基于任务的访问控制模型(TBAC),并争取在此基础上提出一种新型的综合RBAC和TBAC优点的OA 访问控制模型。
新模型的设计目标是能有效的解决较复杂的岗位职责问题以及多样化的访问控制权限问题(借助于RBAC),并能最大程度的满足工作流中动态调整访问权限的需要(借助于TBAC)。
通过设计和引入新型访问控制模型,从而有效的提高OA 系统的信息安全度,这正是本课题的意义所在。
(三)相关技术领域国内外发展现状、趋势目前,较新型权限访问控制模型主要有两种:基于角色的访问控制模型(RBAC)和基于任务的访问控制模型(TBAC)[2]。
下面分别介绍一下两种模型的研究现状。
首先是RBAC 模型。
由于对RBAC 这个概念本身存在着不同的理解角度。
因此,目前所提出的RBAC 模型也有所不同。
到目前为止,还没有统一的模型。
VirgilGligor 提出的RBAC 模型[3]主要强调了用户组与角色的本质性不同。
他提出角色与用户组之间的区别在于角色允许我们实行基于主体的权限检查。
而且,这种基于主体的检查正是被任务分离、兴趣冲突这些RBAC 中的重要性质所需要的。
此外,他还认为,RBAC 既需要基于主体的检查,也需要基于客体的检查,并可以从访问控制矩阵的行列存储中派生出来。
LuigiGuiri 所提出的RBAC 模型则是Baldwin 模型[4]的一个扩展。
他认为一个角色可以看成一个命名保护域的集合,并且定义了构成这些集合的“角色代数” —“与角色” (可同时活跃的角色)和“或角色”(相互排斥角色)。
RaviSandhu提出的RBAC96模型,其中心思想是将用户和访问权限间接的通过角色联系起来,即一个用户可以通过分配给已被分配了某一访问权限的角色来获取这一访问权限。
这个模型包括了一个基本模型和三个有角色继承和约束条件在内的扩展模型。
在已有的RBAC 模型中,RBAC96 模型比之其它两种模型更为系统和全面地描述了RBAC 的多层次、多方面的意义,从而得到广泛的认可[5]。
RBAC96 模型是由美国GeorgeMason 大学的Ravi.Sandhu 教授[6]提出的.这一模型是通过对RBAC 多层次的研究而得到的。
它以用户、角色和访问权限这三个实体集为基础,包括了四个概念化的子模型、称为RBAC0,RBAC1,RBAC2 和RBAC3。
在RBAC96 的四个子模型中,RBAC0 是最基本的模型,它反映了RBAC 系统的最小需求。
RBAC1 和RBAC2 则都包含了RBAC0。
其中RBAC1在RBAC0的基础上加入了角色继承。
RBAC2在RBAC0的基础上加入了约束条件。
RBAC3是RBAC1和RBAC2 的结合,它包含了RBAC1和RBAC2,同时也间接的包含了RBAC0。
TBAC 是一种主动安全模型,特别适合工作流环境、分布式计算、多点访问控制。
它是一种新型的安全模型,从应用和企业层角度来解决安全问题(而非已往从系统的角度)。
它采用“面向任务”的观点,从任务(活动)的角度来建立安全模型和实现安全机制,并在任务处理的过程中提供动态实时的安全管理[7][8][9]。
在TBAC 中,对象的访问权限控制并不是静止不变的,而是随着执行任务的上下文环境发生变化。
TBAC 是主动安全模型的基础这一思想最初是由Thomas [10][11]等提出,Atluri [12]随后提出了一个工作流授权模型(WAM)。
下面简单介绍TBAC 的概念模型。
Thomas 等[2]提出一个系列的TBAC 概念模型,定义了四个概念模型:TBACO , TBAC1,TBAC2 , TBAC3。
TBACO是一个基本的模型,处于最底层,描述了任务,授权步及依赖关系,是任何一个采用TBAC 的系统的最低要求。
TBAC1和TBAC2包括了TBACO,但增加了一些特征,TBAC1 引入的合成结构而TBAC2 则增加了约束。
最后TBAC3 是一个混合结构,包括了TBAC1 和TBAC2。
(四)项目申请单位、主要合作申请单位及项目主要负责人的基本情况(五)有关本项目的现有工作基础和支撑条件二、项目实施方案(一)项目达到的目标及考核的主要技术经济指标(含知识产权、技术标准)(二)项目的主要研究(开发)内容1 、对原有的RBAC96 模型的研究和进一步改进;2、将RBAC 模型引入到TBAC 模型中,建立新型访问控制模型;3、改进新型访问控制模型,使其适应OA 系统的访问控制需求;4、以组件库的形式设计与实现这种新型的访问控制模型。
(三)试验(开发)规模及地点本项目由GG大学和GG思创科技有限公司合作开发,由思创公司提供相应的系统需求,GG 大学提供技术开发人员;开发地点选在GG 大学。
(四)主要技术关键及创新点1、技术关键:(1)解决RBAC96 中由于角色权限继承导致的私有权限问题。
(2)解决RBAC96 模型中的约束描述能力较弱的问题。
(3)解决TBAC 中的约束描述能力不足的问题。
2、创新点:(1)改进现有的RBAC96 模型;对于RBAC96 模型的改进主要体现在下面两点:解决RBAC1 模型中的私有权限问题;增强RBAC2 模型中约束描述语言的表达能力。
(2)提出一种新型的结合RBAC 与TBAC 优点的访问控制模型;将RBAC 的各种功能引入到TBAC 中,对TBAC 模型的进一步扩充建立一种新型的TRBAC 模型,使其既具有RBAC 授权方便、策略中立、支持最小权限的特点,又具有TBAC “面向任务”的工作机制,最大程度的适应OA 中的工作流环境。
(3)设计并实现这种新的权限控制模型的组件,以便OA 系统能够调用。
采用组件技术,将新型的权限控制模型封装成组件形式,便于OA 应用系统的重用。
(五)实施方案(含技术路线、工艺流程及技术关键的解决方案)本项目在技术上实现的关键在于对原有模型的改进,其中对于原有的RBAC96 模型的改进的思路包含以下两个方面:(1)解决RBAC1 模型中的私有权限问题;对于私有权限问题,我们拟采用引入传播深度指示符的方案加以解【MeiWei81-优质实用版文档】(2)增强RBAC2模型中约束描述语言的表达能力。
对于约束描述语言问题,我们打算通过在RCL20XX的基础上增加对时间约束的描述语言使其具有完备的约束机制。
(六)技术风险分析由于本项目开发基于目前相当成熟的工作流引擎技术和软件组件技术,是对0A中工作流管理权限机制的进一步完善,因此开发上不存在很大技术难度;而且开发小组的人员都具有比较丰富的开发经验,基本不存在技术上的风险。
(七)分年度的工作内容、目标20GG.1 H20GG.4收集资料,研究现有的RBAC及TBAC模型,了解0A访问控制系统的需求;20GG.5 -0GG.7研究改进RBAC96模型的方法;20GG.8 E0GG.12建立新型的基于RBAC及TBAC适合0A系统的访问控制模型;20GG.1 E0GG.4设计实现新型访问控制模型的组件库,阶段小结,撰写论文。
20GG.5 -0GG.12试用所开发的组件库,整理资料,完成项目验收。
(八)申请单位、合作申请单位及主要人员的分工1、申请单位:GG大学负责提供开发人员及技术支持2、合作申请单位:GG思创科技有限公司负责系统需求分析和推广应用3、主要人员分工:【MeiWei81-优质实用版文档】本项目由GG大学的王命延教授负责总体设计、详细设计、人员组织分工以及工作进度计划,武有新教授负责系统需求分析和推广应用,其他人员负责编码、测试及维护工作,开发小组人员的工作进度直接向王命延教授呈报。
思创科技有限公司负责项目所需的各种设备以及项目的推广和应用。
(十)相关依托工程(含技术)的落实情况本项目的开发的技术主要是基于现在比较成熟的工作流引擎技术和组件技术。
其中组件技术可以采用SUN公司J2EE中提供的Javabean或微软公司提供的COM,二者都是业界优秀的组件技术解决方案;而思创公司则提供了一个现成的工作流引擎。