このリリースでの『Oracle Database Advanced Securityガイド』の変更点
ここでは、次の内容について説明します。
Oracle Database Advanced Security 18cにおける変更点
Oracle Database 18cの『Oracle Database Advanced Securityガイド』の変更点は次のとおりです。
- 各プラガブル・データベースのキーストアの作成機能
各プラガブル・データベース(PDB)は、コンテナ・データベース(CDB)全体に対して1つのキーストアのみではなく、独自のキーストアを持つことができるようになりました。 - ユーザー定義のマスター暗号化キーの作成機能
このリリースでは、ユーザー定義のマスター暗号化キーを作成する機能が追加されており、これは「Bring Your Own Key(BYOK)」とも呼ばれます。 - Oracle Data Pumpを使用してデータベース・リンクの暗号化されたパスワードを使用する機能
データベース・リンク・パスワードの処理の動作は、このリリースで変更されています。
各プラガブル・データベースのキーストアの作成機能
コンテナ・データベース(CDB)全体に対して1つのキーストアのみが存在するのではなく、各プラガブル・データベース(PDB)が独自のキーストアを持てます。
以前のリリースでは、PDBでは、コンテナ・データベース(CDB)全体でキーストアを共有しており、これには、CDBルートおよびすべてのPDBが含まれていました。このキーストアは、CDBおよびすべてのPDBのマスター暗号化キーを格納していました。このリリースでは、PDBでは、以前のようにCDB全体で同じキーストアを共有するか、または個別のキーストアを持つことができます。この設計により、各個別のキーストアを独立して管理できるため、PDBの間の分離性が高まります。たとえば、各キーストアは、異なるパスワードを使用して保護できます。
ノート:
この機能は、Oracle Exadata、Exadata Cloud at Customer (ExaC@C)およびAutonomous Database Dedicated on Exadata Cloud at Customer (ExaC@CのADB)を含む、Oracle Cloud環境で、およびオンプレミスのエンジニアド・システムを使用してのみ使用できます。この機能のその他の利点は、CDBルート・レベルでキーストアを共有することなく、マルチテナント環境内の各テナント(PDB)によって、独立したキー管理操作を実行できることです。
この機能により、次の新機能が提供されます。
-
マルチテナント環境では、次の2種類のモードがあります。
-
統一モード。キーストアとマスター暗号化キーは、主にCDBルートから管理され、統一モードのPDBからアクセスできます。PDB内で、キーストアは、そのPDBに対してのみ開いたり閉じたりできます。各PDBには、共有キーストアに独自のマスター暗号化キーのセットがあります。
-
分離モード。キーストアおよび暗号化キーが、個々のPDBで管理されます。このようにすることで、各PDBでは、独自のキーストアのタイプを独立して構成し、その構成後、このキーストアを作成および管理できます。
これらの2つのモードを混在させることができます。たとえば、1個のCDBと10個のPDBがあるとします。これらのPDBのうち3つは統一モードで実行し、残りの7つは分離モードで実行できます。この設計は、環境やサイトの要件に応じて、非常に高い柔軟性を発揮します。
これらのモードに対応するために、
ADMINISTER KEY MANAGEMENT
SQL文が2つのモードで異なる動作をするように拡張されました。 -
-
非マルチテナントとテナントの両方の環境で、次の新機能があります。
-
キーストアのパスを指定する
WALLET_ROOT
静的インスタンス初期化パラメータが追加されました。このガイドでは、WALLET_ROOT
は、ソフトウェア・キーストアまたはOracle Key Vaultの構成を指しますが、このパラメータは、エンタープライズ・ユーザー・セキュリティ、Secure Sockets Layer、Oracle XML DB、セキュアな外部パスワード・ストアといったその他の製品のウォレットの場所を指定するためにも使用できます。 -
使用するキーストアのタイプを指定する
TDE_CONFIGURATION
動的インスタンス初期化パラメータが追加されました。このパラメータは、TDEソフトウェア・キーストア、外部キーストアおよびOracle Key Vault用に設定できます。 -
WALLET_ROOT
パラメータが設定されている場合、WALLET_ROOT
により、SQLNET.ENCRYPTION_WALLET_LOCATION
がオーバーライドされます。WALLET_ROOT
が設定されていない場合、SQLNET.ENCRYPTION_WALLET_LOCATION
がデフォルトになります。
-
ユーザー定義のマスター暗号化キーを作成する機能
このリリースでは、ユーザー定義のマスター暗号化キーを作成する機能が追加されており、これは、「Bring Your Own Key(BYOK)」とも呼ばれます。
TDEマスター暗号化キーを常にデータベースで生成する必要がなくなり、Oracle Databaseでは、データベース外で生成されたマスター暗号化キーの使用がサポートされるようになりました。
ユーザー定義のキーを作成するには、ADMINISTER KEY MANAGEMENT SET [ENCRYPTION] KEY
文またはADMINISTER KEY MANAGEMENT CREATE [ENCRYPTION] KEY
文を使用して、マスター暗号化キーを作成する際に、独自のマスター・キーの識別値を指定します。この機能拡張は、PKCS#11互換キー・マネージャではなく、ソフトウェア・キーストアで使用されるマスター暗号化キーにのみ適用されます。ただし、Oracle Key VaultではOracle Key Vaultリリース12.2.0.6から「Bring Your Own Key(BYOK)」が導入され、Oracle Databaseリリース12.1.0.2以降のすべてのデータベース・バージョンではこれらのキーをアクティブ化できます。
Oracle Database Advanced Security 12c リリース2 (12.2)における変更点
Oracle Database 12c リリース2 (12.2)の『Oracle Database Advanced Securityガイド』における変更点は次のとおりです。
- 既存の表領域の暗号化およびデータベースの完全暗号化の機能
このリリースからは、既存の表領域の暗号化およびデータベースの完全暗号化が可能になります。 - 追加でサポートされる暗号化アルゴリズム
列および表領域の暗号化に、AESおよびDES暗号化標準の他に、ARIA、GOSTおよびSEED暗号化アルゴリズムを使用できるようになりました。 - ソフトウェア・キーストア操作を強制する機能
自動ログイン・キーストアが使用されているかソフトウェア・キーストアまたは外部キーストアが閉じていると実行できなかったキーストア操作を、強制的に実行できるようになりました。 - ソフトウェア・キーストア・パスワードに外部ストアを使用する機能
外部キーストアを使用するようにデータベースを構成して、SQL*PlusコマンドラインからのTDEソフトウェア・キーストアまたは外部キーストアへのパスワードを隠すことができるようになりました。 - Oracle Key Vaultをキーストアとして指定する新しい方法
サード・パーティのハードウェア・セキュリティ・モジュールの代替として、キーストアにOracle Key Vaultを指定できるようになりました。 - 様々な実行時条件に基づいてデータをリダクションする機能
同じ表またはビュー内の異なる列に対して、異なるデータ・リダクション・ポリシー式を定義および関連付けることができるようになりました。 - データベース内でデータ・リダクション・ポリシー式を集中的に管理する機能
この新しい機能は、名前付きOracle Data Redactionのポリシー式に適用されます。 - リダクション済の値にNULLを使用する機能
このリリースからは、リダクション済の値をNULL
にできます。 - 非構造化データのリダクションに対する拡張サポート
CLOB
およびNCLOB
データ型の列に、正規表現ベースのリダクション(DBMS_REDACT.REGEXP
)ポリシーを定義できるようになりました。
既存の表領域の暗号化およびデータベースの完全暗号化の機能
このリリースからは、既存の表領域の暗号化およびデータベースの完全暗号化が可能になります。
以前のリリースでは、新しいアプリケーション表領域のみ暗号化できました。しかしながら、この新機能では、オフラインまたはオンラインの方法で既存のアプリケーション表領域を暗号化できます。データベースを暗号化するには、オンラインの方法を使用して、SYSTEM
やSYSAUX
などのOracle提供の表領域を暗号化します。オフラインでの表領域暗号化は、Oracle Database 11gリリース2 (11.2.0.4)およびOracle Database 12gリリース1 (12.1.0.2)での表領域に使用できます。暗号化および復号化の操作を並列で実行できます。また、Oracle Data Guard環境で暗号化を実行することでアプリケーションの停止時間をData Guardスイッチオーバーの実行にかかる時間のみにできます。将来の表領域がすべて自動的に暗号化されるように構成できるため、Oracle Cloud環境において役立ちます。
追加でサポートされる暗号化アルゴリズム
列および表領域の暗号化に、AESおよびDES暗号化標準の他に、ARIA、GOSTおよびSEED暗号化アルゴリズムを使用できるようになりました。
これらの新しい暗号化標準の主な利点は、それぞれの国の国内標準を満たしている点です。
-
ARIAは、AESと同じブロック・サイズを使用します。軽量の環境向け、およびハードウェアでの実装向けに設計されています。ARIAは韓国で使用される標準に適合しています。
-
GOSTは、多数のラウンドおよびシークレットSボックスを持つこと以外は、DESと非常に似ています。GOSTはロシアで使用される標準に適合しています。
-
SEEDは、いくつかの標準プロトコル(S/MIME、TLS/SSL、IPSecおよびISO/IEC)で使用されます。SEEDは韓国で使用される標準に適合しています。
ソフトウェア・キーストア操作を強制する機能
自動ログイン・キーストアが使用されているかソフトウェア・キーストアまたは外部キーストアが閉じていると実行できなかったキーストア操作を、強制的に実行できるようになりました。
以前のリリースでは、多くのキーストア操作において、操作の実行前にソフトウェア・キーストアまたは外部キーストアを手動で開く必要がありました。このリリースでは、ADMINISTER KEY MANAGEMENT
文をFORCE KEYSTORE
句を含めて1回実行すると、これらの2つのアクションを実行できます。
FORCE KEYSTORE
句を使用できる操作は次のとおりです。キーストア・パスワードの変更。暗号化キーの作成、使用、キー更新、タグ付け、インポート、エクスポート、移行または逆移行。キーストアのオープンまたはバックアップ。シークレット・キーストアの追加、更新または削除。
ソフトウェア・キーストア・パスワードに外部ストアを使用する機能
外部キーストアを使用するようにデータベースを構成して、SQL*PlusコマンドラインからのTDEソフトウェア・キーストアまたは外部キーストアへのパスワードを隠すことができるようになりました。
この機能を使用すると、キーストア・パスワードをSQL*Plusコマンドラインに非表示にできます。これにより、データベース管理者とキーストア管理者との職務分離が促進されます。この機能を使用するには、まず、ADMINISTER KEY MANAGEMENT ADD SECRET 'Oracle_Key_Vault_password' FOR CLIENT 'OKV_PASSWORD' TO [LOCAL] AUTO_LOGIN KEYSTORE '/existing/directory'
という新しい構文で既存のディレクトリに自動ログイン・ウォレットを作成します。次に、EXTERNAL_KEYSTORE_CREDENTIAL_LOCATION
初期化パラメータを、自動ログイン・ウォレットが作成されたディレクトリに設定します。その後、キーストアのオープン、クローズまたはバックアップ、シークレットの追加、更新または削除、暗号化キーの作成、使用、キー更新、タグ付け、インポートまたはエクスポートの操作について、ADMINISTER KEY MANAGEMENT .... IDENTIFIED BY password
文内のパスワードをEXTERNAL STORE
に置換できます。
Oracle Key Vaultをキーストアとして指定する新しい方法
サード・パーティのハードウェア・セキュリティ・モジュールの代替として、キーストアにOracle Key Vaultを指定できるようになりました。
Oracle Key Vaultをキーストアとして構成するには、sqlnet.ora
ファイルのENCRYPTION_WALLET_LOCATION
パラメータのMETHOD
設定をOKV
を指すように編集します。
様々な実行時条件に基づいてデータをリダクションする機能
同じ表またはビュー内の異なる列に対して、異なるデータ・リダクション・ポリシー式を定義および関連付けることができるようになりました。
この機能により、データ・リダクション・ポリシーの作成者に対する柔軟性が向上します。
たとえば、この機能を使用すると、1つのデータ・リダクション・ポリシー式を複数のデータ・リダクション・ポリシーと共有できるようになります。
ポリシー式を作成するときに、これを既存のデータ・リダクション・ポリシーに含まれる表またはビューの列に適用できます。ポリシー式を変更した場合、その変更は関連付けられた表またはビューの列をリダクションするすべてのデータ・リダクション・ポリシーに反映されます。
データベース内でデータ・リダクション・ポリシー式を集中的に管理する機能
この新しい機能は、名前付きOracle Data Redactionのポリシー式に適用されます。
この機能により、ポリシー式のメンテナンスと管理が容易になります。名前付きポリシー式を変更すると、変更はその式を使用するデータベース内のすべての表およびビューに自動的に適用されます。
リダクション済の値にNULLを使用する機能
このリリースからは、リダクション済の値をNULL
にできます。
たとえば、この機能を使用してデータを隠すことができます。
Oracle Data Redactionポリシーを定義する際に、function_type
パラメータをDBMS_REDACT.NULLIFY
に設定して、リダクション済の値が常にNULL
になるようにできます。