OceanBaseデータベースは、データの異なる段階でのセキュリティを保護するために、多層的なデータ暗号化機能を提供します。暗号化の位置と段階に基づき、OceanBaseデータベースは以下のデータ暗号化方式をサポートしています:
暗号化方式 |
保護段階 |
暗号化対象 |
キー体系 |
|---|---|---|---|
| データ転送の暗号化 | データ転送中 | ネットワーク通信データ | SSL/TLS証書 |
| データ透過的暗号化(TDE) | データ保存時 | ディスク上のマクロブロック/clog | テナントマスターキーとデータキーの二層キー体系 |
| 列暗号化 | クエリ結果返却時 | 敏感列データ | テナントマスターキー |
| 関数暗号化 | データ処理時 | 敏感列データ | テナントマスターキー |
データ転送の暗号化
転送暗号化は、クライアントとデータベースサーバー間、およびサーバーノード間で転送されるデータを保護するために使用されます。OceanBaseデータベースはSSL/TLSプロトコルを通じて転送暗号化を実現し、OpenSSLまたはサードパーティSSLライブラリが提供する証書体系に依存しています。
透過的データ暗号化(TDE)
透過的データ暗号化(Transparent Data Encryption、略称TDE)は、ディスクに保存されるデータを保護するために使用されます。TDEを有効にすると、データはディスクに書き込まれる前に自動的に暗号化され、読み取り時に自動的に復号化されます。このプロセスはユーザーに対して透過的です。TDEは二層の鍵体系を採用し、テナントマスターキーを使用してデータキーを保護します。
列暗号化
列暗号化は、クエリ結果内の機密データを保護するために使用されます。機密ルールを作成して保護が必要な列を指定し、ユーザーがこれらの列をクエリすると、システムは暗号化ルールに基づいて平文または暗号文を返すかどうかを決定します。列暗号化は、TDE機能とテナントマスターキーを共有します。
関数暗号化
関数暗号化は、機密関数データを保護するために使用されます。ENHANCED_AES_ENCRYPT および ENHANCED_AES_DECRYPT の暗号化・復号化関数を呼び出すことで、データのAES暗号化/復号化を行えます。関数暗号化もTDE機能とテナントマスターキーを共有します。
テナントマスターキー
透過的データ暗号化(TDE)と列暗号化機能は、暗号化インフラストラクチャとしてテナントマスターキーを共有します。これら二つの機能を使用する前に、まずテナントマスターキーを生成する必要があります。
詳細については、テナントマスターキーの管理を参照してください。
説明
転送暗号化はSSL/TLS証書体系を使用し、テナントマスターキーとは無関係です。