数据库透明加密

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,数据是信息系统中最核心的财产。数据库好比人的大脑,是所有信息系统的核心。一旦大脑受到破坏,势必会影响到整个人的身体机能。同样地,如果数据库中的数据丢失、破坏或泄漏,势必会给企业带来难以估量的损失。因此对数据库中数据的加密保护, 成为了数据库安全的重要内容。

一、什么是数据库透明加密?

数据库透明加密是指对库内数据的加密和解密,对数据库的访问程序是完全无感知的。特别是应用系统,不需要做任何修改和编译,就能够直接应用到加密库上。

与透明加密相对应的,是在应用系统中对数据进行加密,然后再存储到数据库中。需要真实数据的时候,从数据库中读取密文,再解密出明文。严格的说,这种方式并不是数据库加密,而是数据加密。

二、数据库透明加密不能解决什么问题?

虽然数据库透明加密能够显著的提升数据库的安全性,但是并不能解决所有的数据库安全问题:

(1)不能完全阻止SQL注入攻击。SQL注入攻击者如果使用应用系统访问数据库的授权用户对数据库发起攻击,则能够获得加密系统对该用户的相应授权,能够访问到该授权项下的敏感数据。

(2)不能完全阻止攻击者伪造身份对数据库的攻击。当攻击者通过社交工程,完全窃取并伪造了具有对敏感数据合法访问权限的用户的帐号、密码、以及应用系统、IP信息时,数据库加密将不能对其访问进行限制。

(3) 不能完全阻止授权应用系统后门程序对数据库的违规访问。当应用系统被授权访问敏感数据,但是被开发者留有后门时,数据库加密系统并不能识别这种后门并加以阻止。