3 透過的データ暗号化の概要
透過的データ暗号化は、データベースのデータ・ファイルや選択したデータ列の暗号化に使用できます。これにより、データベースに格納されたクレジット・カード番号や社会保障番号などの機密データを保護できます。
- 透過的データ暗号化とは
透過的データ暗号化(TDE)を使用すると、表および表領域に格納する機密データを暗号化できます。また、データベースのバックアップを暗号化することもできます。 - 透過的データ暗号化を使用する利点
透過的データ暗号化(TDE)は、機密データの暗号化を保証し、コンプライアンス要件への対応を支援し、暗号化操作を効率化する機能を提供します。 - 透過的データ暗号化を構成できる者
透過的データ暗号化(TDE)を構成するには、ADMINISTER KEY MANAGEMENT
システム権限が付与されている必要があります。 - 透過的データ暗号化のタイプおよびコンポーネント
透過的データ暗号化は、個々の列または表領域全体に適用できます。 - マルチテナント・オプションによる透過的データ暗号化への影響
マルチテナント環境では、コンテナ・データベース(CDB)全体または個々のプラガブル・データベース(PDB)用のキーストアを構成できます。
親トピック: 透過的データ暗号化の使用
3.1 透過的データ暗号化とは
透過的データ暗号化(TDE)を使用すると、表および表領域に格納する機密データを暗号化できます。また、データベースのバックアップを暗号化することもできます。
暗号化されたデータは、アクセス時に、許可されているユーザーまたはアプリケーションに対して自動的に復号化されます。TDEは、記憶域メディアまたはデータ・ファイルが盗まれた場合に、メディアに格納されているデータ(保存データとも呼ぶ)を保護するために役立ちます。
Oracle Databaseの認証、認可および監査メカニズムは、データベース内のデータを保護するためのものであり、オペレーティング・システムのデータ・ファイルに格納されているデータの保護には使用されません。このようなデータ・ファイルを保護する目的では、透過的データ暗号化(TDE)を使用します。TDEを使用すると、データ・ファイルに格納されている機密データを暗号化できます。不正な復号化を回避するために、TDEではデータベース外部のセキュリティ・モジュールに暗号化キーを格納します。このセキュリティ・モジュールとして、次のものが挙げられます:
- TDEウォレットは、TDEに使用されるウォレットです。その他の証明書などのセキュリティ・アーティファクトは格納できません。以前のリリースでは、ソフトウェア・キーストアまたは単にウォレットと呼ばれていました。
- 外部キーストアは、Oracle Key VaultまたはOracle Cloud Infrastructure (OCI)キー管理サービス(KMS)を指します。
- キーストアは、TDEウォレットと外部キーストアの両方に対応する一般的な用語です。
Oracle Key VaultをTDE実装の一部として構成できます。これにより、企業内のキーストアを集中的に管理できます。たとえば、TDEウォレットをOracle Key Vaultにアップロードし、Oracle Key Vaultをデフォルト・キーストアとして使用するようにデータベースを移行します。このキーストアの内容は、暗号化されたデータベースの日次データベース管理操作を効率化するために、そのデータベースの別のプライマリおよびスタンバイOracle Real Application Clusters (Oracle RAC)ノードと共有できます。
関連トピック
親トピック: 透過的データ暗号化の概要
3.2 透過的データ暗号化を使用する利点
透過的データ暗号化(TDE)は、機密データの暗号化を保証し、コンプライアンス要件への対応を支援し、暗号化操作を効率化する機能を提供します。
利点は次のとおりです。
-
セキュリティ管理者としては、機密データが暗号化されるため、記憶域メディアまたはデータ・ファイルが盗まれた場合でも安全であることを確信できます。
-
TDEを使用すると、セキュリティに関連した規制コンプライアンスの問題への対応に役立ちます。
-
許可されたユーザーまたはアプリケーションに対してデータを復号化するための補助表、トリガーまたはビューを作成する必要はありません。表内のデータは、データベース・ユーザーやアプリケーションに対して透過的に復号化されます。機密データを処理するアプリケーションでTDEを使用すると、アプリケーションをほとんどあるいはまったく変更せずに、強力なデータ暗号化を実現できます。
-
データは、このデータにアクセスするデータベース・ユーザーおよびアプリケーションに対して透過的に復号化されます。データベース・ユーザーおよびアプリケーションは、アクセスするデータが暗号化された形式で格納されていることを認識する必要がありません。
-
本番システムでは表のオンライン再定義を使用して停止時間ゼロでデータを暗号化することができ、メンテナンス期間中にはデータをオフラインで暗号化することができます。
-
暗号化されたデータを処理するためにアプリケーションを変更する必要がありません。データベースは、データの暗号化および復号化を管理します。
-
Oracle Databaseによって、TDEマスター暗号化キーとキーストアの管理操作が自動化されます。ユーザーやアプリケーションがTDEマスター暗号化キーを管理する必要はありません。
親トピック: 透過的データ暗号化の概要
3.3 透過的データ暗号化を構成できる者
透過的データ暗号化(TDE)を構成するには、ADMINISTER KEY MANAGEMENT
システム権限が付与されている必要があります。
マウント段階でキーストアを開く必要がある場合は、SYSKM
管理権限が付与されている必要があり、この権限には、ADMINISTER KEY MANAGEMENT
システム権限および必要な他の権限が含まれています。
ユーザーにSYSKM
管理権限を付与する場合、ユーザーがパスワードを使用してSYSKM
としてデータベースに接続できるように、これに対するパスワード・ファイルを確実に作成してください。これにより、ユーザーはV$DATABASE
ビューの問合せなどの操作を実行できます。
TDEを使用するには、SYSKM
またはADMINISTER KEY MANAGEMENT
権限は必要ありません。表の列と表領域を暗号化するには、次の権限がさらに必要になります。
-
CREATE TABLE
-
ALTER TABLE
-
CREATE TABLESPACE
-
ALTER TABLESPACE
(オンラインおよびオフライン表領域の暗号化の場合) -
ALTER DATABASE
(オフライン表領域の高速暗号化の場合)
親トピック: 透過的データ暗号化の概要
3.4 透過的データ暗号化のタイプおよびコンポーネント
透過的データ暗号化は、個々の列または表領域全体に適用できます。
- 透過的データ暗号化のタイプおよびコンポーネントについて
機密データを列レベルまたは表領域レベルで暗号化できます。 - 透過的データ暗号化の表領域暗号化の動作
透過的データ暗号化(TDE)の表領域暗号化を使用すると、表領域全体を暗号化できます。 - 透過的データ暗号化の列暗号化の動作
透過的データ暗号化(TDE)の列暗号化は、表の列に格納されているクレジット・カード番号や社会保障番号などの機密データを保護します。 - TDEマスター暗号化キーの格納用のキーストアの動作
暗号化を制御するには、キーストアおよびTDEマスター暗号化キーを使用します。 - サポートされる暗号化と整合性のアルゴリズム
サポートされているAdvanced Encryption Standard暗号キー(表領域およびデータベース暗号化キーなど)は、128、192または256ビット長のいずれかにできます。表領域およびデータベースの暗号化では、128ビット長の暗号キーが使用されます。
親トピック: 透過的データ暗号化の概要
3.4.1 透過的データ暗号化のタイプおよびコンポーネントについて
機密データを列レベルまたは表領域レベルで暗号化できます。
列レベルでは、アプリケーション表の列内の機密データを暗号化できます。TDE表領域暗号化を使用すると、表領域に格納されているすべてのデータを暗号化できます。
TDE列暗号化とTDE表領域暗号化では、どちらも2層のキー・ベース・アーキテクチャを使用します。セキュリティ攻撃を試みている侵入者など、許可されていないユーザーは、データを復号化するTDEマスター暗号化キーを持っていないかぎり、ストレージおよびバックアップ・メディアのデータを読み取れません。
親トピック: 透過的データ暗号化のタイプおよびコンポーネント
3.4.2 透過的データ暗号化表領域暗号化の動作
透過的データ暗号化(TDE)表領域暗号化を使用すると、表領域全体を暗号化できます。
暗号化されている表領域に作成されるオブジェクトはすべて自動的に暗号化されます。TDE表領域暗号化は、表の複数の列に機密データが含まれている場合、または個々の列だけでなく表全体を保護する場合に有用です。暗号化が必要な列を判断するために、各表の列を詳細に分析する必要はありません。
また、TDE表領域暗号化は、バルク暗号化とキャッシュを利用して、高度なパフォーマンスを実現します。アプリケーションに対する実際のパフォーマンスの影響は異なることがあります。
TDE表領域暗号化では、暗号化された表領域内に格納されているデータ(REDOデータなど)がすべて暗号化されます。TDE表領域暗号化では、表領域の外部に格納されているデータは暗号化されません。たとえば、BFILE
データは、データベース外部に格納されるため暗号化されません。暗号化された表領域内でBFILE
列を含む表を作成した場合、この特別な列は暗号化されません。
暗号化された表領域内のデータはすべて、暗号化された形式でディスク上に格納されます。データの表示または変更に必要な権限を付与されているユーザーに対しては、データが透過的に復号化されます。データベース・ユーザーやアプリケーションは、特定の表がディスク上で暗号化されているかどうかを認識する必要はありません。ディスク上のデータ・ファイルまたはバックアップ・メディアが盗まれたとしても、データの保護は維持されます。
TDE表領域暗号化では、2層のキー・ベース・アーキテクチャを使用して、表領域を透過的に暗号化(および復号化)します。TDEマスター暗号化キーは、セキュリティ・モジュール(Oracleウォレット、Oracle Key VaultまたはOracle Cloud Infrastructure (OCI)キー管理サービス(KMS))に格納されます。このTDEマスター暗号化キーはTDE表領域暗号化キーの暗号化に使用され、TDE表領域暗号化キーは表領域のデータの暗号化と復号化に使用されます。
図3-1に、TDE表領域暗号化プロセスの概要を示します。
ノート:
暗号化データは、JOIN
やSORT
などの操作中も保護されます。これは、データを一時表領域に移動しても安全であることを意味します。UNDOログとREDOログのデータも保護されます。
TDE表領域暗号化を使用すると、暗号化された表領域のデータに対して索引レンジ・スキャンを実行することもできます。これにより、Exadataハイブリッド列圧縮(EHCC)、Oracle Advanced CompressionまたはOracle Recovery Manager (Oracle RMAN)圧縮が妨げられることはありません。索引レンジ・スキャンは、TDE列暗号化では実行できません。
親トピック: 透過的データ暗号化のタイプおよびコンポーネント
3.4.3 透過的データ暗号化列暗号化の動作
透過的データ暗号化(TDE)列暗号化は、表の列に格納されている、クレジット・カード番号や社会保障番号などの機密データを保護します。
TDE列暗号化では、2層のキー・ベース・アーキテクチャを使用して、機密の表の列を透過的に暗号化および復号化します。TDEマスター暗号化キーは、外部キーストアのOracleウォレットまたはOracle Key Vaultに格納されます。Oracleウォレットは、証明書および暗号化キーのためのPKCS#12コンテナです。これは、TDEウォレット・パスワードから導出されるAES256キーで暗号化されます。このTDEマスター暗号化キーはTDE表キーを暗号化および復号化し、TDE表キーは表の列のデータの暗号化および復号化を行います。
図3-2に、TDE列暗号化プロセスの概要を示します。
図3-2に示すように、TDEマスター暗号化キーは、データベースの外側にある外部セキュリティ・モジュールに格納され、適切な権限を付与されたユーザーのみがアクセスできます。Oracle Databaseでは、この外部セキュリティ・モジュールにOracle TDEウォレット(以前のリリースではTDEウォレット)またはOracle Key Vaultを使用します。このようにTDEマスター暗号化キーを格納することで、不正使用を防止できます。
外部セキュリティ・モジュールを使用すると、通常のプログラム機能と暗号化操作が分離されるため、データベース管理者およびセキュリティ管理者に別個の責務を割り当てることができます。データベース管理者にはキーストア・パスワードを知らせずに、セキュリティ管理者にパスワードの提供を要求できるため、セキュリティが強化されます。
表に暗号化列が含まれる場合、暗号化列の数に関係なく、TDEは単一のTDE表キーを使用します。各TDE表キーは、TDEマスター暗号化キーによって個別に暗号化されます。
親トピック: 透過的データ暗号化のタイプおよびコンポーネント
3.4.4 TDEマスター暗号化キーの格納用のキーストアの動作
暗号化を制御するには、キーストアおよびTDEマスター暗号化キーを使用します。
- TDEマスター暗号化キーのキーストア格納について
Oracle Databaseは、キーおよび資格証明を格納および管理する透過的データ暗号化(TDE)用のキー管理フレームワークを提供します。 - キーストア格納フレームワークの利点
このキー管理フレームワークには、透過的データ暗号化にとっていくつかの利点があります。 - キーストアのタイプ
Oracle Databaseは、TDEウォレット、Oracle Key VaultおよびOracle Cloud Infrastructure (OCI)キー管理システム(KMS)をサポートしています。
親トピック: 透過的データ暗号化のタイプおよびコンポーネント
3.4.4.1 TDEマスター暗号化キーのキーストア格納について
Oracle Databaseは、キーおよび資格証明を格納および管理する透過的データ暗号化(TDE)用のキー管理フレームワークを提供します。
キー管理フレームワークには、TDEマスター暗号化キーを安全に格納するキーストア、および様々なデータベース・コンポーネント用のキーストアおよびキー操作を安全かつ効率的に管理する管理フレームワークが含まれています。
Oracleキーストアにはそれまで使用されたTDEマスター暗号化キーの履歴が格納されますが、これにより、TDEマスター暗号化キーをローテーションしたり、以前のTDEマスター暗号化キーで暗号化されたデータ(受信したOracle Recovery Manager (Oracle RMAN)バックアップの場合など)を復号化できます。
親トピック: TDEマスター暗号化キーの格納用のキーストアの動作
3.4.4.2 キーストア格納フレームワークの利点
キー管理フレームワークは、透過的データ暗号化にとって次の利点があります。
-
データベース管理者とキーを管理するセキュリティ管理者の間で責務を分離できます。キーストアおよびキー操作の管理の責任を負うユーザーに
ADMINISTER KEY MANAGEMENT
またはSYSKM
権限を付与できます。 -
コンプライアンスを容易にします(暗号化キーの追跡、およびキーストア・パスワード・ローテーションやTDEマスター暗号化キーの更新操作などの要件の実装に役立つためです)。ウォレット・パスワードのローテーションおよびTDEマスター・キーの更新操作のどちらにおいても、データベースまたはアプリケーションの停止時間は不要です。
-
キーストア・バックアップ要件を容易にし、これの実施に役立ちます。バックアップとは、パスワードで保護されたTDEウォレットのコピーのことです。これは、すべての重大なキーストア操作に際して作成されます。
ADMINISTER KEY MANAGEMENT
文の必須のWITH BACKUP
句では、パスワードで保護されたウォレットのバックアップが作成されてから、元のパスワードで保護されたウォレットに変更が適用されます。 -
キーストアをOracle Automatic Storage Management (Oracle ASM)ファイル・システムに格納できるようにします。これは、データベース・インスタンスが統一ファイル・システム・ビューを共有するOracle Real Application Clusters (Oracle RAC)環境にとって特に有用です。Oracle RACでは、1つのデータベースに属するすべてのOracle RACインスタンスがアクセス権を持つ共有の場所(Oracle ASMまたはOracle Advanced Cluster File System (ACFS))にOracleウォレットを格納する必要があります。各Oracle RACインスタンスの個別のTDEウォレットはサポートされていません。
-
外部キーストアからファイルシステムベースのTDEウォレットへの逆移行が可能です。このオプションは、TDEウォレットに戻す移行が必要な場合に有用です。
親トピック: TDEマスター暗号化キーの格納用のキーストアの動作
3.4.4.3 キーストアのタイプ
Oracle Databaseは、TDEウォレット、Oracle Key VaultおよびOracle Cloud Infrastructure (OCI)キー管理システム(KMS)をサポートしています。
これらのキーストアは次のとおりです。
-
自動ログインTDEウォレット: 自動ログインTDEウォレットはシステム生成のパスワードによって保護されており、セキュリティ管理者が明示的に開く必要はありません。自動ログインTDEウォレットは、データベースの起動時にアクセスされると自動的に開かれます。自動ログインTDEウォレットは異なるシステム間で使用できます。使用の際に明示的に開く必要のあるウォレットで提供される特別なセキュリティが不要な環境の場合は、自動ログインTDEウォレットを使用できます。自動ログインTDEウォレットは、無人シナリオ(Oracle Data Guardスタンバイ・データベースなど)に最適です。
-
ローカル自動ログインTDEウォレット:ローカル自動ログインTDEウォレットは、作成されたコンピュータに対してローカルな自動ログインTDEウォレットです。ローカル自動ログイン・キーストアは、作成されたコンピュータ以外では開けません。このタイプのキーストアは、無人操作をサポートしながら、追加のセキュリティが必要なシナリオ(つまり、このコンピュータに対する自動ログインの使用を制限すること)に対して通常使用されます。ACFSまたはASMの共有ウォレットのみがサポートされているため、Oracle RAC対応データベースではローカルの自動オープン・ウォレットを使用できません。
-
パスワード保護TDEウォレット: パスワード保護TDEウォレットは、作成したパスワードを使用して保護されます。このタイプのキーストアは、キーが取得または使用される前に開く必要があり、パスワードを使用してこのタイプのキーストアを開く必要があります。
TDEウォレットは、Oracle Automatic Storage Management (Oracle ASM)、Oracle Automatic Storage Management Cluster File System (Oracle ACFS)または通常のファイル・システムに格納できます。
外部キーストア・マネージャには、次のカテゴリがあります。
-
Oracle Key Vault (OKV): Oracle Key Vaultは、地理的に分散されたデータ・センターにデプロイされる可能性がある最大16個のOracle Key Vaultノードを使用したクラスタリングによって、継続的なキー可用性およびスケーラブルなキー管理を提供するソフトウェア・アプライアンスです。これは、Oracle Databaseおよびその多くのデプロイメント・モデル(Oracle RAC、Oracle Data Guard、Exadata、マルチテナント環境)用に構築されます。また、Oracle Key Vaultでは、Oracle GoldenGate暗号化証跡ファイルおよび暗号化ACFSのオンライン・キー管理が提供されます。ExaDB-C@Cおよび自律型データベース (専用) (ADB-C@C)についても動作保証されています。Oracle Key Vaultは、専用ハードウェアにインストールするためのフルスタック・ソフトウェア・アプライアンスとして配布されます。これはOCIマーケットプレイスでも使用でき、OCIテナンシに迅速かつ簡単にデプロイできます。ビデオ(OCIへのOracle Key Vaultのデプロイ)を参照してください。
- OCI Vault - Key Management: Oracle Cloud Infrastructure (OCI) Key Management Service (KMS)は、OCIに格納されているデータの暗号化キーを一元管理および制御できるクラウドベースのサービスです。ストレージ、データベース、Fusion Applicationsなどの他のOCIサービスと暗号化を統合して、これらのサービスに格納されているデータを保護できます。
関連トピック
親トピック: TDEマスター暗号化キーの格納用のキーストアの動作
3.4.5 サポートされる暗号化と整合性のアルゴリズム
サポートされているAdvanced Encryption Standard暗号キー(表領域およびデータベース暗号化キーなど)は、128、192または256ビット長のいずれかにできます。表領域およびデータベースの暗号化では、128ビット長の暗号キーが使用されます。
TDE列暗号化の場合は、特に指定しないかぎり、デフォルトで暗号化の前に平文にsaltが追加されます。暗号化の対象となる索引付けされた列にはsaltを追加できません。索引付けされた列に対しては、SQL ENCRYPT
句でNO SALT
パラメータを選択します。
TDE表領域暗号化およびデータベース暗号化の場合、128ビット長の暗号化キーを使用するAdvanced Encryption Standard (AES128)がデフォルトで使用されます。デフォルトでは、透過的データ暗号化(TDE)列暗号化では、192ビット長の暗号化キーを使用するAdvanced Encryption Standard (AES192)が使用されます。
既存の暗号化列の暗号化アルゴリズムおよび暗号化キーを変更するには、SQL ENCRYPT
句で別のアルゴリズムを設定します。
表3-1に、サポートされる暗号化アルゴリズムを示します。
表3-1 透過的データ暗号化でサポートされる暗号化アルゴリズム
アルゴリズム | キー・サイズ | パラメータ名 |
---|---|---|
Advanced Encryption Standard(AES) |
|
|
ARIA |
|
|
GOST |
256ビット |
|
SEED |
128ビット |
|
Triple Encryption Standard (DES) |
168ビット |
|
TDE列暗号化の整合性保護のために、SHA-1
ハッシュ・アルゴリズムが使用されます。格納に制限がある場合、NOMAC
オプションを使用します。
関連トピック
親トピック: 透過的データ暗号化のタイプおよびコンポーネント
3.5 マルチテナント・オプションによる透過的データ暗号化への影響
マルチテナント環境では、コンテナ・データベース(CDB)全体または個々のプラガブル・データベース(PDB)用のキーストアを構成できます。
Oracle Databaseでは、キーストアの管理に関する次のマルチテナント・モードがサポートされています。
-
統一モードでは、CDBルートおよび関連する統一モードPDBのために1つのキーストアを構成できます。統一モードでは、以前のリリースのマルチテナント環境で行われていた方法と同じ方法でTDEの管理が行われます。
-
分離モードでは、個別のPDB内でキーストアおよびTDEマスター暗号化キーの両方を作成および管理できます。分離モードの個々のPDBでは、それぞれ異なるタイプのキーストアを使用できます。
Oracle Databaseでは、TDEウォレット(ウォレット)およびOracle Key Vaultを使用した分離PDBがサポートされています。Oracle Cloud Infrastructure (OCI)およびOCIキー管理サービス(KMS)のクラウド・ツールは、分離されたPDBをサポートしていません。これには、Oracle Exadata Cloud@Customer (ExaDB-C@C)、Autonomous Database Cloud@Customer (ADB-C@C)およびOracle Exadata Database Service (ExaDB-DおよびExaDB-D@Azure)が含まれています。
サイトの要件によっては、統一モードと分離モードの両方を組み合せて使用できます。たとえば、ほとんどのPDBで1つのタイプのキーストアを使用する場合は、CDBルートでキーストア・タイプを構成できます(統一モード)。このCDB内に別のタイプのキーストアを使用する必要があるPDBが存在する場合は、そのPDB自体に対して必要なキーストアを使用するように構成できます(分離モード)。PDBに対して分離モードを設定すると、CDBに対する統一モードの設定がオーバーライドされます。
キーストアを統合モードまたは分離モードで使用するよう構成するには、事前に初期化パラメータを使用してワンタイム構成を実行する必要があります。統一モードおよび分離モードのキーストアを構成するには、ADMINISTER KEY MANAGEMENT
文を使用します。