浅谈数据库加密至透明数据加密方法的优劣势
什么是透明数据加密?
后置代理加密过于依赖数据库自身所具备的扩展机制,且数据在数据库共享内存中也是密文,导致在部分场景下的数据库性能表现不佳。因此,基于后置代理加密技术又发展出了透明数据加密技术,目的是在保持后置代理加密优势的同时,降低对数据库自身扩展机制的依赖性,从而让数据库系统性能保持在相对合理的水平之上。
透明数据库加密方法的优势
和后置代理加密技术一样,透明数据加密技术具备应用完全透明性,此外,插件形式的透明数据加密技术也可以提供独立权控体系,同时可以不依赖于数据库自身的一些特殊功能,具有较强的开放性:
1、应用透明
透明数据加密也是在数据库层面对敏感数据进行处理,应用系统对数据本身及处理过程完全无感知。因此,透明数据加密技术在应用时也不会对现有的应用系统产生影响,应用系统不用做任何改造即可获得数据加密存储的收益。
2、独立权控体系
使用插件形式的透明数据加密技术,同样可以在外置的安全服务中提供独立于数据库自有权控体系之外的权限控制体系,可以有效防止特权用户(如DBA)对敏感数据的无限制访问,进一步保证敏感数据不会被不正当地访问和泄露。
3、更强的开放性
相对于后置代理加密技术依赖于数据库的外部索引接口、外部接口调用等特殊功能,透明数据加密技术对数据库自身的依赖性小,因此可以在更多类型的数据库上使用透明数据加密技术。
4、性能优势
透明数据加密加密技术本身只是对数据库引擎的存储管理层进行了功能增强,并不影响数据库引擎的语句解析和优化等处理过程,数据库自身在数据存储、管理和使用等方面的所有优势都依然可以保留,因此,透明数据加密技术相对于前面几种数据库加密技术具备性能上明显优势。
透明数据库加密方法的劣势
透明数据库加密是当前主流商业数据库产品所有具有的数据安全增强特性,但由数据库厂商提供的透明数据加密功能完全依赖于他们自己的设计,尤其是在密钥管理的开放性方面,通常不能集成使用第三方密钥系统,而且,这些数据库内置的透明数据加密无法屏蔽数据库超级用户对加密数据的无限制访问。
插件形式的透明数据加密可以解决密钥系统开放性和实现独立于数据库自身权控体系的增强权限控制,但由于使用插件技术,对于数据库的版本有较强的依赖,即使专业的数据安全厂商,也仅能对有限的几种类型的数据库实现透明数据加密插件,在数据库类型适用性上有一定的限制。