(1)防止非法数据访问
防止非法数据访问是数据库安全最关键的需求之一。数据库管理系统必须根据用户或应用的授权来检查访问请求,以保证仅允许授权的用户访问数据库。数据库的访问控制要比操作系统中的文件访问控制复杂得多。首先,控制的对象有更细的粒度,如表、记录、属性等,其次,数据库中的数据是语义相关的,用户可以不直接访问数据项而间接获取数据。
(2)防止推导
推导指的是用户通过授权访问的数据,经过推导得出机密信息,而按照安全策略用户是无权访问该机密信息的。在统计数据库中需要防止用户从统计聚合信息中推导得到原始个体信息,特别是统计数据库容易受到推导问题的影响。
(3)保证数据库的完整性
保证数据库的完整性指的是保护数据库不受非授权的修改,以及不会因为病毒、系统中的错误等导致的存储数据破坏。这种保护通过访问控制、备份/恢复以及一些专用的安全机制共同实现。备份/恢复在数据库管理系统领域得到了深入的研究,它们的主要目标是在系统发生错误时保证数据库中数据的一致性。
(4)保证数据的操作完整性
保证数据的操作完整性定位于在并发事务中保证数据库中数据的逻辑一致性。一般而言,数据库管理系统中的并发管理器子系统负责实现这部分需求。
(5)数据的语义完整性
数据的语义完整性主要是指在修改数据时保证新值在一定范围内确保逻辑上的完整性。对数据值的约束通过完整性约束来描述。可以针对数据库定义完整性约束(定义数据库处于正确状态的条件),也可以针对变换定义完整性约束(修改数据库时需要验证的条件)。
(6)审计和日志
为了保证数据库中的数据安全,一般要求数据库管理系统能够将所有的数据操作记录下来。这一功能要求系统保留日志文件,安全相关事件可以根据系统设置记录在日志文件中,以便事后调查和分析,追查入侵者或发现系统的安全薄弱点。(www.xing528.com)
审计和日志是有效的威慑和事后追查、分析工具。与数据库中多种粒度的数据对应,审计和日志需要面对粒度问题。虽然记录对一个细粒度对象(如一个记录的属性)的访问可能有用,但是考虑到时间和其他代价,这样做可能非常不实用。
(7)标识和认证
各种计算机系统的用户管理类似,使用的方法也非常类似。与其他系统一样,标识和认证也是数据库的第一道安全防线。标识和认证是授权、审计等的前提条件。
(8)机密数据管理
数据库中的数据可能有部分是机密数据,也有可能全部是机密数据,而有些则是公开的数据。同时保存机密数据和公开数据的情况比较复杂。在很多情况下数据是机密的:数据本身是机密的;与其他机密数据保存在同一个记录中。
对于同时保存机密数据和公开数据的数据库而言,访问控制主要保证机密数据的机密性,仅允许授权用户的访问。这些用户被赋予对机密数据进行一系列操作的权限,并且被禁止传播这些权限。第一种情况是这些被授权访问机密数据的用户应该与普通用户一样可以访问公开数据,但是不能相互干扰。第二种情况是用户可以访问一些特定的机密数据,但是不能交叉访问。此外,还有一种情况是用户可以单独访问机密数据集合,但是不能同时访问全部机密数据。
(9)多级保护
多级保护表示一个安全需求的集合。现实世界中很多应用要求将数据划分成不同的保密级别。同一记录中的不同字段可能划分为不同的保密级别,甚至同一字段的不同值都会是不同的级别。在多级保护体系中,对不同数据项赋予不同的保密级别,然后根据数据项的密级给访问该数据项的操作赋予不同的级别。
在多级保护体系中,进一步的要求是研究如何赋予多数据项组成的集合一个恰当的密级。数据的完整性和保密性是通过给予用户权限实现的,用户只能访问它拥有的权限所对应级别的数据。
(10)限界
限界的意义在于防止程序之间出现非授权的信息传递。信息传递出现在“授权通道”、“存储通道”和“隐通道”中。授权通道通过授权的操作提供输出信息,如编辑或编译一个文件。存储通道是存储区,一个程序向其中存储数据,而其他程序可以读取。隐通道指的是使用系统中并非设计用来进行通信的资源在主体间通信的信道。例如,一个程序在处理关键数据时通过改变其编码速度来与另一个程序传递信息,而这个程序是通过检查上述变化得到信息的。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。