数据库透明加密系统主要有四个功能:
1. 对敏感数据进行加密,避免与敏感数据的直接接触。这项功能主要用于防止三种情况的发生,首先,通过对敏感数据进行透明加密阻断入侵者访问敏感数据,构成数据库的最后一道防线。其次,阻断运维人员任意访问敏感数据,数据库透明加密系统可以保护运维人员,避免犯错。最后,透明加密系统可以实现,即使在数据库中的物理文件或者备份文件失窃的情况下,依然保证敏感数据的安全性。
2. 数据库透明加密系统,无需改变任何应用。首先,在对数据进行透明加密时,无需知道密钥,无需改变任何代码,即可透明访问加密的敏感数据。其次,对敏感数据进行加解密的过程透明简易,可以保证业务程序的连续性,以及保证业务程序不被损伤。
3. 数据库透明加密系统提供多维度的访问控制管理,且系统性能消耗非常低。通常数据库实施透明加密后,整体性能下降不超过10%。
4. 最重要的是,数据库透明加密系统满足合规要求,满足网络安全法、信息安全等级保护、个人信息安全规范等对于敏感数据加密明确的要求。
另外数据库透明加密系统可以实现物理旁路部署模式和反向代理两种部署模式。采用旁路部署模式,即在数据库服务器安装数据库透明加密安全代理软件,不需要调整任何网络架构。数据库透明加密后批量增删改性能影响较小,整体满足合规要求,管理便捷。反向代理部署模式,是物理层根据表、列等数据分类执行数据存储加密,防止存储层面数据丢失引起泄露,逻辑层通过加密网关实现运维管理端的密文访问控制,整体实现业务数据正常访问,运维授权访问,同时提供直连控制访问,部署更安全。
数据库加密的方式从最早到现在有4种技术,首先是前置代理加密技术,该技术的思路是在数据库之前增加一道安全代理服务,所有访问数据库的行为都必须经过该安全代理服务,在此服务中实现如数据加解密、存取控制等安全策略,安全代理服务通过数据库的访问接口实现数据存储。安全代理服务存在于客户端应用与数据库存储引擎之间,负责完成数据的加解密工作,加密数据存储在安全代理服务中。然后是应用加密技术,该技术是应用系统通过加密API对敏感数据进行加密,将加密数据存储到数据库的底层文件中;在进行数据检索时,将密文数据取回到客户端,再进行解密,应用系统自行管理密钥体系。
其次是文件系统加解密技术,该技术不与数据库自身原理融合,只是对数据存储的载体从 *** 作系统或文件系统层面进行加解密。这种技术通过在 *** 作系统中植入具有一定入侵性的“钩子”进程,在数据存储文件被打开的时候进行解密动作,在数据落地的时候执行加密动作,具备基础加解密能力的同时,能够根据 *** 作系统用户或者访问文件的进程ID进行基本的访问权限控制。
最后后置代理技术,该技术是使用“视图”+“触发器”+“扩展索引”+“外部调用”的方式实现数据加密,同时保证应用完全透明。核心思想是充分利用数据库自身提供的应用定制扩展能力,分别使用其触发器扩展能力、索引扩展能力、自定义函数扩展能力以及视图等技术来满足数据存储加密,加密后数据检索,对应用无缝透明等核心需求。安华金和的加密技术在国内是唯一支持TDE的数据库加密产品厂商。
我认为,至少需要满足下面4个方面的要求。1、保证数据库系统的整体性能没有明显下降
众所周知,数据库系统的数据处理性能对整个业务系统的整体性能表现有决定性的作用,在某些场合,数据库必须保证处理能力维持在某个较高水平才能满足业务需要。另一方面,数据库加密系统是一个对数据库中数据进行加密保护的应用系统,在数据从业务系统存储到数据库时要对数据进行加密,这个过程中明文数据需要被加密成密文,在数据由数据库中被读取出来传递到业务系统时要对数据进行解密,这个过程中密文需要被解密成明文。加密和解密是个根据一定的算法逻辑进行循环运算的过程,这个过程对CPU会产生一定的消耗,会影响数据库的性能。
数据库加密系统可以有多种技术路线来实现,业界已经验证和使用的技术路线包括应用系统加密、前置代理加密、后置代理加密、表空间透明数据加密、文件系统加密和磁盘加密。其中应用系统加密和前置代理加密技术会极大地影响数据库性能,仅适用于小量数据加密场景;后置代理加密技术在某些场景上也会大幅影响数据库性能,使用场景有明显限制;所以,好的数据库加密系统应该尽量使用后三种技术路线来实现。
2、保证数据安全
保存在数据库中的数据是用户的资产,因此,任何一个数据库加密系统都需要保证在有密钥的前提下能够对由自己加密的数据进行无损解密。因此,一个好的数据库加密系统应该具备密钥备份和恢复功能,以便于在加密机故障不可用时能够快速搭建新的加密机环境;另外,如果数据库加密系统提供了独立的工具或接口来实现加密机故障时用户数据的解密,则是更好的选择。
3、应用完全透明
数据库系统是为业务系统提供数据服务的,一个好的数据库加密系统应该对应用系统具备完全的透明性,这种透明性主要表现在:(1)部署数据库加密系统时,应用系统不需要做任何改造,即使是连接字符串都不需要修改;(2)在部署了数据库数据库加密系统后,数据库内部的存储过程、用户自定义函数、触发器、SQL代码段等可执行对象及主外键关系、各种索引、默认值、Check约束等均可以正常使用,也不需要做任何改变;(3)数据库自身的外围管理工具、第三方数据库工具等在部署数据库加密系统后仍然可以正常使用。
4、高可用性
数据库加密系统自身应具备高可用能力,可以以主备或多机的方式提供数据库加密服务,当其中的一台加密机发生故障时,其它加密机应可能快速接管加密服务,保证数据库系统和用户业务系统的可用性。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)