数据库加密

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

数据库加密能够通过有效的解决如下问题,来提升数据库的安全性:

(1)防止数据库文件被下载或者复制、以及直接分析数据文件导致的数据泄漏和破坏。由于敏感数据被加密,任何直接对数据库文件进行分析的攻击方式,都只能看到密文。

(2)防止DBA或高权限帐号密码泄露导致的数据泄漏和破坏。DBA或者高权限账号被攻击者获取后,虽然攻击者能够得到数据库中的全部数据,但是由于敏感数据是被加密的,所以仍然不能获得明文。或者攻击者试图修改授权用户的访问密码进行身份伪造攻击,但是加密系统额外的身份认证机制能够对这种伪造身份进行识别,致使攻击者仍然无法获取真实数据。

(3)部分的防止SQL注入方式拖库泄漏全库数据和数据破坏。SQL注入攻击者通过拖库获取全部数据库内容,但是只能获取到攻击时所使用的用户所对应的明文权限,对于该用户不具有权限的敏感数据,攻击者仍然不能访问。

(4) 实现多因子身份认证和授权,弥补仅由口令验证方式安全性不足的缺陷。可以增加对应用系统、时间、IP地址、用户名等多种因子的身份认证和授权管理。