据有关资料报道,计算机犯罪80%来自系统内部。实现数据库文件加密以后,各用户(或用户组)的数据用自己的密钥加密,其他用户无法对其进行解密,保护了用户的秘密。另外,数据库的备份内容也可以是密文,能够减少因这些备份介质失窃或丢失而造成的损失。因此,实行数据库文件加密对于保障数据安全十分重要。
一、数据库文件加密系统的基本要求
1、字段加密
数据库文件加密和解密的粒度应是每个记录的字段数据。若以文件或列为单位进行加密,会形成密钥的反复使用,从而降低加密系统的可靠性或者因加解密时间过长而无法使用。
2、密钥动态管理
数据库客体之间隐含着复杂的逻辑关系,一个逻辑结构可能对应着多个数据库物理客体,所以数据库加密不仅密钥量大,而且组织和存储工作比较复杂,需要对密钥实现动态管理。
3、合理处理数据
首先要恰当地处理数据类型,否则DBMS将会因加密后的数据不符合定义的数据类型而拒绝加载;其次,需要处理数据的存储问题,实现数据库文件加密后,应基本上不增加空间开销。在目前条件下,数据库关系运算中的匹配字段,如表间连接码、索引字段等数据不宜加密。文献字段虽然是检索字段,但也应该允许加密,因为文献字段的检索处理采用了有别于关系数据库索引的正文索引技术。
4、不影响合法用户的操作
数据库文件加密系统影响数据操作响应时间应尽量短;此外,对数据库的合法用户来说,数据的录入、修改和检索操作应该是透明的,不需要考虑数据的加/解密问题。
二、数据库文件加密系统结构
1、不同层次实现数据库文件加密
可以考虑在3个不同层次实现对数据库数据文件的加密