透明加密
功能描述
透明数据加密(TDE)是指加密DWS的数据文件。 通常在数据库的安全防护措施里面,可以采取一些消减措施来帮助保护数据安全。例如,设计一个安全系统、加密机密资产以及在数据库服务器的周围构建防火墙。 但是,如果遇到物理介质(如硬盘)被黑客或者内部人员盗取的情况,恶意破坏方只需还原或附加数据库即可浏览用户数据。 有一种解决方案是加密数据库中的敏感数据,并保护加密数据的密钥,该方案可以防止任何没有密钥的人使用这些数据,但这种保护必须事先计划。DWS提供了完整的解决方案TDE。
TDE可对数据实时I/O加密和解密,只要打开透明加密开关,对正常使用的用户是无感知的。 这种加密使用数据库加密密钥 (DEK),该密钥不会直接存储在数据库系统中。 DEK是使用存储在KMS服务器的集群密钥(CEK)保护的对称密钥,数据库服务器仅仅保存其密文。在数据库启动阶段,数据库的每个CN/DN使用身份认证(例如Kerberos)来连接KMS服务器,并且解密DEK密文,从而获取到密钥明文,缓存在内存中。一旦机器下电或者集群关闭,密钥将会被清理。因此,需要保护好集群中的密钥文件,因为一旦丢失,则会造成不可恢复的危害。
使用场景
传统数据库集群中,用户数据明文保存在行存/列存文件中,集群的维护人员或者恶意攻击者可在OS层面绕过数据库的权限控制机制或者窃取磁盘直接访问用户数据。DWS引入了Hadoop KMS服务并进行增强,通过对接第三方KMS,可实现数据的透明加密,保障用户数据安全。
DWS通过Hadoop KMS从第三方KMS获取密钥。
DWS透明加密
DWS数据库级透明加密,每个DWS集群有一个CEK,每个数据库单独配置DEK加密保护,DEK使用CEK加密保护,保存在DWS集群侧。密钥通过KMS服务申请和加解密,加密算法通过配置项统一配置。目前支持AES、SM4算法,其中SM4算法在hi 1620以上版本芯片中支持硬件加速。
当前支持数据库级别的透明加密,在创建集群的时候进行加密配置。
透明加密配置请参见数据库加密。