数据库安全其他机制

一、视图机制

通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护。

视图机制间接地实现支持存取谓词的用户权限定义。操作方法:
建立一个视图,授予用户相应的权限。

二、审计

审计(audit)功能就是数据库管理系统达到C2以上安全级别必不可少的一项指标。

审计功能把用户对数据库的所有操作自动记录下来放入审计日志中,审计员可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、事件和内容等,并且可以找到潜在的威胁提前采取措施加以防范。
由于审计浪费时间和空间,所有数据库管理系统将审计设为可选特征,允许数据库管理员根据具体应用对安全性的要求灵活地打开或关闭审计功能。
审计主要用于安全性较高的部门。可审计事件有服务器事件、系统权限、语句事件及模式对象事件,还包括用户鉴别。自主访问控制和强制访问控制等操作进行审计。

1、审计事件的类别
  1. 服务器事件:审计数据库服务器发生的事件,包含数据库服务器的启动、停止、数据库服务器配置文件的重新加载。
  2. 系统权限:对系统拥有的结构或模式对象进行操作的审计,要求操作的权限是通过系统权限获得的。
  3. 语句事件:对SQL语句,如DDL、DML、DQL及DCL语句的审计。
  4. 模式对象事件:对特定模式对象上进行SELET或DML操作的审计。模式对象包括表、视图、存储过程、函数等。模式对象不包括依附于表的索引、约束、触发器、分区表等。
2、审计功能
  1. 基本功能:提供多种审计查阅方式:基本的、可选的、有限的,等等。
  2. 提供多套审计规则,审计规则一般在数据库初始化时设定,以方便审计员管理。
  3. 提供审计分析和报表功能。
  4. 审计日志管理功能,包括为防止审计员误删审计记录,审计日志必须先转储后删除;对转储的审计记录文件提供完整性和保密性保护;只允许审计员查阅和转储审计记录,不允许任何用户新增和修改审计记录,等等。
  5. 系统提供查询审计设置及记录信息的专门视图。对于系统权限级别、语句级别及模式对象级别的审计记录也通过相关的系统表直接查看。
3、AUDIT语句和NOAUDIT语句

AUDIT语句用来设置审计功能,NOAUDIT语句则取消审计功能。审计一般分为用户级审计和系统级审计。用户级审计是任何用户可设置的审计,主要是用户针对自己创建的数据库表或试图进行审计,记录所有用户对这些表或试图的一切成功和(或)不成功的访问要求以及各种类型的SQL操作。
系统审计职能由数据库管理员设置,用以检测成功或失败的登陆要求、检测授权和收回操作以及其他数据库级权限下的操作。审计设置以及审计日志一般都存储在数据字典中。必须把审计开关打开(即把系统参数auidit_trail设为true),才可以在系统表SYS_AUDITTRAIL中查看到审计信息。
数据库安全审计系统提供了一种事后检查的安全机制。安全审计机制将特定用户或者特定对象相关的操作记录到系统审计日志中,作为后续对操作的查询分析和追踪的依据。通过审计,可以约束用户可能的恶意操作。

三、数据加密

数据加密是防止数据库数据在存储和传输中失密的有效手段,加密的基本思想就是根据一定的算法将原始数据–明文变换为不可直接识别的格式–密文,从而使得不知道解密算法的人无法获知数据的内容。
1. 存储加密
提供透明和非透明两种存储加密方式。透明存储加密是内核级加密保护方式,对用户完全透明;非透明存储加密则是通过多个加密函数实现的。
透明存储加密数据在写到磁盘时对数据进行加密,授权用户读取数据时再对其进行解密。由于数据加密对用户透明,数据库的应用程序不需要做任何修改,只需要在创建表语句中说明需加密的字段即可。当对加密数据进行增删改查操作时,数据库管理系统将自动对数据进行加、解密工作。基于数据库内核的数据存储加密、解密方法性能较好,安全完备性较高。
2. 传输加密
在客户/服务器结构中,数据库用户与服务器之间若采用明文方式传输数据,容易被网络恶意用户截获或篡改,存在安全隐患。因此,为保证二者之间的安全数据交换,数据库管理系统提供了传输加密功能。常用的传输加密方式如链路加密和端到端加密。其中,链路加密对传输数据在链路层进行加密,它的传输信息由报文和报头均加密。相对地,端到端加密对传输数据在发送端加密,接收端解密。它只加密报文,不加密报头。与链路加密相比,它只在发送端和接收端需要密码设备,而中间节点不需要密码设备,因此它所需密码设备数量相对较少。但这种方式不加密报头,从而容易被非法监听者发现并从中获取敏感信息。
基于安全套接层协议(SSL)的数据库管理系统可信传输方案。
数据库安全其他机制_第1张图片
它采用的是一种端到端的传输加密方式。在这个方案,通信双方协商建立可信连接,一次会话采用一个密钥,传输数据在发送端加密,接收端解密,有效降低了重放攻击和恶意篡改的风险。以下就是它的实现路:
1. 确认通信双方端点的可靠性
2. 协商加密算法和密钥
3. 可信数据传输

数据库加密使用已有的密码技术和算法对数据库中存储的数据和传输的数据进行保护。加密后数据的安全性能够进一步提高。即使攻击者获取数据源文件,也很难获取原始数据,但是增加了查询的复杂性,影响查询效率。

四、其他安全性保护

1、推理控制

推理控制处理的是强制存储控制未解决的问题。数据库推理控制机制用来避免用户利用其能够访问的数据推知更高密级的数据,即用户利用其被允许的多次查询的结果,结合相关的淋浴背景知识以及数据之间的约束,推导出其不能访问的数据。
常用的方法如基于函数依赖的推理控制和基于敏感关联的推理控制等。

2、隐蔽信道

隐蔽信道处理内容也是强制存取控制未解决的问题。

数据隐私是控制不愿被他人知道或他人不便知道的个人数据的能力。数据隐私是当前研究的热点。

你可能感兴趣的:(数据库)