版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
4-题目:开放网络环境的信任增强的动态授权机制研究专业:计算机科学与技术学生姓名:班级学号:指导教师:指导单位:南京邮电大学计算机科学与技术系摘要在信息技术高速发展的当今社会,随着互联网的飞速发展,各种信息管理系统如雨后春笋般地不断涌现,为了维护信息管理系统的安全及网络安全,权限管理访问控制系统扮演着举足轻重的角色。构建强健的权限管理访问控制系统,保证管理信息系统的安全性是十分重要的,权限管理访问控制系统是管理信息系统中可代码重用性最高的模块之一。但几乎每个单位都有自己的权限管理系统,都要在这方面投入相当的人力、财力,为此我们有了构建统一的、通用的权限管理访问控制模型并赋予实践的念头。本文首先分析已有的基于角色的RBAC四种模型,RBAC0、RBACl、RBAC2、RBAC3的现状及实施问题;总结其优缺点,研究了DTMGAC模型,并从需求分析、模型架构、模实施方法等方面对模型进行了详细阐述,并给出了模型实施图;文中还对模型的设计从设计任务、设计约定、对象设计、数据库设计、功能设计、测试设计等方面进行了详细阐述;最后还对模型实施、关键算法、进行了概括阐述,对本系统的特点及使用前景进行了概括总结。关键词:RBAC;DTMGAC;权限;访问控制;角色ABSTRACTInthecurrentsocietywithinformationtechnologybeingdevelopedrapidly,withthefastprogressofInternet,bigamountofdifferentkindsofinformationmanagementsystemskeepemerging.Intheareaofassuringthesafetyoftheinformationmanagementsystemsandthenetwork,RBAC(R01e—basedaccesscontr01)systemplaysanimportantrole.It’scriticaltoconstructarobustpermissionmanagementaccesscontr01systemtomakesurethesafetyofthemanagementinformationsystemsecurity.Inthemeantime,permissionmanagementsystemisoneofthemoduleswhichcodecouldbereusedtothebestdegree.However,thecurrentsituationisthatalmosteveryunithasitsownpermissionmanagementsystemandinvestconsiderablehumanandfinancialresourcestoit.Henceitdawnsonusthatweshouldbuildaunified,universalpermissionmanagementmodelandsubsequentlyputitintopractice.Thispaperisbasedontheanalysisofthestatusandimplementationissuesaboutther01eoffourRBACmodels—RBAC0,RBAC1,RBAC2,RBAC3,summinguptheirstrengthsandweaknessesandmakingimprovementstothembyproposingnewDTMGACmodel:Italsogivesdetaileddescriptionforthemodelintheaspectsofneedsanalysis,modelstructure,andmodelimplementationmethods,etc.Itproposestheimplementationplansaswell.Furthermore,itelaboratesthemodelofthedesigntasksfromthedesign,designagreement,objectdesign,databasedesign,functionaldesign,andtestingdesignaspects,.etc.Finally,thepaperbrieflyexplainsthewayoftheimplementationofthemodelandthekeyalgorithm:alsoitsummarizesthefeaturesofthissystemanditsprospectinuse.Keywords:RBAC;DTMGAC;Permission;accesscontral;role目录第一章引言 11.1课题研究背景 11.2论文组织结构 2第二章基于角色的访问控制原理 32.1相关访问控制技术 32.1.1自主访问控制 42.1.2强制访问控制 52.1.3模型评价 62.1.4基于角色的访问控制 72.2RBAC技术 102.2.1RBAC技术的特点 102.2.2RBAC的模型和发展 132.3本章小结 15第三章DTMGAC模型 173.1DTMGAC模型规范 173.1.1模型基础语义 173.1.2模型授权规则 183.2、基于动态信任约束的角色授权过程 203.2.1、网格信任管理框架 203.2.2、基于动态信任约束的角色授权过程 223.3本章小结 23第四章基于DTMGAC的学生成绩管理系统需求分析 244.1需求分析 244.1.1需求说明 244.1.2用例关系 244.1.3需求描述 244.2本章小结 26第五章系统设计 295.1产品功能 295.2用户特点 295.3总体设计 305.3.1运行环境 305.3.2处理流程 315.3.3系统SC图 315.3.4动态权限分配 325.3.5信任增强机制 335.3.6基于身份授权 335.4数据库设计 335.4.1数据库结构设计 335.4.2数据库概念结构设计的E-R图 335.4.3数据库逻辑结构设计 345.6详细设计 365.6.1程序系统结构 365.6.2程序模块描述 365.6.3流程逻辑 385.7主要模块设计 405.7.1教师动态授权 405.7.2信任增强模块 415.7.3基于身份授权 435.8系统出错处理设计 445.8.1出错信息 445.8.2补救措施 445.8.3系统维护设计 445.9本章小结 44结束语 46致谢 47参考文献 48附录A-缩略词 54附录B-图表清单 55南京邮电大学通达学院2012届本科生毕业设计(论文)PAGE15第一章引言随着网络应用的逐步深入,安全问题日益受到关注。一个安全的网络需要可靠的访问控制服务作保证。访问控制是在保障授权用户能获取所需资源的同时拒绝非授权用户的安全机制,是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和访问,它是保证网络安全最重要的核心策略之一。开放网络环境下的分布式计算形态正从面向封闭的、熟识用户群体的和相对静态的形式向开放的、公共可访问的和动态协作的服务模式转变。在这种动态的和不确定的环境里,研究开放网络下的信任机制迫在眉睫。传统的安全机制大多是基于客观凭证的,缺少对节点行为可信与否的主观评判,因此,研究主客观结合的安全可信机制势在必行。本课题以授权机制为例,讨论如何将基于节点行为的信任机制有机的融入进来,使得原来的授权方案能够得以改善,更加合理、准确、及时地管理和分配目标节点的权限。本软件是设计或者模拟开放网络环境下引入主观信任机制以后的动态授权的过程,是主客观结合的一个非常好的切入点。需要考虑的问题有:选择一种比较合理的信任模型或者对其进行适当的改进以方便和授权机制进行融合;如何将信任机制融入到授权机制中;引入信任以后如何更好的体现授权的动态性和实时性。软件功能可以包括,信任值的简单计算,基于信任的授权策略的设计,信任的动态性对授权的实时性的影响的演示。1.1课题研究背景任何一个系统无论文件系统还是操作系统都需要对敏感数据以及资源进行安全保护,避免未授权的信息的泄露(保密性),未授权或不合适的修改(一致性),保证合法授权用户对数据的正常访问(有效性,不能拒绝服务)。对系统及资源的保护要求每一个访问请求都在控制之下进行,这个过程称之为访问控制(accesscontral)。访问控制服务实际早已成为标准安全服务的一种。随着全球网络化的热潮,信息化网络化建设早已深入社会的各个领域,渗透进了生产生活的方方面面。但在使用网络计算机系统带来的便捷的同时,如果对于安全问题不加注意,将会带来不可估量的后果。尤其是在金融、国防等领域的计算化程度越来越高,安全问题如果没有得到有效解决,必然会影响整个网络的发展。网络应用的逐步深入,安全问题日益受到关注。一个安全的网络需要可靠的访问控制服务作保证。访问控制是在保障授权用户能获取所需资源的同时拒绝非授权用户的安全机制,是网络安全防范和保护的主要策略,它的主要任务是保证网络资源不被非法使用和访问,它是保证网络安全最重要的核心策略之一。开放网络环境下的分布式计算形态正从面向封闭的、熟识用户群体的和相对静态的形式向开放的、公共可访问的和动态协作的服务模式转变。在这种动态的和不确定的环境里,研究开放网络下的信任机制迫在眉睫。1.2论文组织结构本论文将分为五部分进行论述,其组织结构如下:第一章引言。首先介绍课题背景,接着介绍本人所做工作,最后介绍本论文的组织结构。第二章基于角色的访问控制原理。本章通过介绍一些重要的经典模型,讨论访问控制模型的发展途径,并着重讨论基于角色访问控制模型的衍伸,比较研究的结果说明对于不同安全需求,需要不同的访问控制模型,对于安全系统中访问控制方法的设计具有一定的指导意。第三章DTMGAC模型。本章提出了DTMGAC模型,通过引入信任级别概念拓展了RABC模型,并详细的介绍了其原理。第四章基于DTMGAC的学生成绩管理系统需求分析。本章主要介绍了基于DTMGAC学生管理系统的需求说明、用例关系、需求描述等。第五章系统详细设计。本章是根据上一章所做的需求分析来设计系统。介绍了总体设计,数据库设计,详细设计,主要模块的类的设计以及是对突发事件的处理。第六章结束语。总结了本论文所做的工作。第二章基于角色的访问控制原理2.1相关访问控制技术访问控制实质上是对资源使用的限制,决定主体是否被授权对客体执行某种操作。它依赖于鉴别使主体合法化,并将组成员关系和特权与主体联系起来。只有经授权的用户,才允许访问特定的系统资源。以用户认证作为访问控制的前提,将各种安全策略相互配合才能真正起到企业信息资源的保护作用。访问控制的原始概念:是对进入系统的控制。访问控制的一般概念:是针对越权使用资源的防御措施。访问控制的目的:是为了限制访问主体(用户、进程、服务等)对访问客体(文件、系统等)的访问权限,从而使计算机系统在合法范围内使用;决定用户能做什么,也决定代表一定用户利益的程序能做什么。访问控制的作用:是对需要访问系统及其数据的人进行鉴别并验证其合法身份,也是进行记账审计等的前提。访问控制的基本问题:对于很多组织,系统的数量成百上千,用户数量也成千上万,要被保护的资源的数量常常超过百万,在这种情况下,访问控制的管理复杂性、管理成本和效率就成了访问控制最基本的问题。目前主要有3种不同类型的访问控制策略(如图2-1):·自主访问控制策略(DiscretionarvAccessControlPolicies)·强制访问控制策略(MandatonrAccessControlPolicies)·基于角色的访问控制策略(Role-BasedAccessControlPolicies)自主访问自主访问控制策略强制访问控制策略基于角色的访问控制策略访问控制策略图2-1访问控制策略定义2.1主体,就是动作的执行者,请求的发起人,不一定就是操作该系统的用户,也有可能是某部分代理代码程序。定义2.2客体,主体所操作的对象,主体所要管理访问的对象,比如文件、数据等。2.1.1自主访问控制存取访问控制模型最重要的部分就是联系主体与客体之间关系的内容,一般称之为权限。既然称为存取访问控制,其目的自然是要求能控制主体对客体的访问管理范围,限制其对客体的访问。在用户进入访问控制模型的管理框架后,如何在合法用户中间安全合理的确认其正常工作所需基本权限就成为控制模型最开始关注的问题。基于这样的考虑,DAC被学者们最早提出,其组织形式如下:自主访问控制的基本思想是通过建立主客体关联表,主要是访问控制列表的形式,将主体与客体的关联在表中组织起来,而系统中的主体可以全部或部分的将其拥有的权限赋予其他主体。一般有基于主体或者基于客体的两种形式。基于主体就是可以在每个主体后跟随客体列表,记录其能够访问的客体内容以及可以采取的操作手段,根据记录的内容形式不同,这种基于主体的明细表有三种:权能表,前缀表和口令。权能表决定用户是否可以对客体进行访问以及进行何种形式的访问(读、写、改、执行等)。一个拥有某种权力的主体可以按一定方式访问客体,并且在进程运行期间其访问权限可以添加或删除。前缀表包括受保护的客体名以及主体对它的访问权。当主体欲访问某客体时,自主访问控制系统将检查主体的前缀是否具有它所请求的访问权。至于口令机制,每个客体(甚至客体的每种访问模式)都需要一个口令,主体访问客体时首先向操作系统提供该客体的口令。在自主访问控制安全模型中,自主是指具有某种访问能力的主体能够自主地将访问权限的某个子集授予其它主体的特性,用户对信息的存取控制是基于用户的鉴别和存取访问规则。拥有权限的用户可以自主地将他所拥有的权限传授给其他用户,如图2-2所示。·特点:根据主体的身份及允许访问的权限进行决策。灵活性高,被大量采用。·缺点:信息在移动过程中其访问权限关系会被改变。例如用户A可将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。用户用户资源服务1服务2服务3图2-2自主访问控制2.1.2强制访问控制基于客体即是在每个客体上附加主体明细表。其形式有保护位和访问控制列表(ACL)两种。访问控制表可以决定任一主体是否能够访问该客体,它是在客体上附加一主体明细表的方法来表示访问控制矩阵。表中的每一项包括主体的身份和对客体的访问权。经常见于文献资料中的ACL方法,其实是DAC的比较具有代表性并实现容易、应用简便的一种形式。强制访问控制是基于中心结构的强制授权访问控制。由授权机构为主体和客体分别定义固定的访问权限,且这些访问权限不能由用户,甚至是文件的创建者进行修改。主体的信任级别反映了授权中心对主体的信任的程度,客体的级别与其包含信息的敏感度一致。拥有一定访问级别的用户可访问相应级别的数据。。如果系统认为具有某一安全属性的主体不能访问具有一定安全属性的客体,那么任何人(包括该客体的主人)都无法使该主体访问该客体。即使存在特洛伊木马,强制访问控制也保证了信息可以在安全属性的格中按一个方向流动,这就解决了自主访问控制对信息安全控制不够严密的问题。强制访问控制作为一种对安全性考虑更多,设置更严苛的方式被学者们提了出来。该模式的特征就是预先给所有的主体和客体都安上安全级别标签,系统根据标签来决定访问模式。在强制访问控制机制下,系统内的每一个用户或主体被赋予一个访问标签(accesslabel)表示对敏感性客体的访问许可级别,同样,系统内的每个客体也被赋予一个敏感性标签,以反映该信息的敏感性级别。系统内的访问控制程序,通过比较主、客体相应的标签来决定是否授予一个主体对客体的访问请求。在强制访问控制安全模型中,系统给主体和客体分配不同的安全属性,系统通过对安全属性的匹配比较来决定是否允许访问进行。安全属性在安全策略没有被改变之前是不能被改变的,所以用户无权将对系统资源的访问权传授给其他用户,如图2-3所示。·特点:强制访问控制的实施取决于能用算法表达的且能在计算机上可执行的策略。策略给出的只是资源受到的限制和实体的授权,而对资源的访问权限取决于实体的授权而非实体的身份。顶级安全顶级安全安全典型安全用户资源图2-3强制访问控制2.1.3模型评价DAC的特征显示,主体集与客体集有任何变动,都要求对主客体关联表进行重新组织。但无论怎样,DAC的提出,是对信息管理的首次审视,第一次将客体分门别类,纳入不同主体的管理范畴。但随之而来的是主体客体联系要重复建立,工作量过大。DAC对于这个问题的解决途径是,允许客体权限的拥有者(既有客体的完全拥有者也有客体的访问者,这些都属于主体的范畴)可以自由分配其所拥有的客体操作权限,可将其所有权限自由分配给其他主体。但也正是由于这种自主访问控制的特点使得,只要拥有客体的权限的主体就自动获得对该客体权限的分配能力,相应提高了管理的难度,信息的安全性被牺牲了。另外,DAC不保护受保护的客体产生的副本,即一个用户不能访问某一客体,但能够访问它的拷贝,这更增加了管理的难度。但另一方面,也正是由于DAC模型不需要集中式授权的特点,它的灵活性一直是学者们研究DAC的出发点,特别是在分布式网络逐渐兴起的今天,部分研究学者重新又将DAC模型发展,沿用到今天的系统中。比较著名的早期的有HRU模型,1992年sandhu等人将其发展为TAM模型,还有2004年提出的SS模型,这说明在2002年RBAC模型已经发展出分布式时,仍然有学者关注着DAC模型的发展。MAC通过这种无处不在的标签实现上读/下写的单向流通模式,基于安全的考虑,将DAC中已经放手的权限的分配工作重新又收归权限管理员一人所有,在主体客体一经确定的系统初试阶段就分配好标签,确定了各个主体的访问范围和方式。主体与客体的标签属性,是在其一产生时就被赋予的,随后主体对于客体集的访问,就是在带着标签属性,在已固定的标签策略下,被牢牢限制住了。自主访问控制策略卓越的灵活性特征使得它适用于各种各样系统的安全需求,因而使得它在各种情况下得到大量的应用,但由于其关联列表对于空间的要求,以及查找时的效率问题使得在面对大型系统,分布式应用时,自主访问控制策略显得力不从心。现在其更多的应用在规模较小的c/s架构居多的个人应用系统中。特别是,应用程序中更是应用的普遍。MAC模型的发展也有很多衍生版本,最为著名的是中国墙模型。中国墙策略是基于MAC模型又考虑DAC的部分特点,实现两者的结合,能够避免信息的直接泄漏和间接泄漏,通过定义冲突类,进行责任分离约束。它的贡献是对于访问控制技术商用化的尝试,所以在一段时间中国墙策略在商业系统中频繁出现。其他主要模型还有Lattice模型,Bell-LaPadula模型(BLPModel)和Biba模型(BibaModel)。强制访问控制模型是被设计用来在计算机操作系统内实施多级安全策略的,从访问控制的角度来处理在一个安全操作系统环境下,如何既保证主体能有效地访问客体,又使得系统不泄漏信息。强制访问控制模型对客体资源分配一个安全级别,这种方法主要适用于操作系统的访问控制,被保护的对象一般是包含数据的文件,并不适合数据库的强制访问控制。在操作系统中,访问级别分配给文件,而在数据系统内的访问控制粒度要比操作系统细得多,然而,非常细粒度的访问控制将会给安全级别的维护带来复杂性,这也正是多级粒度控制的数据库系统没有成功的原因。目前大多数商业数据库系统都不支持字段级访问控制,仅有oracle和SYBASE支持记录级访问控制。2.1.4基于角色的访问控制角色这个概念,起源于UNIX操作系统组和数据库管理系统中权利分组的概念。现代基于角色的访问控制模型(Role-BasedAccessControl,简称RBAC)包含诸如角色、角色层次关系、角色活动、关于角色和用户约束。一个比较容易理解的基于RBAC的框架是由Sandhu等人提出参考关于,后来得到不断完善的模型,该模型提出了操作性比较强的基于角色的访问控制系列模型RBAC96。RBAC96是很容易实现的,范围覆盖很广,从简单到复杂情况,是一个模型家族。RBAC96的出现标志着RBAC在访问控制模型研究中建立了其绝对优势地位。2001年该模型由权威标准化组织——美国国家标准技术局(NIST)支持,使得在商业系统中使用RBAC模型成为可能。RBAC96模型的主要元素有用户、角色、权限、约束、会话,事实上RBAC96模型是由四种模型构成的:RBAC0、RBAC1、RBAC2、RBAC4,是支持基于角色访问控制模型的最小结构模型,不考虑角色继承和约束条件,而RBAC1包含RBAC0的结构,且支持角色继承,而RBAC2包含RBAC0的结构,但支持一些组件上的约束条件,RBAC4即包含RBAC2的结构又包含RBAC1的结构,也就是说是包含RBAC0同时支持角色继承和一些组件上的约束条件。下图所表示的模型是RBAC96模型簇的基本模型称为RBAC1,在该模型中定义了使用RBAC控制机制的基本要素。包括用户(user),角色(role),访问权限(pemissions)以及会话(session)。uesruesrrolepermssessionsUAPA图2-4RBAC0模型示意图其中角色的提出,是以现实生活中的用户能力与在企业组织中所承担职责不同为依据提出的,是权限与功能的集合。在RBAC模型簇中,用户与角色之间,角色与权限之间都是多对多的关系,意即一个用户可以静态拥有多个角色,一个角色也可赋予多个用户。角色也可被赋予多个权限,某个权限也可属于多个角色。其形式化定义为:用户角色分配:,,集合u与R的笛卡尔积表示了用户与角色对应关系的最大可能。角色权限分配:PAR×P,表示权限与角色分配之间的多对多关系。将依据现实系统所设计的权限一般不易变动的用户提升为角色,作为控制模式的一个要素,连接在用户与直接权限之间,便是RBAC控制模式的主要思想。其角色、权限集及用户角色分配,权限角色分配的概念,对后来控制模型的发展影响巨大。会话、用户、角色映射:(2-1)或用表示会话与用户的映射关系,则上式可表示为,删},于是,用户在进入系统的某次操作所能使用的活动权限由UA,PA,R(S,U)共同控制。在RBAC0模型的基础上,为了迸一步减轻角色权限分配的复杂度,在角色管理基础上增加角色分级(RH)元素,实现角色权限的自动继承。这就是RBAC1的主要内容。RBAC1是对RBAC0的扩充,增加了角色等级的概念。实际组织中职权重叠现象的客观存在为角色等级实施提供了条件。通过角色等级,上级角色继承下级角色的访问权限,再被授予自身特有的权限而构成该角色的全部权限,这极大地方便了权限管理。RH的引入,将权限的灵活性分配又提升一个台阶,第三个模型RBAC2更多是从安全性方面考虑问题。根据最小权限原则及任务分离原则的要求,对UA,PA,RH以及S都引入相应的约束条件,统称为约束元素。事实上,约束元素的作用对象可以扩展至模型的所有元素。例如也可有针对R的约束,比如有角色容量。通过约束元素的引入,使得控制模型发展为可拥有以下安全限制的模型。比如,某公文的修改和审核不能为同一角色所拥有,即权限互斥。又如,对帐目的申请和批准或者对设备的添置要求和采购不能为同一用户所拥有,这可上升到角色互斥。RBAC2中的约束规则主要有1)最小权限,用户分配的权限应是其需要的最少权限,否则容易引起权限滥用。2)互斥角色,一个用户最多只能属于一组互斥角色中的某一个,否则会破坏职责分离。权限分配也有互斥约束,同一权限只能授予互斥角色中的某一个。3)基数约束与角色容量,分配给一个用户的角色数目以及一个角色拥有的权限数目都可以作为安全策略加以限制,称作基数约束。一个角色对应的用户数也有限制。4)先决条件,一个用户要获得某一角色时必须具备某些条件。同理,一个角色必须先拥有某一权限后才能获得另一权限。2001年8月,NIST发表了RBAC建议标准。此建议标准综合了该领域众多研究者的共识,包括两个部分:RBAC参考模型(theRBACReferenceModel)和功能规范(theRBACFunctionalspecification)。参考模型定义了RBAC的通用术语和模型构件,并且界定了标准所讨论的RBAC领域范围,功能规范定义了RBAC的管理操作。该参考模型包含基本RBAC,等级RBAC及约束RBAC三种,其中约束RBAC主要是引入职责分离约束,又可分为静态职责分离(SSD)和动态职责分离(DSD),因此有些文章中,又以静态职责分离及动态职责分离与基本RBAC等级RBAC并列为四种构件。2.2RBAC技术2.2.1RBAC技术的特点①抽象对认C通过提供一种名为角色的抽象层,来对现实中的用户、操作和资源进行一对多的映射。以抽象的方式管理权限减少了复杂性,使管理结构清晰,并提供了实现复杂访问控制策略的条件。在现实的系统中,抽象层可以被用来对权限进行集中的管理。RBAC通过抽象层(角色层)简化了访问控制的管理工作,提高了管理效能,改善了操作的直观性,并扩大了访问控制策略实施的范围。在RBAC中,权限与角色关联,用户是角色的成员,用户从相应的角色那里得到相应的权限。根据组织中的各种职位的职责,角色被集中的创建,根据每个用户的职权,为相应用户赋予相应的角色。因此,可以很容易地将用户的一个角色撤消,并赋予另一个角色。在新的应用和新的系统加入到组织中时,可能通过对相应角色添加和撤消权限,来使角色的成员用户增加或删除相应权限。例如在RBAC当中,一个用户从一个职位调离到另一个职位时,只需要被简单的撤消一个角色,并赋予另一个角色。、如果没有RBAC,用户的过期权限则需要被逐一定位、撤消,并赋予新的权限。②用户、角色和权限传统访问控制(TfaditionallyAccessContml)对特定数据库或特定应用中信息的访问控制,其实现方式是对组织中的每个用户都要建立相应的权限。如果用户要访问多个应用和数据库,那么对于每个资源,都要赋予该用户相应的权限。自主访问控制与强制访问控制方式作为传统访问控制方式,其工作量大,又不便于管理。例如:1000主体访问10000客体,需1000万次配置。如每次配置需1秒,每天工作8小时,就需要10,000,000/(3600*8)≈347.2天才能完成一次完整的配置工作。问题(Problem)(1)当组织中的用户进入、离开或更改其职权时,要更新每个用户的授权不但很困难、费时,而且容易出错。(2)因此,此种方式将导致信息和系统安全的潜在冲突。通过以用户的角色而不是用户的身份作为访问的关键,RBAC避免了这些问题。在基于角色的模型中,每个用户可能被赋予多个角色,每个角色又可能有多个用户。用户被赋予的角色依据于他们的职权:并且每个角色被赋予访问权限。权限决定数据和应用是否能被访问;并且,每个角色被赋予相应的权限集,使得相应的用户可以完成所需的任务,如图2-5所示。服务1服务1用户角色角色1角色2角色3资源服务2服务3图2-5基于角色的访问控制用户的角色可以属于特定的任务、地理位置或个体描述。在多数情况下,组织里用户职位更改的频率比角色或职权更改的频率高。通过将角色与权限相关联,并只在角色的范围内对用户进行更改,这样管理的成本就降低了。③最少权限最少权限原则是指有选择地将权限赋予用户,并使用户被赋予的权限仅仅是用户完成其工作所需的且足够的权限。它提供了RBAC保护机制所要求的设置权限分离边界的原则。最少权限的原则避免了用户超越自身职责既定权限范围,执行非法权限操作的潜在威胁。④职责分离职责分离就是在不同角色之间,将任务和其相关联的权限进行分离,以防止用户拥有超过他们职位所需的权力。其动机是为了保证欺骗和大的错误不会出生,除非多个用户蓄意勾结。在RBAC系统中,职责分离的概念是由最小权限的原则所支持的。NISTRBAC模型就支持静态和动态的职责分离。(1)静态职责分离(SSD)如果两个角色是静态职责分离SSD(StaticSeparationofDuty)的关系,那么这两个角色不能分配给同一个用户。在基于角色的系统中,可能出现由于某个用户同时拥有具有相互冲突关系的已经授权的多个角色,而导致出现的矛盾冲突。阻止出现这种冲突的一个方法就是静态职责分离,通过这种方法来约束对用户进行的角色赋予。这种方法就是一个用户如果被授权给一个角色,(而这个角色同另一角色有静态职责分离关系),那么这个用户就会被禁止成为另一个角色的成员。例如,一个用户如果被授权为票据文员,那么他就不能被授权为应收账文员,如图2-6所示。也就是说,角色“票据文员"与角色“应收账文员"互斥。超级出纳员超级出纳员出纳员超级应用收账文员应收账文员超级票据文员票据文员应收款清算账目表示静态互斥表示继承图2-6静态职责分离SSD策略可以被集中式定制,并被统一地强加在特定的角色上。这种(职责分离)的约束关系可以被继承。例如,如果一个角色——“超级应收账文员’’是由“应收账文员"继承而来的,而“应收账文员"与“票据文员"是静态职责分离的关系,那么“超级应收账文员”的与出纳员也是静态职责分离的关系。从另一方面考虑,“超级应收账文员’’的任何实例都可以被当作“应收账文员"的一个实例,因此,出纳员和“应收账文员’’之间的静态职责分离关系也必须适用于“超级应收账文员”。A.动态职责分离(DSD)如果两个角色是动态职责分离DSD(DynamicSeparationofDuty)的关系,那么这两个角色可以同时分配给一个用户,但是用户的这两个角色在同一时刻不能都是处于活动状态。具有动态职责分离DSD关系的角色可以被授权给同一个用户,只要用户在完成任务时分别单独使用其中一个角色时,不会出现冲突,但当用户同时要同时使用具有DSD关系的两个或多个角色时,便会出现冲突。例如,一个用户可以被同时授权为出纳员和出纳主管;由出纳主管来负责监视出纳员打开收银柜的行为是否合法。如果该用户在使用出纳的角色时,想要转为使用出纳主管的角色,RBAC将要求该用户退出其出纳的角色,并因而要求该用户在行使出纳主管角色之前先关闭收银柜。只要用户不能在同一时刻拥有这两个角色,利害冲突就不会出现。2.2.2RBAC的模型和发展在授权管理中使用角色并不是一个新概念,但是在实际的网络管理策略中使用角色是新的。尽管基于角色的安全模型已经存在了20年,对于在计算机网络和安全社区里面实现RBAC的方法至今还没有形成一个一致的概念。结果,对RBAC包括其模型在内形成了一系列从简单到复杂的概念。Sandhu等人分析了各种RBAC定义。他们定义了基本的RBAC模型,即RBAC0,其中包括了最少权限和职责分离。其后的RBAC模型就是建立在这个基本模型之上,并引入了新的继承和约束概念,以加强管理和安全上的利益。从图2-7所示的RBAC模型家族中可以看出,各模型之间不是孤立的,而是存在一定的关系。RBAC3RBAC3ROLEHIERARCHIES+RBAC1ROLEHIERARCHIESRBAC0VANILLARBAC2CONSTRAINTSModelsHierarchiesConstraintsRBAC0NoNoRBAC1YesNoRBAC2NoYesRBAC3YesYes图2-7RBAC模型家族1)RBAC0(FLATRBAC,ORVANILLARBAC)模型·用户通过角色拥有权限;·必须支持用户一角色授权的多对多映射;·必须支持授权一角色的多对多映射;·必须支持用户一角色授权的检索;·用户可以同时使用多个角色的权限。2)RBAC1(HierarChicalRBAC)模型·基于RBAC0,并支持角色继承;·需要支持任意层级继承;·支持有限层级继承。角色继承是在组织内部对角色的授权和责任的一种自然扩展。例如,在一个组织中可能既含有低级又有高级的角色,如果引进角色继承的概念,那么高级的角色就有权访问低级角色能够访问的信息,但是反之并不成立。这种方法可以增加网络管理的效率。高级角色通过继承低级角色的权限避免了对每个角色的一般权限进行重复性地指定所造成地麻烦。随着组织的增大和权限的增加,角色继承机制所带来的好处就越多。3)RBAC2(ConstrainedRBAC)模型·基于RBAC0,且必须实行职责分离;·需要支持任意层级继承;·支持有限层级继承。RBAC2同样是基于最初的RBAC0模型,但它引入了约束概念。例如,可以约束一个用户是否能拥有某~角色。然而,约束也可以被用于许多其它情况下:约束可以用于建立一个特定角色的成员资格;约束也可以被用于作为授予一个角色的先决条件。例如,可以约束用户能被授权为角色X的先决条件是他拥有角色Y。4)RBAC3(对称RBAC,SymmetricRBAC)模型·基于RBAC1+RBAC2,且必须支持授权一角色关系的检索,并且其效率要比用户一角色关系的检索高:·需要支持任意层级继承;·支持有限层级继承。NISTRBAC模型就是RBAC3。这是最复杂的RBAC模型,它包括了角色继承和约束。在RBAC3中,约束被强加在角色继承关系上。例如,低级别角色可能被限定最大的派生角色数量;多个低级别角色可能被限定只能派生不同的高级别角色;或限定用户所能拥有的高级别角色的数量;在RBAC3中出现的这些继承和约束问敏感的交互使得它成为最复杂的RBAC模型。2.3本章小结本章介绍了三种常见的访问控制模型:自主访问控制策略(DiscretionarvAccessControlPolicies);强制访问控制策略(MandatonrAccessControlPolicies);基于角色的访问控制策略(Role-BasedAocessControlPolicies)。并主要对RBAC模型进行详细介绍,阐述了其特点及其发展。对现有不同目的和应用的访问控制模型进行了比较研究,对于比较成熟的模型进行了重点介绍。目前比较成熟且具有绝对优势地位的是自主访问控制、强制访问控制以及基于角色的访问控制模型。由于自主访问控制以及强制访问控制出现较早,而且自主访问控制措施太弱,而强制访问控制措施又太强,两者管理工作量都很大。这两种模型已逐渐成为特定领域的访问控制模型,应用性逐渐让位给后来的模型。通过对自主访问控制及强制访问控制的简单介绍,大概描述了访问控制模型的产生及最初的研究方向。第三章DTMGAC模型随着计算机网络和通信技术的飞速发展,网络环境己经从早期相对静态的、面向特定组织和用户群体的封闭网络,转变为可公共访问的、面向大量动态用户的分布式网络。面向服务的体系结构(SOA)和分布计算技术为信息系统提供了便捷、高效的资源共享和访问手段。诸多信息系统在其管理域中,把内部资源封装为软件服务和构件释放到分布式网络中,形成一种覆盖众多信息管理域、具有极大信息容量和计算潜力的新型分布计算环境,称之为开放计算环境。基于角色的访问控制模型(RBAC)通过引入角色的概念实现了用户和权限的逻辑分离,用户通过管理员为其分配的角色获得相应的权限,RBAC模型不仅显著地降低了授权管理的代价,而且还可以较好地支持授权约束。信任管理将特权管理、身份认证和授权决策纳入到统一的框架中加以处理,提出了适于解决域间资源共享中授权管理问题的理论和方法,已经成为现代访问控制领域的研究热点。然而,传统的基于角色的信任管理中普遍隐含采用静态信任关系,一个实体要么完全信任另一个实体,要么完全不信任,这与现实应用的情况并不相符。本文综合基于角色的访问控制和基于证书信任管理的各自优势,通过引入信任级别概念,基于开放环境动态信任关系管理机制,提出了一个适用于开放式环境的基于动态信任管理的通用访问控制模型DTMGAC。DTMGAC模型的动态信任管理包括基于用户身份的证书信任度量和基于用户行为的信任度量,通过度量的动态信任级别将用户会话映射到对应的信任级,再由信任级对角色分配关系实施约束,通过信任级动态调整角色权限分配关系,用户信任级别的改变直接影响到用户的权限分配,从而实现了对角色可信授权委托控制,有效地解决了网络资源的动态共享访问控制问题。3.1DTMGAC模型规范基于动态信任管理的通用访问控制模型(DTMGAC)综合基于角色的访问控制和基于证书信任管理的各自优势,基于动态信任管理,在模型的角色和权限之间引入信任级别的概念,将RBAC中以角色为中心的设计思想改进为以动态信任管理为中心,通过信任级别约束用户角色的授权委托,从而良好地适应了开放式环境的动态访问控制需求。3.1.1模型基础语义定义1用户属性集(USER_PROPERTIEs):定义USER_PROPERTIEs=为模型的用户属性集。每个用户user都拥有相关的属性集Pu,称为用户相关属性。用户在特定的会话中可映射会话属性集P∈。定义2会话实例集(SESSION_INSTANCEs):会话实例表示了用户的登录事实,会话实例体现了用户与用户所属角色集的当前活动子集间的映射关系,系统为每个会话实例建立唯一的标识,一个用户可以在同一时间通过初始化不同的会话实例进行多次登录。用session_instance表示会话实例集中的一个实例,即session_instance∈SESSION_INSTANCEs。定义3会话类型集(SESSION_TYPES):定义S_T=为模型的会话类型集。用户在激活一个会话实例时,根据所映射的会话实例属性,标识该会话实例的会话类型,如用户user使用用户属性P(P)激活一个会话实例session_instance,则定义该会话实例具备会话类型P。定义4会话历史集(SESSION_HISTORYs):定义会话历史记录用户相同会话类型、相同可信级别的会话行为。采用session_history表示会话历史集中的一个元素,则有session_history∈SESSION_HISTORYs。定义5信任级别集(TRUST_LEVELs):定义可信级别为界于-1和+1之间的实数集合,表示模型的信任等级。一个用户的会话实例在不同的时间、根据不同的会话类型可具备不同的信任级别。采用trust_level表示可信级别集中的一个元素,则有trust_level∈TRUST_LEVELs={S|S[-1,1]}。定义6权限集(PERMISSIONs):定义PERMISSIONs=,权限是对系统中一个或多个目标执行相关动作的授权模式,隶属于OBJECTs×ACTIONs的子集,模型的权限集与角色集相关联,一个角色可以拥有多个权限。用permission表示模型中的权限,即permission={(o,a)|o∈OBJECTs,a∈ACTIONs}permission∈PERMISSIONs。定义7约束集(CONSTRAINTs):定义约束集为模型关系和委托的条件限制,采用谓词规则应用于模型关系和委托的条件限制。用constraint表示约束集中的一个约束,即constraint∈CONSTRAINTs。3.1.2模型授权规则规则1用户会话分配(USA):USA:USERs×SESSION_INSTANCEs×SESSION_TYPEs→SESSIONs。函数sua(u,s,P)=(u∈USERs,s∈SESSION_INSTANCEs,P∈SESSION_TYPEs,sP∈SESSIONs),定义了用户会话分配关系,其中∈SESSIONs表示一个具备会话类型P单一会话。在用户与会话分配关系上,模型允许一个用户可以同时激活不同类型的多个会话。规则2用户信任级分配(UTA):UTAUSERs×TRUST_LEVELs。用户可信级分配定义了用户信任级别的分配关系,用户和信任级是多对多的映射关系,用户可以在同一时间激活多个会话,且每个会话可以具备不同的安全级。同样,同一安全级别的会话也可以赋给多个用户。限制函数member(u,L)∈UTA要求用户必须分级安全级为L的会话,其中L={l},l∈[-1,1]。规则3会话信任级分配(STA):STAUSERs×ST_LEVELs。会话可信级分配定义了会话信任级别的分配系,会话与信任级别是一对多的映射关系,即一个会话只能确固定的信任级别,而一个可信级别则可对应于多个会话。规则4角色信任级分配(RTA):RTAROLEs×ST_LEVELs。角色可信级分配定义了角色信任级别的分配系。角色与信任级别是多对多的映射关系,一个信任级别可多个角色相关联,同样,一个角色可关联多个信任级别。规则5会话信任历史(USH):USHUSERS×SESSION_TYPES×SESSION_HISTORYS。会话信任历程定了用户、会话类型与该用户在相同会话类型下以往访问过三元素之间的关系。采用函数ush(u,P)=u表示,其中u∈Rs,P∈SESSION_TYPEs,会话信任历史u则关联用和类型为P会话。因为一个用户能够激活不同属性类的会话,所以一个用户可能会拥有多个会话信任历史。规则6角色授权分配(PA):PAPERMISSIONs×ROLEs,type(p,r)∈PA,p∈PERMISSIONs,r∈ROLEs。体现了授权到角色之间的多对多分配关系。规则7信任角色分配(Assigned_Roles):Assigned_Roles:TRUST_LEVELs→。信任角色分配规范了信任级别(trust_levelL[-1,1])到角色之间的映射关系。信任角色分配函数Assigned_Roles(L)={r∈ROLEs|(r,L)∈RTA}表示对任意l∈L,Assigned_Roles({l})=Assigned_Roles(L)。规则8角色授限分配(Assigned_Permission):Assigned_Permission:ROLEs→。角色授权分配规范了角色和授权之间的映射关系,角色授权分配函数定义为:Assigned_Permission(r)={p∈PERMISSIONs|(p,r)∈PA}。基于RBAC模型约束模型实现方法,DTMGAC模型的约束规范依赖于系统的存取控制策略实现,体现在模型的信任角色分配Assigned_Roles功能规范与信任角色授权分配Assigned_Permission策略规范中,即在角色到相对应的信任级别映射、具体权限到角色的映射中实施角色支配规则和可信支持规则约束。约束规则1角色支配规则(roledomainance,RD):RDROLEs×ROLEs。角色支配是定义在ROLEs上的偏序关系,称为支配关系,用表示。角色r1和r2的支持关系可以表示为对任意的(r1,r2)∈RD,若r2支配r1,仅当所有赋予r1的授权同样被赋予r2,即有:(r1,r2)∈RD=>r1r2;r1r2=>Assigned_Permission(r1)Assigned_Permission(r2)。角色支配规范定义了在模型中,对于任意拥有角色r2用户u,拥有其支配角色r1的所有权限。在此基础上,DTMGAC模型定义的角色支持关系也包含了本模型引入的信任级支配关系,即当仅在角色之间的支配关系时,一定会存在相应的信任级支配关系。约束规则2可信支配规则(trust_leveldomainance,TLD):TLDTRUST_LEVELs×TRUST_LEVELs。可信支配为定义在TRUST_LEVELs上的偏序关系,用表示。对任意的(L1,L2)∈TLD,如果说L2支配L1,当且仅当L1L2。如果L2是一个单安全级点{l2},则信任级支配关系定义为sup{L1}l2,即安全级点l2大于或等于安全级L1的最大安全级元素。信任级支配关系包含在角色支配关系中,表示为:{(r1,r2)∈RD,(L1,L2)∈TLD|r1∈Assigned_Roles(L1),r2∈Assigned_Roles(L1)}。3.2基于动态信任约束的角色授权过程DTMGAC模型可灵活应用于开放网络环境的安全信任系架构(如网格、P2P环境)中。本文以网格应用环境为例,格安全信任架构将认证授权与访问控制机制中隐含的信任念抽取出来,通过网格信任管理机制在网格实体间建立信关系,以信任建立为中心统一网格中的身份认证、授权管和资源访问控制机制,信任关系的建立保证了网格实体间够进行安全的资源共享。网格基础主要包括各种OSGA和WebServices基础技及协议,如XML、WSN、SOAP等;网格安全传输主要括网格环境中的信息安全传输技术和协议,如IP-Sec、S-Security、SSL、TLS、SSH以及各种算法等;在基于I身份管理基础设施和PMI授权管理基础设施支持下,网身份认证与网格授权管理这一层主要解决网格中用户身份息的管理、用户单点登录、用户数字证书的验证、用户角库的管理以及用户身份到用户角色的映射等问题;网格资管理主要解决网格中的资源访问控制和资源调度控制等问;网格应用主要包括各种网格应用服务和网格资源。3.2.1网格信任管理框架DTMGAC模型中的动态信任管理作为网格身份认证系统、网格授权管理系统的信任代理与用户进行交互。动态信任管理通过信任协商技术进行跨域身份信任建立,并由信任评估系统对网格实体之间的行为信任关系进行量化评估,支持在不同网格信任域的实体之间建立信任关系。DTMGAC模型中的动态信任管理包括身份信任管理与行为信任管理两部分,如图3-1所示。DTMGAC模型身份信任管理的基础是网格实体的安全凭证,具有客观性,其所关注的是实体身份以及实体权限的验证问题,主要通过加密、数字签名以及认证协议等手段来实现。动态信任管理机制中的身份信任管理的基础是PKI证书体系,其涉及的内容包括基于数字证书的单点登录身份认证、基于属性与信任度的授权管理、基于角色与动态信任约束的访问控制。其中,身份认证系统、网格授权管理系统与网格资源访问控制共同实现了DTMGAC模型中的身份信任管理。信任代理信任代理信任度计算方法信任信息形式化信任信息收集安全监控与审计系统PKI证书系统授权管理系统身份认证系统身份信任管理行为信任管理信任评估系统动态信任管理图3-1DTMGAC模型动态信任管理框架DTMGAC模型NGST中的行为信任管理通过在各信任域内建立信任评估系统来具体实施,信任评估系统包含了信任信息收集、信任信息形式化和信任度计算方法3个内容。信任信息来源于安全监控与审计日志中网格实体的行为记录。授权管理系统可以根据网格实体信任评估结果为实体授权;资源管理系统可以将对用户信任评估的结果作为资源访问控制的一项辅助策略,以进行更细粒度的访问控制,同时可以将对资源服务信任评估的结果作为资源调度控制算法的一个参数,从而保证网格资源的使用效率。DTMGAC模型支持多域网格环境的信任建立。网格的每个自治域由一个信任代理处理本域所有信任关系问题。当用户请求资源服务时,应向信任代理发出请求消息,在建立信任关系后,由资源管理系统根据用户的角色,向用户调度分配资源服务。DTMGAC模型信任管理应分为域内信任管理和域间信任管理两种情况来考虑,其信任管理机制可采用差异不大,可采用通用信任管理框架进行统一处理。3.2.2基于动态信任约束的角色授权过程用户实体和资源实体加入网格自治域后,用户访问资源的动态信任约束角色授权过程如图3-2所示。(1)用户向信任代理发出资源服务请求,并提交其安全凭证。用户在提交安全凭证时,可采用网格GSI用户代理方式来实现单点登录。(2)信任代理向身份认证系统提交用户的安全凭证,验证用户身份。如果认证失败,则中止信任关系建立过程。(3)信任代理向信任评估系统发送用户身份信息以及服务类型信息,信任评估系统对用户进行行为信任评估,并将结果反馈给信任代理。资源服务资源服务资源服务资源系统管理信任评估用户信任代理身份认证系统授权系统884526193图3-2动态信任约束的角色授权过程(4)信任代理向授权管理系统提交用户安全凭证和用户行为信任度,授权管理系统将根据动态信任约束角色授权模型,判定访问类型,如果是访问域内资源,则根据信任约束分配用户角色,建立用户信任会话。跨域授权管理系统使用基于用户属性和用户行为信任度的双因子角色授权策略,一个典型的基于动态信任约束的角色授权策略如表3-1所示。对于拥有相同属性的用户,其行为信任度不同,能够获得的角色也可能不同,信任度更高的用户可能获得权限更高的角色。表3-1角色授权策略角色R1R2R3R4R5R6R7R8属性A1A1A1A2A2A3A3A4信任度>0.9>0.7>0.5>0.7>0.4>0.6>0.4>0.3(5)信任代理向用户发送授权管理系统签发的代理证书。(6)用户向资源管理系统提交代理证书,请求资源服务。资源管理系统将验证代理证书中的行为信任类型与其请求资源类型是否一致,以及用户的角色信息和行为信任度是否满足资源访问控制策略。如果验证失败,则中止信任关系建立过程。对于拥有相同角色的用户,其行为信任度不同,能够访问的资源也可能不同,信任度更高的用户可能访问更为敏感的资源;而且用户在访问同一资源时,拥有更高的行为信任度可能获得更高的服务质量。(7)资源管理系统向信任评估系统发送资源服务类型信息,信任评估系统将对本域内该类型资源的服务提供者进行行为信任评估,并将结果反馈给资源管理系统。(8)资源管理系统启动资源调度算法,决定分配哪一个资源服务提供者向用户提供资源服务。资源的行为信任度将作为资源调度算法的一个参数,这样可以更有效地进行资源调度控制,提高资源利用效率。(9)资源管理系统作为资源代理向用户提供资源服务。3.3本章小结DTMGAC模型通过引入信任级别概念拓展了RABC模型。在DTMGAC模型中,用户不像传统RBAC模型一样直接分配角色,而是根据用户的会话类型和会话属性分配可信级别。模型的信任级别与角色的分配关系根据由具体组织的安全策略决定,角色与权限的分配关系与传统RBAC模型保持一致。作为RBAC模型的一种扩展,DTMGAC模型继承了RBAC模型的优点,另外,融合客观信任与主观信任管理的优点,DTMGAC模型采用动态度量用户的信任级别来对角色实施授权委托约束,不仅能进一步细化授权控制粒度,增强系统实用性,而且还能有效降低威胁风险,为开放网络的系统资源提供完善的安全保护。下一步要开展的研究是结合新一代访问控制模型UCON的发展,为DTMGAC模型增加更为丰富的语义,并通过设计一个策略语言来更好地对存取控制模型进行规范,然后在此基础上,开发一个权限管理原型系统来验模型的可用性与安全性。第四章基于DTMGAC的学生成绩管理系统需求分析4.1需求分析4.1.1需求说明开发的软件系统的名称:学生成绩管理信息系统软件的应用:本软件主要用于管理员(老师)对学生基本信息和成绩的管理、对任课教师基本信息的管理等。管理员对学生的成绩记录进行添加、修改、查询,可以录入、查询、删除教师和学生的基本信息。本系统主要是
Access为数据库的开发技术,和编程语言连接在一起进行开发的软件系统,此系统是用java语言编写的。该软件是为了更好的管理学生成绩而开发的。该软件适合于各类中小型学校。4.1.2用例关系对于本权限模型需要完成以下功能:A.登录系统:只有拥有合法帐号及口令的用户才能成功登录系统。B.建立角色:只有拥有建立角色权限的特殊用户(即管理员)才能建立角色。C.分配角角色权限:只有拥有分配角色权限的特殊用户(即管理员)才能进行角色权限的分配。D.建立组织结构:只有拥有建立组织结构权限的特殊用户(即管理员)才能建立组织结构。E.建立用户:只有拥有建立用户权限的特殊用户(即管理员)才能建立用户。F.设置用户权限范围:只有拥有设置用户权限范的特殊用户(即管理员)才能进行用户权限范的设置。G.建立用户角色关系:只有拥有建立用户角色关系的特殊用户才能建立用户角色关系。4.1.3需求描述1、登录系统1)基本流程①用户输入帐号、密码、选择角色,发出登录请求;②应用系统验证用户帐号、密码,返回登录是否成功的信息;③用户向系统请求角色拥有相应的模块;④系统响应用户请求,返回用户所有的模块⑤用户向系统请求当前所能操作的模块集;⑥系统响应用户需求,用户获得模块集;⑦用户请求取得当前模块;⑨系统响应用户的请求,用户得到当前模块;⑨用户请求系统展示当前环境;⑩系统响应用户请求,按用户权限展示用户界面。2)例外流程第二步如帐号或密码与数据库中的登录数据不符,则提示登录失败的信息并要求重新输入帐号和密码。2、建立角色基本流程:1)系统管理员发出新建角色请求2)系统建立角色,并给角色赋予初始值(如角色默认名称,排序,状态描述,备注等信息)3)输入角色的属性4)保存属性约束1:角色名的长度不能超25个字节(显示上的考虑);约束2:自动更新同角色关联的继承关系坐标;约束3:自动更新同该角色关联的互斥关系坐标;约束4:在角色被删除时,自动删除同角色关联的所有继承关系;约束5:在角色被删除时,自动删除同该角色关联的所有互斥关系。3、分配角色权限基本流程:1)系统管理员查找待分配权限角色并得到相应角色;2)系统管理员取得功能模块列表并返回模块列表;3)系统管理员取得权限列表,并返回权限列表;4)系统根据权限值自动分配权限。4、建立用户基本流程:1)系统管理员取用户所在部门,并返回相应部门:2)系统管理员在相应部门新建用户并为用户指定帐户、口令:3)系统管理员为新建用户指定用户所属角色,该用户取得用户权限:4)系统管理员为新建用户设置用户权限范围,并返回权限范围集合。5)系统返回新建用户。约束1:同步更新角色的已分配数量;约束2:用户名不能重复。5、动态授权与信任增强考虑模型的动态信任管理包括基于用户身份和基于用户行为的信任度量;通过度量的动态信任级别将用户会话映射到对应的信任级,再由信任级对角色分配关系实施约束,通过信任级动态调整角色权限分配关系;用户信任级别的改变直接影响到用户的权限分配;实现了对角色可信授权委托控制,有效地解决了网络资源的动态共享访问控制问题。用户可能随时做出危险事件,所以本系统还配备了信任增强机制,根据用户所做事件的危险等级来重新设定其信任值,确保系统安全。4.2本章小结本章主要介绍了基于DTMGAC学生管理系统的需求说明、用例关系、需求描述及主要的动态授权与信任增强等。为系统做了大的框架,使系统的设计更有目的性,设计起来更加方便快捷。第五章系统设计5.1产品功能本产品的功能主要是管理员针对学生信息、成绩的管理,包括学生成绩的查询、添加、修改,学生基本信息查询、插入、删除等功能。还可对任课教师的基本信息进行查询、录入、删除管理。此外,增加了对开发者的简述窗体,为美观还增加了一个图片窗体。5.2用户特点本软件适合于各类中小型学校。使用该软件的人员需要有一些计算机的基本常识,在使用之前需要经过开发人员的专业培训。操作人员只要懂得了软件的基本使用方法和一些计算机的基本操作知识,即可对此软件进行操作。为了使软件的寿命更长,需要对软件进行维护,维护人员应该经过该软件开发者的专业培训合格之后才能维护该软件。维护人员必须既要懂得一定的管理知识、又要懂得计算机技术和通信技术知识,并能对计算机进行熟练的操作。另外本软件使用时间不可能太长,随着社会的不断发展、技术的不断更新,此软件需进行不断的更新维护,在使用中进行再开发。外部主要窗体:登陆界面、主窗体(美观窗体、开发者简述窗体)。内部主要信息操作窗体:教师基本信息管理窗体(查询、录入、删除窗体);学生基本信息管理窗体(查询、录入、删除窗体);学生成绩管理窗体(查询、录入、修改窗体)等。处理成绩子系统处理成绩子系统处理教师信息子系统处理学生信息子系统管理员任课教师教师录入成绩教师查询成绩学生查询成绩学生成绩信息表教师信息表学生信息表动态授权系统信任增强系统图5-1学生成绩管理信息系统中主要的操作系统5.3总体设计5.3.1运行环境硬件平台:服务器最低配置:CPU:Pentium266MHz处理器以及相当的处理器内存:64MB硬盘:500MB空间显卡:Direct3D(16MB) 软件平台: 数据库:Access 客户端操作系统:windows98以上 客户端软件平台:支持JAVA5.3.2处理流程登录登录管理员学生系统操作教师信息管理成绩查询数据恢复数据备份成绩管理教师课程管理成绩录入人员管理成绩管理成绩查询学生信息管理课程录入管理成绩修改学生管理成绩查询动态授权图5-2系统流程处理图5.3.3系统SC图学生成绩管理信息系统SC图: 学生信学生信息成绩修改、录入学生成绩查询教师信息查询查询学生记录学生个人信息修改、删除用户登陆界面学生基本信息管理教师信息管理美观图片学生成绩管理信息系统学生信息登记用户名+密码成绩更新学生信息教师信息更新命令教师信息更新命令教师个人信息录入、删除学生成绩管理图5-3学生成绩管理信息系统SC图5.3.4动态权限分配本系统给教师进行了依据信任值的动态授权,信任值越高可执行操作越多。若信任值过低,则无法登录系统。信任值与权限分配的粗略设计:表5-1权限分配表信任值成绩查询成绩录入成绩修改人员管理无法登录<=0√0<x<11<=x<2√2<=x<3√√3<=x<4√√√x>4√√√√5.3.5信任增强机制在用户访问过程中可能随时做出危险事件,所以本系统还配备了信任增强机制,根据用户所做事件的危险等级来重新设定其信任值,确保系统安全。5.3.6基于身份授权角色身份:学生:成绩查询。老师:成绩的查询、录入、修改及学生信息的管理。管理员:系统数据的备份、恢复;学生、老师的信息管理;课程的录入、教师任课设置;成绩查询。5.4数据库设计5.4.1数据库结构设计数据库所需数据项和数据结构:学生:学号,姓名,性别,生日,班级教师:教师编号,教师姓名,所在院系,联系电话学生成绩:学号,姓名,班级,学期,课程,成绩教师-课程:课程,教师号,班级,学期,权限值5.4.2数据库概念结构设计的E-R图说明:E-R图中矩形代表实体,菱形代表实体间的联系,圆角矩形代表实体的属性教师教师教师号教师名。。。。。。学生学号姓名。。。。1:N学号、姓名、课程名。。。。教师号。。。。学生成绩记录N:11:M图5-4数据库E-R图5.4.3数据库逻辑结构设计五个基本表:学生基本信息表(student)、任课教师表(teacher)、学生成绩表(S_C)、教师-课程(T_C)、课程表(course),如图5-5至5-9。图5-5学生信息表图5-6任课教师表图5-7学生成绩表图5-8教师-课程表图5-9课程表5.6详细设计5.6.1程序系统结构成绩管理子系统功能模块图:成绩管理子系统1成绩管理子系统1查询学生成绩1-1录入学生信息1-2修改学生成绩记录1-3图5-10成绩子系统结构以下是其他系统辅助模块图:辅助系统辅助系统登陆窗体2图片美观界面3开发者简介窗体4图5-11辅助系统结构5.6.2程序模块描述成绩管理子系统模块主要完成管理员对学生成绩的处理功能,包括查询学生成绩、修改学生成绩、录入学生成绩。辅助系统模块主要完成一些除具体操作之外的一些辅助设计功能,如图片美观界面、登陆界面、开发者介绍界面。登陆模块(即用户身份认证模块)功能:看用户输入的用户名和密码是否正确正确则进入应用程序,非法则显示出错信息将模块细化为详细逻辑IPO图: 输入处理 输出 连接数据库表连接数据库 捕捉错误错误中断程序用户名获取用户名 用户密码 获取用户密码 读usename-password判断用户名是否存在 判断密码是否存在 提示出错信息 捕捉异常 判断用户名密码是否正确隐藏登录窗口 显示主窗体 文件login表图5-12登陆模块IPO图2.学生成绩管理模块功能:接受最新的考试成绩输入信息,将成绩信息存入学生成绩信息表(S_C);查询学生成绩信息(多表查询),用到学生成绩信息表(S_C)、教师基本信息表(teacher);接受考试成绩修改信息,将改后的成绩信息存入学生成绩信息表(S_C);界面:调用学生成绩信息表(S_C),教师基本信息表(teacher);将模块细化为详细逻辑IPO图:输入处理输出给出提示提示信息 录入最新的考试成绩给出提示提示信息学号 查询是否存在该记录 若无该记录 若有该记录则显示出来修改学生成绩记录 提取学号 提取课程名称 若无该记录若有该记录则显示出来 提交 异常出错处理 修改成功teacher表 S_C表图5-13学生成绩管理模块IPO图3.辅助窗体(图片美观窗体和开发者简介界面)功能:图片窗体显示图片;开发者简介界面显示一些开发者的介绍信息。5.6.3流程逻辑用图表(例如N-S图、判定表等)辅以必要的说明来表示本程序的逻辑流程。登陆窗体N-S图如下:登陆窗体在文本框中输入用户名和密码然后点击确定按钮Tusename和password都正确F进入主窗体界面弹出对话框同时登陆界面被隐藏提示出错信息图5-14登陆窗体N-S图(2)学生成绩管理子系统N-S图如下:查询学生成绩记录:执行以下SQL语句进行查询:sql="selectSID,Sname,scorefromS_CwhereTgrade='"+bj+"'andCname='"+kc+"'andTerm='"+xq+"'";查询学生成绩记录操作在输入框中输入要查找的学生的学号T表中是否存在要查找的学号然后点击查找按钮F在相应字段所对应的弹出对话框提示出错信息文本框中显示出来图5-15查询学生成绩记录模块的N-S图录入学生成绩记录操作:向S_C表中录入成绩,执行以下SQL语句:sql="insertintoS_Cvalues(?,?,'"+bj+"','"+xq+"','"+kc+"',?)";录入学生成绩记录录入学生成绩记录向输入框中输入各学生成绩记录输入完毕后点击录入按钮给出录入成功
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 贵州大学《影视音乐欣赏》2023-2024学年第一学期期末试卷
- 贵阳幼儿师范高等专科学校《舞台语言基础》2023-2024学年第一学期期末试卷
- 2025江苏省建筑安全员A证考试题库及答案
- 贵阳学院《复合材料学》2023-2024学年第一学期期末试卷
- 2025重庆建筑安全员-B证考试题库附答案
- 2025年-浙江省安全员C证考试(专职安全员)题库附答案
- 2025贵州省建筑安全员-C证考试(专职安全员)题库及答案
- 广州医科大学《材料创新导论》2023-2024学年第一学期期末试卷
- 2025四川省建筑安全员知识题库附答案
- 2025辽宁建筑安全员B证(项目经理)考试题库
- SYT 0452-2021 石油天然气金属管道焊接工艺评定-PDF解密
- 2024年江苏医药职业学院单招职业技能测试题库及答案解析
- 医院安全生产年终总结
- 2013年4月自考00814中国古代文论选读试题及答案含解析
- JB-T 14510-2023 活性污泥法一体化污水处理装置
- 2024家长会安全教育
- 2024年度-全新事业单位内部控制培训
- 天津市近几年高考数学(文科)试卷知识点总结
- 工程招投标与合同管理智慧树知到期末考试答案2024年
- 2024中国雄安集团有限公司招聘笔试参考题库附带答案详解
- 工程量清单及招标控制价编制服务采购服务方案
评论
0/150
提交评论