# 透明加密
DWS支持透明数据加密（Transparent Data Encryption简称TDE或透明加密），对数据文件进行实时加密和解密，保护用户数据隐私。
#### 功能介绍
透明数据加密（TDE）是指加密DWS的数据文件。 通常在数据库的安全防护措施里面，可以采取一些消减措施来帮助保护数据安全。例如，设计一个安全系统、加密机密资产以及在数据库服务器的周围构建防火墙。但是，如果遇到物理介质（如硬盘）被黑客或者内部人员盗取的情况，恶意破坏方只需还原或附加数据库即可浏览用户数据。 有一种解决方案是加密数据库中的敏感数据，并保护加密数据的密钥，该方案可以防止任何没有密钥的人使用这些数据，但这种保护必须事先计划。DWS提供了完整的解决方案TDE。
TDE可对数据实时I/O加密和解密，只要打开透明加密开关，对正常使用的用户是无感知的。 这种加密使用数据库加密密钥 (DEK)，该密钥不会直接存储在数据库系统中。 DEK是使用存储在KMS服务器的集群密钥（CEK）保护的对称密钥，数据库服务器仅仅保存其密文。在数据库启动阶段，数据库连接KMS服务器，并且解密DEK密文，从而获取到密钥明文，缓存在内存中。一旦机器下电或者集群关闭，密钥将会被清理。因此，需要保护好集群中的密钥文件，因为一旦丢失，则会造成不可恢复的危害。
#### 使用场景
传统数据库集群中，用户数据明文保存在行存/列存文件中，集群的维护人员或者恶意攻击者可在OS层面绕过数据库的权限控制机制或者窃取磁盘直接访问用户数据。DWS通过对接华为云**密码安全中心**的密钥管理KMS，可实现数据的透明加密，保障用户数据安全。
DWS数据库级透明加密，每个DWS集群有一个CEK，每个数据库单独配置DEK加密保护，DEK使用CEK加密保护，保存在DWS集群侧。密钥通过KMS服务申请和加解密，加密算法通过配置项统一配置。目前支持AES、SM4算法。
当前支持数据库级别的透明加密，在创建集群的时候进行加密配置。
了解更多请参见[数据库加密简介](https://support.huaweicloud.com/mgtg-dws/dws_01_0115.html)。
#### TDE加解密原理
透明加密所有加密解密操作均在内存中进行，内存中的数据是明文，磁盘中的数据是密文。数据库的使用方式保持不变，透明加密不会影响数据加工和SQL执行。
图1TDE加解密原理   
![](https://support.huaweicloud.com/productdesc-dws/figure/zh-cn_image_0000002587065676.png "点击放大")
