对于企业来说,数据库是必不可少的。当然对于数据库的保护防止泄密也是非常必要的。对于一些大型数据库管理系统的运行平台一般是Windows NT和 Unix,这些操作系统的安全级别通常为C1、C2级。它们具有用户注册、识别用户、任意存取控制(DAC)、审计等安全功能。虽然DBMS在OS的基础上增加了不少安全措施,例如基于权限的访问控制等,但OS和DBMS对数据库文件本身仍然缺乏有效的保护措施。

据有关资料报道,80%的计算机犯罪来自系统内部。在传统的数据库系统中,数据库管理员的权力至高无上,他既负责各项系统管理工作,例如资源分配、用户授权、系统审计等,又可以查询数据库中的一切信息。为此,不少系统以种种手段来削弱系统管理员的权力。实现数据库加密以后,各用户(或用户组)的数据由用户用自己的密钥加密,数据库管理员获得的信息无法进行正常脱密,从而保证了用户信息的安全。另外,通过加密,数据库的备份内容成为密文,从而能减少因备份介质失窃或丢失而造成的损失。由此可见,数据库加密对于企业内部安全管理,也是不可或缺的。

数据库加密技术的要求是什么?

也许有人认为,对数据库加密以后会严重影响数据库系统的效率,使系统不堪重负。事实并非如此。如果在数据库客户端进行数据加/脱密运算,对数据库服务器的负载及系统运行几乎没有影响。所以我们需要根据用户的需求来寻找一下加密数据库具体需要什么要求。那么数据库加密的基本要求是什么呢?当然一个良好的数据库加密系统应该满足以下基本要求:

1.字段加密

在目前条件下,加/脱密的粒度是每个记录的字段数据。如果以文件或列为单位进行加密,必然会形成密钥的反复使用,从而降低加密系统的可靠性或者因加脱密时间过长而无法使用。只有以记录的字段数据为单位进行加/脱密,才能适应数据库操作,同时进行有效的密钥管理并完成“一次一密”的密码操作。

2.密钥动态管理

数据库客体之间隐含着复杂的逻辑关系,一个逻辑结构可能对应着多个数据库物理客体,所以数据库加密不仅密钥量大,而且组织和存储工作比较复杂,需要对密钥实现动态管理。

3.合理处理数据

这包括几方面的内容。首先要恰当地处理数据类型,否则 DBMS将会因加密后的数据不符合定义的数据类型而拒绝加载;其次,需要处理数据的存储问题,实现数据库加密后,应基本上不增加空间开销。在目前条件下,数据库关系运算中的匹配字段,如表间连接码、索引字段等数据不宜加密。文献字段虽然是检索字段,但也应该允许加密,因为文献字段的检索处理采用了有别于关系数据库索引的正文索引技术。

4.不影响合法用户的操作

加密系统影响数据操作响应时间应尽量短,在现阶段,平均延迟时间不应超过1/10秒。此外,对数据库的合法用户来说,数据的录入、修改和检索操作应该是透明的,不需要考虑数据的加/脱密问题。

数据库加密是必不可少的,对于企业来说采取透明的数据库管理程序以指定需要加密的数据并根据需要进行明文/密文的转换工作。或者实施分组加密法和二级密钥管理都是可以的。使用这些方法,数据库的管理会更加方便安全。