除了提供保护意外引入的不一致性之外,数据库中存储的数据还要防止未经授权的访问和恶意的破坏或修改。
1 | 完整性约束导致的意外不一致性 | |
2 | 安全性违例的恶意访问 | 未经授权读取数据(窃取信息),修改数据和破坏数据。 |
3 | (1)数据库系统层次(database system)。确保用户授权限制不被违反 (2)操作系统层次(operating system)。操作系统安全性方面的弱点。 (3)网络层次(network)。网络软件的软件层安全性 (4)物理层次(physical)。结点在物理上受到保护,防止入侵者强行闯入或暗中潜入。 (5)人员层次(human)。谨慎给用户授权。 较低层次上(物理或人员层次)安全性存在缺陷,高层安全性措施即使很严格也可能被绕过。 | |
4 |
在数据库系统层次上的安全性,主要包括:权限机制、视图机制和数据加密。
2.授权
通过DBMA提供的授权功能赋予用户数据访问授权
授权 | 说明 | 备注 | |
数据访问授权(支持组合授权或不授权) | read | 授权允许读取数据,但不允许修改数据 | (1)delete授权只允许删除元组,删除了全部元组,关系依然存在;drop授权删除关系 (2)具有resource授权的用户在创建新关系后,自动获得该关系上的所有权限 (3)虽然索引的创建和删除不会改变关系中的数据,但索引关乎性能,需要作为权限对待(不同用户倾向不同)。 (4)最大授权形式是给数据库管理员的(类似操作系统)。 |
insert | 授权允许插入新数据,但不允许修改已存在的数据 | ||
update | 授权允许修改数据,但不允许删除数据 | ||
delete | 授权允许删除数据 | ||
数据库模式授权 | index | 授权允许创建和删除索引 | |
resource | 授权允许创建新关系 | ||
alteration | 授权允许添加或删除关系中的属性 | ||
drop | 授权允许删除关系 |
3.授权与视图
作用 | 个性化数据库模型 | |
隐藏数据 | (1)简化系统使用(按需呈现数据), (2)实现安全性(关系级安全性+视图级安全性):不允许直接访问某关系,但可被允许通过视图访问该关系的一部分 | |
授权 | 创建视图无需resource授权 | 创建视图的用户不一定能获得该视图上的所有权限,得到的权限不会超过原有授权的其他授权。 |
4.极限授予
获得了某种形式授权的用户,可能被允许将此授权传递给其他用户。
用户具有授权当且仅当存在从授权图的根(即代表数据库管理员的结点)到代表该用户的结点的路径。
狡猾的用户可能企图通过相互授权来破坏权限回收规则
5.角色
某银行有很多出纳,每一个出纳必须对同一组关系具有同种类型的权限。
无论何时指定一个新出纳,都必须被单独授予所有这些授权。
(1)建立一个出纳账号,允许每个出纳用这个账号来连接数据库。缺点是无法鉴别出哪个出纳执行了事务,从而导致安全隐患。
(2)建立一个出纳角色集,分配给每个数据库用户有权扮演的角色(也可能为空)。每个用户用自己的账号连接数据库。系统可以通过(出纳角色+数据库用户)来确定每个有出纳身份的人的权限。
任何可以授予某用户的权限都可以授予某角色。给用户分配角色与给用户授权一样。与其他授权一样,某用户也可以被授予给他人分配角色的权限。
6.审计追踪
审计追踪:是对数据库所有更改(插入/删除/更新)的操作日志,还包括一些其他信息(谁在什么时候执行了什么更改等)。
审计追踪通过跟踪在账户上的更新来找到错误(或欺骗性)更新,同时找到执行这个更新的人。
审计追踪方式 | 说明 | |
1 | 定义更新触发器 | 利用标示用户名和时间的系统变量 |
2 | 数据库内置审计追踪机制 | 细节参考数据库系统用户手册 |
7.数据加密
数据加密利用密码技术对信息进行加密,实现信息隐蔽,从而起到保护信息安全的作用。对数据库中的数据进行加密,可以防止数据在存储和传输过程中失密。
按照作用的不同,数据加密技术可分为数据传输加密技术、数据存储加密技术、数据完整性的鉴别技术和密钥管理技术。
1 | 数据传输加密技术 | 对传输中的数据流加密,通常有线路加密与端对端加密两种。 (1)线路加密:侧重线路而不考虑信源与信宿,是对保密信息通过各线路采用不同的加密密钥提供安全保护。 (2)端对端加密指信息由发送端自动加密,并且由TCP/IP进行数据包封装(数据不可阅读和识别),到达目的地后自动重组、解密,从而成为可读数据。 |
2 | 数据存储加密技术 | 防止在存储环节上的数据失密,可分为密文存储和存取控制。(1)密文存储:通过加密算法转换、附加密码、加密模块等方法实现; (2)存取控制:对用户资格、权限加以审查和限制,防止非法用户存取数据或合法用户越权存取数据。 |
3 | 数据完整性鉴别技术 | 对介入信息传送、存取和处理的人的身份和相关数据内容进行特征值验证,一般包括口令、密钥、身份、数据等项的鉴别。 |
4 | 密钥管理技术 | 包括密钥的产生、分配、保存、更换和销毁等各个环节上的保密措施。 |