数据库的安全性与完整性
数据库的安全性、完整性、并发控制和恢复
数据库的安全性、完好性、并发控制和恢复为了保证数据库数据的安全靠谱性和正确有效, DBMS 一定供给一致的数据保护功能。
数据保护也为数据控制,主要包含数据库的安全性、完好性、并发控制和恢复。
数据库的安全性数据库的安全性是指保护数据库以防备不合法的使用所造成的数据泄漏、改正或损坏。
计算机系统都有这个问题,在数据库系统中大批数据集中寄存,为很多用户共享,使安全问题更加突出。
在一般的计算机系统中,安全举措是一级一级设置的。
在 DB 储存这一级可采纳密码技术,当物理储存设施失窃后,它起到保密作用。
在数据库系统这一级中供给两种控制:用户表记和判定,数据存取控制。
在 ORACLE 多用户数据库系统中,安全体制作以下工作:防备非受权的数据库存取;防备非受权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。
数据库安全可分为二类:系统安全性和数据安全性。
系统安全性是指在系统级控制数据库的存取和使用的体制,包含:有效的用户名 /口令的组合;一个用户能否受权可连结数据库;用户对象可用的磁盘空间的数目;用户的资源限制;数据库审计是不是有效的;用户可履行哪些系统操作。
数据安全性是指在对象级控制数据库的存取和使用的体制,包含:哪些用户可存取一指定的模式对象及在对象上同意作哪些操作种类。
在 ORACLE 服务器上供给了一种随意存取控制,是一种鉴于特权限制信息存取的方法。
用户要存取一对象一定有相应的特权授给该用户。
已受权的用户可随意地可将它受权给其余用户,因为这个原由,这类安全性种类叫做随意型。
ORACLE 利用以下体制管理数据库安全性:数据库用户和模式;特权;角色;储存设置和空间份额;资源限制;审计。
数据库的存取控制ORACLE保护信息的方法采纳随意存取控制来控制所有用户对命名对象的存取。
用户对对象的存取受特权控制。
一种特权是存取一命名对象的同意,为一种规定格式。
ORACLE 使用多种不一样的体制管理数据库安全性,此中有两种体制:模式和用户。
数据库简答题
1.什么是数据的安全性?答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏2.什么是数据库的完整性?答:数据库的完整性是指数据的正确性和相容性。
3.数据库的安全性和完整性有什么关系?答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。
前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出所造成的无效操作和错误结果。
后者是保护数据库防止恶意的破坏和非法的存取。
也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。
4.试述实现数据库安全性控制的常用方法和技术。
答:实现数据库安全性控制的常用方法和技术有:(1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。
每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。
(2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。
例如C2 级中的自主存取控制(DAC),B1级中的强制存取控制(MAC)。
(3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。
(4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件, 找出非法存取数据的人、时间和内容等。
(5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。
5.什么是数据库的审计功能,为什么要提供审计功能?答:审计功能是指DBMS 的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志中。
因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃破坏数据的人总可能存在。
利用数据库的审计功能,DBA 可以根据审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。
实验五 数据库完整性与安全性实验
实验五数据库完整性与安全性实验1、实验目的1.通过对完整性规则的定义实现,熟悉了解kingbase中完整性保证的规则和实现方法,加深对数据完整性的理解。
2.通过对安全性相关内容的定义,熟悉了解kingbase中安全性的内容和实现方法,加深对数据库安全性的理解2、实验环境操作系统:Microsoft Windows 7旗舰版(32位)。
数据库版本:MySQL 6.23、实验内容3.1完整性实验:(1)分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束;在create table 时已经定义了各个基表的主键。
因此,首先对每个基表删除主键,再添加主键。
实现实体完整性约束。
如下图。
删除主键:添加主键:sc表中的cno和sno分别是course表和student表的外关键字。
下图为给sc表添加student和course的外键,实现参照完整性约束。
alter table sc add constraint fk_student foreign key(sno) references student(sno);alter table sc add constraint fk_course foreign key(cno) references course(cno);主键和外键均添加成功,输入show create table 命令来查看各基表信息。
(2)分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,验证其实体完整性约束;向课程表中插入课程号为C01的课程。
向学生表中插入学号为30201的学生。
由上面两个实验来看,分别对student和course表插入具有相同学号和相同课程号的学生信息和课程信息,都显示sql语句错误信息为:Duplicate entry *** for key ‘PRIMARY’。
验证了实体完整性约束。
(3)向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约束;插入成绩信息是学号为31428(student中存在),课程号为C07(course中不存在)的学生成绩信息。
数据库安全性和完整性
完整性措施可以确保数据的准确性和一致性,防止数据被错误地修改或损坏。
安全性措施和完整性措施相互补充,共同维护数据库的整体可靠性。
01
02
03
04
数据库安全性和完整性之间的联系
数据库安全性和完整性之间的区别
01
安全性主要关注数据的保密性,即防止未授权访问和泄露。
数据完整性包括实体完整性、域完整性和参照完整性等不同类型,分别对应不同的约束条件和规则。
数据库完整性的定义
提高数据可靠性
通过维护数据库完整性,可以减少数据不一致和冲突的情况,提高数据的可靠性和可信度。
保障业务正常运行
数据库中存储着大量关键业务数据,数据库完整性的保持对于保障业务的正常运行至关重要。
数据修复
一旦发现数据完整性问题,及时进行修复。根据问题的性质,可能需要回滚事务、更新数据或删除无效数据等操作。
检查完整性约束
定期检查数据库表中的约束条件是否得到满足,如主键约束、外键约束等。
数据库完整性的检查和修复
03
数据库安全性和完整性之间的关系
数据库安全性和完整性是相互关联的,它们共同确保数据库中数据的可靠性和保密性。
数据资产保护
保障数据库的安全性和完整性是确保业务连续性的关键,一旦数据库遭到破坏或泄露,可能导致业务中断或遭受重大损失。
业务连续性
访问控制
数据加密
备份与恢复
安全审计
如何保障数据库的安全性和完整性
对敏感数据进行加密存储,即使数据被非法获取也无法轻易解密。
定期进行数据库备份,并制定详细的备份和恢复计划,以便在数据出现问题时能够及时恢复。
解释数据库安全性的基本原则如机密性完整性和可用性
解释数据库安全性的基本原则如机密性完整性和可用性数据库安全性是现代信息系统中至关重要的一个方面。
它涉及到确保数据库中存储的数据得到保护,防止未经授权的访问、修改或破坏。
为了实现数据库的安全性,有一些基本原则需要遵循,包括机密性、完整性和可用性。
1. 机密性机密性是指确保数据库中的数据只能被授权的人员或实体访问。
为了保障机密性,可以采取以下措施:- 访问控制:通过使用用户名和密码、访问权限控制列表等方法,只允许授权的用户或角色访问数据库。
- 加密:采用加密技术对数据库中的敏感数据进行加密,使得即使数据被非法获取,也无法得到其中的实际内容。
- 审计和监控:实时监控数据库的访问情况,及时发现异常行为,以保护数据的机密性。
2. 完整性完整性是指确保数据库中的数据的准确性和一致性。
为了保护数据库的完整性,可以采取以下措施:- 数据校验:对输入的数据进行验证,包括数据类型、长度、格式等方面的检查,防止错误的数据被插入数据库。
- 关系约束:使用关系型数据库管理系统提供的约束机制,定义实体之间的关系和约束条件,确保数据的一致性和完整性。
- 备份和恢复:定期对数据库进行备份,以应对意外情况,如数据损坏、误删除等,保障数据的完整性。
3. 可用性可用性是指数据库能够在需要时可靠地提供服务。
为了保证数据库的可用性,可以采取以下措施:- 容灾备份:设置数据库的容灾备份策略,包括故障转移、冗余备份等,以确保在硬件故障或灾难发生时,数据能够持续可用。
- 性能优化:对数据库进行性能调优,包括合理的索引设计、查询优化等,以提升数据库的访问速度和响应能力。
- 故障监测和恢复:实施自动化的故障监测和快速恢复机制,及时检测和处理数据库故障,减少停机时间。
综上所述,数据库安全性的基本原则涵盖了机密性、完整性和可用性。
通过严格控制访问权限、加密敏感数据、校验数据完整性、备份和恢复等措施,可以有效保护数据库中的数据并确保其安全性。
只有在遵循这些基本原则的前提下,才能够建立一个安全可靠的数据库系统。
数据库安全性和数据备份验证确保备份数据的完整性
数据库安全性和数据备份验证确保备份数据的完整性数据库是现代信息系统的核心组成部分,它存储和管理着大量的关键数据。
为了确保数据库的安全性和保证备份数据的完整性,数据库管理人员需要采取一系列的措施,包括数据库安全性和数据备份验证。
一、数据库安全性的重要性数据库安全性是指对数据库中存储的数据进行保护和控制的能力。
它包括数据的机密性、完整性和可用性。
保证数据库的安全性对于保护数据的隐私和防止数据的丢失具有重要意义。
以下是几种常见的数据库安全威胁:1. 数据泄露:黑客攻击、内部人员非法获取和误操作等都可能导致敏感数据泄露。
2. 数据破坏:病毒攻击、恶意删除数据等行为可能导致数据被破坏或无法正常使用。
3. 数据篡改:未经授权的修改数据库中的数据,导致数据的准确性和完整性受到破坏。
为了保证数据库的安全性,数据库管理人员需要采取以下措施:1. 访问控制:通过用户身份验证、权限管理等手段,限制用户对数据库的访问权限,防止未经授权的操作。
2. 数据加密:对敏感数据进行加密存储,即使数据被泄露,也无法被非法使用。
3. 审计日志:记录数据库的操作日志,及时发现异常操作和安全事件,并采取相应措施。
4. 强化网络安全:保护数据库服务器的物理安全,防止黑客通过网络入侵数据库系统。
二、数据备份验证的重要性数据备份验证是指对备份数据进行验证,确保备份数据的完整性和可用性。
在数据库系统中,数据备份是一项基本且重要的任务。
只有备份的数据完整无误,才能保证在数据丢失或损坏时能够及时恢复数据。
数据备份验证的主要目的是检查备份数据的完整性,确认备份的数据与原始数据一致。
以下是一些常用的数据备份验证方法:1. 校验和验证:通过计算数据的校验和,比对备份数据与原始数据的校验和是否一致,来验证备份数据的完整性。
2. 恢复测试:使用备份数据进行恢复操作,并对恢复后的数据进行验证,确保备份数据可用性。
3. 定期验证:定期对备份数据进行验证,确保备份数据的完整性和可用性。
数据库设计的基本原则
数据库设计的基本原则数据库设计是创建和维护数据库的过程,它是系统设计中的关键环节。
一个合理的数据库设计可以提高系统的效率、数据的安全性和可靠性。
数据库设计的基本原则如下:1.数据完整性数据完整性是指数据的正确性和一致性,它是数据库设计中最基本的原则。
数据完整性可以通过定义关系约束、主键约束、外键约束等来保证。
在数据库设计过程中,应该充分考虑数据的完整性,以避免数据错误和冗余。
2.数据独立性数据独立性是指数据和应用程序之间的独立性。
在数据库设计中,应该将数据和应用程序分开设计,以便于修改和维护。
数据独立性可以通过使用视图、存储过程等技术实现,从而提高系统的可维护性和可扩展性。
3.数据冗余性数据冗余性是指在一个系统中存储相同的数据。
数据冗余性不仅会浪费存储空间,而且容易导致数据的不一致性。
在数据库设计中,应该尽量避免数据冗余,以提高数据的一致性和安全性。
4.数据安全性数据安全性是指保护数据不被非法访问、修改或删除。
在数据库设计中,应该采取一系列的安全措施,如定义访问权限、加密存储、备份和恢复等,以确保数据的安全性。
5.数据可靠性数据可靠性是指系统能够正确地处理和存储数据。
在数据库设计中,应该采用合适的技术和方法,以确保数据的可靠性。
例如,定义适当的数据类型、采用合适的索引、优化查询语句等。
6.数据的易用性数据的易用性是指用户能够方便地访问和使用数据。
在数据库设计中,应该采用合适的数据模型和数据结构,以便于用户查询和操作数据。
例如,采用关系型数据库模型、定义合适的数据表和字段等。
7.数据的可扩展性数据的可扩展性是指系统能够方便地扩展和修改数据结构。
在数据库设计中,应该考虑到系统的未来发展,采用合适的数据模型和技术,以便于系统的扩展和升级。
8.数据的性能优化数据的性能优化是指通过优化数据库结构和查询语句,提高系统的性能和响应速度。
在数据库设计中,应该采用合适的索引、分区、缓存等技术,以提高系统的性能和响应速度。
数据库安全性设计
数据库安全性设计
数据库安全性是维持系统安全和可靠性的有效手段。
它包括数据库完整性,数据库授权,数据库安全审核,数据库实时补充备份等。
一、数据库完整性
数据库完整性是指确保数据质量的技术,可以确保在存储或者更新时,数据的准确性、有效性和一致性。
它包括域完整性和引用完整性。
域完整性是指字段间的关系应该满足一
定的要求。
引用完整性是指确保数据表之间存在有效的关系,阻止任何不相干的数据和更新。
二、数据库授权
数据库授权的主要目的是分配用户的访问数据库的权限。
受限制的用户必须根据安全
策略授权执行功能。
可以通过赋予不同的权限及密码管理,从而防止非法的用户访问,非
授权的用户不得访问安装在系统中的数据库。
三、数据库安全审核
企业致力于确保其信息资源的安全可控。
安全审核是通过检查计算机系统,应用软件,网络安全程序,数据库等,来确保系统安全。
数据库安全审核应从数据库权限管理,数据
库备份等多个维度进行,具体可以检查数据库角色的创建和修改,数据库完整性,数据库
的最新备份检查等。
四、数据库实时补充备份
数据库实时备份是指把经过灵活定义的服务器软件,将数据库的数据在连续的间隔中
复制和保存,以达到及时的额外备份以及实时的恢复数据的目的。
这一功能可以防止数据
丢失,和恢复数据库比如崩溃或者其他原因。
数据库安全性设计需要建立一套完整的相关技术和流程,加强数据质量和安全性,确
保企业的业务和数据的有效保护。
数据库的安全性概述
数据库的安全性概述数据库的安全性是指保护数据库中存储的数据免受未经授权的访问、泄露、修改或破坏的能力。
数据库作为组织中最重要的信息资产之一,其安全性至关重要。
以下是关于数据库安全性的概述:1. 访问控制:访问控制是数据库安全的基础,通过授权和认证机制来保证只有经过授权的用户才能访问数据库。
这可以通过用户名和密码、角色和权限、访问策略等措施来实现。
2. 数据加密:数据加密是一种常用的保护数据库中敏感数据的技术。
通过使用加密算法,可以将数据转换为密文,只有具备解密密钥的用户才能解密数据。
对于敏感数据,如个人身份信息、财务数据等,加密是必要的。
3. 完整性保护:数据库完整性是指保证数据的准确性和完整性。
为了确保数据库中的数据没有被非法篡改或损坏,可以采取各种措施,如实施访问日志审计、使用数字签名来验证数据完整性、使用数据库事务保证数据的原子性等。
4. 数据备份和恢复:数据备份和恢复是保障数据库安全性的重要手段。
通过定期备份数据库,并确保备份数据存储在安全的地方,并可以进行及时的恢复,可以最大限度地减少因系统故障、自然灾害或人为错误导致的数据丢失。
5. 威胁检测和防御:数据库面临来自内部和外部的各种安全威胁,如恶意攻击、病毒和恶意软件、未经授权的访问等。
通过实施安全策略,如网络防火墙、入侵检测系统和防病毒软件,可以检测和防范这些安全威胁。
6. 定期安全评估和更新:数据库安全措施应该进行定期的安全评估和更新。
这包括对数据库的漏洞和弱点进行评估,并采取相应的措施来修复和更新系统。
同时,也要关注数据库供应商发布的安全更新和补丁,及时进行更新以确保数据库的安全性。
总之,数据库安全性对于组织来说至关重要。
通过采取适当的措施,如访问控制、数据加密、完整性保护、数据备份和恢复、威胁检测和防御以及定期的安全评估和更新,可以有效保护数据库中存储的数据免受未经授权的访问和泄露,并确保数据的完整性和可靠性。
数据库的安全性一直是组织和企业关注的焦点之一。
数据库管理与维护确保数据的安全与完整性
数据库管理与维护确保数据的安全与完整性数据库是现代信息系统中必不可少的基础设施,对于企业来说,数据是最重要的资产之一。
因此,数据库管理与维护是确保数据的安全与完整性的关键任务之一。
本文将就数据库管理与维护的重要性以及实施有效管理与维护的方法进行探讨。
一、数据库管理与维护的重要性数据库管理与维护是确保数据的安全与完整性的基石。
以下是数据库管理与维护的重要性的几个方面:1. 数据的安全性:数据库中存储着各种敏感信息,如客户资料、财务数据等。
如果没有有效的数据库管理与维护,这些数据有可能被黑客窃取、篡改或删除,给企业造成严重的损失。
通过建立强大的安全措施,如访问控制、加密等,可以保护数据的安全。
2. 数据的完整性:数据库中的数据应该是准确、完整和一致的。
在数据管理与维护过程中,可以通过数据验证和一致性检查等手段,确保数据的完整性。
这样可以避免因为数据错误带来的业务问题,并提高数据的可信度。
3. 数据的备份与恢复:数据库管理与维护需要定期进行数据备份,并能够在数据丢失或系统故障时进行快速恢复。
这样可以有效防止数据丢失造成的损失,并保证业务的连续性。
二、数据库管理与维护的方法1. 定期监控与优化:数据库管理与维护包括定期监控数据库的性能和状况,并进行相应的优化。
通过监控数据库的性能瓶颈,可以及时发现并解决问题,提高数据库的效率和响应速度。
2. 数据备份与恢复:数据库管理与维护需要定期进行数据备份,并能够在数据丢失或系统故障时进行快速恢复。
备份策略需要根据业务需求和数据变更频率来制定,同时需要进行定期的备份测试,确保备份数据的可用性。
3. 安全管理:数据库管理与维护需要建立合理的安全管理措施,包括用户权限管理、访问控制、加密等。
用户权限管理可以限制用户对数据库的访问权限,访问控制可以限制数据库的访问方式和来源,加密可以对敏感数据进行保护。
4. 故障与灾难恢复:数据库管理与维护需要建立故障和灾难恢复策略。
当数据库发生故障或遭受灾难时,可以通过备份数据和灾难恢复计划来快速恢复数据库的运行。
数据库的指标
数据库的指标数据库是一个用于存储和管理数据的系统,它在如今的信息化时代扮演着重要的角色。
数据库的指标反映了数据库系统的性能和效率,对于评估数据库的优劣具有重要意义。
本文将从不同的角度介绍数据库的几个重要指标,并探讨它们的含义和作用。
一、数据完整性数据完整性是数据库中最基本的指标之一,它指的是数据库中的数据必须满足预先定义的约束条件和规则。
数据完整性保证了数据库中的数据准确、一致和有效,防止了数据的错误和冗余。
常见的数据完整性约束包括主键约束、唯一约束、外键约束等。
通过合理设置数据完整性约束,可以有效地保证数据的质量和可靠性。
二、数据安全性数据安全性是数据库中非常重要的指标之一,它指的是数据库中的数据受到保护,只有授权用户才能访问和修改数据。
数据安全性包括用户身份验证、权限管理、数据加密等多个方面。
通过合理设置用户权限和访问控制,可以防止非法用户对数据库进行恶意操作和数据泄露,保护数据的机密性和完整性。
三、数据可用性数据可用性是数据库中的另一个重要指标,它指的是数据库系统能够在一定的时间范围内提供有效的数据访问和服务。
数据可用性与数据库系统的稳定性和可靠性密切相关,它受到硬件设备、网络环境、系统架构等多个因素的影响。
通过合理的数据备份和恢复策略、容灾方案等措施,可以提高数据库系统的可用性,确保数据的连续性和可访问性。
四、数据性能数据性能是衡量数据库系统效率的重要指标之一,它包括数据库的响应时间、吞吐量、并发性能等多个方面。
数据性能直接影响到用户的体验和系统的效率,合理优化数据性能可以提高数据库系统的整体运行效率。
通过合理设计数据库结构、优化查询语句、建立索引等措施,可以提高数据库的响应速度和并发处理能力,提升系统的性能。
五、数据存储空间数据存储空间是数据库中的一个重要指标,它指的是数据库系统用于存储数据的物理空间。
数据存储空间的管理对于数据库的运行和维护具有重要意义。
合理管理数据存储空间可以提高数据库的存储效率和利用率,减少存储成本。
数据库建设的规则
数据库建设的规则1.数据库规范:建设数据库前,应根据实际需求制定一套数据库规范,包括数据库命名规范、表和字段命名规范、数据类型约定等。
这样可以减少不必要的混乱和错误。
2.数据库设计:数据库设计是数据库建设的关键,要进行合理的表结构设计。
主要原则包括遵循正规化原则、避免冗余和重复数据、合理使用关联关系,确保数据库的灵活性和可扩展性。
3.数据完整性:数据完整性是指保证数据库中的数据符合预期规则和约束条件。
建设数据库时,应设定适当的数据完整性规则,包括主键、外键、唯一性约束等,以确保数据的准确性和一致性。
4.数据安全性:数据库的安全性是非常重要的。
建设数据库时,应设置必要的访问权限和安全控制措施,包括用户权限管理、加密技术、防火墙等,以保护敏感数据免遭恶意攻击和非法访问。
5.性能优化:数据库建设应考虑到数据量的增长和系统的并发访问。
要进行性能优化,可以采取一些措施,如建立索引、分区表、存储过程、视图等,以提高数据库的查询效率和响应速度。
6.数据备份和恢复:建设数据库时,必须规定定期进行数据备份,并制定相应的数据恢复计划。
这样可以在数据库发生意外故障或数据丢失时,快速恢复数据库,保障数据的安全和完整性。
7.数据库监控和维护:数据库建设完成后,需要建立数据库监控和维护机制,定期检查数据库的性能状况,发现和解决潜在问题。
同时,还要定期进行数据库的优化和维护工作,包括垃圾清理、索引重建、统计信息更新等,以确保数据库的稳定性和可靠性。
8.文档和记录:数据库建设过程中应有详细的文档和记录,包括需求分析、设计文档、测试记录等。
这些文档和记录可以为数据库的维护和升级提供参考,也有助于后续人员的理解和沟通。
9.合规性和法律遵循:在数据库建设过程中要遵守相关的法律法规和隐私规定,确保数据库的合规性和合法性。
同时,要保护用户的个人隐私和敏感信息,遵循相关的安全和保密措施。
总结起来,数据库建设的规则主要包括数据库规范、数据库设计、数据完整性、数据安全性、性能优化、数据备份和恢复、数据库监控和维护、文档和记录、合规性和法律遵循等方面的原则。
数据库的完整性和安全性实验报告
信息工程学院实验报告课程名称:《数据库原理》实验项目名称:数据库的完整性和安全性一、实 验 目 的:(1)掌握数据库约束的概念;(2)熟悉SQL SERVER 的完整性约束技术。
(3)了解SQL SERVER 的违反完整性处理措施。
(4)了解登录账户的管理理念与具体方法。
(5)了解数据库用户的管理的要则。
(6)了解用户权限管理的内涵与方法。
二、实 验 设 备 与 器 件 Win7 +Sql server 2008 三、实 验 内 容 与 步 骤(一)测试完整性运行附录中的SQL 语句,理解SQL 语句中包含的完整性定义。
然后执行下面的SQL 语句,看是否能正常运行,若无法执行,请说明原因。
1.对dept 表进行数据增删改,并检查完整性规则 Dept 已存在的完整性规则如下: dno CHAR(2)PRIMARY KEYdnameV ARCHAR(20) NOT NULL,UNIQUE(1)增加数据INSERT INTO dept V ALUES('D1','计科系');----正常插入INSERT INTO dept V ALUES('D2','电信系');----正常插入INSERT INTO dept V ALUES(NULL,'机械系'); ----违反dno 主键(NOT NULL )规则INSERT INTO dept V ALUES('D2','机械系'); ----违反dno 主键(UNIQUE )INSERT INTO dept V ALUES('D3',NULL); ----违反dname 的NOT NULL 规则INSERT INTO dept V ALUES('D3','计科系'); ----违反dname 的UNIQUE 规则INSERT INTO dept V ALUES('D3','机械系');----正常插入(2)删除数据DELETE FROM dept WHERE dno='D3';----正常删除(3)修改数据UPDA TE dept SET dname='计算机科学系' WHERE dno='D1';----正常修改UPDA TE dept SET dname='电信系' WHERE dno='D1'; ----违反dname的UNIQUE规则UPDA TE dept SET dname=NULL WHERE dno='D1'; 违反dname的UNIQUE规则2.对student表进行数据增删改,并检查完整性规则Student已存在完整性规则如下:sno CHAR(2) PRIMARY KEYsname V ARCHAR(20) NOT NULL,ssex CHAR(2) NOT NULL, CHECK(ssex in('男','女'))sage INT NOT NULL,dno CHAR(2) NOT NULL, FOREIGN KEY REFERENCES dept(dno)ON DELETE CASCADE ON UPDATE CASCADE(1)增加数据INSERT INTO student V ALUES('S1','张刚','男',20,'D1');----正常插入INSERT INTO student V ALUES('S2','李梅','女',21,'D2');----正常插入INSERT INTO student V ALUES('S2','吴敏','男',20,'D1'); ----正常插入INSERT INTO student V ALUES(NULL,'吴敏','男',20,'D1'); ----违反sno 的主键(NOT NULL)规则INSERT INTO student V ALUES('S3','吴敏','男',NULL,'D1'); 违反sage 的主键(NOT NULL)规则INSERT INTO student V ALUES('S3','吴敏','M',20,'D1'); 违反ssex 的CHECK规则INSERT INTO student V ALUES('S3','吴敏','男',20,'D3'); ----正常插入INSERT INTO student V ALUES('S3','吴敏','男',20,'D1');----正常插入(2)删除数据DELETE FROM student WHERE sno='S3'; ----正常删除(3)修改数据UPDA TE student SET sname='赵强',dno='D2' WHERE sno='S1'-----正常修改UPDA TE student SET ssex='F' WHERE sno='S1'; -----违反ssex的CHECK 规则UPDA TE student SET sno='S2' WHERE sno='S1'; -----违反sno的主键(UNIQUE)规则UPDA TE student SET dno='D3' WHERE sno='S1'; 违反dno 的外键规则UPDA TE dept SET dno='D3' WHERE dno='D1';----检查dno的外键ON UPDATE规则,观察运行后效果DELETE FROM dept WHERE dno='D2';----检查dno的外键ON DELETE规则,观察运行后效果(二)使用规则实现数据完整性(1)在查询分析器中,利用命令(CREATE RULE),创建一个关于年龄(sage)约束的规则,将“sage”列的值约束在0~200之间;然后将所创建的规则绑定到“sage”列(提示:用命令Sp_bindrule)。
第9章 数据库安全性和完整性
4.
9.2 数据库完整性
数据库的完整性是指数据的正确性、有 效性和相容性 数据库是否具备完整性关系到数据库系 统能否真实地反映现实世界,因此维护 数据库的完整性是非常重要的 为维护数据库的完整性,DBMS必须提 供一种机制来检查数据库中的数据,看 其是否满足语义规定的条件
完整性约束条件
仅当主体的许可证级别小于或等于客体的密级时该主体才能写相应的客体即用户可以为写入的数据对象赋予高于自己的许可证级别的密级这样一旦数据被写入该用户自己也不能再读该数据对象了这两种规则的共同点在于它们均禁止了拥有高许可证级别的主体更新低密级的数据对象从而防止了敏感数据的泄漏强制存取控制mac是对数据本身进行密级标记无论数据如何复制标记与数据是一个不可分的整体只有符合密级标记要求的用户才可以操纵数据从而提供了更高级别的安全性前面已经提到较高安全性级别提供的安全保护要包含较低级别的所有保护因此在实现mac时要首先实现dac即dac与mac共同构成dbms的安全机制系统首先进行dac检查对通过dac检查的允许存取的数据对象再由系统自动进行mac检查只有通过mac检查的数据对象方可存取进行存取权限控制时我们可以为不同的用户定义不同的视图把数据对象限制在一定的范围内也就是说通过视图机制把要保密的数据对无权存取的用户隐藏起来从而自动地对数据提供一定程度的安全保护视图机制间接地实现了支持存取谓词的用户权限定义在不直接支持存取谓词的系统中可以先建立视图然后在视图上进一步定义存取权限前面讲的用户标识与鉴别存取控制仅是安全性标准的一个重要方面但不是全部因为任何系统的安全保护措施都不是完美无缺的蓄意盗窃破坏数据的人总是想方设法打破控制为了使dbms达到一定的安全级别还需要在其它方面提供相应的支持例如按照tditcsec标准中安全策略的要求审计功能就是dbms达到c2以上安全级别必不可少的一项指标审计功能把用户对数据库的所有操作自动记录下来放入审计日志auditlog中dba可以利用审计跟踪的信息重现导致数据库现有状况的一系列事件找出非法存取数据的人时间和内容等审计通常是很费时间和空间的所以dbms往往都将其作为可选特征允许dba根据应用对安全性的要求灵活地打开或关闭审计功能对于高度敏感性数据例如财务数据军事数据国家机密除以上安全性措施外还可以采用数据加密技术数据加密是防止数据库中数据在存储和传输中失密的有效手段加密的基本思想是根据一定的算法将原始数据术语为明文plaintext变换为不可直接识别的格式术语为密文ciphertext从而使得不知道解密算法的人无法获知数据的内容加密方法主要有两种一种是替换方法该方法使用密钥encryptionkey将明文中的每一个字符转换为密文中的一个字符另一种是置换方法该方法仅将明文的字符按不同的顺序重新排
什么是数据库的安全性
什么是数据库的安全性数据库的安全性是指数据库系统在面对各种威胁和攻击时,能够保护数据不被非法获取、篡改或破坏的能力。
在当今信息化时代,数据库安全性问题备受关注,因为数据库中存储着大量的重要数据,包括个人信息、企业机密等,一旦泄露或被篡改将会造成严重的后果。
因此,保障数据库的安全性显得尤为重要。
首先,数据库的安全性需要保障数据的机密性。
机密性是指只有授权用户才能够访问数据库中的数据,未经授权的用户无法获取其中的信息。
为了实现数据的机密性,数据库系统通常采用访问控制、加密等技术手段,确保只有经过授权的用户才能够进行数据的访问和操作。
其次,数据库的安全性还需要保障数据的完整性。
完整性是指数据在传输和存储过程中不会被篡改或损坏。
为了实现数据的完整性,数据库系统通常采用数据校验、日志记录等技术手段,确保数据在传输和存储过程中不会发生错误或被篡改。
此外,数据库的安全性还需要保障数据的可用性。
可用性是指用户能够在需要的时候,以合理的性能水平获取数据库中的数据。
为了实现数据的可用性,数据库系统通常采用备份恢复、故障转移等技术手段,确保数据库能够在出现故障或攻击时,能够快速恢复并保持正常的运行状态。
在保障数据库的安全性时,还需要重点关注数据库系统本身的安全性。
数据库系统本身的安全性包括数据库软件的安全性、数据库服务器的安全性等方面。
数据库软件的安全性包括对数据库软件本身的漏洞和安全性问题进行及时修补和更新,以防止黑客利用这些漏洞进行攻击。
数据库服务器的安全性包括对数据库服务器进行安全配置、访问控制、日志监控等措施,以防止未经授权的用户对数据库服务器进行非法访问和攻击。
综上所述,数据库的安全性是一个综合性的问题,需要在数据的机密性、完整性和可用性的基础上,充分考虑数据库系统本身的安全性,采取一系列的技术手段和管理措施,确保数据库系统能够抵御各种威胁和攻击,保障数据的安全。
只有这样,才能够保障数据库中存储的重要数据不被非法获取、篡改或破坏,确保数据库系统的安全稳定运行。
数据库的安全性和完整性及其实现机制
数据库的安全性和完整性及其实现机制为了保证数据库数据的安全可靠性和正确有效,DBMS必须提供统一的数据保护功能。
数据保护也为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。
一、数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
计算机系统都有这个问题,在数据库系统中大量数据集中存放,为许多用户共享,使安全问题更为突出。
在一般的计算机系统中,安全措施是一级一级设置的。
在DB存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。
在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。
在ORACLE多用户数据库系统中,安全机制作下列工作:防止非授权的数据库存取;防止非授权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。
数据库安全可分为二类:系统安全性和数据安全性。
系统安全性是指在系统级控制数据库的存取和使用的机制,包含:有效的用户名/口令的组合;一个用户是否授权可连接数据库;用户对象可用的磁盘空间的数量;用户的资源限制;数据库审计是否是有效的;用户可执行哪些系统操作。
数据安全性是指在对象级控制数据库的存取和使用的机制,包含:哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型。
在ORACLE服务器上提供了一种任意存取控制,是一种基于特权限制信息存取的方法。
用户要存取一对象必须有相应的特权授给该用户。
已授权的用户可任意地可将它授权给其它用户,由于这个原因,这种安全性类型叫做任意型。
ORACLE利用下列机制管理数据库安全性:数据库用户和模式;特权;角色;存储设置和空间份额;资源限制;审计。
1.数据库的存取控制ORACLE保护信息的方法采用任意存取控制来控制全部用户对命名对象的存取。
用户对对象的存取受特权控制。
一种特权是存取一命名对象的许可,为一种规定格式。
ORACLE使用多种不同的机制管理数据库安全性,其中有两种机制:模式和用户。
实验4数据库的安全性、完整性(一)2024
实验4数据库的安全性、完整性(一)引言:数据库的安全性和完整性是数据库管理系统中非常重要的两个方面。
安全性指的是确保数据库的数据不会被非授权的人员访问和篡改,而完整性则指的是数据库中的数据应该保持一致性和准确性。
本文将从数据库的访问控制、身份验证、加密、备份与恢复以及错误处理等五个方面详细介绍数据库的安全性和完整性。
正文:1. 数据库的访问控制- 实施用户和角色管理,限制不同用户对数据库资源的访问权限- 设置访问控制策略,对数据库中的敏感数据进行权限限制- 防止恶意用户通过攻击手段绕过访问控制机制2. 身份验证- 强制用户使用强密码,并定期更换密码以提高安全性- 使用双因素身份验证,如组合使用密码和指纹- 实施账号锁定机制,限制用户连续登录失败的次数3. 数据库的加密- 对敏感数据进行加密,并存储加密后的数据,以防止数据泄露- 使用传输层安全协议(TLS/SSL)来加密数据库与应用程序之间的通信- 使用列级加密技术来进一步保护数据库中的敏感数据4. 数据库的备份与恢复- 定期备份数据库,以防止数据丢失- 将备份数据存储在安全的地方,防止被未经授权的人员访问- 定期测试备份数据的恢复能力,确保备份数据的完整性和可用性5. 数据库的错误处理- 实施日志记录机制,记录数据库操作的详细信息,以便追踪和审计- 对异常情况进行及时响应和处理,防止安全漏洞的扩大- 与安全专家进行合作,定期进行安全漏洞扫描和修复工作总结:数据库的安全性和完整性是保障数据库管理系统正常运行和数据安全的重要方面。
通过实施访问控制、身份验证、加密、备份与恢复以及错误处理等措施,可以有效地保护数据库的安全性和完整性,防止非授权的访问和数据篡改,保障数据的一致性和准确性。
因此,合理的数据库安全措施是保障数据库运行的重要保证。
数据库安全性及完整性实验报告
数据库安全性及完整性实验报告
一、实验简介
一般来说,数据库的安全性及完整性是指数据库实际上实施的安全性、有效性、正确性和可靠性的控制。
当下的关注点是能够确保数据的有效性、正确性与可靠性,以及确保数据的安全性与完整性。
除此之外,还必须尽
量减少数据被篡改及窃取的可能性,使得数据向客户端分发及共享时不会
受到攻击。
本文旨在测试数据库的安全性及完整性,以及评估对于数据库
的安全性及完整性的影响。
二、实验目的
实验的目的是测试数据库的安全性及完整性,以及评估对于数据库的
安全性及完整性的影响。
三、实验内容
1、建立测试环境
为了测试数据库的安全性及完整性,首先我们需要建立一个测试环境,该测试环境包括:安装和配置数据库服务器,建立数据库,建立表、字段,插入一些测试数据,建立客户端访问数据库的程序。
2、测试数据库的安全性
在测试阶段,我们需要测试数据库的安全性,这个测试有两个方面:(1)授权:测试用户是否可以正确访问指定的数据库和表,而不受
限制。
(2)身份认证:测试数据库服务器的安全性,检查服务器是否能够正确实施身份认证,保证只有授权用户可以访问数据库。
3、测试数据库的完整性。
数据库安全性的重要性与措施
数据库安全性的重要性与措施随着信息技术的迅猛发展,数据库已成为数据存储和管理的核心工具。
然而,数据库中的数据往往包含着用户的个人信息、商业机密和其他敏感数据,因此数据库的安全性显得尤为重要。
本文将探讨数据库安全性的重要性,并提出相应的安全措施。
数据库安全性的重要性1. 数据泄露:对于企业来说,数据库是存放大量重要数据的地方,如员工信息、财务数据和客户资料等。
数据库泄露意味着这些信息可能会落入不法分子之手,导致企业声誉受损、经济损失和法律责任等问题。
2. 数据完整性:数据库应能保证数据的完整性,即数据不被未经授权的人篡改或破坏。
完整性的破坏可能对业务运营和客户信任产生严重影响。
3. 数据可用性:数据对于企业的重要性不言而喻,一旦数据库遭受攻击或故障,可能导致数据丢失或暂时无法访问。
这样的结果将对企业的业务运营和决策产生严重影响。
数据库安全性的措施1.访问控制措施数据库管理员应根据用户的身份和权限分配不同的访问权限。
对于敏感数据,应仅限制少数特权用户的访问权限,通过实施最小权限原则来减少潜在的风险。
2. 数据加密使用加密算法对敏感数据进行加密,即使数据被盗取,也无法直接获取敏感信息。
同时,数据库的传输和存储也应采用加密技术,保证数据在传递过程中不会被拦截或篡改。
3. 数据备份与恢复定期进行数据备份和恢复,以确保数据库在发生问题时能够快速恢复到之前的状态。
备份数据应存储在安全的地方,防止其被未经授权的人获取。
4. 强密码策略密码是数据库安全的第一道防线,弱密码容易被破解。
使用强密码策略,要求用户设置足够长的并且具有一定复杂性的密码,以减少被猜测或暴力攻击的风险。
5. 定期安全审计进行定期的数据库安全审计,检查登录和访问记录,以及对安全策略的有效性进行评估。
通过审计可以发现潜在的安全隐患并及时采取措施。
6. 更新和修补数据库供应商经常会发布安全更新和修补程序,以修复已知的漏洞和弱点。
在及时安装这些更新和修补程序的同时,也需要经常关注最新的数据库安全问题和解决方案。
数据库的安全性与完整性
数据库的安全性与完整性在当今数字化的时代,数据已经成为了企业和组织最为重要的资产之一。
数据库作为存储和管理数据的核心系统,其安全性与完整性至关重要。
如果数据库出现安全漏洞或数据不完整的情况,可能会给企业带来巨大的损失,甚至影响到其生存和发展。
首先,我们来谈谈数据库的安全性。
数据库安全性指的是保护数据库,防止不合法的使用所造成的数据泄露、更改或破坏。
想象一下,一家银行的数据库被黑客入侵,客户的账户信息被窃取,这将引发多么严重的后果!为了保障数据库的安全性,我们需要采取一系列的措施。
访问控制是其中的关键环节。
这就好比给房子装上门锁,只有拥有正确钥匙(即授权)的人才能进入。
通过设置不同级别的用户权限,如管理员、普通用户等,可以限制用户对数据库的操作范围,防止未经授权的访问和修改。
身份验证也是必不可少的。
就像我们进入一个重要场所需要出示身份证一样,用户在访问数据库时也需要进行身份验证。
常见的身份验证方式包括用户名和密码、指纹识别、面部识别等。
而且,密码的设置不能过于简单,要定期更换,以增加破解的难度。
加密技术则为数据库提供了另一层重要的保护。
对敏感数据进行加密,即使数据被窃取,没有解密的密钥,窃取者也无法获取其中的有用信息。
这就好比把重要的文件锁在一个加密的保险箱里,只有知道密码的人才能打开。
此外,网络安全也是数据库安全的重要组成部分。
防止网络攻击,如 DDoS 攻击、SQL 注入攻击等,需要设置防火墙、入侵检测系统等防护措施。
定期对数据库进行安全审计,及时发现和解决潜在的安全隐患,也是保障数据库安全的重要手段。
接下来,我们再聊聊数据库的完整性。
数据库的完整性是指数据的准确性、一致性和有效性。
简单来说,就是数据库中的数据要符合预期的规则和逻辑。
比如,在一个学生成绩管理数据库中,学生的成绩应该在 0 到 100之间,如果出现了 120 这样的成绩,那就违反了数据的完整性。
为了确保数据库的完整性,我们需要定义各种完整性约束。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4 数据库的安全性与完整性数据库在各种信息系统中得到广泛的应用,数据在信息系统中的价值越来越重要,数据库系统的安全与保护成为一个越来越值得重要关注的方面。
数据库系统中的数据由DBMS统一管理与控制,为了保证数据库中数据的安全、完整和正确有效,要求对数据库实施保护,使其免受某些因素对其中数据造成的破坏。
一般说来,对数据库的破坏来自以下4个方面:(1)非法用户非法用户是指那些未经授权而恶意访问、修改甚至破坏数据库的用户,包括那些超越权限来访问数据库的用户。
一般说来,非法用户对数据库的危害是相当严重的。
(2)非法数据非法数据是指那些不符合规定或语义要求的数据,一般由用户的误操作引起。
(3)各种故障各种故障指的是各种硬件故障(如磁盘介质)、系统软件与应用软件的错误、用户的失误等。
(4)多用户的并发访问数据库是共享资源,允许多个用户并发访问(Concurrent Access),由此会出现多个用户同时存取同一个数据的情况。
如果对这种并发访问不加控制,各个用户就可能存取到不正确的数据,从而破坏数据库的一致性。
针对以上4种对数据库破坏的可能情况,数据库管理系统(DBMS)核心已采取相应措施对数据库实施保护,具体如下:(1)利用权限机制,只允许有合法权限的用户存取所允许的数据,这就是本章4.1节“数据库安全性”应解决的问题。
(2)利用完整性约束,防止非法数据进入数据库,这是本章4.2节“数据库完整性”应解决的问题。
(3)提供故障恢复(Recovery)能力,以保证各种故障发生后,能将数据库中的数据从错误状态恢复到一致状态,此即本章4.3节“故障恢复技术”的内容。
(4)提供并发控制(Concurrent Control)机制,控制多个用户对同一数据的并发操作,以保证多个用户并发访问的顺利进行,此即本章4.4节“并发控制”的内容。
4.1 数据库安全性4.1.1 数据库安全性问题的概述1.数据库安全问题的产生数据库的安全性是指在信息系统的不同层次保护数据库,防止未授权的数据访问,避免数据的泄漏、不合法的修改或对数据的破坏。
安全性问题不是数据库系统所独有的,它来自各个方面,其中既有数据库本身的安全机制如用户认证、存取权限、视图隔离、跟踪与审查、数据加密、数据完整性控制、数据访问的并发控制、数据库的备份和恢复等方面,也涉及到计算机硬件系统、计算机网络系统、操作系统、组件、Web服务、客户端应用程序、网络浏览器等。
只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出,每一个方面产生的安全问题都可能导致数据库数据的泄露、意外修改、丢失等后果。
例如,操作系统漏洞导致数据库数据泄漏。
微软公司发布的安全公告声明了一个缓冲区溢出漏洞(/china/security/),Windows NT、Windows 2000、Windows 2003等操作系统都受到影响。
有人针对该漏洞开发出了溢出程序,通过计算机网络可以对存在该漏洞的计算机进行攻击,并得到操作系统管理员权限。
如果该计算机运行了数据库系统,则可轻易获取数据库系统数据。
特别是Microsoft SQL Server的用户认证是和Windows集成的,更容易导致数据泄漏或更严重的问题。
又如,没有进行有效的用户权限控制引起的数据泄露。
Browser/Server结构的网络环境下数据库或其他的两层或三层结构的数据库应用系统中,一些客户端应用程序总是使用数据库管理员权限与数据库服务器进行连接(如Microsoft SQL Server的管理员SA),在客户端功能控制不合理的情况下,可能使操作人员访问到超出其访问权限的数据。
在安全问题上,DBMS应与操作系统达到某种意向,理清关系,分工协作,以加强DBMS的安全性。
数据库系统安全保护措施是否有效是数据库系统的主要指标之一。
为了保护数据库,防止恶意的滥用,可以从低到高的五个级别上设置各种安全措施。
(1)环境级:计算机系统的机房和设备应加以保护,防止有人进行物理破坏。
(2)职员级:工作人员应清正廉洁,正确授予用户访问数据库的权限。
(3)OS级:应防止未经授权的用户从OS处着手访问数据库。
(4)网络级:由于大多数DBS都允许用户通过网络进行远程访问,因此网络软件内部的安全性至关重要。
(5)DBS级:DBS的职责是检查用户的身份是否合法及使用数据库的权限是否正确。
本章只讨论与数据库系统中的数据保护密切相关的内容。
2.数据库的安全标准目前,国际上及我国均颁布有关数据库安全的等级标准。
最早的标准是美国国防部(DOD)1985年颁布的《可信计算机系统评估标准》(Computer System Evaluation Criteria,TCSEC)。
1991年美国国家计算机安全中心(NCSC)颁布了《可信计算机系统评估标准关于可信数据库系统的解释》(Trusted Datebase Interpreation,TDI),将TCSEC扩展到数据库管理系统。
1996年国际标准化组织ISO又颁布了《信息技术安全技术——信息技术安全性评估准则》(Information Technology Security Techniques——Evaluation Criteria For It Secruity)。
我国政府于1999年颁布了《计算机信息系统评估准则》。
目前国际上广泛采用的是美国标准TCSEC(TDI),在此标准中将数据库安全划分为4大类,由低到高依次为D、C、B、A。
其中C级由低到高分为C1和C2,B级由低到高分为B1、B2和B3。
每级都包括其下级的所有特性,各级指标如下:(1)D级标准:为无安全保护的系统(2)C1级标准:只提供非常初级的自主安全保护。
能实现对用户和数据的分离,进行自主存取控制(DAC),保护或限制用户权限的传播。
(3)C2级标准:提供受控的存取保护,即将C1级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离。
很多商业产品已得到该级别的认证。
(4)B1级标准:标记安全保护。
对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制。
一个数据库系统凡符合B1级标准者称之为安全数据库系统或可信数据库系统。
(5)B2级标准:结构化保护。
建立形式化的安全策略模型并对系统内的所有主体和客体实施DAC和MAC。
(6)B3级标准:安全域。
满足访问监控器的要求,审计跟踪能力更强,并提供系统恢复过程。
(7)A级标准:验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证,以确信各安全保护真正实现。
我国的国家标准的基本结构与TCSEC相似。
我国标准分为5级,从第1级到第5级依次与TCSEC标准的C级(C1、C2)及B级(B1B2B3)一致。
4.1.2 数据库的安全性机制在一般计算机系统中,安全措施是一级一级层层设置的,如图6-1所示。
用户标识和鉴别存取控制操作系统安全保护数据密码存储在图6.1的安全模型中,用户要进入计算机系统,系统首先根据输入的用户标识进行用户身份鉴定,只有合法的用户才准许进入计算机系统。
对已经进入系统的用户,DBMS要进行存取控制,只允许用户执行合法操作。
操作系统一级也会有自己的保护措施。
数据最后还可以以密码形式存储在数据库中。
在本节中对数据库的一些逻辑安全机制进行介绍,包括用户认证、存取权限,视图隔离、数据加密、跟踪与审查等内容作介绍。
1.用户认证数据库系统不允许一个未经授权的用户对数据库进行操作。
用户标识与鉴别,即用户认证,是系统提供的最外层安全保护措施。
其方法是由系统提供一定的方式让用户标识自己的名字或身份,每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供机器使用权。
对于获得上机权的用户若要使用数据库时,数据库管理系统还要进行用户标识和鉴定。
用户标识和鉴定的方法有很多种,而且在一个系统中往往多种方法并用,以得到更强的安全性。
常用的方法是用户名和口令。
通过用户名和口令来鉴定用户的方法简单易行,但其可靠程度极差,容易被他人猜出或测得。
因此,设置口令法对安全强度要求比较高的系统不适用。
近年来,一些更加有效的身份认证技术迅速发展起来。
例如使用某种计算机过程和函数、智能卡技术,物理特征(指纹、声音、手图等)认证技术等具有高强度的身份认证技术日益成熟,并取得了不少应用成果,为将来达到更高的安全强度要求打下了坚实的理论基础。
2.存取控制数据库安全性所关心的主要是DBMS的存取控制机制。
数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,这主要通过数据库系统的存取控制机制实现。
存取控制是数据库系统内部对已经进入系统的用户的访问控制,是安全数据保护的前沿屏障,是数据库安全系统中的核心技术,也是最有效的安全手段。
在存取控制技术中,DBMS所管理的全体实体分为主体和客体两类。
主体(Subject)是系统中的活动实体,包括DBMS所管理的实际用户,也包括代表用户的各种进程。
客体(Object)是存储信息的被动实体,是受主体操作的,包括文件、基本表、索引和视图等。
数据库存取控制机制包括两个部分:一是定义用户权限,并将用户权限登记到数据字典中。
用户权限是指不同的用户对不同的数据对象允许执行的操作权限。
系统必须提供适当的语言定义用户权限,这些定义经过编译后存放在数据字典中,被称作系统的安全规则或授权规则。
二是合法性权限检查。
当用户发出存取数据库的操作请求后(请求一般应包括操作类型、操作对象、操作用户等信息),数据库管理系统查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义权限,系统将拒绝执行此操作。
存取控制包括自主型存取控制(DAC)和强制型存取控制(MAC)两种类型。
(1)自主存取控制(Discretionary Access Control,DAC)自主型存取控制是用户访问数据库的一种常用安全控制方法,较为适合于单机方式下的安全控制,大型数据库管理系统几乎都支持自主存取控制。
在自主型存取控制中,用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。
用户权限由数据对象和操作类型这两个因素决定。
定义一个用户的存取权限就是要定义这个用户在哪些数据对象上进行哪些类型的操作。
在数据库系统中,定义存取权限称为授权。
自主型存取控制的安全控制机制是一种存取矩阵的模型,此模型由主体、客体与存/取操作构成,矩阵的列表示主体,矩阵的行表示客体,而矩阵中的元素表示存/取操作(如读、写、修改和删除等),如图6-2所示。
图6-2 授权存/取矩阵模型在这种存取控制模型中,系统根据对用户的授权构成授权存取矩阵,每个用户对每个信息资源对象都要给定某个级别的存取权限,例如读、写等。