MariaDBのTDE Part 1
MariaDBのTDEの仕様
概要
- アプリケーションの変更なしにデータベースのデータファイル・ログファイル一時ファイル等を暗号化する機能
- データベースサーバのOSに侵入された場合もしくはストレージデバイスの廃棄・盗難等へは効果がある
- SQLインタフェース(例:SQLインジェクション)を介したアクセスに対しては効果がない
制限事項
- 10.4未満はredoログのデータ暗号化鍵のローテーションに対応していない
- 一部のファイルはデータ暗号化鍵のローテーションに対応していない
- 一部ファイルはデータ暗号化自体に対応していない
- 一般ログ(general_log)
- スロークエリログ
- エラーログ
- mysqldumpで出力されたダンプデータ
基本仕様
利用するためには対応する暗号化プラグインが必要となる
レプリケーション構成の場合、プライマリ・レプリカで異なるデータ暗号化鍵を利用することができる
mariadbbackupを利用することで、暗号化されたInnoDBバックアップに対応できる
データ暗号化に利用されるデータ暗号化鍵の仕様は次の通り
データ暗号化は次の通り処理される
- ページ単位で処理される
- ページのヘッダ領域にデータ暗号化に利用したデータ暗号化鍵の鍵番号と鍵バージョンが格納されている
- 鍵番号が同じ場合、鍵バージョンが大きいものが新しいものとして扱われる
- 同じ鍵番号で新しい鍵バージョンのデータ暗号化鍵が追加されると、バックグラウンドで新しいデータ暗号化鍵での再暗号化処理が行われる
- データ暗号化についてはテーブル単位で実施の有無を指定できる