首页 理论教育保障数据安全:分布式数据库技术

保障数据安全:分布式数据库技术

【摘要】:与数据库安全系统打交道的人员可以分为两类:数据库管理员和普通用户。DBA要对安全负责,所以他(们)要创建授权规则,定义谁可以使用哪部分数据,以及如何使用。图13.1数据库安全系统由图13.1可知,数据库安全系统里存放着授权规则,在每次数据库存取时强制满足其规则。从完整性方面考虑,数据库安全可以包含以下两方面。1)设计阶段的数据库安全在设计阶段必须关注数据库的安全性。DBA负责处理整个数据库系统里的用户账号和口令。

数据库安全系统打交道的人员可以分为两类:数据库管理员(DBA)和普通用户。DBA要对安全负责,所以他(们)要创建授权规则,定义谁可以使用哪部分数据,以及如何使用。普通用户按权限访问数据库,但数据库安全系统要对其鉴权。只有通过鉴权,他/她才可以访问数据库。

我们可以用图13.1描述数据库安全系统的基本框架

图13.1 数据库安全系统

由图13.1可知,数据库安全系统里存放着授权规则,在每次数据库存取时强制满足其规则。这些规则由DBA负责制定。授权规则定义授权用户,允许操作及访问数据库。访问权限也可授权给一组人,而非单独个人。

数据库安全的目标和威胁可以描述如下。

从机密性方面考虑,数据库安全可以包含以下两方面。

●目标:机密性(secrecy或privacy)只允许被授权者(用户或进程)存取(读)数据。

●威胁:不合适的用户故意或意外存取数据,导致信息不恰当地泄露。也包括通过观察数据的授权引出对非授权数据的推测结果。

从完整性方面考虑,数据库安全可以包含以下两方面。

●目标:为了保证数据完整性,数据只能由被授权者修改。

●威胁:数据被不恰当地处理或修改。

可用性方面考虑,数据库安全可以包含以下两方面。

●目标:可用性,被授权者能够存取数据。

●威胁:被授权者被阻止存取数据。

1.安全威胁分类

按照发生的方式,安全威胁可以分为意外安全威胁和故意安全威胁两类。意外安全威胁包括人的错误、软件错误、自然或意外灾害等。人的错误包括不正确的输入、应用的误用;软件错误包括应用的安全策略不正确、拒绝被授权用户访问;自然或意外灾害包括硬件或软件损坏。(www.chuimin.cn)

故意安全威胁包括被授权用户滥用其授权,用户对数据执行不恰当地读或写操作,应用表面上合法使用,实际上是伪装欺诈等。

2.数据库安全分类

数据库安全可以分为物理安全和逻辑安全两类。物理安全指的是与系统硬件相关的安全,要保护的是计算机驻留的站点,典型的自然事件如火灾洪灾地震等。物理安全的可选方案是建立后援备份。逻辑安全指的是在操作系统或DBMS上设计的针对数据威胁采用的安全措施。相比物理安全,逻辑安全的保障要难得多。

安全性问题涉及数据库的整个生命周期。

1)设计阶段的数据库安全

在设计阶段必须关注数据库的安全性。大多数安全系统的设计原则包含以下几方面。

●数据库设计应当简单。如果数据库简单及易于使用,数据库被授权用户损坏的可能性就小。

●数据库必须规范化。规范化后的数据库容易摆脱异常更新。数据库开始使用后,再试图规范化就困难多了。因此,必须在设计阶段规范化。

●数据库设计者应当决定每组用户的访问权限。

●为每个用户或用户组创建唯一的视图。

2)维护阶段的数据库安全

一旦设计了数据库,数据库管理员在维护数据库方面扮演着重要角色。维护阶段的数据库安全主要包含以下几方面。

●操作系统问题及可用性。一般由系统管理员负责管理操作系统安全。数据库管理员负责数据库的物理安全。操作系统应当验证用户和应用程序,授权它们访问系统。DBA负责处理整个数据库系统里的用户账号和口令。

●授权规则的机密性和可追溯性。可追溯性意味着系统不允许非法登录。应当可追溯性地预防和检测非法动作,保证监管用户进行认证和授权。授权规则在数据管理系统里受到控制,受到用户对数据访问动作的限制。授权可以在操作系统层面里实现,也可在DBMS里实现。

●加密。加密指的是对数据进行编码,让数据无法直接可读和轻易可理解。有些DBMS里有加密程序,对敏感数据在存储和通信信道传输时自动编码。当然,系统提供加密程序,也必须提供解密程序。

●认证模式。认证模式指的是一种机制,用来确认用户是谁、是否合法等。认证可以在操作系统层面,也可在数据库管理系统层面实施。数据库管理员为每个用户创建账号和口令。