ApsaraDB RDS for PostgreSQL は、透過データ暗号化(TDE)機能をサポートしています。 TDE を使用すると、データファイルをリアルタイムで暗号化および復号化して、ユーザーのデータプライバシーを保護できます。 このトピックでは、TDE の用語、暗号化の原則、および復号の原則について説明します。
機能の説明
TDE は、データファイルに対してリアルタイムの I/O 暗号化と復号を実行するために使用されます。 TDE は、データベース層で保存データの暗号化を実行します。 これにより、攻撃者がデータベースをバイパスしてストレージから機密情報を読み取るのを防ぎます。 TDE を使用すると、認証されたアプリケーションとユーザーは、復号のためにアプリケーションコードまたは構成を変更することなく、プレーンテキストアプリケーションデータにアクセスできます。 ただし、TDE は、表領域ファイル内の機密情報を読み取ろうとするオペレーティングシステム(OS)ユーザーと、バックアップデータおよびディスク上のデータを読み取ろうとする権限のないユーザーがプレーンテキストデータにアクセスするのを防ぎます。
透過的: データはディスクに書き込まれるときに自動的に暗号化され、ディスクから読み取られるときに復号化されます。 暗号化プロセスと復号化プロセスは、ユーザーには認識されません。
データ暗号化: Key Management Service(KMS)によって提供されるサービスキー、または KMS にアップロードするカスタムキーを使用して、データファイルが暗号化されます。
説明TDE に使用されるキーは、KMS によって作成および管理されます。 ApsaraDB RDS は、暗号化に必要なキーまたは証明書を提供しません。
ApsaraDB RDS for PostgreSQL は、Aliyun_AES_256 タイプと Aliyun_SM4 タイプのキーをサポートしています。
メリット
TDE 機能には、次のメリットがあります。
テーブルレベルの暗号化とインデックスレベルの暗号化: TDE を使用して、テーブルとインデックスを暗号化および復号化できます。
複数のオブジェクトの同時暗号化と復号化: TDE を使用して、テーブル内のすべてのインデックスを一度に暗号化および復号化できます。 また、TDE を使用して、データベース内のすべてのテーブルを暗号化および復号化することもできます。
パフォーマンスの低下が少ない: TDE が有効になっている場合、パフォーマンスへの影響はわずかです。 通常のビジネスシナリオでは、暗号化されたテーブルのパフォーマンス低下は約 4% です。
原則
用語
キー暗号化キー(KEK): KMS のサービスキーを使用するか、カスタマーマスターキー(CMK)を使用して、データ暗号化キー(DEK)を暗号化できます。
DEK: DEK は、データを暗号化および復号化するためにデータベースによって生成されます。
プロセス
すべての暗号化操作と復号操作はメモリ内で実行されます。 メモリ内のデータはプレーンテキストであり、ディスク内のデータは暗号文です。 これにより、ディスクが盗難された場合のデータ漏洩を防ぐことができます。 データベースの使用方法を変更する必要はありません。
データベースの起動時に、KEK が KMS から取得され、DEK が復号化されます。 復号化された DEK はメモリに保存され、データの書き込み時または読み取り時にデータの暗号化または復号化に使用されます。