本文介紹RDS提供的資料加密功能。
SSL
RDS提供MySQL、SQL Server和PostgreSQL的安全套接層協議(Secure Sockets Layer,簡稱SSL)。您可以使用RDS提供的伺服器端的根憑證來驗證目標地址和連接埠的資料庫服務是不是RDS提供的,從而可有效避免中間人攻擊。除此之外,RDS還提供了伺服器端SSL認證的啟用和更新能力,以便使用者按需更替SSL認證以保障安全性和有效性。
需要注意的是,雖然RDS提供了應用到資料庫之間的串連加密功能,但是SSL需要應用開啟伺服器端驗證才能正常運轉。另外SSL也會帶來額外的CPU開銷,RDS執行個體的輸送量和回應時間都會受到一定程度的影響,具體影響與您的串連次數和資料轉送頻度有關。
具體操作請參見設定SSL。
TDE
RDS提供MySQL、PostgreSQL和SQL Server的透明資料加密(Transparent Data Encryption,簡稱TDE)功能。MySQL和PostgreSQL版的TDE由阿里雲自研,SQL Server版的TDE是基於SQL Server企業版的功能改造而來。
當RDS執行個體開啟TDE功能後,您可以指定參與加密的資料庫或者表。這些資料庫或者表中的資料在寫入到任何裝置(例如磁碟、SSD、PCIe卡)或者服務(例如Object Storage Service)前都會進行加密,因此執行個體對應的資料檔案和備份都是以密文形式存在的。
TDE加密採用國際流行的AES演算法。密鑰由KMS服務加密儲存,RDS只在啟動執行個體和遷移執行個體時動態讀取一次密鑰。您可以自行通過KMS控制台對密鑰進行更換。
具體操作及測試報告請參見設定透明資料加密、透明資料加密TDE測試報告。
雲端硬碟加密
針對RDS雲端硬碟版執行個體,阿里雲免費提供雲端硬碟加密功能,基於Block Storage對整個資料盤進行加密,即使資料備份泄露也無法解密,最大限度保護您的資料安全。而且加密不會影響您的業務,應用程式也無需修改。
具體操作請參見雲端硬碟加密。
全密態雲資料庫
全密態功能是阿里雲RDS PostgreSQL的一項資料安全功能。在RDS PostgreSQL執行個體中開啟並使用該功能,您可以對資料庫表中的敏感性資料列進行加密,這些列中的敏感性資料將以密文進行傳輸、計算和儲存。
全密態功能根據執行個體類型不同,可通過以下兩種方案實現:
Intel SGX 安全增強型執行個體:全密態功能可以利用該規格為使用者提供基於可信執行環境(Trusted Execution Environment,簡稱TEE)的資料安全保護。此時,全密態功能支援對密文資料進行所有的資料庫操作。可信執行環境依賴Intel SGX 安全增強型規格提供對密文資料進行比較和其它常見計算,具體規格清單請參見RDS PostgreSQL主執行個體規格列表。
其它規格(非Intel SGX 安全增強型規格):全密態功能可以利用密碼學方法提供資料安全保護,此時其能夠支援的操作類型較少。