数据库的访问控制.ppt
《数据库的访问控制.ppt》由会员分享,可在线阅读,更多相关《数据库的访问控制.ppt(94页珍藏版)》请在课桌文档上搜索。
1、1,数据库的访问控制,2,本 章 概 要,4.1 访问控制策略概述4.2 自主访问控制 4.3 强制访问控制4.4 多级安全访问控制模型4.5 安全数据视图模型4.6 贾让第-沙胡模型4.7 RBAC96模型,3,4.1 访问控制策略概述,在数据库中,访问控制可以分为两大类:(1)基于能力的访问控制:以访问主体为判断对象实现访问控制。访问主体能力列表中的一个元素表示为一个二元组(o,a),其中o表示资源客体,a表示一种访问控制方式。(2)基于访问控制列表的访问控制:以资源客体为判断对象实现访问控制。资源客体访问控制列表中的一个元素表示为一个二元组(s,a),其中s表示访问主体,a表示一种访问控
2、制方式。,4,4.1 访问控制策略概述,4.1.1 自主访问控制概述自主访问控制是一种最为普遍的访问控制手段,用户可以按自己的意愿对系统的参数做适当修改以决定哪些用户可以访问他们的资源,亦即一个用户可以有选择地与其它用户共享他的资源。用户有自主的决定权。,5,自主访问控制模型中,用户对信息的控制基于对用户的鉴别和访问规则的确定。它基于对主体及主体所属的主体组的识别,来限制对客体的访问,还要校验主体对客体的访问请求是否符合存取控制规定来决定对客体访问的执行与否。这里所谓的自主访问控制是指主体可以自主地(也可能是单位方式)将访问权,或访问权的某个子集授予其它主体。,6,4.1.2 强制访问控制概述
3、强制访问控制是指主体与客体都有一个固定的安全属性。系统通过检查主体和客体的安全属性匹配与否来决定一个主体是否可以访问某个客体资源。安全属性是强制性的规定,它是由安全管理员,或者是操作系统根据限定的规则确定的,用户或用户的程序不能加以修改。,7,如果系统认为具有某一个安全属性的主体不适于访问某个资源,那么任何人(包括资源的拥有者)都无法使该主体具有访问该文件的权力。强制安全访问控制可以避免和防止大多数数据库有意或无意的侵害,因此在数据库管理系统中有很大的应用价值。,8,4.1.3 基于角色的访问控制概述基于角色访问控制(RBAC)模型是目前国际上流行的先进的安全访问控制方法。它通过分配和取消角色
4、来完成用户权限的授予和取消,并且提供角色分配规则。安全管理人员根据需要定义各种角色,并设置合适的访问权限,而用户根据其责任和资历再被指派为不同的角色。这样,整个访问控制过程就分成两个部分,即访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限的逻辑分离。,9,4.2 自主访问控制,自主访问控制基于自主策略管理主体对数据的访问,主要机制包括基于主体的标识和授权规则。这些规则是自主的,即它们允许主体将数据权限授予其他主体。自主访问控制的一个重要方面是与授权管理策略密切相关。所谓授权管理,是指授权和撤消授权的功能。,10,访问控制矩阵模型利用矩阵A表示系统中主体、客体和每个主体对每个客体
5、所拥有权限之间的关系。任何访问控制策略最终均可被模型化为访问矩阵形式:一行表示一个主体的能力列表,一列表示一个客体的访问控制列表。每个矩阵元素规定了相应的主体对应于相应的客体被准予的访问许可、实施行为。,11,表1 访问控制矩阵,A S1,O1=“读”,表示主体S1对客体O1有读权限。其余类推。,12,授权状态用一个三元组Q=(S,O,A)来表示。其中S是主体的集合;O是客体的集合,是安全机制保护的对象。A中的每个元素A(si,oj)表示主体i对客体j的操作授权,它是访问模式的一个子集。一般在数据库管理系统中,访问模式包括读、写、执行、附加和拥有。访问控制矩阵原语是对访问控制矩阵执行的、不使之
6、中断或处于不完整状态的操作。,13,表2 访问控制操作集合,1 结果状态:S=S,O=O Asi,oj=Asi,oj r Ash,ok=Ash,ok(hi,kj)2 结果状态:S=S,O=O Asi,oj=Asi,oj-r Ash,ok=Ash,ok(hi,kj),14,表2 访问控制操作集合,3 结果状态: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),15,表2 访问控制操作集合,5 结果状态:S=S,O=O Oj As,o=As,o(S S,o o)
7、As,oj=(o o)6 结果状态:S=S,O=O-Oj As,o=As,o(S S,o o),16,约束条件 每种命令的可选的条件语句中,可以包含对该命令执行时的时间或数据约束。数据约束:可规定所访问的数据的值的限制。时间约束:规定允许读写发生的时间条件。上下文约束:例如只读取姓名字段或工资字段是允许的,但把它们组合起来读取就需要限制。历史记录约束:该约束条件的激活依赖于该操作先前的操作。,17,自主访问控制特点:根据主体的身份及允许访问的权限进行决策。自主是指具有某种访问能力的主体能够自主地将访问权的某个子集授予其它主体。灵活性高,被大量采用。自主访问控制缺点:信息在移动过程中其访问权限关
8、系会被改变,权限控制某些情况下不够严格。如用户A可将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。,18,4.3 强制访问控制,为系统中每个主体和客体标出不同安全等级,这些安全等级由系统控制,不能随意更改。根据主体和客体的级别标记来决定访问模式。如绝密级,机密级,秘密级,无密级等。在军队中经常应用,支持多级安全考虑到偏序关系,主体对客体的访问主要有四种方式:(1)向下读(rd,read down):主体安全级别高于客体信息资源的安全级别时允许的读操作;(2)向上读(ru,read up):主体安全级别低于客体信息资源的安全级别时允许的读操作;,19,(3)向下写(wd
9、,write down):主体安全级别高于客体信息资源的安全级别时允许执行的动作或是写操作;(4)向上写(wu,write up):主体安全级别低于客体信息资源的安全级别时允许执行的动作或是写操作。其访问控制关系可分为:下读/上写和上读/下写,分别进行机密性控制和完整性控制通过安全标签实现单向信息流通模式。,20,BLP模型用于保证保密性,其依赖于系统元素密级。密级用安全等级来表示。每个安全等级是一个二元组,记作L=。通常将密级划分为公开(Unclassified)、秘密(Confidential)、机密(Secret)、绝密(Topsecret)四个等级,这些等级构成一个全序关系,即Tops
10、ecretSecretConfidentialUnclassified。范围:根据主体和客体所涉及的信息类别将主体和客体分为一系列不同的属类,这些属类称为范围。类别之间是彼此独立,并有是无序的。一个安全类仅包含一个安全等级,而它包括的类别可以任意多。,4.3.1 Bell-Lapadula模型,21,安全标签是限制在某一特定对象之上的一组安全属性信息项。在BLP模型中,所有的主体和客体都被打上了标签,这个标签用于记载安全等级和实体所属的类别。模型规定当信息能从一个实体流向另一个实体时,必须满足后者的安全等级和实体所属类别都支配前者。对这种支配定义如下:给定两个安全等级L1=,L2=,称(1)L
11、1支配L2成立,当且仅当C1C2且S1 S2。记L1L2。(2)L1严格支配L2成立,当且仅当C1C2且S1 S2。记L1L2。对给定的两个安全等级L1,L2,如果L1L2和L2L1均不成立,则L1和L2是不可比的。,22,显然对于安全类集合中的任意元素A、B、C都有:(1)自反性:AA;(2)传递性:如果AB且BC,则AC;(3)反对称性:如果AB且BA,则A=B。BLP模型提供了八种操作:,23,24,BLP模型主要用来控制主体和客体之间的信息流动。该模型设计了一种信息流动的策略来保证信息安全性。信息流动可以用一个格表示,-决定了不同实体间信息是否可以流动,如x-y,即x的信息可以流向y。
12、BLP模型信息流动的一般原则:简单安全性。主体s对客体o具有读访问权,当且仅当(Ao,Co)(As,Cs)。简单安全性确定了读操作的原则。对读操作来说,主体必须对客体有支配权,这一原则也称为下读原则。,25,星(*)特性。主体s对客体o具有写访问权,并且仅当(As,Cs)(Ao,Co).星特性确定了写的操作原则。对于写操作来说,客体必须对主体有支配权。这一原则也叫做上写原则。信息流通模式:,26,BIBA模型是为保护信息的完整性而设计的。BIBA模型同样基于主体、客体和安全等级这些概念。基中,主体和客体的概念与BLP模型是一致的,系统中每个主体和客体都打上了标签,这个标签主要功能是记载完整性等
13、级和实体所属的类别。BIBA模型的完整性等级由安全等级和范围集合两个部分组成。其中,安全等级主要的类型是极重要(crucial,C)、非常重要(Very Important,VI)和重要(Important,I),三者之间是全序关系,即CVII。范围的定义与BLP模型类似。,4.3.2 BIBA模型,27,BIBA模型的基本思想是低完整性的信息不能向高完整性的实体流动。反之可以。即如果信息能从一个实体流向另一个实体时,必须满足前者的完整性等级和实体所属类别都支配后者。支配关系定义如下:给定两个安全等级I1=,I2=,称(1)I1支配I2成立,当且仅当C1C2且S1 S2。记I1I2。(2)I1
14、严格支配I2成立,当且仅当C1C2且S1 S2。记I1I2。对给定的两个安全等级I1,I2,如果I1I2和I2I1均不成立,则I1和I2是不可比的。,28,显然对于完整性集合中的任意元素A、B、C都有:(1)自反性:AA;(2)传递性:如果AB且BC,则AC;(3)反对称性:如果AB且BA,则A=B。BLP模型定义了四种访问模型:,29,BIBA模型的基本思想是低完整性的信息不能向高完整性的实体流动。反之可以。即如果信息能从一个实体流向另一个实体时,必须满足前者的完整性等级和实体所属类别都支配后者。支配关系定义如下:给定两个安全等级I1=,I2=,称(1)I1支配I2成立,当且仅当C1C2且S
15、1 S2。记I1I2。(2)I1严格支配I2成立,当且仅当C1C2且S1 S2。记I1I2。对给定的两个安全等级I1,I2,如果I1I2和I2I1均不成立,则I1和I2是不可比的。,30,一种广泛使用非自主安全策略是严格完整性策略,包括以下规则:(1)完整性星规则:一个主体能够对一个客体持有Modify的访问方式,仅当主体的完整性等级支配客体的完整性等级。(2)援引规则:一个主体能够对另一个主体持有Invoke的访问方式,仅当第一个主体的完整性等级支配第二个主体的完整性等级。(3)简单完整性条件:一个主体能够对一个客体持有Observe的访问方式,仅当客体的完整性等级支配主体的完整性等级。,3
16、1,Bell-LaPadula模型:保证保密性简单安全特性(不向上读):一个主体只能读一个低级别或相同安全级别的对象*-特性(不向下写):一个主体只能写一个高级别的或相同安全级别的对象 Biba模型:保证完整性与Bell-LaPadula模型正好完全相反:不向下读、不向上写,强制访问控制的两种模型,32,4.4 多级安全访问控制模型,在关系型数据库中应用MAC策略首先需要扩展关系模型自身的定义。因此提出了多级关系模型(Multilevel Relational Model)。多级关系的本质特性是不同的元组具有不同的访问等级。关系被分割成不同的安全区,每个安全区对应一个访问等级。一个访问等级为c
17、的安全区包含所有访问等级为c的元组。一个访问等级为c的主体能读取所有访问等级小于等于c的安全区中的所有元组,这样的元组集合构成访问等级c的多级关系视图。类似地,一个访问等级为c的主体能写所有访问等级大于或等于c的安全区中的元组。,33,4.5 安全数据视图模型,安全数据视图模型(Secure Sea View)是Denning等人在1986年前后于斯坦福研究所开发的一个保护关系数据库系统的安全模型。模型采用强制访问控制策略和自主访问控制策略控制数据访问。安全数据视图模型分为两个层次:下层是强制访问控制模型,上层是可信计算基(Trusted Computing Base,TCB)模型。其中MAC
18、模型是实施了BLP模型的访问监控器。TCB则定义了多级关系的概念,支持对于多级关系和视图的自主访问控制。由于TCB模型位于MAC模型的上层,其所有信息均存储在MAC访问监控器控制的客体中。,34,MAC模型基于信息的安全等级构造,所有需要访问敏感信息的用户必须提供访问这些信息所要求的机密性、完整性授权。访问等级:由一个保密等级部分和一个完整性等级部分组成,记为。其中保密等级对应于BLP模型中的安全等级,完整性等级对应于BIBA模型中的完整性等级。该访问等级形成一个满足偏序关系的格。此偏序关系称为支配关系。一个访问等级C1支配另一个访问等级C2,当且仅当C1的保密等级支配C2的保密等级,C1的完
19、整性等级受C2的完整性等级支配。,4.5.1 SeaView的MAC模型,35,支配关系的形式化定义:给定两个访问等级C1=,C2=,C1支配C2,即C1C2当且仅当X1X2,Y1Y2。如果上述两个不等式中任意一个是严格成立的(即或),则称C1严格支配C2。如果C1C2和C2C1均不成立,则称C1和C2是不可比的。客体:定义为必须对其进行访问的信息容器。每个客体指派一个惟一的标识符和一个惟一的访问等级。此标识符和访问等级在客体的整个生命周期固定不变。由MAC模型保护的客体不是数据库的抽象结构,而是底层操作系统中的单级文件,数据库信息映射到这些文件中。这允许模型用访问单级客体的方式说明并实现强制
20、访问控制策略。,36,主体:MAC模型中的主体是用户进程。用户进程的访问等级等价于用户的访问关系。系统为每个用户指定一个允许执行的保密等级和完整性等级范围:最小保密等级(minsecrecy),最小完整性等级(minintegrity),最大保密等级(maxsecrecy)、最大完整性等级(maxintegrity)。偶对称为主体的写等级,偶对称为主体的读等级。显然,读等级必须支配写等级。如果一个主体的读等级来格支配其写等级,则此主体是可信息。若保密等级不等式严格成立,则称此主体是关于机密性可信的。允许以低于读出数据的保密等级写数据,但必须证明主体没有向下传播信息。,37,如果对于完整性等级不
21、等式严格成立,则称此主体是关于完整性可信的。允许以低于写入数据完整性等级读数据,但必须证明主体没有用低完整性等级的信息污染主体所写的信息。读等级等于写等级的主体称为不可信主体。访问方式:模型的强制访问控制策略限定了在数据库底层操作系统客全上可以执行的基本访问方式,主要是:读:读存储在客体中的信息。写:向客体中写信息。执行:执行一个客体。,38,规则:MAC模型通过一组规则集控制访问方式的执行,这些规则是:(1)读规则(Read Property):仅当主体的读等级支配客体的访问等级时,主体能够读客体的信息。形式化表示为:主体s能够读客体o,仅当readclass(s)access class(
22、o)。该规则相当于要求主体的maxsecrecy支配客体的保密等级,主体的minintegrity受客体的完整性等级支配。该规则是BLP模型中不上读保密规则和BIBA模型中严格完整性策略的不下读完整性规则的综合。,39,(2)写规则(Write Property):仅当主体的写等级受客体的访问等级时,主体能够向客体写信息。形式化表示为:主体s能够写客体o,仅当writeclass(s)access class(o)。该规则相当于要求主体的minsecrecy受客体的保密等级支配,主体的maxintegrity支配客体的完整性等级。该规则是BLP模型中不下写保密规则和BIBA模型中严格完整性策略
23、的不上写完整性规则的综合。(3)执行规则(Execute Property):仅当主体的maxintegrity小于或等于客体的完整性等级,且主体的maxsecrecy大于或等于客体的保密性等级时,主体能够执行客体。,40,TCB模型定义了多级关系,提供形式化的自主安全策略,同时支持数据的一致性(Consistency)、审计性(Accountability)、标识(Labelling)、聚合(Aggregation)、清洗(Sanitization)、等级重分(Reclassification)。多级关系:一个多级关系是由关系模式R(A1,C1,A2,C2,An,Cn,TC)表示的。一个多级
24、关系的任一属性Ai及其相应的安全等级Ci是单级的,当且仅当Ci是定义在访问等级格中由一个单级表示的域上,否则,称其为多级的。如果所有的属性是单级的且是同一访问等级,则一个多级关系是单级的。,4.5.2 SeaView的TCB模型,41,一个多级关系中的元组可以表示为(a1|c1,an|cn,t),其中每个ai|ci表示属性i的值和安全等级。元素t表示整个元组的安全等级,即元组中信息的访问等级。对不同的访问等级会有不同的实例。在关系中,给定访问等级c的实例由安全等级c所支配的所有元素组成,也就是关系中可由访问等级为c的用户访问的信息,而关系中不能由访问等级为c的用户访问的值被替代为空值。多级关系
25、的不同实例遵循如下原则:出现在给定访问等级的关系实例中的每个元组必须出现在具有更高访问等级的实例中,低等级实例中为空的元素在高等级实例中被替换为非空元素。多级关系的模式也被赋予一个访问等级。,42,在安全数据视图模型中客体的安全等级必须满足下列原则:数据库访问等级完整性:关系模式的访问等级必须受能够存储在此关系中的数据的最低访问等级支配。访问等级比数据库低的用户不能使用访问等级比数据库名低的关系。单级主体不能向访问等级高的数据库中的访问等级低的关系写信息。该规则遵循与BLP模型的客体层次结构一致的约束。要求客体的访问等级支配其先驱的访问等级。,43,可见数据规则:关系模式的访问等级必须受能够存
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 访问 控制

链接地址:https://www.desk33.com/p-250700.html