一种基于t-rbac的访问控制模型研究与应用

一种基于t-rbac的访问控制模型研究与应用

ID:34120225

大小:2.83 MB

页数:74页

时间:2019-03-03

上传者:U-22107
一种基于t-rbac的访问控制模型研究与应用_第1页
一种基于t-rbac的访问控制模型研究与应用_第2页
一种基于t-rbac的访问控制模型研究与应用_第3页
一种基于t-rbac的访问控制模型研究与应用_第4页
一种基于t-rbac的访问控制模型研究与应用_第5页
资源描述:

《一种基于t-rbac的访问控制模型研究与应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

AbstractI‘withtherapidpopul撕zali咖ofncMofkan“tsapplicanont0eVer)『aspedof_sodal;life,thesecurityofnetworkhasbecomeanimportantproblem.Accesscontrolisoneoffivesecurityservicesthatmustbeimplementedinthebasicarchitectureforsecureinformationsystemsdefinedinthesecuritystandard(IS07498—2)byISO.Role-BasedAccessControl(RBAC)isoneofthebestandmostpopularaccesscontrolmodels.ComparedwiththetraditionalDACModelandMACModel,itcanprovidebetterflexibilityandscalability.Basedonthis,aTask-Role—BasedAccessControl(T-P,BAC)modelisbroughtup,whichisintegratedwiththeconceptofroleinRBACandtaskinTBAC.T-RBACcaneffectivelyreduceredundantdataandmaketherelatedmanagementmoreconvenient.However,thelackofconstraintssuchastimenarrowsitsdeploymentinsystemswhereamuchhighersecurityrequirementisneeded.ThethesispresentsastudyonextendedT-RBACmodelinmilitaryenviroment.First,systematicalresearchesonDiscretionaryAccessControl,MandatoryAccessControl,Role—BasedAccessControlandTask-Role-BasedAccessControl,summarizesthecharacterisitic-s’advantagesanddisadvantagesofthem;Then,analysestheespecialrequestinmilitaryenvironmentandputsforwardamilitaryaccesscontrolmodelbasedontaskandrolecalledAT-RBACmodel(armyTask-RoleBasedAccessContr01).Themodelputtemporalconstraintintheprocessofeonferingroleandperformingtaskthatenhancetimecharacteristicofthemodel.Inordertodecreaseinheritancegranularity,wedividetheroleinheritanceintotwoways:opensuccessionandclosesuccession.Atthesametime,someconceptsareintroducedinthemodel:rolelevel,taskfraction,taskpriority,dependencyamongtasks.ToRBACmodelsoundlystrengthensconstraintandsatisfytheveracityandsecurityrequest.Finally,inordertoexplainhowtorealizethissystembasedonT-RBACmodel,thethesisimplementsthegivenmodelinMilitaryDictateAutomatizationSystem.Thethesisdescribestheworkflow,datababasedesignandimportantcodeinthesystem.、 ^:札,弓颂士学位论文Abstractr}1t、‘Ps:+cqultshowsthatthesystemcanachieveexpectedfunctionofthemodelaswellasitsteasiblity.Kevwords:AccessControl;RBAC;T-RBAC;Role;Task;AT-RBAC吐●●●,I¨●怎 东北大学硕士学位论文目录目录声明⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯I中文摘要⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯...⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.IIABS17RACT⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。⋯⋯⋯⋯III第1章绪论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯111.1课题背景与意义⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯厶⋯⋯⋯⋯11.2国内外研究现状’⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。31.3本文的主要工作⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。51.4本文的组织结构⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯6第2章访问控制技术简介⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯72.1访问控制策略概述⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。72.2访问控制策略的简介⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯72.2.1自主访问控制(DAC)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.72.2.2强制访问控制(MAC)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯82.2.3基于角色的访问控制(RBAC)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯92.3三种访问控制策略的比较⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.92.4本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.10第3章RBAC技术和模型的研究⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯113.1RBAC的基本概念⋯⋯⋯⋯⋯⋯⋯⋯...⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯ll3.2RBAC96模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..143.2.1RBACo模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯153.2.2RBACI模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯:⋯163.2.3RBAC2模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.173.2.4RBAC3模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..173.3√6岫AC97模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯l83.3.1URA97模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯...⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯19一卜一厂一,—b/r●,●.t,l;尸 东北大学硕士学位论文目录3.3.2PRA97模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。203.3.3RRP97模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯203.4基于角色和任务的访问控制模型T-RBAC⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。203.4RBAC模型的特点讨论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..223.5本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..23第4章AT-RBAC模型⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯254.1AT-RBAC模型的构建⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..254.2时间约束(TemporalConstraint:TC)⋯⋯⋯⋯⋯⋯:⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..274.2.1时间的概念⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..274.2.2时间约束的分类⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.284.2.3时间约束在AT-RBAC模型中的应用⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯294.2.4时间约束的表示形式⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯304.3角色管理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯344.3.1角色继承的约束(RoleInheritanceConstraint:RIC)⋯⋯⋯⋯⋯⋯⋯.j⋯⋯⋯⋯344.3.2角色等级(RoleLevel:RL)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯354.4任务管理⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..364.4.1任务的分类(TaskFraction:TF)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯_⋯⋯⋯⋯⋯⋯⋯⋯⋯364.4.2任务的优先级(TaskPriofity:TP)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯374.4.3任务问的相互依赖关系(TaskDependency:TD)⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯384.5模型的安全性⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.394.5.1最小特权原则⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯394.5.2职责分离⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯0⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯404.5.3时间限制⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯....⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯404.6本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..j⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。40第5章AT-RBAC访问控制系统的设计与实现⋯⋯⋯⋯⋯⋯⋯⋯⋯415.1军事指挥自动化系统的总体设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯415.2权限控制系统的结构设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.425.3权限控制系统应用服务的结构与流程⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。435.4权限控制系统应用服务的模块设计⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.47一n一孵●j ’.;-●东北大学硕士学位论文目录5.4.1对象定义模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯485.4.2角色定义模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯495.4.3任务定义模块⋯⋯⋯⋯⋯⋯...⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯505.4.4权限定义模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯515.4.5用户委派模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.525.4.6任务授权模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯525.4.7权限配置模块⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯535.5权限控制系统的数据库设计⋯⋯:⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.545.5.1用户信息库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯545.5.2角色信息库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯555.5.3任务信息库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯:⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯565.5.4权限信息库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。..565.5.5用户、角色、任务间的授权关系信息库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.575.5.6动态约束信息库⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯585.6权限加载的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯595.6.1接口部分⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.595.6.2权限加载的实现⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯605.7开发与运行环境⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.625.8性能测试⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.625.9本章小结⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。第6章总结与展望⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯67参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。69致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..73一HI— t;;,p,。;童 下≯东北大学硕士学位论文第1章绪论通信、计算机和网络等信息技术的发展大大提升了信息的获取、处理、传输、存储和应用能力,信息数字化已经成为普遍现象。互联网的普及更方便了信息的共享和交流,使信息技术的应用扩展到社会经济、政治、军事、个人生活等各个领域。因此,信息安全的重要性可以上升到国家安全的高度。1.1课题背景与意义在计算机网络飞速发展的今天,人们的工作与生活越来越密切的与计算机网络连接在一起。如何确保信息在计算机网络中的完全性,防止其受到攻击,如窃取、冒充、伪造、篡改等等,成为了迫切需要解决的问题。计算机安全是指,为信息处理系统建立和采取的技术和管理的安全保护措施,保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因而使系统或信息遭到破坏、更改或泄露【11。它的目标是保护信息的机密性、完整性、抗否认性和可用性;也有观点认为是机密性、完整性和可用性,即CIA(Confidentiality,Integrity,Availability)【刽。一般而言信息安全探讨的课题包括了:入侵检测(IntrusionDetection)、加密(Encryption)、认证(Authentication)、访问控制(AccessContr01)以及审核(Auditing)等等。其中访问控制这一项即为本文欲探讨的内容。访问控制的作用就是对需要访问的主体(用户、进程等)进行身份验证,并限制访问主体对访问客体(文件、系统等)的访问权限,从而使计算机系统在合法范围内使用。访问控制不仅是拒绝非法用户访问,更主要的是限制合法用户对资源的访问。美国国家安全局发布的IATI'F(InformationAssuranceTechnicalFramework,信息保障技术框架)文档中根据信息安全需求划分了五种主要的安全服务:访问控制、保密性、完整性、可用行和不可否认性。访问控制技术产生于20世纪60年代,其描述性定义是:访问控制是实现既定安全政策f3l的系统安全技术,它管理所有的资源访问请求,即根据安全政策的要求,对每一个资源访问请求做出是否许可的判断,能有效的防止非法用户访问系统资源和合法用户非法使用资源。访问控制可以通过授权系统的控制,使用户仅获得能够访问资源的最小权限,保证无法越权访问。通过访问控制,就可以对他们的访问权限进行严格的限制,降低他们的一1一,j广-、-. 东北大学硕士学位论文第1章绪论破坏力。目前,访问控制的重要性己经越来越为人们所认识,但是它并不能与其他的安全服务相分离或独立。这些安全服务是相互依赖的。在实现上,通常是一种安全机制支持多种安全服务。这样的安全机制通常需要多种安全技术联合构建。比如,密码、认证与识别、授权与访问控制、审计、网间隔离与访问代理、反病毒等。只有综合运用各种安全技术,合理搭配,才能构建支持多种安全服务、强有力的安全机制。访问控制在操作系统、数据库和网络上都有十分重要的应用。现代操作系统如Windows系列,Solaris系列,UNIX系列都实现了不同程度的访问控制;许多大型数据库产品如Oracle,Sybase,Informix等都支持访问控制功能;Web安全产品如getAccess,TrustedWeb,Tivoli都把访问控制模块作为其核心模块之一。传统的访问控制方法包括了美国国防部颁布的橘皮书(OrangeBook)中制订的两种方法:强制的访问控制(MandatoryAccessControl,MAC)、自主型的访问控制(DiscretionaryAccessControl,DAC)眇,6,71。MAC方法主要应用在传统的国防领域,访问控制策略基于访问对象的保密等级来实现,由于定制严格而缺乏弹性,对系统的其他方面如授权管理方面使用不够灵活。而DAC方法下,资源的拥有者可以自行决定资源的访问权限,因其具有弹性的特性,目前已广泛的应用于商用系统中。但其却具有无法控制信息流向的缺点。一个资源的拥有者具有对资源的访问权限,同时该用户也可以将他的访问权限授予其他的用户,这样也不利于实现统一的全局访问控制。在企业环境中,系统产生的资源是属于公司的财产,若由使用者自行裁决资源的使用权限,并非合理的作法。同时以上两种方法皆注重于最基本的访问权,诸如读(read)、写(write)、删除(revoke)、增加(append)、执行(excute)等,并无法满足复杂的企业环境需求。譬如在一笔银行的交易中,可能就牵涉到数次读、写、执行的动作,若使用MAC或DAC来制订系统的访问政策(policy),显然是件非常复杂的工作。20世纪90年代以来出现的基于角色的访问控锘J](Role.BasedAccessControl,RBAC)技术有效地克服了MAC和DAC技术中的不足,可以减少授权管理的复杂性,降低管理开销,而且还能为管理员提供一个比较好的实现安全政策的环境。是近年来在信息安全领域访问控制方面的研究热点和重点。在RBAC中,引入了角色这一重要概念。所谓“角色一,就是一个或一群用户在组织内可执行的操作的集合。RBAC的基本思想是:授权给用户的访问权限,通常由用户在一个组织中担当的角色来确定。例如军用指挥自动化系统中,有指挥员、参谋、工程师等,由于他们的职能不同,所拥有的访问权限显然也各不相同。RBAC根据用户在组一2一妒;j 东北大学硕士学位论文第1章绪论织内所处的角色进行访问授权与控制。就是说,传统的访问控制直接将访问主体(发出访问操作、存取要求的主动方)和客体(被调用的程序或欲存取的数据)相联系,而RBAC在中间加入了角色,通过角色沟通主体与客体。实现访问权限的是用户对应的角色。1.2国内外研究现状目前对RBAC已有较广泛的研究,其中较为深入的是美国GeorgeMason大学的RBAC96和ARBAC97模型,另外还有美国国家标准与技术局(NIST)研究小组的RBAC模型,以及SQL3RBAC模型等。1992年,美国国家标准与技术研究所(NIST)的DavidFerraiolo和RickKuhn在综合了大量的实际研究之后,率先提出基于角色的访问控制模型框架,并给出了RBAC模型的一种形式化定义【引。该模型第一次引入了角色的概念并给出其基本语义,指出RBAC模型实现了最小权限原贝,l|(LeastPrivilege)和职责分离原贝1](SeparationOfDuty)。该模型中给出了一种集中式管理的RBAC管理方案。1995年他们以一种更直观的方式对该模型进行了描述【伽。:RaviSandhu和他领导的位于GeorgeMason大学的信息安全技术实验室基于角色访问控制的理论与应用研究(LIST)于1996年提出了著名的RBAC96模型110l,将传统的RBAC模型根据不同需要拆分成四种嵌套的模型并给出形式化定义,极大地提高了系统灵活性和可用性。1997年他们更进一步,提出了一种分布式RBAC管理模ARBAC97,实现了在RBAC模型基础上的分布式管理111l。这两个模型清晰地表征了RBAC概念并且蕴涵了他人的工作,成为RBAC的经典模型,绝大多数基于角色的访问控制研究都以这两个模型作为出发点。2000年Osborn等人研究了RBAC模型究竟能够在多大程度上解决MAC和DAC这个问题,证明了RBAC是一种更一般的访问控制模型。他们利用RBAC模型成功的模拟了MAC和DAC[121,通过定义合适的用户、角色和权限,RBAC模型可以衍生出更多种类的访问控制模型,从而可以真正取代已有的两种模型。2001年,RBAC领域的领军人物DavidFerraiolo,RaviSandhu等人联合拟定了一个RBAC模型的美国国家标准草案,力图统一不同模型中的术语,并对所有RBAC的基本操作给出伪码定义。该模型类似于RBAC96模型,只是对权限部分做了一定的细化,分成操作(Operation)和对象(Objcct).一3一 东北大学硕士学位论文第1章绪论2001年8月,ACM(AssociationforComputingMachinery)版标准草案完成【13l,它综合考虑了当前学术界和产业界对RBAC技术的各种见解,界定了RBAC技术的领域范围,统一了相关术语,建立了RBAC技术的参考模型,定义了各种模型构件,并给出了一套系统与管理功能规范。这之后人们习惯将它成为NISTRBAC模型。目前人们将RBAC96模型和NISTRBAC模型认作传统的RBAC模型。2003年4月,NIST提交标准草案【141。2004年2月19日,在这两个标准的基础上,INCITS正式批准了ANS/INCI’TS359-2004StandardInformationTechnology—RoleBasedAccessControl。然而随着Internet的高速发展,网络规模的迅速扩大,很多基于Web的服务中相继采用了基于角色的访问控制,随之而来的关于传统RBAC模型中存在的问题也逐渐的暴露出来。比如随着应用环境的同渐复杂,用户与资源数量不断增加,在传统RBAC中系统管理员采用手动授权为用户分配角色,就显得不适合了,这种授权方式不仅需要很大的工作量,当用户角色发生变化的时候需要逐一修改,增加了系统的不便性。而且维护用户和角色之间的关系就会给系统管理员带来大量的机械的工作。系统维护成本的高低,直接影响着企业的运营成本,维护成本的增加必然需要增加系统管理员的队伍,这将增加系统管理的复杂性和系统的不安全性。传统RBAC模型在依赖时间、地点等存取控制策略时也明显显示出了它的不足。因此,对于传统的RBAC模型,仍需要加以改进和完善。目前国内外的学者,主要的研究方向集中在对传统RBAC模型的扩展上。Bertin等人提出TTemporal.RBAC模型_J[151,该模型在访问控制框架中引入了时间(time)参数,在角色分配时引入时间的限制,支持权限之间的临时依赖关系。Joshi,Bcrtino等人又对该模型进行了扩充,提出TGeneralizedTemporalRBAC模型【16】,进一步把时间的限制应用到了角色的层次,职责分离等方面。国内对研究RBAC如何应用于操作系统、数据库系统等情况较多,对RBAC在具体的信息系统中应用的研究较少。对RBAC的研究主要有中国科学院软件研究所、华中科技大学等,主要是对RBAC模型扩展和应用方面进行深入的研究。中国科学院的黄健等人提出了麟C模型【1刀,在RBAC基础上作了时间特性方面的扩展,定义了系统时钟,对约束、会话和系统状态空间本身进行了时间扩充。解决了时间授权约束和会话的状态转变问题,同时对系统一致性状态的维护进行了讨论与分析。但在一致性状态维护方面仍然存在一些问题。鲁柯等人提出了带时间特性的RBAC的使用控制模型11Sl。一4一,7j 东北大学硕士学位论文第1章绪论中国科学院的乔颖等人提出"]'NRBACll9l模型,该模型定义了原始角色集上的3种运算:排斥运算、活跃排斥运算和分级运算。更加接近现实世界及形式统一,更加全面的满足现实应用中的需求。蔡永国等人在RBAC模型的基础上,融合协同业务规范中的义务及奖惩元素,提出RBAO(RoleBasedAccessandObligation)1201模型。RBAO模型不仅能描述角色在组织中可拥有的访问权力,还能描述角色在组织中可能要承担的义务及义务违反时将受到的处罚。中南大学的杨萍等在ARBAC97的基础之上提出了基于资源的RRBACl21】模型将企业机构资源和系统菜单资源分层次赋给角色,简化角色的授权管理,实现了更细粒度的访问控制,优化了基于角色的访问控制。此外,近几年提出了一种T-RBAC(Task.Role.BasedAccessContr01)122,23,241模型。在RBAC中加入了任务的概念,整个工作流系统中的用户都被赋予特定的角色,同时规定每个角色可以执行哪些任务以及每个任务的最小访问权限。这样,权限不再直接与用户相关,而必须通过任务才能与角色关联起来。权限可以作为任务的属性来实现,而不必建立类似传统RBAC模型中的二元组权限,没有了数据冗余,方便了管理员的安全管理工作。不管用户采用其拥有的何种角色登陆,都必须在执行系统分配的任务实例的过程中才拥有该权限任务实例的数据访问权限,这样就自然地实现了权限的动态分配和撤销,提高了工作流系统的动态适应性。由于权限直接和任务相关,用户只有在执行任务实例地情况下才拥有该任务对应的访问权限。王锐等人实现了TRBAC模型在实验教学系统中,基于.NET平台下的任务角色访问控制1251。1.3本文的主要工作本文首先对传统访问控制中的强制访问控制模式和自主访问控制模式进行了介绍,重点介绍了传统基于角色的控制模型RBAC96模型、ARBAC97模型,以及基于任务一角色的访问控制模型T-RBAC模型,分析了这几种模型的特性以及存在的不足。在此基础之上提出了一种T-RBAC的扩展模型,适用于军队环境下应用的AT-RBAC模型,在具体描述该模型时,首先引入了时间限制的概念,在用户.角色和任务.权限的授权过程中加入时间上的规范,授权要符合时间要求才能够成立。然后,分别对模型中的重点部分角色和任务引入了一些约束,对角色执行的继承引入了部分继承的概念,将继承分为两种方式开放式继承和封闭式继承,继承的任务也区分为可继承的公共任务和不可继承的私--5·-—- 东北大学硕士学位论文第1章绪论有任务,减小了继承的粒度,并提出了角色等级的概念,增强了等级之间读写数据的安全性。根据任务执行时的不同性质进行了分类约束,提高了对大量任务的归纳处理效率。定义了任务的优先级,优先级高的任务可以先执行。最后对任务相互之间的依赖关系进行了具体的描述。1.4本文的组织结构本文共分六章,各章内容安排如下:第1章,绪论。对信息安全和RBAC技术的发展应用作了简要的介绍;概述本文所做的研究工作。第2章,访问控制技术简介。介绍了三种主要的访问控制技术:自主访问控(DAC),强制访问控制(MAC)和基于角色访问控制(RBAC)。第3章,RBAC技术和模型的研究。详细介绍基于角色访问控制的经典模型:RBAC96模型、ARBAC97模型,以及新兴的基于任务.角色的T-RBAC模型。第4章,在已有的基于任务的角色访问控制模型的基础上,分析了在实际访问控制中仍存在的诸多问题。详细地介绍了引入时间约束和继承约束的AT-RBAC模型。时限约束的具体含义是授权用户在赋予被授权角色和任务在一定时间段中具有一定的权限,即仅仅在时间段中可以行使权限,一旦当前时间超出时间段范围,则系统自动撤销该角色任务集中授权的某个任务,或者直接将任务取消掉,而且对于角色和任务授权的最大时间长度有一定的限制。继承约束是在角色继承的过程中,对于继承的任务进行有条件的限制,从而达到减小粒度,提高效率的目的。除此之外,还引入了角色等级,任务优先级和任务分类的概念,对角色和任务进行进一步的约束限制。最后对整个模型进行了安全性分析。第5章,将这种访问问控制模型应用到军事指挥自动化系统中,详细描述了系统的总体结构图,访问权限子系统中各个模块的流程图,实现了数据库和程序部分,并对系统进行了测试。第6章,对全文工作进行总结,并对下一阶段的研究进行展望。一6一一矗'一二 东北大学硕士学位论文第2章访问控制技术简介2.1访问控制策略概述.访问控制是一个安全信息系统不可缺少的重要组成部分,访问控制的目的在于限制I系统内合法用户的行为和操作(非法用户不能通过身份认证),它包括用户能做什么以一及系统程序根据用户的行为应该做什么两层含义。访问控制的研究是一个前沿领域,它在一个安全系统中起着极其重要的作用,是一种能达到显著安全效果的十分重要的技术。同时访问控制也是统一安全认证平台上一个不可缺少的重要模块。t访问控制是指主体依据某些控制策略或权限对客体本身或是其资源进行的不同授权访问。访问控制包括三个要素,即:主体、客体和控制策略。主体(Subject):发出访问要求、存取要求的主动方。通常可以是用户或某个进程。客体(Object):被访问的对象,通常可以是被调用的程序、进程,要存取的数据、信息,要访问的文件、系统或各种网络设备、设施等资源。控制策略:是主体对客体的操作行为集和约束条件集,控制策略是主体对客体的访●问规则集,直接定义了主体对客体可以的作用行为和客体对主体的条件约束。本章主要介绍几种重要的传统访问控制模型,它们对以后的各类访问控制模型的研究有着基础性的作用。,2.2访问控制策略的简介根据应用背景的不同,访问控制可以有不同的实现策略。二十世纪七十年代以来,如下三种访问控制策略被依次提出,在现有的访问控制产品中应用较广:自主访问控制(DiscretionaryAccessControl,DAC),强制访问控制(MandatoryAccessControl,MAC)和基于角色的访问控制(Role.BasedAccessControl,RBAC)。2.2.1自主访问控制(DAC)自主访问控制模型【26I(DACModel,DiscretionaryAccessControlModel)是根据自主访问控制策略建立的一种模型,允许合法用户以用户或用户组的身份访问策略规定的客体,同时阻止非授权用户访问客体,某些用户还可以自主地把自己所拥有的客体的访问一7一 东北大学硕士学位论文第2章访问控制技术简介权限授予其它用户。自主访问控制又称为任意访问控制。LINUX,UNIX,WindowsNT或是SERVER版本的操作系统都提供自主访问控制的功能。在实现上,首先要对用户的身份进行鉴别,然后就可以按照访问控制列表所赋予用户的权限允许和限制用户使用客体的资源。主体控制权限的修改通常由特权用户或是特权用户(管理员)组实现。自主访问控制对用户提供的这种灵活的数据访问方式,使得DAC广泛应用在商业和工业环境中;由于用户可以任意传递权限,那么,没有访问文件Filel权限的用户A就能够从有访问权限的用户B那里得到访问权限或是直接获得文件Filel;因此,DAC模型提供的安全防护还是相对比较低的,不能给系统提供充分的数据保护。自主访问控制模型的特点是授权的实施主体(可以授权的主体;管理授权的客体;授权组)自主负责赋予和回收其他主体对客体资源的访问权限。一般采用访问控制矩阵和访问控制列表存放不同主体的访问控制信息,从而达到对主体访问权限的限制目的。2.2.2强制访问控制(MAC)强制访问控制模型Iz'rj(MACModel:MandatoryAccessControlModel)最开始为了实现比DAC更为严格的访问控制策略,美国政府和军方开发了各种各样的控制模型,’这些方案或模型都有比较完善的和详尽的定义。随后,逐渐形成强制访问的模型,并得到广泛的商业关注和应用。和DAC模型不同的是,MAC是一种多级访问控制策略,它的主要特点是系统对访问主体和象分配不同的安全级别属性,在实施访问控制时,系统先对访问主体和受控对象的安全级别属性进行比较,再决定访问主体能否访问该受控对象。MAC对访问主体和受控对象标识两个安全标记:一个是具有偏序关系的安全等级标记;另一个是非等级分类标记。主体和客体在分属不同的安全类别时,都属于一个固定的安全类别SC,SG就构成一个偏序关系(比如TS表示绝密级,就比密级S要高)。当主体S的安全类别为髑,而客体。的安全类别为S时,用偏序关系可以表述为SC(s)>SC(o)。考虑到偏序关系,主体对客体的访问主要有四种方式:(1)向下读(rd,readdown):主体级别大于客体级别的读操作;(2)向上读(ru,readup):主体级别低于客体级别的写操作;(3)向下写(wd’writedown):主体级别大于客体级别的写操作;(4)向上写(帆writeup):主体级别低于客体级别的读操作。由于MAC通过分级的安全标签实现了信息的单向流通,因此一直被军方采用,其中最著名的是Bell.LaPadula模型【篮l和Biba模型1291:Bell.LaPadula模型具有只允许向下一8一一矗,-t 东北大学硕士学位论文第2章访问控制技术简介读、向上写的特点,可有效地防止机密信息向下级泄露:Biba模型则具有不允许向下读、向上写的特点,可有效地保护数据的完整性。强制访问控制的优点是管理集中,根据事先定义好的安全级别实现严格的权限管理,因此适宜于对安全性要求较高的应用环境,一般在军事环境下应用比较多。美国军方就一直使用这种访问控制模型。但这种强制访问控制太严格,实现工作量太大,管理不便,不适用于主体或客体经常更新的应用环境。2.2.3基于角色的访问控制(RBAC)前面两种访问控制模型都存在的不足是将主体和客体直接绑定在一起,授权时需要对每对(主体,客体)指定访问许可。这样存在的问题是当主体和客体达到较高的数量级之后,授权工作将非常困难。二十世纪九十年代以来,随着对在线的多用户、多系统的研究不断深入,角色的概念逐渐形成,并逐步产生了以角色为中心的访问控制模型(Rolc.BasedAccessContr01)。基于角色的访问控制是指授权给用户的访问权限,通常由用户在一个组织中担当的角色来确定,当用户被赋予一个角色时,用户具有这个角色所具有的所有访问权限。目前,基于角色的访问控制模型正逐步被理论界和工业界所接受。2.3三种访问控制策略的比较DAC的主要特点是根据主体的身份及允许访问的权限进行决策。灵活性高,被大量采用。DAC技术存在明显的不足,主要体现在以下几方面:(1)既然主体可任意在系统中规定谁可以访问源,那么系统管理员就难以确定哪些用户对哪些资源有访问权限,不利于实现统一的全局访问控制;(2)在许多组织中,用户对他们所能访问的资源并不具有所有权,组织本身才是系统中资源的真正拥有者。而且,各组织希望访问控制实现能与组织内部的安全策略相一致,并由管理部门统一实施访问控制,不允许用户自主地处理,而DAC却存在着用户滥用职权的问题;(3)用户间的关系不能在系统中体现出来,不易管理;(4)信息容易泄露,不能抵御特洛伊木马(TrojanHorse)的攻击。特洛伊木马是嵌入在合法程序中的一段以窃取或破坏信息为目的的恶意代码。在自主型访问控制下,一旦带有特洛伊木马的应用程序被激活,特洛伊木马便可以任意泄露和破坏接触到的信一9一 东北大学硕士学位论文第2章访问控制技术简介息,甚至改变这些信息的访问授权模式。MAC的特点:强制访问控制的实施取决于能用算法表达的且能在计算机上可执行的策略。策略给出的只是资源受到的限制和主体的授权,而对资源的访问权限取决于实体的授权而非主体的身份。可以在一定程度上防范木马攻击,攻击者只能破坏而不能获取机密信息。系统管理员可以对系统权限进行有效的管理。MAC的不足主要体现在以下两方面:(1)用户共享数据的机制不灵活,MAC不允许一个进程生成共享文件,可防止进程通过共享文件将信息从一个进程转移到另一个进程,但这对合法用户却是一种限制;(2)应用的领域较窄,使用不灵活,一般用于军方等具有明显等级观念的行业领域。RBAC从控制主体的角度出发,根据管理中相对稳定的职权和责任来划分角色,将访问权限与角色相联系,这点与传统的MAC和DAC将权限直接授予用户的方式不同;通过给用户分配合适的角色,让用户与访问权限相联系。角色成为访问控制中访问主体和受控对象之间的一座桥梁。相比较而言,RBAC是实施面向企业的安全策略的一种有效的访问控制方式,其具有灵活性、方便性和安全性的特点,目前在大型数据库系统的权限管理中得到普遍应用。RBAC极大的方便了权限管理:(1)给用户分配角色不需要很多技术,可以由行政管理人员来执行;(2)给角色配置权限的工作比较复杂,需要一定的技术,可以由专门的技术人员来承担,但是不给他们分配角色的权限,这与现实中的情况正好一致;(3)在现实中用户是很可能发生变化的,而系统中角色变化的频率会低得多;如果一个用户的职位发生变化,在RBAC中只要将用户当前的角色去掉,加入代表新职务或新任务的角色即可,维护操作简单。研究人员己经逐渐认识到强制访问控制和自主访问控制理论不能够反映越来越复杂的安全需求,基于角色的访问控制作为近些年来产生的理论仍然在不断的完善,并最终作为强制访问控制和自主访问控制的替代策略。2.4本章小结本章概括地介绍了访问控制策略的概念,简要介绍了自主访问控制(DAC)、强制访问控制(MAC)相关概念和基于角色的访问控制(RBAC)相关概念、控制方法和基本模型,并讨论了这三种访问控制策略各自的特点。一10一,1..J 东北大学硕士学位论文第3章RBAC技术和模型的研究RBAC模型的建立及其实现是基于角色访问控制研究中的两大热点。近几年来,对基于角色访问控制的研究不断深入。RBAC模型实际上形象地反映了RBAC本身的含义,建立RBAC模型就是要对RBAC进行系统地描述,从而使人们能够非常方便地理解RBAC的含义,以便对其进行更加深入地研究。目前,绝大多数基于角色的访问控制研究都以RBAC96,ARBAC97这两个模型作为出发点进行深入研究。本章将对RBAC热点模型进行详尽的研究。3.1RBAC的基本概念本小节给出了RBAC模型中各种术语的基本定义,以及模型所遵循的基本原则。RBAC模型中的常用术语如下:用户(User):是一个访问计算机系统中的数据或者用数据表示的其它资源的主体。我们用U表示全体用户的集合。用户一般情况下指人,也可为Agent等智能程序。权限(Permission):是对计算机系统中的数据或者用数据表示的其它资源进行访问的许可。我们用P表示全体权限的集合。权限一般是一种抽象概念,表示对于某种客体资源的某种操作许可。因此有的模型中将权限细化为二元组(操作,对象),其中对象是访问控制系统中的真正客体,操作是作用在该对象上的一种访问方式。由于该二元组中操作一般是与具体的对象相关的,在今后的模型中认为权限是一个语义统一体。角色(Role):是指一个组织或任务中的工作或位置,代表了一种资格、权利和责任。我们用R表示全体角色的集合。角色是一种语义综合体,可以是一种抽象概念,也可以对应于具体应用领域内的职位和权利。管理员角色(AdministratorRole):是一种特定的角色,用来对角色的访问权限进行设置和管理。在集中式管理控制模型中,管理员角色由一个系统安全管理员来完成;而在分布式管理控制模型中,可以采用制定区域管理员来对系统进行分布式管理,每个管理员可以管理该区域内的角色权限的配置情况。当然区域管理员的创建和权限授予则统一由顶级的系统安全管理员完成。用户指派(UserAssignment):是用户集U到角色集R的一种多对多的关系,即有UAEUxR也称为角色授权(RoleAuthorization).(u,r)∈UA表示用户。拥有角色r,一11一 东北大学硕士学位论文第3章RBAC技术和模型的研究从语义上来说就表示U拥有r所具有的权限。权限指派(PermissionAssignment):是权限集P到角色集R的一种多对多的关系,即有PA(EPxR。PA(p,r)表示权限P被赋予角色r,从语义上来说,就表示拥有r的用户拥有P。用户、角色与权限之间的关系如图3.1所示。图3.1用户、角色与权限的关系Fig.3.1Therelationshipamonguser,roleandpermission角色激活(RoleActivation):是指用户从被授权的角色中选择一组角色的过程。用户访问的时候实际具有的角色只包含激活后的角色,未激活的角色在访问中不起作用。相对于静态的角色授权来说,角色激活是一种动态的过程,提供了相当的灵活性。会话(Session):对应于一个用户和一组激活的角色,表征用户进行角色激活的过程。一个用户可以进行几次会话,在每次会话中激活不同的角色,这样用户也将具有不同的访问权限。用户必须通过会话才能激活角色。角色继承关系(RoleInheritance):是角色集R中元素间的一种偏序关系≥,满足.,(1)自反性:Vr∈R.r≥r;(2)反对称性:Vrl,r2ER,rlar2nr2zrl号r1=r2;1(3)传递性:Vr1,r2,r3ER,rl之r2nr2苫r3号r1乏r3。从语义上来说,两个角色rlar2是指前者比后者级别更高,具有较大的权利。形式化的说,rl>r2蕴涵r2对应的权限指派r1也拥有,同时r1对应的用户指派r2也拥有,即有:dar2=,.Permission(r2)_CPermission(rlrlUser(r1))C_User(国其中Permission(r)表示r对应的权限集,User(r)表示r对应的角色集。角色继承关系允许存在各种形式,包括多重继承。在这个偏序的意义下,角色集中并不一定存在最一12— 东北大学硕士学位论文第3章RBAC技术和模型的研究大角色和最小角色。角色层次图(RoleHierarchies):是给定了角色继承关系之后整个角色集形成的一个层次图:如果rl:-r2,那么在图上就存在rl到r2的一条有向边。根据不同的角色偏序定义,角色层次图可以是树、倒装树、格,甚至极为复杂的图。一般为了简化角色层次图,有向边的箭头被省略,继承关系默认为自上而下。图3.2,就是一个角色层次图例。r管理员(DIR)。////—\项目生产程师1(PEl)工程师1(E1)量工)项目生产程师2(PE2)工程师2(E2)工程师职位(ED)员工(E)项目质量工程师2(QE2)图3.2角色层次图例Fig.3.2Acultlineofthelayerofroles限制(Constraints):是在整个模型上的一系列约束条件,用来控制指派操作,指定职责分离(SD,SeparationofDuty)以及避免冲突等。职责分离就是在不同角色之间,根据功能的不同对权限进行分离,以防止用户拥有超过他们职位所需的权力。其动机是为了保证欺骗和大的错误不会发生,除非多个用户蓄意勾结,进行欺骗。在基于角色的访问控制系统中,职责分离的概念是由最小权限的原则所支持的。在基于角色的访问控制中,主要是静态职责分离原则和动态职责分离原则。这是一个非常抽象的概念,RBAC模型中并没有给出限制的类型和表述方式。任何独立于前面诸多术语的约束条件都是限制的一种形式。典型的限制包括指定角色互斥关系,角色基数限制等。根据职责分离的不同阶段,限制一般可分为静态职责分离和动态职责分离。角色互斥关系(MutuallyExclusiveRoles):限制的一种,用于指定两个角色具有不同的职责,不能让一个用户同时拥有。银行的出纳和会计便是角色互斥的简单例子。角一13一.’ 东北大学硕士学位论文第3章RBAC技术和模型的研究色互斥关系的目的是为了在RBAC模型中引入业务逻辑的规则,避免冲突的发生。根据互斥的程度和影响的范围不同,角色互斥有很多种形式。角色基数限制(RoleCardinalityConstraints):限制的一种,用于指定一个角色可被同时授权或激活的数目。比如总经理只能由一个用户担任,那么总经理角色的角色基数就为1。根据下面定义的静态和动态的职责分离,角色基数限制有静态角色基数限制和动态角色基数限制两种。紫静态职责分离(SSD,StaticSeparationofDuty):如果两个角色是静态职责分离的关。系,那么这两个角色将不能分配给同一个用户。在基于角色访问控制的系统中,可能出现由于某个用户同时拥有具有相互冲突关系的已经授权的多个角色,而导致出现矛盾冲突。阻止出现这种冲突的一个方法就是静态职责分离,通过这种方法来约束对用户进行的角色分配。具体方法就是,一个用户如果被授权给一个角色(而这个角色同另一角色有静态职责分离关系),那么这个用户就会被禁止成为另一个角色的成员。静态职责分离的定义:+SSD∈2攀×N。该关系满足V(rs,n)∈SSD,Vt_rs:tI≥n号Nassigned_users(r)=O。—宣动态职责分离(DSD,DynamicSeparationofDuty):如果两个角色是动态职责分离的关系,那么这两个角色可以同时分配给一个用户,但是用户的这两个角色在同一时刻不能都是处于激活状态。也就是说具有动态职责分离关系的角色可以被授权给同一个用户,只要用户在完成操作时不同时激活这两个角色,就不会出现冲突。动态职责分离定义:DSD_.2瑚UxN。该关系满足Vrs£2呲,nEN,(rs,n)EDsD辛n≥2n卜l2n,并且VsESessions,V璐∈2‰1“,Vrole_setE矿h‘,VnEN,(rs,n)∈DSD,role_setC_rs,role.,__setC_sessions_roles(s)=*lrole__setIrI(users(的,r’)一16一, 东北大学硕士学位论文第3章RBAC技术和模型的研究EUA]}的映射函数,si有许可权urEroles(si){pI(3r'’‘r【(p,r,’)∈PA】)。这里RBACl体现了RBAC模型中角色继承关系的语义。一个会话拥有的角色包含UA关系里面指定的角色以及它们的父角色,会话拥有的权限包含其拥有的所有角色在PA关系里面的权限以及它们的子角色对应的权限。3.2.3RBAC:模型RBAC2模型同样包含RBACo,但是只定义了限制。RBAC2有一个并非形式化的定义如下。.定义3.3RBAC2模型包含如下元素:(1)RBACo中的所有元素;(2)一组限制条件,用于刻画RBACo中各元素的组合合法性。RBAC2模型并没有指定限制条件的表现形式,只是从语义上给出了一个简短说明。这给了RBAC模型诸多扩展形式。Sandhu的文章中介绍了两种主要的限制:角色互斥和角色基数限制,这也是实际系统中最通常考虑的两种限制形式。图3.6和图3.7分别表示引入了静态职责分离和动态职责分离的RBAC模型。3.2.4RBAC。模型图3.6静态职责分离Fig.3.6StaticseparationofdutyRBAC3包含RBACl和RBAC噍,自然也包含RBACo.这是一个完整的RBAC模型,包含一切模型元素,也是最复杂的一种模型。角色层次和限制同时存在,限制也可一17— 东北大学硕士学位论文第3章RBAC技术和模型的研究以作用在角色层次之上。图3.8给出了RBAC96模型的基本元素关系以及不同层次RBAC模型。‘图3.7动态职责分离Fig.3.7DynamicseparationofdutyI蛆AC3图3.8RBAC96模型Fig.3.8RBAC96model3.3ARBAC97模型RaviSandhu等在RBAC96模型中就曾提出了角色的分布式管理的问题,但是没有一18一一~ 东北大学硕士学位论文第3章RBAC技术和模型的研究详细谈到具体如何进行管理。之后他们很快就提出了著名的分布式角色管理模型ARBAC97[Ⅻ(AdministrativeRBAC),从理论上给出了RBAC模型中角色管理的办法。ARBAC97模型的基本思想是利用RBAC模型本身来进行RBAC模型的管理,包括用户角色管理,权限角色管理,角色层次关系管理,限制管理等几个部分。模型的管理员本身也具有角色,称作管理员角色,并且也有角色继承关系。图3.9给出了ARBAC97模型的基本框架。角色.继承(RH)用户(U图3.9ARBAC97模型Fig.3.9ARBAC97modelARBAC97模型中包含3个子模型:用户/角色分配URA97模型,角色/权限分配PRA97模型,角色/角色分配RRA97模型。我们下面分别进行简要介绍。3.3.1URA97模型对于RBAC模型中存在的指派角色问题,ARBAC97模型中给出了具体的方案就是引入特定的系统角色,只有这类角色的用户才可以执行相应的动作。从管理员的职责来看,URA97模型分为两个部分:指派模型(GrantModel)和吊销模型(RevokeModel)。在指派模型中,模型定义了一个can_assign关系,确定每个管理员对应于每个角色是否能够进行用户指派。实际中的指派模型给每个管理员指定了一个管理范围,可以用一个一19— 东北大学硕士学位论文第3章RBAC技术和模型的研究区间来表示。高级的管理员角色的管理区间包含下级角色的管理区问,从而形成了一个有层次的,职责分明的管理层次。,对应于吊销模型,每个管理员也有一个吊销的角色区间,他可以在该区间中吊销任何角色的对应用户。根据管理员层次,同样有一个吊销的继承关系保证管理的不越级操作。由于一个角色对应的用户可以是通过角色继承关系得到的,因此在吊销模型中又可以分为强吊销(StrongRevoke)和弱吊销(WeakRevoke)。.3.3.2PRA97模型PRA97处理将权限分派给角色。RBAC96模型中权限和用户的地位是对称的,PRA97模型也是URA97模型的一个对偶模型。PRA97模型中同样可以定义管理员的管理区间,也同样可以定义指派模型和吊销模型。在吊销模型中同样存在强吊销和弱吊销之分。3.3.3RRP97模型在RBAC模型中角色管理是最复杂的部分。URA97中给出了一个“组角色"的概念,具有组的含义,但是不具备权限。一个用户在具体执行操作时,必须同时拥有这个角色和相应的组角色拥有相应的权限。同时,RRA97还给出了能力角色、Up.role角色解决方案。。3.4基于角色和任务的访问控制模型T-RBAC在介绍T-RBAC之前,首先简要介绍一下基于任务的访问控制方法TBAC(Task.BasedAccessContr01)131’32’331。这种访问策略从应用层角度看待访问控制,采用面向任务的观点,在处理任务的过程提供动态的访问控制。在TBAC中,对象的访问权限不再是静止不变的,而是随着执行任务的上下文环境发生变化,这就是称其为动态安全模型的原因。基于角色和任务的访问控制T-RBAC(Task.Role.BasedAccessContr01)122’23甜】将RBAC和TBAC结合起来,综合了RBAC的静态特性和TBAC的动态特性。RBAC中的角色是一个比较长期的概念,适合于变化频率较小的数据:而对于工作流系统中需要短暂授权和控制的数据,则采用T-RBAC将任务独立出来作为一个单独的概念,并置于角色和权限之间,将传统RBAC的三层访问控制模型改为四层访问控制。一20一●~ ,东北大学硕士学位论文第3章RBAC技术和模型的研究在T-RBAC中,整个工作流系统中的用户都被赋予特定的角色,同时规定每个角色可以执行哪些任务以及每个任务的最小访问权限。这样,权限不再直接与用户相关,而必须通过任务才能与角色关联起来,而这时的权限集合也不再表示为操作集合与任务集合的笛卡儿乘积,而只是表示为数据资源的访问操作集合。如此依赖,权限可以作为任务的属性来实现,而不必建立类似传统RBAC模型中的二元组权限,没有了数据冗余,方便了管理员的安全管理工作。不管用户采用其拥有的何种角色登陆,都必须在执行系统分配的任务实例的过程中才拥有该权限任务实例的数据访问权限,这样就自然地实现了权限的动态分配和撤销,提高了工作流系统的动态适应性。由于权限直接和任务相关,用户只有在执行任务实例地情况下才拥有该任务对应的访问权限。图3.10是T-RBAC的模型示意图。图3.10■RBAC模型不恿图Fig.3.10ThemodelofT-RBAC该模型图中的几个实体之间关系描述如下:RH(RoleHierarchy):角色层次(继承)。URA(U∞rRoleAssignment):用户角色关联。TPA(TaskPermissionsAssignment):任务权限赋予关系,为各任务节点定义其所需要的最小权限集。一21— 东北大学硕士学位论文第3章RBAC技术和模型的研究IPA(InstancesPermissionsAssignment)-实例权限赋予关系,根据任务权限赋予关系以及任务与任务实例之间的映射关系来确定具体的任务实例的权限集。TRA(TaskRolesAssignment):任务角色赋予关系,为各角色定义可以执行哪些任务。IRA(InstancesRolesAssignment):实例角色赋予关系,根据任务角色赋予关系和任务与任务实例之间的映射关系得到角色可以执行的任务实例集。该模型中除了引用了RBAC模型中角色、用户、权限的基本定义,还引入了一些新的元素,定义如下:(1)工作流(WorkFlow)工作流是用户自定义的业务流程,在模型中简化表示为一系列任务的集合。(2)任务(Task)任务由工作流分解后得到。它是一个业务流程中的原子单位,具有不可分割和操作不可逆的特性。(3)任务节点(TaskNode).任务节点是任务在模型中的抽象表现形式。它由名称、属性和任务上下文三个部分构成。其中名称是区分任务的唯一标识;属性则包含了可以执行任务的角色集、完成任务所需的权限;任务上下文是执行任务必须的约束条件集合,包括执行时间、执行地点等。任务节点可以用三元组表示为:Tnode=(Tname,Tp,Tcontext)。(4)任务实例(TaskInstance)任务实例是以任务节点为模板生成的任务运行实例。它的主要作用在于保证角色在任务执行期间的权限赋予和任务非执行期间的权限撤销,即最小特权原则。.3.4RBAC模型的特点讨论RBAC模型是近年国内外来研究的比较多的一种访问控制模型,该模型具有以下几种优点:(1)使用角色作为中介,通过角色来配置用户和权限,这样用户和权限不再直接相关,权限配置时就非常灵活。无论是授权还是增删用户的权限,都比以前的防空控制策略更易操作。而且角色这个概念在实际应用的时候通常定义了具体的概念,这使得管理员配置的时候也十分方便、直观。(2)RBAC采取了角色继承机制,可以更加高效的进行权限的设置,避免了重复一22一●·‰ 东北大学硕士学位论文第3章RBAC技术和模型的研究的工作。一个定义好的角色不仅可以有自己的权限,还可以从父亲角色那跟继承相应的权限,这与现实世界里一个组织中各个人员之问的职责非常接近,非常贴近现实工作中的具体要求。(3)该策略应用的时候不依赖其它安全手段。对于一个安全的访f'口-j控制系统来说,开是策略中立。因此这种访问控制模型在可以应用到其它应用背景下,该技术可以比较容易得应用到一些安全产品当中去。(4)RBAC在不同的配置下可以显示出不同的安全控制功能。它可以构造出MAC也可以构造出DAC。然而,随着网络科技的不断发展,网络规模的迅速扩大,网络环境日渐复杂,传统的RBAC模型也暴露出一些很明显的不足,无法满足一些具体情况下的需求。在角色继承方面,仅支持角色的全部继承,使得复杂系统中角色粒度大,角色分配复杂,角色很难与实际的岗位职责相对应。系统中用户角色的分配工作往往由管理员一人承担,大型系统中管理员的工作负担很重,用户角色的变更也不够灵活。在模型的动态性方面,不包含角色时间约束,使得模型很难适应实际应用中随时间动态变化的需求。相对于传统的RBAC和基于角色的工作流安全模型而言,新的T-RBAC模型最大的不同在于它改变了用户.角色.权限的三级访问控制结构来适应工作流的境。T.RBAC模型在角色与权限之间引入任务的概念,并将RBAC中以角色为中心的设计思想变成以任务为中心,从而在很大程度上满足了工作流访问控制的要求。且T-RBAC是一种在已有RBAC和工作流安全模型的基础上提出的增强型分布式工作流安全模型,该模型在现有RBAC模型的基础上明确提出将任务集(task)引入RBAC模型,并且引入任务上下文(taskcontext)的概念实现了任务之间的依赖关系。相对于传统的RBAC模型和工作流安全模型,T-RBAC能更好的满足工作流系统的访问控制需求,已经越来越多地获得了人们关注和应用。但是该模型中涉及约束条件比较少,在角色继承上依然存在粒度过大的问题,这些都给实际应用带来了一定的不便。3.5本章小结本章首先具体介绍了RBAC模型中一些基本的概念,具体给出了RBAC96和ARBAC97这两个经典模型,对它们的定义和内容进行详细的图形描述和数学描述。RBAC模型的三层结构角色和用户组有相似的形式,但其实质不同,他们运用在模型的不同层次中。一23— 东北大学硕士学位论文第3章RBAC技术和模型的研究然后介绍了结合RBAC模型和TBAC模型提出的T-RBAC模型,最后讨论了这几个访问控制模型的优势,并提出了这些模型存在的一些不足,为下章新模型的讨论提供了理论依据。一24一●~ 东北大学硕士学位论文第4章AT-RBAC模型在军用环境中,过去多采用的是传统的强制访问控制模型,但是随着近年来军队中信息化建设的开展,实现网络化无纸办公,已经成了提高军队管理办公效率的关键一步。,由此可见,军队网络规模飞速发展,强制访问控制模型由于其共享数据不方便,使用起来不够灵活等固有缺陷,已经逐渐无法满足部队信息化建设的要求,一种安全、方便、I快捷、易操作的访问控制方法已经成了一种迫在眉睫的需求,也是实现网络一体化建设的关键所在。’前文已经分析了,传统的RBAC访问控制模型,具有使用灵活,授权方便、效率高,易修改用户权限等特点,然而RBAC在权限的动态管理方面显得力不从心,仍然无法胜任对分布性、协作性和实时性要求较高的应用领域。在此之上提出的T-RBAC在角色与权限之间引入任务的概念,使角色与任务相关联起来,结合了基于角色和基于任务策略的优点,利用任务来动态管理权限。同时又引入了任务上下文的概念,实现了任务之间的相互依赖关系,更好的满足工作流系统的访问控制需求,符合军队的实际需求。根据实际需求并结合军队环境下访问控制方式的诸多特点,基于改进T-RBAC的实现模型,对T-RBAC模型的基本要素重新进行描述和进行形式化定义将它提升为一个新的结合军队环境使用需要的一种扩展的基于任务的角色访问控制模型AT-RBAC(Army.Task.RoleBasedAccessContr01)该模型不仅保留了T-RBAC模型的各种特性,还增加了一些新特性与功能,以适应军队系统的需要。模型中提出了时限约束,分别对角色和任务进行时间上的限制,只有规定的时间条件之下才能授予相应的任务和权限;同一时对角色部分引入了部分继承和等级的概念;在任务管理中首先对执行的任务进行了分类和优先级的划分,对于任务间的相互依赖关系进行了具体的划分。,4.1AT-RBAC模型的构建‘在具体介绍模型各部分构建之前,首先给出AT-RBAC模型的示意图,访问控制模型示意图就是模型各部分组成的形式化描述。如图4.1AT-RBAC模型所示。在模型的构建中,相对于T-RBAC模型,主要提出了,角色和任务的时限约束,角色的等级,角色的继承约束,任务的分类,任务的优先级这几个概念,并对任务之间相互依赖的关系进行了分类描述。下面给出AT-RBAC模型中各部分和关系的形式化定义.一25— 东北大学硕士学位论文第4章AT-RBAC模型图4.1AT-RBAC模型不恿图Fig·4.1ThemodelofAT-RBAC(1)基本集合:定义4.1用户(OseO,U={uiliE自然数’,表示用户集。定义4.2角色(Role):、R={riliE自然数},表示角色集。定义4.3权I艰(Permission):P={PiliE自然数),表示权限集。定义4.4约束(Constraint):C={ciliE自然数),表示约束集。定义4.5会话(Session):S={siIiE自然数’,表示会话集。定义4.6任务(Task),T={tiIiE自然数’,表示任务集。定义4.7任务点(TaskNode):TN={衄IiE自然数),表示任务结点集。定义4.8任务实例(TaskInstence):TI={tiiliE自然数},表示任务实例集。(2)关系定义:定义4.9用户一角色授权关系(UserRoleAssignmenO:URAEUxR,(u,r)∈URA,为用户集到角色集多对多的映射,对用户U授予角色r。定义4.10任务一角色授权关系(TaskRolesAssignment):TRAE/TxR,(t,r)∈TRA,为任务集到角色集多对多的映射,角色r可以执行任务t。一26一●气 东北大学硕士学位论文第4章AToRBAC模型定义4.11任务一权限赋予关系(TaskPermissionsAssignment):TPAETxP,0,p)∈TPA,为任务集到权限集多对多的映射,任务t可以执行权限P。定义4.12任务实例一权限赋予关系(InstancesPermissionsAssignment):IPA∈TIxP,(ti,p)EIPA,为任务实例集到权限集多对多的映射,任务实例ti可以执行权限P。定义4.13任务实例一角色授权关系(InstancesRolesAssignment):IRAETIxR,(ti,n∈IRA,为任务实例集到角色集多对多的映射,角色r可以执行任务实例ti。(3)约束关系:定义4.14角色的时限约束(RoleTemporalConstraint):RTC={r(rs,rf)),表示角色r在时间区域(rs,rf)上可以被激活,其中rs为角色激活的起始时间,rf为激活的终止时间。定义4.15任务的时限约束(TaskTemporalConstraint)-TTC=.{t(t。,tf)’,表示任务t在时间区域化,tf)_L是活跃的,其中ts为任务活跃的起始时间,tf为活跃的终止时间。‘定义4.16角色继承的约束(RoleInheritConstraint):RIC={rl,r2,t(tip),tim),表示角色r1以tim继承方式有条件的继承角色r2执行的任务t,其中任务t的属性为tip。定义4.17角色的等级(RoleLevel):RL=(r,lev),表示角色r的等级为lev,其中lev为角色r的等级。定义4.18任务的分类flaskFraction):TF=(t,sort),表示任务t的分类为sort,其中sort为任务属性参数。定义4.19任务的优先级flaskPriority):TP=(t,pri),表示任务t的优先级为一,其中研为任务的优先级属性。定义4.20任务间的相互依赖关系(TaskDependency):TD=(h,tz,t3...ti,rel),表示i个任务之间以rcl关系相互依赖,其中佗l为任务之间的相互依赖关系参数。本模型中还涉及到具体的时间约束,将在下文中详细阐述,这里不再赘述。’4.2时间约束(TemporalOonstraint:TO)4.2.1时间的概念在访问控制的现实应用中,时间的非常重要的概念,是授权的重要组成部分,任何授权都具有时间性,任何脱离的时限的授权都没法满足实际需要,而且对于系统管理还会带来一定的困难,甚至出现安全隐患。在几个角色或者任务发生冲突甚至死锁的情况时,都可以用时限来解决。例如,导演Dl因故,分别将“处理请求"的角色Rl和“下一27— 东北大学硕士学位论文第4章AT-RBAC模型达指令"的角色R2分别交给参谋Bl和B2来处理,在没有时限约束的情况下就可能出现以下几个问题:(1)如果没有管理员和D1的参与,在没有时限约束的情况下,Bl和B2将永远被授予R1和R2。(2)B1和B2被分别授予R1和R2,则Bl先执行Rl和B2先执行R2,两种处理顺序由可能得出不同的结果。(3)B2在执行R2的时候需要等待B1执行Rl的结果,B1在执行R1的时候,如果需要向另一个角色D2请求应答,D2的执行结果要向B2请求,就会出现了死锁的情况,如果有时间限制的约束,可以限定一定时间取消操作,死锁的状况从而得到处理和解决。4.2.2时间约束的分类目前时间约束可以根据不同的特点分为两类:连续时间约束和周期时间约束。具体描述如下:4.4.2.1连续时间约束连续时间约束可分为:激活时间范围约束、激活时间长度约束和时间范围内激活时间长度约束三类【1刀。在具体应用当中,可以根据具体情况的需要选择适当的时间约束条件,对于不满足时间约束的情况,进行相关处理。具体描述如下:(1)激活时间约束该类约束规定用户、角色、任务或者权限只能在特定时间范围内可以激活。这条约束是很自然的,例如在一个任务中,有工作时间的限制,在非工作时间的范围内,将不允许某些操作的发生,或者只允许某些用户登录进系统。这样做是为了安全的因素考虑,,,同时也可以是为了简化管理过程。(2)激活时间长度约束、该类约束规定用户、角色、任务或者权限每次只可以激活不能超过一个固定长度的时间。当某个操作很重要、很关键时,如果它激活时间过长,就会有被人盗用而产生严‘重后果的可能。可用该类约束限制防止这种危险的发生。(3)定长时间内激活时间长度限制该类约束规定用户、角色、任务或者权限,在一定的时间长度内的累计激活时间不能超过一个规定的上限。该约束尤其对用户的限定特别有用,可以控制用户的平均的登录时间。一28— 东北大学硕士学位论文第4章AT-RBAC模型4.2.2.2周期时间约束‘州周期时间约束的基本思想是通过对周期时间P进行检测,在<【起始时间,结束时间】,P>的约束下,使触发的事件一旦产生则触发器可以立即执行,也可以在一个明确的说明时间内进行延迟,通过赋予许可活动的优先级,来解决许可活动的冲突,即状态的变化随周期时间的变化,通过周期约束的描述增强了AT-RBAC活动约束机制。4.2.3时间约束在AT-RBAC模型中的应用时问约束主要应用在对角色和任务的约束上,具体内容如下。4.2.3.1角色的时限约束(RoIeTemporaIConstraint:RTC)在实际系统的应用中,授权给任何一个角色的任务都需要有时间的限制约束,例如:值班员规定在每天晚六点之前填写值班日志向上级单位汇报工作情况。这就需要限定,角色只能在这个时间之前对这个“上报值班日志”的任务进行关联,超过这个时间范围该访问许可必须进行撤消。4.2.3.2任务的时限约束(Task。TemporaIConstraint:TTC)在具体系统中,除了对角色需要进行时限的控制,对任务进行时间的约束也是必要的。例如,在军事演习中,要求各个作战台位在一定的时间范围内汇报工作情况,由于期实时性要求很高,过期的数据没有任何意义,超过时间要求的任务就可以直接删除。而且该项任务针对每个角色的时限要求是一样的,如果在任务中增加一个时限的控制,进行整体操作,则明显要比在每个角色对该任务进行访问的时候增加限制要方便的多。而且对于过期的任务不删除,则系统中的任务量会越来越庞大,只依靠定期处理,给管理员的工作带来困难。任务时限约束的基本思想与角色时限约束是相同的,即对任务的活跃时间做出限制,超出时间的任务系统将做一定的处理,防止任务的冲突及任务之间竞争系统资源造成的死锁。任务时限控制与角色时限控制的不同之处在于,在角色的时限控制当中,一旦某个角色的激活时间到了限定的上限,将对取消角色对该任务的访问权限,但是对任务本身并没有影响,而对任务的时限控制则是直接对任务进行操作,如果任务删除了,与角色间的联系自动取消。在应用中对于超过规定时限约束的任务,根据需求的不同,分为以下两种处理方式:(1)将该任务删除。对于超过时限就没有存在价值的任务,可以采取此方法处理。(2)重新申请时间片段。对于重要的任务可以一次申请相对比较短的时间段,如一29— 东北大学硕士学位论文第4章AT-RBAC模型果到时间没有完成,可以向管理员重新申请时间片段。这样做的目的是对于重要的任务一次分配的时问短一些,可以防止由于任务激活时问过长,被不法用户非法获取权限,产生安全漏洞。4.2.4时间约束的表示形式定义4.21时间:时间是由离散的时刻组成的集合,本文用Time表示时间集合。定义4.22时间域:时间区间是由两个时间点所构成的区间。表示为TI={(ti,tj)lti,tjETime,tiPRI(I阮),表示任务P。的优先级大于任务p2的优先级,优先执行任一37— 东北大学硕士学位论文第4章AT-RBAC模型务pI;:(2)若PREC.-)0&&permMapl=null&&contextl=null)if(permMap.eontainsKcy(newInteger(servicelD)))-。61‘--- 东北大学硕士学位论文第5章AT-RBAC访问控制系统的设计与实现returntrue;})5.7开发与运行环境本系统部署运行阶段用到的软件产品有:SQL2005数据库,支持J2EE的Apusic应用服务器软件、Windows2000Server操作系统等。在开发阶段用到的主要软件产品有:分析设计建模Visio2003,数据库建模设计工具PowerDesignser11,JAVA开发工具Eclipse3.2,日志构建工具L094j,单元测试工具JUnit3.8等等。本文应用的营销运营平台的部署所需的主要硬件产品有:数据库服务器、WEB服务器等。应用服务器和数据服务器均采用的是联想的万全服务器,应用服务器因为要处理持久化对象的缓存,需要较大的内存,对存储容量要求不高,可以使用RAID5,数据库服务器因为存储关键数据,因此采用RAIDIO,并需要较大的存储容量。5.8性能测试在对权限子系统系统进行了整体结构的设计、各模块流程的设计和实现、数据库的实现以及程序部分的实现之后,对该系统进行了整体运行测试试验,以此来验证平台的功能实现情况。由于篇幅所限,在此只针对权限控制系统中的用户、角色、任务、权限几个系统中的重要部分的测试作以说明。用户管理部分主要的功能是管理用户的个人基本信息、用户拥有的角色、用户当前的活动状态等。用户信息界面如图5.11,在该界面可以录入用户基本信息和所属的角色,同时支持用户信息的查询、修改、删除等功能,经测试,这部分工作正常。角色管理是系统管理相对重要的一个部分,只能由系统管理员访问。如图5.12角色管理界面,角色的管理,首先要定义新角色,点击“新增"键进入角色定义窗口,在这里选择角色的类型,如果有需要,可以限制最大用户数,为角色分配任务,设置互斥角色、继承角色、有效时间和角色的等级。程序试运行中,对角色管理功能进行了测试,实现了最大用户数限制、等级划分以及有效时间内互斥角色、部分继承和任务委派,满足设计要求。一62一^j?&n ■●图5.11用户信息界面Fig.5.11Pageofuserinformation:f{÷“i::吨毫$-i嗣秉塥雹毫_皂蕾毫j用n鸶斗、膏色首鼍j‘}务鸶一j投鬻臀肆1穹蚺簟矗j囊曩日毫‘^邑暑●件艟,盘H囊曾碍盛钍■●崔■累缱管辟盎^电掌3星量虿启邑董事用§鼍a角§麓a^毛商g愚邑毒1角色定义一一置,.盔麓●^一户●■急佳●至言童量曩蕾五毫矗磊鼍晕^皇童膏I量互毒毒壬苴雁^岂烹量童量直毫鲁蕃—增傅莆脚睁曩1朔户^色■■一娃对一歪毫堇毫堇宣查看妻哥妻f曩首蔓督壹薏互盖墨备童等量暑膏看毒暑图}豸二甏嚣,魂,,荔蔷甏。妒’?”譬_≯::2|秽荔角色蕾鞯●母缉皇曩^_f{i产雏■色任鼻分配置斥,,r色地最■乜■簸时一●色鼙t量事■t蛾图5.12角色管理界面Fig.5.12PageofrolemanagementAT-RBAC在基于角色的同时也是基于任务的一种访问控制方式,因此对于任务的管理也同要是至关重要的。这部分的结构与角色管理有些类似,同样只能由系统管理员访问修改,普通用户禁止察看。图5.13是任务管理界面,可以添加新的任务,并设置任务的分类、优先级、时限约束条件、在角色继承中的属性和所拥有的访问权限,这些功一63一啪∞婚 东北大学硕士学位论文第5章AT-RBAC访问控制系统的设计与实现能的设置,如图所示,有一部分需要进入子页面来进行。对任务管理功能进行了测试,实现了任务分类、优先级、任务问的依赖以及有效时间内继承属性、访问权限授予,满足设计要求。图5.13任务管理界面Fig.5.13Pageoftaskmanagement访问控制归根结底就是对权限的控制,因而权限必须是具体的、可控制的。权限实际上就是提供给用户的,使其对某具体程序行使“执行权"。如何对操作权限进行划分,如何使其合理分配给任务是安全访问控制方案设计和实现的关键。在AT-RBAC中,权限与任务联系在一起,任务实例化之后,权限作为任务的属性而存在,任务执行完之后,权限随之撤销掉。图5.14是权限管理的界面,进入界面之后首先选择一个任务,右侧界面列出此任务下现有的权限,可以对这些权限进行增加、修改、删除操作,选择所属的功能模块、访问对象和操作类型。对权限管理功能进行了测试,实现了对应功能模块、访问控制对象、操作类型的设置,满足设计要求。通过对系统中访问权限部分测试验证,运行结果表明,该系统基本可以达到AT-RBAC模型的设计功能,实现有条件约束下的基于任务和角色访问控制。5.9本章小结在本章中,首先介绍了整个军事指挥自动化系统的组织结构并集中介绍了系统中访一64一,{l亏一● 东北大学硕士学位论文第5章AT-RBAC访问控制系统的设计与实现图5.14权限管理界面Fig5.14Pageofpermissionmanagement问控制部分的权限控制子系统,给出了该子系统的整体结构图,详细描述了各个部分执行的功能,并绘制了各应用模块的系统流程图。然后介绍了数据库部分,具体实现数据库设计。接着描述了权限加载部分的关键代码和系统的对外接口,通过这个整体方案实现了军事指挥自动化系统的权限部分。最后介绍了本应用系统的开发与运行环境,对系统性能进行了测试。一65— 东北大学硕士学位论文第5章AT-RBAC访问控制系统的设计与实现一66一’{●{身l厶一 I、-尸l~彝{;kb东北大学硕士学位论文第6章总结与展望第6章总结与展望访问控制是网络安全中一个重要的内容,是实现既定安全政策的系统安全技术,它管理所有的资源访问请求,即根据安全政策的要求,对每一个资源访问请求做出是否许可的判断,能有效的防止非法用户访问系统资源和合法用户非法使用资源。传统的访问控制方法有自主性访问控制DAC和强制性访问控制MAC。但是它们均存在不可消除的问题:DAC操作权限由用户本人来获取,导致了一些易发的安全问题,而且不便于全局的统一管理;MAC中操作权限由管理员统一授权,管理规则过于严密,一般用于军方这种保密性很强的环境中,在现实应用中不够灵活。90年代出现的RBAC访问控制方法,引入的角色的概念,用户与角色相互关联之后取得操作权限,也就是说,传统的访问控制直接将访问主体(发出访问操作、存取要求的主动方)和客体(被调用的程序或欲存取的数据’)相联系,而RBAC在中间加入了角色,通过角色沟通主体与客体。这种方法有效地克服了传统访问控制方式中的不足,而且具有操作简单、灵活,减小的系统维护的成本。在RBAC基础之上出现的T.RBAC模型结合了RBAC和TBAC的特征,又引入了任务这一概念,更适合对于工作流的操作。该模型综合了RBAC的静态特性和TBAC的动态特性,RBAc中的角色是一个比较长期的概念,适合于变化频率较小的数据:而对于工作流系统中需要短暂授权和控制的数据,则采用T-RBAC将任务独立出来作为一个单独的概念,并置于角色和权限之间,将传统RBAC的三层访问控制模型改为四层访问控制。这种模型中一些限制条件过于宽泛,不是很适合安全性要求较高的军队环境下的应用。本文主要研究了MAC、DAC、RBAC以及T-RBAC几种访问控制模型,尤其是后两种模型。在T-RBAC的基础之上提出了一种限制更加严格,可以应用于军事环境中的扩展模型AT-RBAC模型。对角色和任务的管理引入了对时间的限制,要求只有在满足规定的时限条件下,角色才能被授予相应的任务,任务能够拥有对应的权限。在角色的继承上采用全部继承与部分继承相结合的方式,减小了继承粒度,提高了工作效率。同时为了数据的安全性,对角色进行等级的划分,采用Bell.LaPadula模型向下读和向上写的两条原则,确保低级用户不能向上访问高级数据,保障了机密数据不会向级别低的用户泄漏。在对任务的管理中,根据其所操作的对象、实现的功能的不同,分割成几个大的类别。并设置了优先级参数,对任务间的依赖关系进行了阐述。设计了该模型在军事一67— 东北大学硕士学位论文第6章总结与展望领域中实现中各模块的系统流程、数据库部分及系统实现部分,在程序中保留对外接口,对系统的功能进行了测试。基于角色和任务的访问控制,具有其灵活的特性,用户具有很多自身的特性,比如职务、部门、级别等等,在今后的工作中,可以在根据规则自动实现用户分配,依据具体情况的完善限制条件,同时在基于角色的委托代理方面也可以进一步深入研究。一68—7一{●j广i一,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
大家都在看
近期热门
关闭