MySQL 8.0 リファレンスマニュアル


MySQL 8.0 リファレンスマニュアル  /  MySQL 8.0 のよくある質問  /  MySQL 8.0 FAQ : InnoDB 保存データ暗号化

A.17 MySQL 8.0 FAQ : InnoDB 保存データ暗号化

A.17.1. データを表示する権限を持つユーザーのデータは復号化されますか。
A.17.2. InnoDB の保存データ暗号化に関連するオーバーヘッドは何ですか。
A.17.3. InnoDB の保存データ暗号化で使用される暗号化アルゴリズムは何ですか。
A.17.4. InnoDB の保存データ暗号化機能によって提供されるアルゴリズムのかわりにサードパーティの暗号化アルゴリズムを使用できますか。
A.17.5. インデックス付きカラムを暗号化できますか。
A.17.6. InnoDB の保存データ暗号化では、どのようなデータ型とデータ長がサポートされていますか。
A.17.7. データはネットワーク上で暗号化されたままですか。
A.17.8. データベースメモリーにクリアテキストまたは暗号化されたデータが含まれていますか。
A.17.9. 暗号化するデータを知るにはどうすればよいですか。
A.17.10. InnoDB の保存データ暗号化は、MySQL ですでに提供されている暗号化機能とどのように異なりますか。
A.17.11. トランスポータブルテーブルスペース機能は、InnoDB の保存データ暗号化で動作しますか。
A.17.12. 圧縮は、InnoDB の保存データ暗号化で機能しますか。
A.17.13. 暗号化されたテーブルで mysqlpump または mysqldump を使用できますか。
A.17.14. マスター暗号化キーを変更 (ローテーション、キー更新) するにはどうすればよいですか。
A.17.15. クリアテキストの InnoDB テーブルスペースから暗号化された InnoDB テーブルスペースにデータを移行するには、どのようにしますか。

A.17.1.

データを表示する権限を持つユーザーのデータは復号化されますか。

はい。 InnoDB の保存データ暗号化は、既存のアプリケーションに影響を与えずにデータベース内で暗号化を透過的に適用するように設計されています。 暗号化された形式でデータを返すと、ほとんどの既存のアプリケーションが破損します。 InnoDB の保存データ暗号化は、従来のデータベース暗号化ソリューションに関連するオーバーヘッドなしで暗号化の利点を提供します。通常、アプリケーション、データベーストリガーおよびビューに対するコストのかかる大幅な変更が必要になります。

A.17.2.

InnoDB の保存データ暗号化に関連するオーバーヘッドは何ですか。

追加の記憶域オーバーヘッドはありません。 内部ベンチマークによると、パフォーマンスオーバーヘッド金額は単一桁のパーセント差異になります。

A.17.3.

InnoDB の保存データ暗号化で使用される暗号化アルゴリズムは何ですか。

InnoDB の保存データ暗号化では、Advanced Encryption Standard (AES256) ブロックベースの暗号化アルゴリズムがサポートされています。 テーブルスペースキー暗号化には電子コードブック (ECB) ブロック暗号化モードを使用し、データ暗号化には暗号ブロックチェーン (CBC) ブロック暗号化モードを使用します。

A.17.4.

InnoDB の保存データ暗号化機能によって提供されるアルゴリズムのかわりにサードパーティの暗号化アルゴリズムを使用できますか。

いいえ。他の暗号化アルゴリズムは使用できません。 指定された暗号化アルゴリズムは広範囲に受け入れられます。

A.17.5.

インデックス付きカラムを暗号化できますか。

InnoDB の保存データ暗号化では、すべてのインデックスが透過的にサポートされます。

A.17.6.

InnoDB の保存データ暗号化では、どのようなデータ型とデータ長がサポートされていますか。

InnoDB の保存データ暗号化では、サポートされているすべてのデータ型がサポートされます。 データ長の制限はありません。

A.17.7.

データはネットワーク上で暗号化されたままですか。

InnoDB の保存データ機能によって暗号化されたデータは、テーブルスペースファイルから読み取られるときに復号化されます。 したがって、データがネットワーク上にある場合は、クリアテキスト形式になります。 ただし、ネットワーク上のデータは、SSL/TLS を使用してデータベースとの間を移動するデータを暗号化する MySQL ネットワーク暗号化を使用して暗号化できます。

A.17.8.

データベースメモリーにクリアテキストまたは暗号化されたデータが含まれていますか。

InnoDB の保存データ暗号化では、メモリー内データが復号化され、完全な透過性が提供されます。

A.17.9.

暗号化するデータを知るにはどうすればよいですか。

PCI-DSS 標準に準拠するには、クレジットカード番号 (プライマリアカウント番号または PAN) を暗号化された形式で格納する必要があります。 違反通知法 (CA SB 1386、CA AB 1950、43 以上の米国の州における同様の法律など) では、名、姓、運転免許証番号およびその他の PII データの暗号化が必要です。 2008 年初頭、CA AB 1298 は PII データに医療保険および健康保険情報を追加しました。 さらに、業界固有のプライバシおよびセキュリティ標準では、特定のアセットの暗号化が必要になる場合があります。 たとえば、医薬品研究結果、油田探索結果、金融契約、法律執行情報の個人データなどの資産では、暗号化が必要になる場合があります。 医療業界では,患者データ,健康記録,X 線画像のプライバシーが最も重要です。

A.17.10.

InnoDB の保存データ暗号化は、MySQL ですでに提供されている暗号化機能とどのように異なりますか。

MySQL には、データベース内のデータを手動で暗号化するために使用できる対称および非対称の暗号化 API があります。 ただし、アプリケーションは暗号化キーを管理し、API 関数をコールして必要な暗号化および復号化操作を実行する必要があります。 InnoDB の保存データ暗号化は、アプリケーションの変更を必要とせず、エンドユーザーに対して透過的であり、自動化された組込みキー管理を提供します。

A.17.11.

トランスポータブルテーブルスペース機能は、InnoDB の保存データ暗号化で動作しますか。

はい。 暗号化された file-per-table テーブルスペースでサポートされています。 詳細は、暗号化されたテーブルスペースのエクスポートを参照してください。

A.17.12.

圧縮は、InnoDB の保存データ暗号化で機能しますか。

圧縮はデータブロックが暗号化される前に適用されるため、InnoDB の保存データ暗号化を使用している顧客には圧縮の完全な利点があります。

A.17.13.

暗号化されたテーブルで mysqlpump または mysqldump を使用できますか。

はい。 これらのユーティリティは論理バックアップを作成するため、暗号化されたテーブルからダンプされたデータは暗号化されません。

A.17.14.

マスター暗号化キーを変更 (ローテーション、キー更新) するにはどうすればよいですか。

InnoDB の保存データ暗号化では、2 層キーメカニズムが使用されます。 保存データ暗号化を使用すると、個々のテーブルスペースキーが基礎となるテーブルスペースデータファイルのヘッダーに格納されます。 テーブルスペースキーは、マスター暗号化キーを使用して暗号化されます。 マスター暗号化キーは、テーブルスペースの暗号化が有効な場合に生成され、データベースの外部に格納されます。 マスター暗号化キーは、新しいマスター暗号化キーを生成し、キーを格納し、使用するキーをローテーションする ALTER INSTANCE ROTATE INNODB MASTER KEY ステートメントを使用してローテーションされます。

A.17.15.

クリアテキストの InnoDB テーブルスペースから暗号化された InnoDB テーブルスペースにデータを移行するには、どのようにしますか。

あるテーブルスペースから別のテーブルスペースへのデータの転送は不要です。 InnoDB file-per-table テーブルスペースのデータを暗号化するには、ALTER TABLE tbl_name ENCRYPTION = 'Y'を実行します。 一般テーブルスペースまたは mysql テーブルスペースを暗号化するには、ALTER TABLESPACE tablespace_name ENCRYPTION = 'Y'を実行します。 一般テーブルスペースの暗号化サポートは、MySQL 8.0.13 で導入されました。 mysql システムテーブルスペースの暗号化サポートは、MySQL 8.0.16 の時点で使用できます。


関連キーワード:  データ, InnoDB, 保存, 暗号, テーブル, スペース, キー, サポート, アルゴリズム, 機能