第四章多级安全数据模型课件1.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第四章多级安全数据模型课件1.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 多级 安全 数据模型 课件
- 资源描述:
-
1、第四章第四章 多级安全关系数据模型多级安全关系数据模型朱朱 虹虹华中科技大学计算机学院华中科技大学计算机学院.第四章第四章 多级安全关系数据模型多级安全关系数据模型4.1 多实例问题多实例问题 多级安全关系数据模型是怎样提出的多级安全关系数据模型是怎样提出的1.受保护的客体标记粒度受保护的客体标记粒度 .在操作系统中,受保护的客体是文件和目录在操作系统中,受保护的客体是文件和目录 .在数据库系统中,受保护的客体可以有多种选择:在数据库系统中,受保护的客体可以有多种选择:.表表 .属性属性 .元组元组 .元素元素 DBMS应该实现哪个粒度的标记?应该实现哪个粒度的标记?.表级表级实现容易,但不灵
2、活实现容易,但不灵活 .数据元素级数据元素级导致许多问题,如多实例导致许多问题,如多实例.2.表表级标记级标记粒度粒度表表 SOD(Starship Objective Destination)其中其中Starship是主关键字是主关键字若为表级标记若为表级标记标记为普通。标记为普通。秘密级主体查询的结果:秘密级主体查询的结果:Starship Objective Destination Enterprise Exploration Talos Voyager Spying Mars普通级用户查询的结果:普通级用户查询的结果:Starship Objective Destination Ent
3、erprise Exploration Talos Voyager Spying Mars问题:秘密级主体要修改该表会怎样?问题:秘密级主体要修改该表会怎样?不方便不方便.3.属性属性级级标记标记粒度粒度表表 SOD(Starship Objective Destination)的各属性标记的各属性标记 Starship U Objective C Destination S标记为标记为S(机密级机密级)主体查询的结果:主体查询的结果:Starship U Objective C Destination S Enterprise Exploration Talos Voyager Spying
4、 Mars实际上缺少这一应用?实际上缺少这一应用?.4.元组级标记粒度元组级标记粒度表表 SOD(Starship Objective Destination)的元组级标记的元组级标记 标记为标记为S(机密级机密级)主体查询的结果:主体查询的结果:Starship Objective Destination TL Enterprise Exploration Talos U Voyager Spying Mars S标记为普通的主体查询结果:标记为普通的主体查询结果:Starship Objective Destination TL Enterprise Exploration Talos U
5、.5.元素级标记粒度元素级标记粒度表表 SOD(Starship Objective Destination)的元素级标的元素级标记:每个元组的每个列给定一个标记记:每个元组的每个列给定一个标记 标记为标记为S(机密级机密级)主体查询的结果:主体查询的结果:Starship Objective Destination Enterprise U Exploration U Talos U Enterprise S Spying S Mars S 标记为标记为U(普通级普通级)的主体查询结果:的主体查询结果:Starship Objective Destination Enterprise U E
6、xploration U Talos U.6.多多实例问题实例问题(1)什么是多实例?什么是多实例?(2)多实例的类型有哪些?多实例的类型有哪些?(3)多实例是怎样出现的?多实例是怎样出现的?(4)是否可以消除多实例?是否可以消除多实例?.6.多实例的问题多实例的问题(1)什么是多实例什么是多实例.主关键字的唯一性主关键字的唯一性.主关键字的最小性约束主关键字的最小性约束.不允许表中出现相同主关键字的记录不允许表中出现相同主关键字的记录多实例:在元组级、元素级标记下允许出现主关键多实例:在元组级、元素级标记下允许出现主关键字相同而标记不同的记录字相同而标记不同的记录(2)多实例的类型多实例的类
7、型 .实体多实例实体多实例 .属性多实例属性多实例.(2)多实例的类型多实例的类型实体多实例和属性多实例实体多实例和属性多实例.实体多实例实体多实例S-实例实例:Starship Objective Destination Enterprise U Exploration U Talos U Enterprise S Spying S Mars S 问题:系统中有多少个实体?问题:系统中有多少个实体?1个还是个还是2个?个?.属性多实例属性多实例S-实例实例:Starship Objective DestinationEnterprise U Exploration U Talos U Ent
8、erprise U Spying S Mars S 问题:问题:Enterprise 的真正目的和目的地是什么?的真正目的和目的地是什么?.(2)多实例的类型多实例的类型元组级标记的多实例元组级标记的多实例S-实例实例:Starship Objective Destination TLEnterprise Exploration Talos UEnterprise Spying Mars S问题:有几条飞船问题:有几条飞船?Enterprise 的真正目标和目的地是什么?的真正目标和目的地是什么?.(3)多实例是怎样出现的?多实例是怎样出现的?实体多实例实体多实例S-实例实例:Starship
9、 Objective Destination Enterprise U Exploration U Talos U Voyager S Spying S Mars SU-实例:实例:Starship Objective Destination Enterprise U Exploration U Talos UU-用户插入:用户插入:(Voyager,Exploration,Mars)拒绝插入拒绝插入导致隐通道导致隐通道接收该语句:接收该语句:覆盖高安全级数据,导致严重的完整性问题覆盖高安全级数据,导致严重的完整性问题 不不覆盖高安全级数据,高安全级主体看到两条记录覆盖高安全级数据,高安全级主
10、体看到两条记录 导致实体多实例导致实体多实例.由于高安全级用户导致的实体多实例由于高安全级用户导致的实体多实例U-实例:实例:Starship Objective Destination Enterprise U Exploration U Talos US-用户插入用户插入:(Enterprise,Exploration,Mars)拒绝插入拒绝插入否认服务否认服务接收该语句接收该语句实体多实例实体多实例(3)多实例是怎样出现的?多实例是怎样出现的?实体多实例实体多实例.(3)多实例是怎样产生的?多实例是怎样产生的?属性级多实例属性级多实例S-实例实例:Starship Objective D
11、estination Enterprise U Exploration U Talos S Voyager S Spying S Mars SU-实例:实例:Starship Objective Destination Enterprise U Exploration U Null UU-用户发出更新语句:用户发出更新语句:Update SOD Set Destination=Rigel Where Starship=Enterprise拒绝更新:产生隐通道拒绝更新:产生隐通道允许更新:覆盖高安全级数据允许更新:覆盖高安全级数据导致完整性错误导致完整性错误不不覆盖高安全级数据且执行成功覆盖高安
12、全级数据且执行成功高安全级用户看到两个元组高安全级用户看到两个元组.(3)多实例是怎样产生的?多实例是怎样产生的?多实例是必须的吗?多实例是必须的吗?有不同意见:可以引入假象有不同意见:可以引入假象(cover story)S-实例实例 Starship Objective Destination Enterprise U Exploration U Talos U Enterprise U Spying S Mars S另一种意见:另一种意见:.允许假象存在允许假象存在 .多实例不应该用于支持假象,可以建立另一张表:多实例不应该用于支持假象,可以建立另一张表:(Starship,Object
13、ive,Real-Objective,Destination,Real-Destination).(4)多实例可以消除吗?多实例可以消除吗?有一种解决方法:有一种解决方法:.只要高安全级的更新与唯一性要求产生冲突,拒只要高安全级的更新与唯一性要求产生冲突,拒绝更新绝更新 .只要低安全级用户做出与唯一性要求冲突的更新,只要低安全级用户做出与唯一性要求冲突的更新,覆盖高安全级的元组覆盖高安全级的元组是否可以接受?是否可以接受?多实例问题的根源多实例问题的根源:违背了关系数据库数据真实性的违背了关系数据库数据真实性的原则原则数据库中的数据是外部世界的真实反映数据库中的数据是外部世界的真实反映有更好的
14、方法吗?有更好的方法吗?.对传统关系模型的扩展:对传统关系模型的扩展:*Denning(Sea View)模型模型(安全视图模型安全视图模型)*Jajodia-Sandhu模型模型 基于信赖的语义模型基于信赖的语义模型 基于数据语义的模型基于数据语义的模型(MLR模型模型)4.1.2 多实例的解决方法多实例的解决方法.多级关系数据模型与传统的关系数据模型有哪些不同?多级关系数据模型与传统的关系数据模型有哪些不同?4.1.2 多实例的解决方法多实例的解决方法不必考虑标记问题不必考虑标记问题考虑标记的问题考虑标记的问题关系操作关系操作实体完整性、引用实体完整性、引用完整性完整性在关系模型的基础在关
15、系模型的基础上引入新的完整上引入新的完整性约束性约束完整性约束完整性约束与标记的粒度有关与标记的粒度有关关系集合关系集合没有没有有有逻辑数据对象赋予逻辑数据对象赋予安全标记属性安全标记属性传统关系模型传统关系模型多级关系数据模型多级关系数据模型.4.2 安全数据视图模型安全数据视图模型(Sea View)多级关系多级关系定义:一个多级关系是由关系模式:定义:一个多级关系是由关系模式:R(A1,C1,An,Cn,TC)表示的。属性表示的。属性Ai及其密及其密级级Ci是单级的当且仅当是单级的当且仅当Ci是定义在一个单级表示的是定义在一个单级表示的域上;否则称其为多级的。域上;否则称其为多级的。一个
16、多级关系的元组可表示为一个多级关系的元组可表示为(a1,c1,an,cn,tc),tc为整个元组的密级。为整个元组的密级。不失一般性,这里只考不失一般性,这里只考虑虑(U,C,S和和TS)的情形。的情形。读写规则遵循读写规则遵循BLP模型的限制,安全级是模型的限制,安全级是c的用户看到的是由的用户看到的是由c支配的所有元素支配的所有元素 每个安全级上都存在一个实例每个安全级上都存在一个实例.4.2 安全数据视图模型安全数据视图模型(Sea View)2.多级关系的不同实例的访问遵循的原则多级关系的不同实例的访问遵循的原则 .出现在给定访问级别的用户的查询结果中的每个元出现在给定访问级别的用户的
17、查询结果中的每个元组必须出现在具有更高访问级别用户的查询结果的实组必须出现在具有更高访问级别用户的查询结果的实例中;例中;.低一级别实例中的为空的元素在高一级实例中替换低一级别实例中的为空的元素在高一级实例中替换为非空元素。为非空元素。S-用户看到的结果:用户看到的结果:Starship Objective Destination TC Enterprise U Exploration U Talos U U Enterprise U Spying S Mars S SU-用户看到的结果:用户看到的结果:Starship Objective Destination TC Enterprise
18、U Exploration U Talos U U Enterprise U Null U Null U U.4.2 安全数据视图模型安全数据视图模型(Sea View)SeaWiew中客体的密级满足下列规则:中客体的密级满足下列规则:数据库访问级别完整性数据库访问级别完整性 如前所述容器的概念如前所述容器的概念关系模式的安全级必须支配它所属的数据库的安全级关系模式的安全级必须支配它所属的数据库的安全级(2)可见数据规则可见数据规则关系中数据的最低安全级支配所属关系模式的安全级。关系中数据的最低安全级支配所属关系模式的安全级。属性安全级的最大下界必须支配关系模式的安全级。属性安全级的最大下界必
19、须支配关系模式的安全级。(3)视图访问安全级完整性视图访问安全级完整性视图定义者的安全级必须支配视图定义中出现的所有视图定义者的安全级必须支配视图定义中出现的所有关系和视图的安全级关系和视图的安全级.4.2 安全数据视图模型安全数据视图模型(Sea View)3.完整性规则完整性规则 多级实体完整性多级实体完整性 设设AK是组成关系模式是组成关系模式R的主关键字的属性集合,的主关键字的属性集合,在关系在关系R的元组中,的元组中,AK中所有属性中所有属性Ai有相同的安有相同的安全级,并且它受其他属性安全级的支配。全级,并且它受其他属性安全级的支配。AK中所中所有属性的值不能为空。有属性的值不能为
20、空。(2)引用完整性引用完整性 如果一个关系的外键在给定安全级可见,则包含所如果一个关系的外键在给定安全级可见,则包含所引用主关键字的元组在此安全级也是可见的,并且引用主关键字的元组在此安全级也是可见的,并且外键元素的安全级必须支配所引用的主关键字各元外键元素的安全级必须支配所引用的主关键字各元素的安全级素的安全级.4.2 安全数据视图模型安全数据视图模型(SeaView)3.完整性规则完整性规则(3)多实例完整性规则多实例完整性规则:a.给定一个关系给定一个关系R,外观主关键字,外观主关键字AK及其安全级及其安全级CK,对每个不在对每个不在AK中的属性中的属性Ai,下面的函数依赖成立:,下面
21、的函数依赖成立:AK,CK,Ci Ai多值依赖多值依赖(复习复习):设设R是属性集是属性集U上的一个关系模式。上的一个关系模式。X,Y,Z是是U的子集,并且的子集,并且Z=U-X-Y。关系模式。关系模式R(U)中多值依中多值依赖赖XY成立,当且仅当对成立,当且仅当对R的任意关系的任意关系r,给定一对,给定一对(x,z)值,有一组值,有一组Y的值与其对应,且这组值仅仅决定的值与其对应,且这组值仅仅决定于于x值而与值而与z值无关。值无关。.4.2 安全数据视图模型安全数据视图模型(SeaView)3.完整性规则完整性规则 多实例完整性多实例完整性多值依赖的例子:课程多值依赖的例子:课程教员教员X
22、Y Z课程课程 教员教员 参考书参考书物理物理 李勇李勇 普通物理普通物理物理物理 李勇李勇 光学原理光学原理物理物理 王军王军 普通物理普通物理物理物理 王军王军 光学原理光学原理b.对每一个不在对每一个不在AK中的属性中的属性Ai,R满足多值依赖满足多值依赖:AK,CK Ai,Ci.4.2 安全数据视图模型安全数据视图模型(Sea View)4.多级关系的访问多级关系的访问查询操作的访问:主体可以对多级关系中具有与自己查询操作的访问:主体可以对多级关系中具有与自己相同或更低安全级别的实例执行查询操作。相同或更低安全级别的实例执行查询操作。符符合合BLP模型向下读。模型向下读。写操作写操作(
23、插入和删除插入和删除):允许对一个属性在不同安全级允许对一个属性在不同安全级赋予不同的值,赋予不同的值,SeaView模型根据主体与已存在的模型根据主体与已存在的数据客体的安全级区分下面两种情况:数据客体的安全级区分下面两种情况:.4.2 安全数据视图模型安全数据视图模型(Sea View)(1)主体的安全级受数据的安全级支配主体的安全级受数据的安全级支配(或不可比或不可比)低安全级主体修改高安全级数据低安全级主体修改高安全级数据.当主体向关系插入一个元组而关系中已经存在与此当主体向关系插入一个元组而关系中已经存在与此元组具有相同主关键字的不可见元组,则产生一个元组具有相同主关键字的不可见元组
24、,则产生一个实体多实例实体多实例.当主体更新给定元组中的某个属性,而此属性为空当主体更新给定元组中的某个属性,而此属性为空值,但其实际上隐藏一个具有更高安全级的数据时,值,但其实际上隐藏一个具有更高安全级的数据时,产生一个元素多实例产生一个元素多实例.4.2 安全数据视图模型安全数据视图模型(Sea View)(2)主体的安全级支配数据的安全级主体的安全级支配数据的安全级.当主体向关系插入一个元组而关系中已经存在与此元当主体向关系插入一个元组而关系中已经存在与此元组具有相同主关键字的低安全级元组,则产生一个组具有相同主关键字的低安全级元组,则产生一个实体多实例实体多实例.当主体更新给定元组中的
25、某个属性,而此属性已经存当主体更新给定元组中的某个属性,而此属性已经存在一个具有较低安全级的值,产生一个元素多实例在一个具有较低安全级的值,产生一个元素多实例.4.2 安全数据视图模型安全数据视图模型(Sea View)例例:Starship Objective Destination TC Enterprise U Exploration U Talos U U Enterprise U Spying S Mars S S 当一个当一个TS安全级的用户执行下列语句:安全级的用户执行下列语句:UPDATE SOD SET Objective=Spying WHERE Starship=Ente
展开阅读全文