我认为,至少需要满足下面4个方面的要求。
众所周知,数据库系统的数据处理性能对整个业务系统的整体性能表现有决定性的作用,在某些场合,数据库必须保证处理能力维持在某个较高水平才能满足业务需要。另一方面,数据库加密系统是一个对数据库中数据进行加密保护的应用系统,在数据从业务系统存储到数据库时要对数据进行加密,这个过程中明文数据需要被加密成密文,在数据由数据库中被读取出来传递到业务系统时要对数据进行解密,这个过程中密文需要被解密成明文。加密和解密是个根据一定的算法逻辑进行循环运算的过程,这个过程对CPU会产生一定的消耗,会影响数据库的性能。
数据库加密系统可以有多种技术路线来实现,业界已经验证和使用的技术路线包括应用系统加密、前置代理加密、后置代理加密、表空间透明数据加密、文件系统加密和磁盘加密。其中应用系统加密和前置代理加密技术会极大地影响数据库性能,仅适用于小量数据加密场景;后置代理加密技术在某些场景上也会大幅影响数据库性能,使用场景有明显限制;所以,好的数据库加密系统应该尽量使用后三种技术路线来实现。
2、保证数据安全
保存在数据库中的数据是用户的资产,因此,任何一个数据库加密系统都需要保证在有密钥的前提下能够对由自己加密的数据进行无损解密。因此,一个好的数据库加密系统应该具备密钥备份和恢复功能,以便于在加密机故障不可用时能够快速搭建新的加密机环境;另外,如果数据库加密系统提供了独立的工具或接口来实现加密机故障时用户数据的解密,则是更好的选择。
3、应用完全透明
数据库系统是为业务系统提供数据服务的,一个好的数据库加密系统应该对应用系统具备完全的透明性,这种透明性主要表现在:(1)部署数据库加密系统时,应用系统不需要做任何改造,即使是连接字符串都不需要修改;(2)在部署了数据库数据库加密系统后,数据库内部的存储过程、用户自定义函数、触发器、SQL代码段等可执行对象及主外键关系、各种索引、默认值、Check约束等均可以正常使用,也不需要做任何改变;(3)数据库自身的外围管理工具、第三方数据库工具等在部署数据库加密系统后仍然可以正常使用。
4、高可用性
数据库加密系统自身应具备高可用能力,可以以主备或多机的方式提供数据库加密服务,当其中的一台加密机发生故障时,其它加密机应可能快速接管加密服务,保证数据库系统和用户业务系统的可用性。
后置代理加密过于依赖数据库自身所具备的扩展机制,且数据在数据库共享内存中也是密文,导致在部分场景下的数据库性能表现不佳。因此,基于后置代理加密技术又发展出了透明数据加密技术,目的是在保持后置代理加密优势的同时,降低对数据库自身扩展机制的依赖性,从而让数据库系统性能保持在相对合理的水平之上。。。。透明数据加密,全称为Transparent Data Encryption(TDE),是一种对应用系统完全透明的数据库端存储加密技术,通常由数据库厂商在数据库引擎中实现——在数据库引擎的存储管理层增加一个数据处理过程,当数据由数据库共享内存写入到数据文件时对其进行加密;当数据由数据文件读取到数据库共享内存时对其进行解密。也就是说,数据在数据库共享内存中是以明文形态存在的,而在数据文件中则以密文形态存在。同时,由于该技术的透明性,任何合法且有权限的数据库用户都可以访问和处理加密表中的数据。
指一条消息通过加密密钥和加密函数转换成无意义的密文。
它利用密码技术对信息进行加密,实现信息屏蔽,从而起到保护信息安全的作用。对数据库中的数据进行加密,可以防止数据在存储和传输过程中失密。
安华金和数据库加密是个独立于数据库服务器之外的产品,不会影响数据库服务器,理论上只会对调用数据库数据的业务系统有一定的影响,相同条件下,加密算法不同,造成的影响也不同。只能尽可能少的影响,例如只加密关键敏感表等,同时在POC或部署调研时,要充分了解数据库服务器的性能余留,最终还是要与需求者进行细节讨论的~
安华金和数据库加密产品是一款基于透明加密技术的数据库数据安全加固产品,可以支持国密算法、产品性能稳定、密钥机制强大。最主要的是实现了数据以密文形式存储在数据库中,防止由于明文存储引起的数据泄露,从根本上解决数据库数据的存储安全问题。具体的优势可以这么理解,首先满足合规要求,其次也就是防止明文存储引起的数据泄密,可以防止外部非法侵入以及内部特权用户窃取数据,具体如何实现推荐找厂商吧~
安华金和做数据安全起家,在加密技术上有自己的见解,我先来说说,你也可以咨询他们,其实针对文件加密的非数据库加密产品,基本上是无法用于数据库加密的,主要原因是打开加密的文件时需要输入加密密码,而数据库在对数据库文件进行读写时是没有机会输入密码的。文件加密的非数据库加密产品还另外两个明显缺陷,对数据库性能影响较大,不具备针对数据库用户的独立于数据库原生权控体系的增强型权限控制能力。要是底层防守的话还是需要上数据库加密产品~希望我的答案能帮助到你,采纳下吧
以上就是关于一个好的数据库加密系统一般应满足哪些方面的要求全部的内容,包括:一个好的数据库加密系统一般应满足哪些方面的要求、透明数据加密的技术原理怎样实现、什么是数据加密等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)