数据库安全性指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。
数据保密是指用户合法的访问到机密数据后能否对这些数据保密。
计算机系统安全性。为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。
计算机安全涉及问题。计算机系统本身技术问题:计算机安全理论与策略,计算机安全技术。管理问题:安全管理,安全评价,安全产品。政策法规。
可信计算机评测标准。为降低进而消除对系统的安全攻击,各国引用或制定了一系列安全标注:TCSEC(桔皮书),TDI(紫皮书)。TCSEC/TDI安全级别划分:A1,验证设计;B3,安全域;B2,结构化保护;B1标记安全保护;C2,受控的存取保护;C1,自主安全保护;D,最小保护。四组七个等级;按系统可靠或可信程度逐渐增高;各安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全防护要包括较低级别的所有要求,同时提供更完善的保护能力。
非法使用数据库的情况。用户编写一段合法的程序绕过DBMS及其授权机制,通过操作系统直接存取、修改或备份数据库中的数据;直接或编写应用程序执行非授权操作;通过多次合法查询数据库从中推导出一些保密数据;破坏安全性的行为可能是无意的,故意的,恶意的。
数据库安全性控制的常用方法:用户标识和鉴定;存取控制;视图;审计;密码存储。
用户标识与鉴别,系统提供的最外层安全保护措施。用户表示自己的名字或身份:用户名/口令,简单易行,容易被人窃取;每个用户预先约定好的计算过程或者函数,系统提供一个随机数,用户根据自己预先预定好的计算过程进行计算,系统根据用户计算结果是否正确鉴定用户身份。
存取控制。组成:定义存取权限,检查存取权限。用户权限定义和合法权检查机制一起组成了DBMS的安全子系统。常用存取控制方法:自主存取控制(DAC),C2级,灵活;强制存取控制(MAC),B1级,严格。存取权限由数据对象和操作类型两个要素组成。
自主存取控制——授权与回收。通过SQL语句GRANT和REVOKE定义。GRANT语义功能:将对指定操作对象的指定操作权限授予指定的用户。指定了WITH GRANT OPTION字句,获得某种权限的用户还可以把这种权限再授予别的用户;没有指定,获得权限的用户只能使用该权限,不能传播该权限。REVOKE语句功能:从指定用户那里收回对指定对象的指定权限。后面跟CASCADE可以进行权限的级联回收,系统将收回直接或间接从指定用户处获得的对指定表的权限。
强制存取控制指系统为保证更高程度的安全性,按照TDI/TCSEC标准中安全策略的要求,所采取的的强制存取检查手段。MAC不是用户能直接感知或进行控制的,适用于对数据有严格而固定密级分类的部门。MAC中,主体是系统中的活动实体,客体是系统中的被动实体,受主体操纵。对于主体和客体,DBMS为它们每个实例指派了一个敏感度标记,标记分成若干级别:绝密,机密,可信,公开。主体的敏感度标记称为许可证级别,客体的称为密级。通过对比主体和客体的Label,确定主题是否能够存取客体。仅当主体的许可证级别大于或等于客体的密级时,主体才能读取相应客体;仅当主体的许可证级别等于客体的密级时,才能写相应客体。
视图机制。把要保密的数据对无权存取这些数据的用户隐藏起来,更主要的功能在于提供数据独立性,其安全保护功能不太精细,往往达不到要求。视图机制与授权机制配合使用,首先用视图机制屏蔽掉一部分保密数据,视图上面再进一步定义存取权限,间接实现了支持存取谓词的用户权限定义。
审计。启用一个专用的审计日志,将用户对数据库的所有操作记录在上面,C2以上安全级别的DBMS必须具有审计功能。强制性机制:用户识别和鉴定、存取控制、视图。预防监测手段:审计技术。
数据加密。防止数据库中数据在存储和传输中失密的有效手段。加密方法:替换方法,使用密钥将明文中的每一个字符转换为密文中的每一个字符;置换方法,将明文的字符按不同的顺序重新排列;混合方法,DES。
统计数据库特点:允许用户查询聚集类型的信息,不允许查询单个记录信息。特殊的安全性问题:隐蔽的信息通道;从合法的查询中推导出不合法的信息。
TCSEC/TDI从安全策略、责任、保证、文档四个方面描述了安全性级别的指标。
最主要的是存取控制技术和审计技术。C2级的DBMS必须具有自主存取控制功能和初步的审计功能。B1级的DBMS必须具有强制存取控制和增强的审计功能。