第八章 数据库强制安全机制
- 格式:doc
- 大小:20.00 KB
- 文档页数:3
习题81、什么是数据库的安全性?数据库的安全性是指数据库的任何数据都不允许受到恶意的侵害或未经授权的存取或修改。
主要内涵包括三个方面:①保密性:不允许未经授权的用户存取数据。
②完整性:只允许被授权的用户修改数据。
③可用性:不应拒绝已授权的用户对数据进行存取。
2、什么是数据库的完整性?数据库的完整性是指数据库中数据的正确性和一致性。
数据库的完整性对数据库应用系统非常重要。
3、什么是数据库的完整性约束条件?为了保证数据库中的数据完整性,SQL Server设计了很多数据完整性约束:实体完整性、域完整性、参照完整性、用户定义完整性。
4、DBMS的完整性控制机制应具有哪些功能?1)数据库的完整性约束能够防止合法用户向数据库中添加不合语义的数据。
2)完整性控制机制易于理解,可以降低应用程序的复杂性,提高运行效率。
3)合理的数据完整性设计,能够兼顾数据库的完整性和系统的性能。
完善的数据库完整性,有助于尽早发现应用程序的错误。
5、DBMS在实现参照完整性时需要考虑哪些方面?强制参照完整性时,SQL Server将防止用户执行下列操作:1)在主表中没有关联的记录时,将记录添加或更改到相关表中。
2)更改主表中的值,导致相关表中生成孤立记录。
3)从主表中删除记录,但仍存在于该记录匹配的相关记录。
6、在关系系统中,当操作违反实体完整性、参照完整性和用户定义完整性约束条件时,一般是如何处理的?系统可以采用以下的策略加以处理:1)拒绝(NO ACTION)执行:不允许该操作执行,该策略一般为默认策略。
2)级联(CASCADE)操作:当删除或修改被参照表的一个元组造成了与参照表不一致,则删除或修改参照表中的所有造成不一致的元组。
3)设置为空值(SET-NULL):当删除或修改被参照表的一个元组造成了与参照表不一致,则将参照表中的所有造成不一致的元组的对应属性设置为空值。
7、数据库安全性和计算机系统的安全性有什么关系?计算机系统中,安全措施是一级一级层层设置。
数据库的安全机制随着互联网的迅猛发展,数据库的重要性日益凸显。
数据库作为存储、管理和提供数据的重要系统,承载着大量的敏感信息。
为了保护这些数据免受恶意攻击和非法访问,数据库需要具备强大的安全机制。
本文将介绍数据库的安全机制,包括访问控制、加密技术、审计日志和备份与恢复。
一、访问控制访问控制是数据库安全的基础。
通过合理的访问控制策略,可以限制用户对数据库的访问权限,防止未经授权的用户获取敏感数据。
数据库管理系统通常提供了用户管理功能,管理员可以创建、修改和删除用户账号,并为每个用户分配相应的权限。
例如,可以将用户分为只读用户和读写用户,只读用户只能查询数据库中的数据,而读写用户可以修改和删除数据。
此外,还可以通过访问控制列表(ACL)和角色权限模型来进一步细化权限控制,确保只有授权用户才能访问特定的数据和操作。
二、加密技术加密技术是保护数据库中敏感数据安全的重要手段。
数据库管理系统可以提供各种加密算法,对敏感数据进行加密存储。
常见的加密技术包括对称加密和非对称加密。
对称加密使用同一个密钥进行加密和解密,速度较快,但密钥的管理较为复杂;非对称加密使用公钥进行加密,私钥进行解密,安全性更高,但速度较慢。
另外,还可以对数据库传输的数据进行加密,防止数据在传输过程中被窃取或篡改。
三、审计日志审计日志是数据库安全的重要组成部分。
通过记录用户的操作行为,可以及时发现并追踪异常操作,保护数据库免受恶意攻击。
审计日志可以记录用户的登录信息、查询、修改和删除操作等。
管理员可以定期审查审计日志,发现异常操作并采取相应的措施。
同时,审计日志还可以作为法律诉讼的重要证据,保护数据库的合法权益。
四、备份与恢复备份与恢复是数据库安全的重要保障。
数据库管理系统提供了备份和恢复功能,可以定期对数据库进行备份,并在发生故障或数据丢失时进行恢复。
备份可以通过全量备份和增量备份来实现,全量备份将数据库的所有数据备份下来,而增量备份只备份自上次备份以来发生变化的数据。
第8单元 数据库安全管理8.1 数据库的安全机制8.1.1 常见安全性问题计算机系统的安全性:为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。
技术安全:计算机系统中采取一定的硬件、软件来实现对计算机系统及其所存储数据的安全保护。
当计算机系统受到无意或恶意攻击时能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。
管理安全:由于管理不善导致的计算机设备和数据介质的物理破坏、丢失等软硬件意外故障及其场地的意外事故等安全问题。
政策法律:政府部门建立的有关计算机犯罪、数据安全保密的法律道德标准和政策法规、法律。
8.1.2 数据库的安全性级别(1)环境级:计算机系统的机房和设备应加以保护,防止有人进行物理破坏。
(2)职员级:工作人员应清正廉洁,正确授予用户访问数据库的权限。
(3)OS级: 应防止未经授权的用户从OS处着手访问数据库。
(4)网络级:由于大多数DBMS都允许用户通过网络进行远程访问,因此网络软件内部的安全性是很重要的。
(5)DBMS级:DBMS的职责是检查用户的身份是否合法及使用数据库的权限是否正确。
计算机系统中,安全措施是一级一级层层设置:8.2 数据库安全控制8.2.1 用户标识与鉴别用户标识与鉴别(Identification & Authentication)是系统提供的最外层安全保护措施。
其方法是系统提供一定的方式让用户标识自己的名字与身份,包括用户标识与用户鉴别2个层次。
1.用户标识(权限):用一个用户名或者用户标识号来标明用户身份。
系统内部记录着所有合法用户的标识,系统鉴别此用户是否合法。
a)读权限:允许用户读数据,但不能改数据b)插入权限:允许用户插入新数据,但不能改数据c)修改权限:允许用户改数据,但不能删除数据d)删除权限2.用户鉴别(验证):(1) 软件验证技术:口令验证、问/答验证等技术;(2) 硬件验证技术:指纹验证、声音识别验证、手写签名验证、手型几何验证和身份卡验证等技术。
精品资料
可修改
第八章 数据库强制安全机制
8.1 甲骨文的OLS机制借助安全标签对数据库进行访问控制,为使该机制发挥作用,需要
给客体(表,字段,记录)和主体(用户,进程,系统)分配标签。
答:记录; 用户。
8.2 支撑OLS机制的安全模型是OLS-BLP模型,请对比该模型与BLP模型的安全标签的
共同之处和不同之处。
答:BLP模型的标签由等级和类别两类元素组成。OLS-BLP模型的标签由等级、类别和组
别三类元素组成。
8.3 作为一个应用系统设计者,为了运用OLS机制实施数据库访问控制,主要需要完成哪
几项工作?
答:(1)创建安全策略;(2)定义标签元素;(3)创建实际使用的标签;(4)把安全策略
(标签)实施到数据库的表或模式中;(5)为用户建立基于标签的访问授权。
8.4 在OLS机制的控制下,主体S想要从数据库中读客体O的信息,试简要描述OLS机
制判断是否允许S读O的基本过程,并举例加以说明。
答:(1)用户标签中的等级必须大于或等于记录标签中的等级;(2)用户标签中的组别至
少必须包含记录标签中的一个组别,并且用户拥有对该组别的读访问授权;(3)用户标签
中的类别必须包括记录标签中的所有类别。见图8.2.
8.5 在OLS机制的控制下,主体S想要把信息写到数据库的课题O中,试简要描述OLS
机制判断是否允许S写O的基本过程,并举例加以说明。
答:(1)记录标签中的等级必须大于或等于用户的最小等级;(2)记录标签中的等级必须
小于或等于用户会话标签中的等级;(3)用户会话标签中的组别至少必须包含记录标签中
的组别,并且用户拥有对该组别的写访问授权;(4)用户会话标签中的类别必须包含标签
中的所有类别;(5)如果记录标签不含组别,用户必须对记录标签中所有类别拥有写访问
授权;如果记录标签含有组别,用户必须对记录标签中的所有类别拥有读访问授权。
8.6 只有系统管理员才能创建安全策略,系统自动为每个安全策略创建一个角色,拥有该
角色的权限才能操作该安全策略,包括创建和分配安全标签,设系统管理员xsysad创建了
安全策略xsecp,请给出授权用xsecad创建和分配安全标签的方法。
答:1.定义等级标签:
BEGIN
sa_components.create_level
(policy_name=>`xsecp`,
long_name=>`Executive Staff`,
short_name=>`EXEC`,
level_num=>9000);
END;
2.创建标签:
BEGIN
精品资料
可修改
sa_label_admin.create_label
(police_name=> `xcecp`,
label_tag=>1,
label_value=>`EXEC`)
END;
3.分配标签:
BEGIN
sa_user_admin.set_user_labels
(policy_name=>`xcecp`,
user_name=>`ALL_EXECS`,
max_read_label=>`EXEC`);
END;
8.7 例8.16,例8.17和例8.18执行了相应的查询操作,为什么得到三个不同的查询结果?
答:因为三个例子映射的数据会话标签不同。
8.8 简要说明在OLS机制中给用户分配的安全标签的以下取值的含义,并说明他们的用途:
标签的可能取值;默认的会话标签值;默认的记录标签值。
答:标签的可能取值指的是可以分配给用户的标签的取值范围。默认的会话标签值指的是把
用户标签映射为会话标签时分配给会话标签的值。默认的记录标签值指的是当用户插入记录
时,在设置了LABEL_DEFAULT选项的情况下,系统自动分配给记录的标签值。
8.9 在OLS机制中给用户分配的安全标签与在BLP模型中给用户分配安全标签的方法有
什么不同。
答: OLS的标签由等级、类别和组别三种元素组成,其中,等级元素必须取一个值,而且
只能取一个值,而类别和组别元素都可以取0个,1个或多个值。
BLP模型根据主体的地位和客体的敏感性(安全级别)建立访问控制方法,安全级
别由等级分类和非等级类别(范畴)组成,等级分类是个数值,可以用整数表示;非等级类
别是个集合量,只能用集合表示。
8.10 在OLS机制中,设ca,cb,cc是三个类别,ga,gb,gc是三个组别,而且,ga
是gb和gc的父组,用户U的安全等级取值范围是100-200,对ca拥有读和写的权限,
对cb拥有读权限,对cc无访问权限,对ga拥有读和写权限,已知若干安全标签如下:
用户U的默认会话标签:ld=(150:ca,cb:ga)
用户U的默认记录标签:lr=(100:ca,cb:gb)
记录1的安全标签:lr1=(150)
记录2的安全标签:lr2=(100)
记录3的安全标签:lr3=(150:ca)
记录4的安全标签:lr4=(200:cb)
记录5的安全标签:lr5=(150:cc)
记录6的安全标签:lr6=(100:ca)
记录7的安全标签:lr7=(100:cb)
记录8的安全标签:lr8=(150:cb:ga)
记录9的安全标签:lr9=(150:cb:gb)
记录10的安全标签:lr10=(100:cb,cc:gc)
假如系统设置了LABEL_DEFAULT选项,并且未临时改变过会话标签,用户U正在使用
精品资料
可修改
系统,请分析并回答以下问题:
(1)用户U对哪些记录拥有读权利?对哪些记录拥有写记录?
(2)用户U插入了一条新纪录但未指定其标签,该记录的标签值等于什么?
答:(1)5,10 ; 1,2,3,6
(2)lr
8.11 设xusr是OLS机制控制下的任意用户,系统实施的相应安全策略是xsecp,已知
xusr不具有对xsecp进行操作的权限,但OLS机制允许用户临时改变会话标签的值,请
问xusr能否通过临时改变会话标签的值间接地给自己分配安全标签值,从而获得本不拥有
的对某些记录的访问权限?为什么?
答:有可能,当用户xusr通过修改临时会话标签为更高等级的标签,该标签拥有对xsecp
的访问权限即可。 例8.34.
8.12 讨论:对具有三元标签的记录进行写操作,OLS要求用户会话标签只要包含记录标签
中的一个组别即可,但要求用户会话标签必须包含记录标签中的所有分类,在这现实应用中
的意义是什么?
答:类别之间无层次,必须逐个处理,比如兄弟;组别之间有层次,比如父与子。
再例如,一个企业,按照地理区域划分为若干区,每个区按照职能进一步划分各部门。