第四章_数据库的访问控制_第1页
第四章_数据库的访问控制_第2页
第四章_数据库的访问控制_第3页
第四章_数据库的访问控制_第4页
第四章_数据库的访问控制_第5页
已阅读5页,还剩101页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 第第 四四 章章数据库的访问控制数据库的访问控制2 访问控制策略概述访问控制策略概述 自主访问控制自主访问控制 4.4 4.4 多级安全访问控制模型多级安全访问控制模型34.1 4.1 访问控制策略概述访问控制策略概述4 安全访问控制的三要素安全访问控制的三要素5在数据库中,访问控制在数据库中,访问控制可以分为两大类:可以分为两大类:(1 1)基于能力的访问控制:基于能力的访问控制:以访问主体为判断对以访问主体为判断对象实现访问控制。访问象实现访问控制。访问主体能力列表主体能力列表中的一个元中的一个元素表示为一个二元组(素表示为一个二元组(o,ao,a), ,其中其中o o表示资源客体,表

2、示资源客体,a a表示一种访问控制方式。表示一种访问控制方式。(2 2)基于访问控制列表的访问控制:基于访问控制列表的访问控制:以资源客体以资源客体为判断对象实现访问控制。资源客体为判断对象实现访问控制。资源客体访问控制列访问控制列表表中的一个元素表示为一个二元组(中的一个元素表示为一个二元组(s,as,a), ,其中其中s s表示访问主体,表示访问主体,a a表示一种访问控制方式。表示一种访问控制方式。64.1 4.1 访问控制策略概述访问控制策略概述用户可以按自己的意愿对系统的参数做适当修改以用户可以按自己的意愿对系统的参数做适当修改以决定哪些用户可以访问他们的资源,亦即一个用户决定哪些用

3、户可以访问他们的资源,亦即一个用户可以有选择地与其它用户共享他的资源。用户有自可以有选择地与其它用户共享他的资源。用户有自主的决定权。主的决定权。用户对于不同的数据对象有不同的存取权限用户对于不同的数据对象有不同的存取权限,不同,不同的用户对同一对象也有不同的权限,而且用户还可的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。将其拥有的存取权限转授给其他用户。 7自主访问控制模型中,用户对信息的控自主访问控制模型中,用户对信息的控制基于对制基于对用户的鉴别用户的鉴别和和访问规则访问规则的确定。它的确定。它基于对主体及主体所属的主体组的识别,来基于对主体及主体所属的主

4、体组的识别,来限制对客体的访问,还要校验主体对客体的限制对客体的访问,还要校验主体对客体的访问请求是否符合存取控制规定来决定对客访问请求是否符合存取控制规定来决定对客体访问的执行与否。这里所谓的自主访问控体访问的执行与否。这里所谓的自主访问控制是指主体可以自主地将访问权,或访问权制是指主体可以自主地将访问权,或访问权的某个子集授予其它主体。的某个子集授予其它主体。 8 强制访问控制是指主体与客体都有一个固定的强制访问控制是指主体与客体都有一个固定的安安全属性全属性。系统通过检查主体和客体的安全属性匹。系统通过检查主体和客体的安全属性匹配与否来决定一个主体是否可以访问某个客体资配与否来决定一个主

5、体是否可以访问某个客体资源。安全属性是强制性的规定,它是由安全管理源。安全属性是强制性的规定,它是由安全管理员,或者是操作系统根据限定的规则确定的,用员,或者是操作系统根据限定的规则确定的,用户或用户的程序不能加以修改。户或用户的程序不能加以修改。9如果系统认为具有某一个安全属性的如果系统认为具有某一个安全属性的主体不适于访问某个资源,那么任何人(包主体不适于访问某个资源,那么任何人(包括资源的拥有者)都无法使该主体具有访问括资源的拥有者)都无法使该主体具有访问该文件的权力。该文件的权力。 强制安全访问控制可以避免和防止大多强制安全访问控制可以避免和防止大多数数据库有意或无意的侵害,因此在数据

6、库数数据库有意或无意的侵害,因此在数据库管理系统中有很大的应用价值。管理系统中有很大的应用价值。 10基于角色访问控制(基于角色访问控制(RBACRBAC)模型是目前国际上流行的)模型是目前国际上流行的先进的安全访问控制方法。它通过分配和取消角色来先进的安全访问控制方法。它通过分配和取消角色来完成用户权限的授予和取消,并且提供角色分配规则。完成用户权限的授予和取消,并且提供角色分配规则。安全管理人员根据需要定义各种角色,并设置合适的安全管理人员根据需要定义各种角色,并设置合适的访问权限,而用户根据其责任和资历再被指派为不同访问权限,而用户根据其责任和资历再被指派为不同的角色。这样,整个访问控制

7、过程就分成两个部分,的角色。这样,整个访问控制过程就分成两个部分,即即访问权限与角色相关联访问权限与角色相关联,角色再与用户关联角色再与用户关联,从而,从而实现了用户与访问权限的逻辑分离。实现了用户与访问权限的逻辑分离。 11RBAC模型中的基本概念模型中的基本概念用户(用户(UserUser):):访问系统中的资源的主体访问系统中的资源的主体权限(权限(PermissionPermission):):对计算机中某些受保护的资源的访问对计算机中某些受保护的资源的访问许可许可角色(角色(RoleRole):):应用领域内一种权力和责任的语义综合体应用领域内一种权力和责任的语义综合体v可以是一个抽

8、象概念,也可以是对应于实际系统中的特定语义体,比如组织内部的职务等v针对角色属性的不同,某些模型中将角色进一步细分为普通角色(Regular Role)和管理员角色(Administrative Role) 角色与组的区别角色与组的区别v组:一组用户的集合v角色:一组用户的集合 + 一组操作权限的集合12用户指派(用户指派(User AssignmentUser Assignment):):用户集到角用户集到角色集的多对多的关系色集的多对多的关系权限指派(权限指派(Permission AssignmentPermission Assignment):):权限权限集到角色集的多对多的关系集到角

9、色集的多对多的关系会话会话(SessionSession):):对应于一个用户以及一组对应于一个用户以及一组激活的角色。用户每次必须通过建立会话来激激活的角色。用户每次必须通过建立会话来激活角色,得到相应的访问权限活角色,得到相应的访问权限13RBAC核心模型核心模型14通过创建角色可以一次性对一类用户指定其共同通过创建角色可以一次性对一类用户指定其共同的权限的权限象对用户一样象对用户一样, 可以对角色授予或收回权限可以对角色授予或收回权限角色可被赋予给用户角色可被赋予给用户, 甚至给其他角色甚至给其他角色SQL:1999 支持角色支持角色 create role tellercreate r

10、ole managergrant select on branch to tellergrant update (balance) on account to tellergrant all privileges on account to managergrant teller to managergrant teller to alice, bob在银行环境中,用户角色可定义为出纳员、分行管理者、在银行环境中,用户角色可定义为出纳员、分行管理者、顾客、系统管理员和审计员,访问控制策略的一个例子如下:顾客、系统管理员和审计员,访问控制策略的一个例子如下:(1 1)允许出纳员修改顾客的帐号记录

11、(包括存款和取)允许出纳员修改顾客的帐号记录(包括存款和取款、转帐等信息),并允许查询所有帐号的注册项;款、转帐等信息),并允许查询所有帐号的注册项;(2 2)允许分行管理者修改顾客的帐号记录并允许查询)允许分行管理者修改顾客的帐号记录并允许查询所有帐号的注册项,也允许创建和终止帐号;所有帐号的注册项,也允许创建和终止帐号;(3 3)允许顾客只询问他自己的帐号的注册项;)允许顾客只询问他自己的帐号的注册项;(4 4)允许系统管理员询问系统的注册项和开关系统,)允许系统管理员询问系统的注册项和开关系统,但不允许读或修改用户的帐号信息;但不允许读或修改用户的帐号信息;(5 5)允许审计员读系统中的

12、任何数据,但不允许修改)允许审计员读系统中的任何数据,但不允许修改任何事情。任何事情。16 便于授权管理,如系统管理员需要修改系统设置等内便于授权管理,如系统管理员需要修改系统设置等内容时,必须有几个不同角色的用户到场方能操作,从容时,必须有几个不同角色的用户到场方能操作,从而保证了安全性。而保证了安全性。 便于根据工作需要分级,如企业财务部门与非财力部便于根据工作需要分级,如企业财务部门与非财力部门的员工对企业财务的访问权就可由财务人员这个角门的员工对企业财务的访问权就可由财务人员这个角色来区分。色来区分。 便于赋于最小特权,如即使用户被赋于高级身份时也便于赋于最小特权,如即使用户被赋于高级

13、身份时也未必一定要使用,以便减少损失。只有必要时方能拥未必一定要使用,以便减少损失。只有必要时方能拥有特权。有特权。 便于任务分担,不同的角色完成不同的任务。便于任务分担,不同的角色完成不同的任务。 便于文件分级管理,文件本身也可分为不同的角色,便于文件分级管理,文件本身也可分为不同的角色,如信件、账单等,由不同角色的用户拥有。如信件、账单等,由不同角色的用户拥有。174.2 4.2 自主自主访问控制访问控制自主访问控制自主访问控制基于自主策略管理主体对数据的基于自主策略管理主体对数据的访问,主要机制包括访问,主要机制包括基于主体的标识基于主体的标识和和授权规授权规则则。这些规则是自主的,即它

14、们允许主体将数。这些规则是自主的,即它们允许主体将数据权限授予其他主体。据权限授予其他主体。自主访问控制的一个重要方面是与自主访问控制的一个重要方面是与授权管理策授权管理策略略密切相关。所谓授权管理,是指授权和撤消密切相关。所谓授权管理,是指授权和撤消授权的功能。授权的功能。 18访问控制矩阵模型访问控制矩阵模型利用矩阵利用矩阵A A表示系统中主体、表示系统中主体、客体和每个主体对每个客体所拥有权限之间的客体和每个主体对每个客体所拥有权限之间的关系。任何访问控制策略最终均可被模型化为关系。任何访问控制策略最终均可被模型化为访问矩阵形式:访问矩阵形式:一行表示一个主体的能力列表,一行表示一个主体

15、的能力列表,一列表示一个客体的访问控制列表。一列表示一个客体的访问控制列表。每个矩阵每个矩阵元素规定了相应的主体对应于相应的客体被准元素规定了相应的主体对应于相应的客体被准予的访问许可、实施行为。予的访问许可、实施行为。19授权状态:授权状态:用一个三元组用一个三元组Q=(S,O,A)Q=(S,O,A)来表示。来表示。vS:是主体的集合vO:是客体的集合/安全保护的对象vA中元素A(si,oj):表示主体i对客体j的操作授权访问模式:访问模式:包括读、写、执行、附加和拥有。包括读、写、执行、附加和拥有。20访问控制矩阵访问控制矩阵 A A S1 , , O2=“R”=“R”,表示主体,表示主体

16、S1对客体对客体O1有读的权限。其余类推。有读的权限。其余类推。O1O2O3S1S2S3S4S1ORWRRWCS2RRWCS3RWRWXCS4RRWX21在在DACDAC策略下,访问许可权和访问操作权是两策略下,访问许可权和访问操作权是两个有区别的概念。个有区别的概念。访问操作访问操作表示有权对客体进行的一些具体操作,表示有权对客体进行的一些具体操作,如读、写、执行等;如读、写、执行等;访问许可访问许可则表示可以改变访问权限的能力或把则表示可以改变访问权限的能力或把这种能力转授给其他主体的能力。这种能力转授给其他主体的能力。22S1S1的权力表(访问能力表的权力表(访问能力表CLCL)访问控制

17、矩阵的实现机制访问控制矩阵的实现机制23 O1O1的授权表的授权表( (访问控制表访问控制表ACL)ACL)访问控制矩阵的实现机制访问控制矩阵的实现机制24授授 权权 表表访问控制矩阵的实现机制访问控制矩阵的实现机制主体主体访问模式访问模式客体客体S1OwnO1S1RO1S1WO1S1RO2S1RO3S1WO3S2RO1S2R O3S2WO3主体主体访问模式访问模式客体客体S3RO1S3WO1S3RO2S3WO2S3XO2S4RO2S4RO3S4WO3S4XO325访问控制矩阵原语访问控制矩阵原语是对访问控制矩阵执行的、是对访问控制矩阵执行的、不使之中断或处于不完整状态的操作。不使之中断或处于

18、不完整状态的操作。当一个矩阵建立好之后,就意味看建立了一个当一个矩阵建立好之后,就意味看建立了一个具体的安全控制机制或安全控制系统。因此对访具体的安全控制机制或安全控制系统。因此对访问控制矩阵的操作就意味着改变该系统的安全策问控制矩阵的操作就意味着改变该系统的安全策略或授权情况。略或授权情况。在访问控制矩阵中,有六种命令操作能改变矩在访问控制矩阵中,有六种命令操作能改变矩阵的状态,每种命令由一个阵的状态,每种命令由一个可选的条件语句可选的条件语句和一和一个个命令体命令体构成。构成。26访问控制操作集合访问控制操作集合原语原语操作操作含义含义条件条件1 授予权限授予权限Enter rinto A

19、si,oj赋予主体赋予主体si对客对客体体oj的访问模式的访问模式rSi Soj o2 撤销权限撤销权限Delete rfrom Asi,oj将主体将主体si对客体对客体oj的访问模式的访问模式r撤销撤销Si Soj o A si,oj= Asi,oj r A sh,ok= Ash,ok(hi, kj) A si,oj= Asi,oj - r A sh,ok= Ash,ok(hi, kj)27访问控制操作集合访问控制操作集合原语原语操作操作含义含义条件条件3添加主体添加主体CreatSubject Si 添加新主体添加新主体siSi S4删除主体删除主体Destroy subject Si删除

20、主体删除主体siSi S3 结果状态结果状态:S= S si , O= O si As, o= As,o (s S, o O) Asi,o= (o O) As, si= (s S)4 结果状态结果状态:S= S - si , O= O - si As, o= As,o (s S, o O) O O28访问控制操作集合访问控制操作集合原语原语操作操作含义含义条件条件5 添加客体添加客体CreatObject Oj 添加新客体添加新客体OjOj 6 删除客体删除客体Destroy Object Oj 删除客体删除客体OjOj 5 结果状态结果状态:S= S , O= O oj As, o= As,

21、o (s S, o O) As, oj= ( o O)6 结果状态结果状态: S= S , O= O - oj As, o= As,o (s S, o O) O29约束条件约束条件 每种命令的可选的条件语句中,可以包含对该命令执每种命令的可选的条件语句中,可以包含对该命令执行时的时间或数据约束。行时的时间或数据约束。v数据约束:可规定所访问的数据的值的限制。例:只准读月工资小于3500.0元的职员的信息资料。v时间约束:规定允许读写发生的时间条件。如:银行规定职员在早8:00至下午5:00.下班后不许访问数据库。v上下文约束:例如只读取姓名字段或工资字段是允许的,但把它们组合起来读取就需要限制

22、。v历史记录约束:依赖于主体先前执行的存取操作,如限定只有当主体在未曾读取过员工姓名的条件下,才具有读员工工资的权利。30 自主访问控制特点:自主访问控制特点:v根据主体的身份及允许访问的权限进行决策。v自主是指具有某种访问能力的主体能够自主地将访问权的某个子集授予其它主体。v灵活性高,被大量采用。自主访问控制缺点:自主访问控制缺点:v信息在移动过程中其访问权限关系会被改变,权限控制某些情况下不够严格。如用户A可将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。314.3 4.3 强制强制访问控制访问控制为系统中每个主体和客体标出不同为系统中每个主体和客体标出不同安全等

23、级安全等级,这,这些安全等级由系统控制,不能随意更改。些安全等级由系统控制,不能随意更改。根据主体根据主体和客体的级别标记来决定访问模式。和客体的级别标记来决定访问模式。若系统认为某一等级安全属性的主体不能访问一若系统认为某一等级安全属性的主体不能访问一定安全等级属性的客体,那么任何人都无法使该主定安全等级属性的客体,那么任何人都无法使该主体访问到客体。代表用户的应用程序不能改变自身体访问到客体。代表用户的应用程序不能改变自身或任意客体的安全属性。或任意客体的安全属性。强制访问控制可以防止一个进程生成共享文件,强制访问控制可以防止一个进程生成共享文件,从而防止一个进程通过共享文件把信息从一个进

24、程从而防止一个进程通过共享文件把信息从一个进程传送给另一个进程。传送给另一个进程。在军队中经常应用,支持多级安全在军队中经常应用,支持多级安全32主体对客体的访问主要有四种方式:主体对客体的访问主要有四种方式:(1 1)向下读()向下读(rdrd,read downread down):):主体安全级别高于主体安全级别高于客体信息资源的安全级别时允许的读操作;客体信息资源的安全级别时允许的读操作;(2 2)向上读()向上读(ruru,read upread up):):主体安全级别低于客主体安全级别低于客体信息资源的安全级别时允许的读操作;体信息资源的安全级别时允许的读操作;(3 3)向下写(

25、)向下写(wdwd,write downwrite down):):主体安全级别高主体安全级别高于客体信息资源的安全级别时允许执行的动作或是写操作;于客体信息资源的安全级别时允许执行的动作或是写操作;(4 4)向上写()向上写(wuwu,write upwrite up):):主体安全级别低于主体安全级别低于客体信息资源的安全级别时允许执行的动作或是写操作。客体信息资源的安全级别时允许执行的动作或是写操作。其访问控制关系可分为:下读其访问控制关系可分为:下读/ /上写和上读上写和上读/ /下写,分下写,分别进行机密性控制和完整性控制别进行机密性控制和完整性控制通过安全标签实现单向信息流通模式。

26、通过安全标签实现单向信息流通模式。33安全模型:安全模型:是一种抽象且独立于软件实现的是一种抽象且独立于软件实现的概念模型,数据库系统的安全模型是用于精确概念模型,数据库系统的安全模型是用于精确描述数据库系统的安全需求和安全策略的有效描述数据库系统的安全需求和安全策略的有效方式。它为安全系统的设计提供指导。方式。它为安全系统的设计提供指导。安全模型应具有如下一些特点:安全模型应具有如下一些特点:它是精确的、无二义性的;它是简单、抽象的,也是易于理解的;它仅涉及安全性,不过分限制系统的功能及实现;它是安全策略的一个清晰的表达方式。34安全模型的表达形式:v非形式化的安全模型:用自然语言对系统的安

27、全性进行描述。其优点是直观、易于理解但不严谨,往往有二义性,表达不简洁。v形式化的安全模型:使用数学语言精确地描述系统的安全性质或规则。优点是简洁、准确、严谨,可以从理论上进行严格的证明其安全性;缺点是抽象、难于理解。 351 1模型为系统中所有主体和客体分配一定模型为系统中所有主体和客体分配一定的安全级别。的安全级别。v客体的安全级:表示该客体所包含的信息的敏感程度或机密程度;v主体的安全级:表示该主体被信任的程度或访问信息的能力。362 2每个安全等级是一个每个安全等级是一个二元组二元组 ,记作记作L=L=。v 密级一般定义为四个级别:公开(Unclassified)、秘密(Confide

28、ntial)、机密(Secret)、绝密(Topsecret)四个等级,这些等级构成一个全序关系,即TopsecretSecretConfidentialUnclassified。v简写:绝密(TS)机密(S)秘密(C) 公开(U)。37v 范围:根据主体和客体所涉及的信息类别将主体和客体分为一系列不同的属类,这些属类称为范围。类别之间是彼此独立,并且是无序的。一个安全类仅包含一个安全等级,而它包括的类别可以任意多。系统中主、客体的安全级由这些二元组来定义。系统中主、客体的安全级由这些二元组来定义。 例:设某单位的部门范围对应的划分如下:例:设某单位的部门范围对应的划分如下:“科技处科技处”,

29、“干部处干部处”,“生产处生产处”,“情报处情报处”,范范围是其子集。围是其子集。(C C, 科技处科技处 ) = class(o1)= class(o1)(S S, 科技处,干部处科技处,干部处 )=class(u) =class(u) (TS, (TS, 科技处,情报处,干部处科技处,情报处,干部处)=class(o2)=class(o2)(C C, 情报处情报处 )=class(o3)=class(o3)38模型规定当信息能从一个实体流向另一个实体模型规定当信息能从一个实体流向另一个实体时,必须满足后者的安全等级和实体所属类别都支时,必须满足后者的安全等级和实体所属类别都支配前者。对这种

30、配前者。对这种支配定义支配定义如下:如下:给定两个安全等级给定两个安全等级L1=, L2=,L1=, L2=,称:称:vL1L1支配支配L2L2成立,当且仅当成立,当且仅当C1C2C1C2且且S1 S2S1 S2。记记L1L2L1L2。vL1L1严格支配严格支配L2L2成立,当且仅当成立,当且仅当C1C2C1C2且且S1 S2S1 S2。记记L1L2L1L2。v对给定的两个安全等级对给定的两个安全等级L1,L2L1,L2,如果,如果L1L2L1L2和和L2L1L2L1均不成立,则均不成立,则L1L1和和L2L2是不可比的。是不可比的。39 例如:例如:v(C,科技处)(S,科技处,干部处);

31、v(S,科技处,干部处)(TS,科技处,情报处,干部处); v(C,情报处)与(C,科技处); v(C,情报处)与(S,科技处,干部处); 40显然对于安全类集合中的任意元素显然对于安全类集合中的任意元素A A、B B、C C都有:都有:(1 1)自反性:)自反性:AAAA;(2 2)传递性:如果)传递性:如果ABAB且且BCBC,则,则ACAC;(3 3)反对称性:如果)反对称性:如果ABAB且且BABA,则,则A=BA=B。支配关系是一种明显的偏序关系。支配关系是一种明显的偏序关系。系统中主体对客体的访问方式有系统中主体对客体的访问方式有4 4种:种:v只读:指读取客体中的信息;v追加:将

32、信息写入客体,而不读客体的信息;v执行:执行一个客体(程序);v读写:将信息写入客体,可以读客体的内容。41 BLPBLP模型提供了八种操作模型提供了八种操作:操作操作含义含义Get access按要求的方式初始化对一按要求的方式初始化对一个客体的访问个客体的访问Release access终止由以前终止由以前“Get”开始的开始的访问方式访问方式Give access授予一个主体对客体的某授予一个主体对客体的某种访问种访问42操作操作含义含义Rescind access回收由回收由“Give”操作授予的操作授予的访问方式访问方式Create Object激活一个客体,使其成为可激活一个客体,

33、使其成为可访问的访问的Delete Object将客体从激活状态转化为未将客体从激活状态转化为未激活状态激活状态Change subjectsecurity level改变主体的当前安全等级改变主体的当前安全等级Change objectsecurity level修改客体的安全等级修改客体的安全等级43BLPBLP模型主要用来控制主体和客体之间的信模型主要用来控制主体和客体之间的信息流动。该模型设计了一种信息流动的策略来息流动。该模型设计了一种信息流动的策略来保证信息安全性。保证信息安全性。BLPBLP模型信息流动的一般原则:模型信息流动的一般原则:v简单安全性。主体s对客体o具有读访问权,

34、当且仅当(Ao,Co)(As,Cs)。简单安全性确定了读操作的原则。对读操作来说,主体必须对客体有支配权,这一原则也称为。44星星( (* *) )特性。特性。主体主体s s对客体对客体o o具有写访问权,具有写访问权,并且仅当并且仅当(As,Cs)(Ao,Co).(As,Cs)(Ao,Co).星特性确定了写星特性确定了写的操作原则。对于写操作来说,客体必须对主的操作原则。对于写操作来说,客体必须对主体有支配权。这一原则也叫做体有支配权。这一原则也叫做。信息流通模式:信息流通模式:v下读(read down):用户级别大于文件级别的读操作;v上写(Write up):用户级别小于文件级别的写操

35、作;这样保证信息从低安全级向高安全级流动这样保证信息从低安全级向高安全级流动45对于上述控制原则具体化:对于上述控制原则具体化:若主体若主体u u和客体和客体o o的安全级满足的安全级满足v若class(u)class(o),则u可“写”o,v若class(o)class(u),则u可“读”o.如上述定义:如上述定义:(C C, 科技处科技处 ) = class(o1)= class(o1)(S S, 科技处,干部处科技处,干部处 )=class(u) =class(u) (TS, (TS, 科技处,情报处,干部处科技处,情报处,干部处)=class(o2)=class(o2)(C C, 情报

36、处情报处 )=class(o3=class(o3)于是:于是:u u可读可读o1,o1, u u可写可写o2,o2, u对o3不能读,也不能写,又如,若class(o4)=(TS,科技处), 则u不能读,也不能写。46 Bell-Lapadula安全模型安全模型4748 Bell-Lapadula安全模型安全模型49 BLPBLP模型的优点:模型的优点: 1.1.是一个最早地对多级安全策略进行描述的是一个最早地对多级安全策略进行描述的模型;模型;2.2.是一个严格形式化的模型,并给出了形式是一个严格形式化的模型,并给出了形式化的证明;化的证明;3.3.是一个很安全的模型,既有自主访问控制,是一

37、个很安全的模型,既有自主访问控制,又有强制访问控制。又有强制访问控制。4.4.控制信息只能由低向高流动,能满足军事控制信息只能由低向高流动,能满足军事部门等一类对数据保密性要求特别高的机构的需部门等一类对数据保密性要求特别高的机构的需求。求。50 BLPBLP模型实现模型实现 当客户与服务器相连后,客户每发送一个当客户与服务器相连后,客户每发送一个SQLSQL语句给服务器,服务器首先分析、解释该语语句给服务器,服务器首先分析、解释该语句,然后将消息发送给站点。当在某个站点上的句,然后将消息发送给站点。当在某个站点上的用户要访问某个数据库对象时,首先经过强制访用户要访问某个数据库对象时,首先经过

38、强制访问控制安全检查,同时记录审计信息问控制安全检查,同时记录审计信息: :再经过自再经过自主访问控制检查,确认是否有访问权限,同时也主访问控制检查,确认是否有访问权限,同时也记录审计信息记录审计信息; ;然后经资源分配,进入访问具体然后经资源分配,进入访问具体的元组对象时,再做的元组对象时,再做“向下读向下读”、“同级写同级写”强强制访问控制检查,通过后面作具体的数据操作,制访问控制检查,通过后面作具体的数据操作,并记录审计信息。并记录审计信息。 现有的现有的DBMSDBMS产品实现的客体标记粒度基本都产品实现的客体标记粒度基本都为元组级。为元组级。51 BLPBLP模型限制包括如下几个方面

39、:模型限制包括如下几个方面:1 1低安全级的信息向高安全级流动,可能低安全级的信息向高安全级流动,可能破坏高安全客体中破坏高安全客体中机密性和数据完整性机密性和数据完整性,被病,被病毒和黑客利用。例如下级企业向上级企业汇总毒和黑客利用。例如下级企业向上级企业汇总财务数据时,就有可能出现这种情况。财务数据时,就有可能出现这种情况。2 2只要信息由低向高流动即合法(高读只要信息由低向高流动即合法(高读低),不管工作是否有需求,低),不管工作是否有需求,防问权限太大防问权限太大,这不符合最小特权原则。这不符合最小特权原则。523 3可用性差。可用性差。同时也限制了高密级用户同时也限制了高密级用户向非

40、敏感客体写数据的合理要求,降低了系向非敏感客体写数据的合理要求,降低了系统的可用性统的可用性。例如在企业的财务管理系统中,例如在企业的财务管理系统中,上级企业的密级比其下属企业的密级高,按上级企业的密级比其下属企业的密级高,按照实际应用的上级企业的人员应该可以修改照实际应用的上级企业的人员应该可以修改下级企业的数据;下级企业的数据;4 4部门之间信息的横向流动被禁止;部门之间信息的横向流动被禁止;例例如在企业的财务管理系统中,相同密级的企如在企业的财务管理系统中,相同密级的企业主体之间的信息流动将不能进行;业主体之间的信息流动将不能进行;53BIBABIBA模型是为保护信息的完整性而设计的。模

41、型是为保护信息的完整性而设计的。BIBABIBA模型同样基于主体、客体和安全等级这些模型同样基于主体、客体和安全等级这些概念。基中,主体和客体的概念与概念。基中,主体和客体的概念与BLPBLP模型是一致模型是一致的,系统中每个主体和客体都打上了标签,这个标的,系统中每个主体和客体都打上了标签,这个标签主要功能是记载完整性等级和实体所属的类别。签主要功能是记载完整性等级和实体所属的类别。BIBABIBA模型的完整性等级由模型的完整性等级由安全等级安全等级和和范围集合范围集合两个部分组成。其中,安全等级主要的类型是两个部分组成。其中,安全等级主要的类型是极重极重要要(crucial,C)(cruc

42、ial,C)、非常重要非常重要(Very Important,VI)(Very Important,VI)和和重要重要(Important,I)(Important,I),三者之间是全序关系,即,三者之间是全序关系,即CVIICVII。范围的定义与。范围的定义与BLPBLP模型类似。模型类似。简写:简写:极重要(极重要(C C) 非常重要非常重要(VI)(VI)重要重要(I)(I)54 BIBABIBA模型的基本思想是低完整性的信息不能向模型的基本思想是低完整性的信息不能向高完整性的实体流动。反之可以。即如果信息能高完整性的实体流动。反之可以。即如果信息能从一个实体流向另一个实体时,必须满足从

43、一个实体流向另一个实体时,必须满足前者的前者的完整性等级和实体所属类别都支配后者完整性等级和实体所属类别都支配后者。 支配关系定义如下:支配关系定义如下:给定两个安全等级给定两个安全等级I1=, I2=,I1=, I2=,称称1)I11)I1支配支配I2I2成立,当且仅当成立,当且仅当C1C2C1C2且且 S1 S2S1 S2。 记记I1I2I1I2。2)I12)I1严格支配严格支配I2I2成立,当且仅当成立,当且仅当C1C2C1C2且且 S1 S2S1 S2。 记记I1I2I1I2。对给定的两个安全等级对给定的两个安全等级I1I1,I2I2,如果,如果I1I2I1I2和和I2I1I2I1均不

44、成立,则均不成立,则I1I1和和I2I2是不可比的。是不可比的。55 显然对于完整性集合中的任意元素显然对于完整性集合中的任意元素A A、B B、C C有:有:(1 1)自反性:)自反性:AAAA;(2 2)传递性:如果)传递性:如果ABAB且且BCBC,则,则ACAC;(3 3)反对称性:如果)反对称性:如果ABAB且且BABA,则,则A=BA=B。 BIBABIBA模型定义了四种访问方式:模型定义了四种访问方式:访问访问方式方式含义含义Modify向客体写信息向客体写信息Invoke只能用于主体,若两个主只能用于主体,若两个主体间有体间有Invoke权限,则允权限,则允许这两个主体相互通信

45、许这两个主体相互通信Observe从客体中读信息从客体中读信息Execute执行一个客体(程序)执行一个客体(程序)56 一种广泛使用非自主安全策略是严格完整性策一种广泛使用非自主安全策略是严格完整性策略,包括以下规则:略,包括以下规则:(1 1)完整性星规则:)完整性星规则:一个主体能够对一个客一个主体能够对一个客体持有体持有ModifyModify的访问方式,仅当主体的完整性等的访问方式,仅当主体的完整性等级支配客体的完整性等级。级支配客体的完整性等级。(2 2)援引规则:)援引规则:一个主体能够对另一个主体一个主体能够对另一个主体持有持有InvokeInvoke的访问方式,仅当第一个主体

46、的完整的访问方式,仅当第一个主体的完整性等级支配第二个主体的完整性等级。性等级支配第二个主体的完整性等级。(3 3)简单完整性条件:)简单完整性条件:一个主体能够对一个一个主体能够对一个客体持有客体持有ObserveObserve的访问方式,仅当客体的完整性的访问方式,仅当客体的完整性等级支配主体的完整性等级。等级支配主体的完整性等级。57BibaBiba安全模型安全模型58 Bell-LaPadulaBell-LaPadula模型:保证保密性模型:保证保密性v简单安全特性(下读):一个主体只能读一个低级别或相同安全级别的对象v*-特性(上写):一个主体只能写一个高级别的或相同安全级别的对象B

47、LPBLP模型信息在系统中只能模型信息在系统中只能进行流动进行流动. .BibaBiba模型:保证完整性模型:保证完整性vBiba模型与BLP模型正好完全相反: 上读、下写 BibaBiba模型信息在系统中只能模型信息在系统中只能进行流动进行流动. . 594.4 4.4 多级安全访多级安全访问控制模型问控制模型在关系型数据库中应用在关系型数据库中应用MACMAC策略首先需要扩展关策略首先需要扩展关系模型自身的定义。因此提出了多级关系模型系模型自身的定义。因此提出了多级关系模型(Multilevel Relational ModelMultilevel Relational Model)。)。

48、多级关系的本质特性是多级关系的本质特性是不同的元组具有不同的不同的元组具有不同的访问等级访问等级。关系被分割成不同的安全区,关系被分割成不同的安全区,每个安全区对应每个安全区对应一个访问等级一个访问等级。一个访问等级为。一个访问等级为c c的安全区包含所有的安全区包含所有访问等级为访问等级为c c的元组。一个访问等级为的元组。一个访问等级为c c的主体能读的主体能读取所有访问等级小于等于取所有访问等级小于等于c c的安全区中的所有元组,的安全区中的所有元组,这样的元组集合构成访问等级这样的元组集合构成访问等级c c的多级关系视图。类的多级关系视图。类似地,一个访问等级为似地,一个访问等级为c

49、c的主体能写所有访问等级大的主体能写所有访问等级大于或等于于或等于c c的安全区中的元组。的安全区中的元组。60 在关系数据库管理系统中,表、行、列、元素都是在关系数据库管理系统中,表、行、列、元素都是包含并接收信息的单位,都可以由主体对其进行操作,包含并接收信息的单位,都可以由主体对其进行操作,都可能作为安全客体而进行标记。当然,不同粒度的都可能作为安全客体而进行标记。当然,不同粒度的标记方法带来不同的安全性,标记方法带来不同的安全性,越高的安全等级要求具越高的安全等级要求具有越细的粒度有越细的粒度。 每个元组中的属性有一个属性标签每个元组中的属性有一个属性标签(Attribute Labe

50、l)(Attribute Label),用于标记元组中属性的访问等级,同时还有一个元组用于标记元组中属性的访问等级,同时还有一个元组标签标签(Tuple Iabel)(Tuple Iabel),是与元组中的属性相关的访问等,是与元组中的属性相关的访问等级中的最小元素。级中的最小元素。 如果最细粒度是元素级标签,可以提供相当的灵活性,如果最细粒度是元素级标签,可以提供相当的灵活性,使数据库系统达到较高的安全评测等级。但元素级标使数据库系统达到较高的安全评测等级。但元素级标签明显增加了系统的复杂性,有可能大大降低系统的签明显增加了系统的复杂性,有可能大大降低系统的工作性能。工作性能。61员工员工编

51、号编号编号编号等级等级姓名姓名姓名姓名等级等级工资工资工资工资等级等级元组元组等级等级1001S小美小美S3000TSTS1002S如花如花S1000SS1003S小刚小刚S800SS1004S小伟小伟TS4300TSTS1005TS老黄老黄S5000STS1006S阿宗阿宗S900SS多级关系多级关系R R62多安全等级产生多实例的三个方面:多安全等级产生多实例的三个方面:v多实例关系:具有相同关系名和模式,但安全等级不同的多个关系;v多实例元组:具有相同主码,但其主码的安全等级不同的多个元组;v多实例元素:各个属性具有不同的安全等级。两个具有相同主码值的安全等级是一致的。 63例:两种多实

52、例的情况。例:两种多实例的情况。多实例属性多实例属性的多级关系的多级关系wnameC1RangeC2QuantityC3TCGun1UNULLU3000UUGun1U2S5000SS多实例元组的多实例元组的多级关系多级关系wnameC1RangeC2QuantityC3TCGun1UNULLU3000UUGun1S2S5000SS644.5 4.5 安全数据视图模型安全数据视图模型安全数据视图模型(安全数据视图模型(Secure Sea ViewSecure Sea View)是)是DenningDenning等人在等人在19861986年前后于斯坦福研究所开发的一年前后于斯坦福研究所开发的一

53、个保护关系数据库系统的安全模型。模型采用强制个保护关系数据库系统的安全模型。模型采用强制访问控制策略和自主访问控制策略控制数据访问。访问控制策略和自主访问控制策略控制数据访问。定位目标是定位目标是A1A1级。级。安全数据视图模型分为两个层次:下层是强制安全数据视图模型分为两个层次:下层是强制访问控制模型,上层是可信计算基(访问控制模型,上层是可信计算基(Trusted Trusted Computing Base,TCBComputing Base,TCB)模型。)模型。其中其中MACMAC模型是实施了模型是实施了BLPBLP模型的访问监控器。模型的访问监控器。TCBTCB则定义了多级关系的概

54、念,支持对于多级关系和则定义了多级关系的概念,支持对于多级关系和视图的自主访问控制。由于视图的自主访问控制。由于TCBTCB模型位于模型位于MACMAC模型的模型的上层,其所有信息均存储在上层,其所有信息均存储在MACMAC访问监控器控制的客访问监控器控制的客体中。体中。65MACMAC模型概况了模型概况了BLPBLP模型与模型与BIBABIBA模型的规则,基于模型的规则,基于信息的安全等级构造,所有需要访问敏感信息的用户信息的安全等级构造,所有需要访问敏感信息的用户必须提供访问这些信息所要求的机密性、完整性授权。必须提供访问这些信息所要求的机密性、完整性授权。访问等级:访问等级:由一个由一个

55、保密等级保密等级部分和一个部分和一个完整性等完整性等级级部分组成,记为部分组成,记为。其中保密等级对应于。其中保密等级对应于BLPBLP模模型中的安全等级,完整性等级对应于型中的安全等级,完整性等级对应于BIBABIBA模型中的完模型中的完整性等级。整性等级。66支配关系的形式化定义:支配关系的形式化定义:给定两个访问等级给定两个访问等级C1=, C2=,C1=, C2=,C1C1支配支配C2C2,即,即C1C2C1C2当且仅当当且仅当X1X2X1X2,Y1Y1Y2Y2。如果上述两个不等式中任意一个是严格成立的(即如果上述两个不等式中任意一个是严格成立的(即 或或 ),则称),则称C1C1严格

56、支配严格支配C2C2。如果如果C1C2C1C2和和C2C1C2C1均不成立,则称均不成立,则称C1C1和和C2C2是不可比是不可比的。的。客体:客体:定义为必须对其进行访问的信息容器(如文定义为必须对其进行访问的信息容器(如文件)。每个客体指派一个惟一的标识符和一个惟一的访问件)。每个客体指派一个惟一的标识符和一个惟一的访问等级。此标识符和访问等级在客体的整个生命周期固定不等级。此标识符和访问等级在客体的整个生命周期固定不变。变。由由MACMAC模型保护的客体不是数据库的抽象结构,而是模型保护的客体不是数据库的抽象结构,而是底层操作系统中的单级文件,数据库信息映射到这些文件底层操作系统中的单级

57、文件,数据库信息映射到这些文件中。这允许模型用访问单级客体的方式说明并实现强制访中。这允许模型用访问单级客体的方式说明并实现强制访问控制策略。问控制策略。67 主体:主体:MACMAC模型中的主体是用户进程。用户模型中的主体是用户进程。用户进程的访问等级等价于用户的访问关系。进程的访问等级等价于用户的访问关系。系统为每个用户指定一个允许执行的保密等系统为每个用户指定一个允许执行的保密等级和完整性等级范围:级和完整性等级范围:最小保密等级(minsecrecy)最小完整性等级(minintegrity)最大保密等级(maxsecrecy)最大完整性等级(maxintegrity)v偶对称为主体的

58、写等级;v偶对称为主体的读等级。显然,读等级必须支配写等级。68 访问方式:访问方式:模型的强制访问控制策略限定了模型的强制访问控制策略限定了在数据库底层操作系统客体上可以执行的基本在数据库底层操作系统客体上可以执行的基本访问方式,主要是:访问方式,主要是:读:读存储在客体中的信息。读:读存储在客体中的信息。写:向客体中写信息。写:向客体中写信息。执行:执行一个客体。执行:执行一个客体。69 规则:规则:MACMAC模型通过一组规则集控制访问方模型通过一组规则集控制访问方式的执行,这些规则是:式的执行,这些规则是:v读规则:读规则:仅当主体的读等级支配客体的访仅当主体的读等级支配客体的访问等级

59、时,主体能够读客体的信息。问等级时,主体能够读客体的信息。形式化表示为:主体形式化表示为:主体s s能够读客体能够读客体o o,仅当,仅当 readclass(s)accessclass(o)readclass(s)accessclass(o)。 例:例: readclass(s) readclass(s)(高,低)(高,低) accessclass(o) accessclass(o)(低,高)。(低,高)。/该规则是该规则是BLPBLP模型中不上读保密规则和模型中不上读保密规则和BIBABIBA模型中严格完整性策略的不下读完整性规则的模型中严格完整性策略的不下读完整性规则的综合。综合。70v

60、写规则写规则:仅当主体的写等级受客体的访问等级:仅当主体的写等级受客体的访问等级支配时,主体能够向客体写信息。支配时,主体能够向客体写信息。形式化表示为:主体形式化表示为:主体s s能够写客体能够写客体o o,仅当,仅当writeclass(s)accessclass(o)writeclass(s)accessclass(o)。例:例: writeclass(s) writeclass(s)(低,高)(低,高) accessclass(o) accessclass(o)(高,低)。(高,低)。 /该规则是该规则是BLPBLP模型中不下写保密规则和模型中不下写保密规则和BIBABIBA模模型中严

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论