Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

マネージド・キー暗号化

この章は、以下のトピックで構成されています。

Note:

この章では、管理者という用語はシステム全体の管理者ではなく、キー管理者を意味します。

マネージド・キー暗号化について

Caché にはマネージド・キー暗号化のサポートが含まれています。これはデータを安全な状態で保護する一連のテクノロジです。これらのテクノロジには以下のものがあります。

  • ブロック・レベルのデータベース暗号化 (単純にデータベース暗号化としても知られています) — すべてのデータが暗号化されるデータベースの作成と管理を可能にする管理ツールのセット。そのようなデータベースは、管理ポータルで管理されます。

  • アプリケーションのデータ要素暗号化 (単純にデータ要素暗号化としても知られています) — ディスクにおける格納や取得の際に個々のデータ要素 (特定のクラス・プロパティなど) の暗号化および解読を行うコードをアプリケーションで含めることができるようにする、プログラムによるインタフェース。

  • 暗号化キー管理 (単純にキー管理としても知られています) — データベースまたはデータ要素のいずれかを暗号化するために使用されるキーを作成および管理するための一連のツール。

データベースまたはデータ要素のいずれかを暗号化するためのキーは、データ暗号化キーとして知られており、単純にキーとしても知られています (コンテキストが明白な場合)。各インスタンスは、データ暗号化キーをデータベース暗号化の場合は同時に 4 つ、データ要素暗号化の場合は同時に 4 つまで有効にできます。キーを有効化すると、暗号化と解読の処理で使用できます。

データベース暗号化の場合、キーは次の 2 つの方法で格納できます。

  • 標準マシンのキー・ファイル内

  • Key Management Interoperability Protocol (KMIP) を介してキーにアクセスできる専用のハードウェア上

データ要素暗号化の場合、キーはキー・ファイル内に格納されます。

Note:

データベース暗号化とデータ要素暗号化のためにキー・ファイル内のキーを同時に使用することができます。

インスタンスでディスクに対して書き込みや読み取りを行う際、Caché は AES (Advanced Encryption Standard) を使用して、暗号化と解読を行います。データベースの場合、Caché では固定長のブロックで書き込みと読み取りを行い、単一ラベル・ブロックを除き、データベース全体が暗号化されます。この暗号化された内容には、データ自体、インデックス、ビットマップ、ポインタ、割り当てマップ、インクリメンタル・バックアップ・マップが含まれます。データ要素の場合、指定されたデータのみが暗号化され、暗号化キーの一意の識別子は暗号化データと共にディスクに格納されます。

暗号化と解読は最適化されていて、どのような Caché プラットフォームでも、暗号化と解読による影響は少なくて予測可能です。(この章には、Caché のデータベース暗号化機能が、データベース自体と関連しながらも分離している機能にどのような影響を及ぼすかについて説明するセクションもあります)。

キー管理タスク

キーデータ暗号化キーの略称で、128 ビット、196 ビット、または 256 ビットのビット文字列です。これは、データの暗号化や解読を可逆的に行う暗号化アルゴリズムで使用されます。それぞれのキーには一意の識別子 (GUID としても知られています) があり、Caché はこれをキー管理アクティビティの一部として表示します。

キー管理とは、キーの作成、キーの有効化、キーの無効化、さまざまなアクティビティの既定のキーの割り当て、およびキーの削除に関連する一連のアクティビティのことです。これには、キーの格納に関連する管理アクティビティも含まれます。キーの格納は、以下の 2 つの方法のいずれかで行うことができます。

  • キー・ファイル内 — キー・ファイルは、最大 4 つのキーの暗号化されたコピーを保持するファイルです。キー・ファイル管理者は、キーを解読して使用するためのパスワードを提供します。

  • KMIP サーバ上 — KMIP サーバは、Key Management Interoperability Protocol (KMIP) を使用して通信を送受信できるキー管理サーバです。KMIP サーバは、さまざまなサードパーティ・ベンダーから入手できます。これらのベンダーは、KMIP サーバを一般的に構成および使用するための指示を提供します。

キー管理タスクは、キー・ファイルまたは KMIP の使用に特有のものである場合や、共通のものである場合があります。この章では、以下について説明します。

キー・ファイルでのキーの管理

キー・ファイルとは、1 つ以上のデータ暗号化キーの暗号化コピーを保持するファイルです。キー・ファイルの管理は、キー・ファイルにおける管理者の追加や削除など、キー・ファイル自体に関連するアクティビティのセットです。特定のキー・ファイル内では、すべての管理者がすべてのキーにアクセスできます。すべてのキーは管理者情報と共に暗号化された形式で格納されます。各データ暗号化キーは、マスタ・キーを使用して個別に暗号化されます。キー・ファイルの管理者ごとに、一意の暗号化されたマスタ・キーのコピーがあり、これはキー暗号化キーを使用して暗号化されます。各キー暗号化キーは個々のキー管理者のパスワードから導出されます。暗号化タスクでは有効なデータ暗号化キーが必要であり、Caché ではそのキーを解読して有効化するために、管理者のユーザ名とパスワードが必要です。

キー・ファイルを操作する際のタスクは次のとおりです。

Note:

ジャーナル・ファイルまたは CACHETEMP および CACHE データベース用の暗号化を構成する場合、これは Caché の起動構成の一部です。詳細は、“データベース暗号化の起動設定の構成” のセクションを参照してください。

暗号化キー・ファイル形式の注意事項

バージョン 2015.1 より、Caché では、バージョン 2.0 キー・ファイルであるキーを複数 (最大 4 個) 保持する暗号化ファイルのサポートを導入しました(元のキー・ファイル形式であるバージョン 1.0 はキーを 1 つのみ保持します)。バージョン 2.0 キー・ファイルは優先される形式で、キー・ファイルの作成を行う際の既定の形式です。バージョン 1.0 キー・ファイルをバージョン 2.0 に変換するには、^EncryptionKey 文字ベースのユーティリティを使用します。

Note:

起動時にインスタンスで複数のキーを使用している場合 (ジャーナル・ファイル、監査データベース、およびその他のデータベースなどで)、これらのキーはすべて、単一のバージョン 2.0 のキー・ファイル内にある必要があります。これにより、インスタンスの起動時にこれらをすべて使用できるようになります。

キー・ファイルの作成

暗号化キー・ファイルを作成すると、キーが 1 つ含まれます。暗号化キー・ファイルおよびその最初のキーを作成するには:

  1. 管理ポータルのホーム・ページで、[暗号キー作成] ページ ([システム管理] > [暗号化] > [新規暗号キー・ファイル作成]) に移動します。

  2. [暗号キー作成] ページで、以下の値を指定します。

    • [キー・ファイル] — 暗号化キーを格納するファイルの名前。これは、絶対パス名と相対パス名のいずれでも指定できます。

      絶対ファイル名を入力すると、キー・ファイルは指定したドライブの指定したディレクトリに配置されます。相対ファイル名を入力すると、キー・ファイルは Caché インスタンスの管理者ディレクトリ (Caché のインストール先ディレクトリの下、つまり <install-dir>/mgr/) に置かれます。また、このファイル名には拡張子が付加されないので、ファイル MyKey はそのままの名前で保存されます。このフィールドの右にある [参照] ボタンを使用して、キー・ファイルが作成されるディレクトリを選択することもできます (既存のファイル名を指定した場合、そのファイルは上書きされず、保存に失敗します)。

      WARNING:

      <install-dir>/Mgr/Temp にキーを格納すると、Caché が次回起動するときにすべて削除されます。したがって、<install-dir>/Mgr/Temp にはキーを絶対に格納しないでください。

    • [管理者名] — キーを有効にできる管理者の名前。管理者を 1 人以上指定する必要があります。

      データベース暗号化機能と Caché セキュリティとは互いに独立しているので、Caché セキュリティで設定されていないユーザ名をここで指定してもかまいません。既定では、最初に設定した管理者名が現在のユーザ名になっています。管理者名には、Unicode 文字を使用できません。

    • [パスワード] — このユーザのパスワード。

      データベース暗号化機能と Caché セキュリティとは互いに独立しているので、Caché セキュリティでユーザが使用しているものではないパスワードを、ここで指定してもかまいません。このパスワードは、ディスクのどこにも格納されません。したがって、管理者は、この情報を紛失しないように注意する必要があります。

      管理者パスワードの強固さに関するガイドラインに従ったパスワードとすることをお勧めします。有効なパスワードを第三者が推測できる場合、そのパスワードのポリシーは脆弱すぎます。また、このパスワードに Unicode 文字を使用することはできません。

      Important:

      キー管理者のパスワードは、ディスク上にはどこにも保存されません。この情報が失われないようにすることは、キー管理者の責任です。

    • [パスワード確認] — 確認のために、このユーザのパスワードをもう一度入力します。

    • [暗号化セキュリティ・レベル] — キーの長さ。選択肢には、128 ビット、192 ビット、および 256 ビットがあります。

    • [キー・ファイル形式] — 以下のいずれか

      • [1.0 - 単一のキーのみ] — 元のデータ暗号化キーの形式

      • [2.0 - 単一または複数のキー] — (既定) 現在のデータ暗号化キーの形式

      Note:

      2.0 のキー形式を使用することをお勧めします。

    • [キー説明] — 2.0 のキー形式のキーのみ。最初に作成され、キー・ファイルに格納されているキーを説明するテキスト。このテキストは [キー・ファイルで定義されている暗号化キー] テーブルの [説明] 列に表示されます。

  3. ページの上部の [保存] をクリックして、キー・ファイルをディスクに保存します。

  4. キーを作成したら、“暗号化データのアクセスにおける偶発的な損失からの保護” のセクションの指示に従い、新たに更新されたキー・ファイルのバックアップ・コピーを作成および保存します。

これで単一のデータベース暗号化キーおよび単一の管理者を持つキー・ファイルが作成されます。ページにはキーの ID が表示されます。その文字列は、9158980E-AE52-4E12-82FD-AA5A2909D029 などのようになります。キー ID は、Caché がここやその他のページに表示するキーの一意の識別子です。その場所に関係なく、キーを追跡する手段を提供します。キー・ファイルを保存するとどこへでも移動できる (つまり、Caché ではキー・ファイルの場所によって追跡することはできない) ため、これは重要です。

キーはマスタ暗号化キーを使用して暗号化されます。また、マスタ暗号化キーの単一コピーがあり、これは管理者のキー暗号化キー (KEK) を使用して暗号化されます。“キー・ファイルへのキーの追加” のセクションの指示に従い、キー・ファイルにキーを追加できます。“キー・ファイルへの管理者の追加” のセクションの指示に従い、キー・ファイルに管理者を追加できます。

WARNING:

キー・ファイルのバックアップ・コピーを作成および保存することを強くお勧めします。データベース暗号化キーを作成するたびに、それは再作成が不可能な一意のキーになります。同じ管理者とパスワードを使用して新しいキーを作成しても、まったく別の一意なキーが作成されます。まだ有効にしていないキーを紛失し、それをリカバリできない場合は、そのキーで保護されている暗号化データベースを読み取ることはできなくなり、そのデータは永久に失われます

キー・ファイルへのキーの追加

キー・ファイルを使用する場合、キーを作成するには異なる 2 つの方法があります。

  • キー・ファイルの作成。これにより、Caché でキーが作成され、ファイルに配置されます。キー・ファイルを作成するには、“キー・ファイルの作成” のセクションを参照してください。

  • 既存のキー・ファイルへのキーの追加。このセクションで説明します。

キーを既存のキー・ファイルに追加するには:

  1. 管理ポータルのホーム・ページで、[暗号化キー・ファイルの管理] ページ ([システム管理] > [暗号化] > [暗号化キー・ファイルの管理]) に移動します。

  2. [暗号化キー・ファイルの管理] ページの [キー・ファイル] フィールドで、キーを追加および格納するキー・ファイル名を入力し、[OK] をクリックします。これにより、そのキー・ファイルの情報が表示されます。塗りつぶされた領域の下部で、[キー・ファイルで定義されている暗号化キー] テーブルにキー・ファイル内の 1 ~ 4 つのキーのリストが表示されます。ファイル内のキーが 3 つ以下である場合、新しいキーを作成してファイルに追加できます。

  3. [キー・ファイルで定義されている暗号化キー] テーブルの下にある [追加] ボタンをクリックして、キーをキー・ファイルに追加します。これにより、[新しい暗号化キーの追加] 画面が表示されます。

  4. [新しい暗号化キーの追加] 画面で、以下のフィールドに値を入力します。

    • [既存の管理者名] — キー・ファイルに関連付けられた管理者の名前 (ファイルに関連付けられた管理者は、[暗号化キー・ファイルの管理] ページの [キー・ファイルで定義されている管理者] テーブルに表示されます)。

    • [既存の管理者パスワード] — この管理者のパスワード。

    • [説明] — キーを説明するテキスト。このテキストは [キー・ファイルで定義されている暗号化キー] テーブルの [説明] 列に表示されます。

  5. [OK] をクリックして、キーをキー・ファイルに保存します。これにより、[キー・ファイルで定義されている暗号化キー] テーブルのキーの情報が表示されます。これにはキーの ID が含まれ、その文字列は、9158980E-AE52-4E12-82FD-AA5A2909D029 などのようになります (キー ID は、Caché がここやその他のページに表示するキーの一意の識別子です。その場所に関係なく、キーを追跡する手段を提供します。キー・ファイルを保存するとどこへでも移動できる (つまり、Caché ではキー・ファイルの場所によって追跡することはできない) ため、これは重要です)。

  6. 新しいキーをキー・ファイルに追加したら、“暗号化データのアクセスにおける偶発的な損失からの保護” のセクションの指示に従い、新たに更新されたキー・ファイルのバックアップ・コピーを作成および保存します。

WARNING:

キー・ファイルのバックアップ・コピーを作成および保存することを強くお勧めします。データベース暗号化キーを作成するたびに、それは再作成が不可能な一意のキーになります。同じ管理者とパスワードを使用して新しいキーを作成しても、まったく別の一意なキーが作成されます。まだ有効にしていないキーを紛失し、それをリカバリできない場合は、そのキーで保護されている暗号化データベースを読み取ることはできなくなり、そのデータは永久に失われます

キー・ファイルからのキーの削除

キー・ファイルからキーを削除するには:

  1. 管理ポータルのホーム・ページで、[暗号化キー・ファイルの管理] ページ ([システム管理] > [暗号化] > [暗号化キー・ファイルの管理]) に移動します。

  2. [暗号化キー・ファイルの管理] ページの[キー・ファイル] フィールドで、キーを削除するキー・ファイル名を入力し、[OK] をクリックします。これにより、そのキー・ファイルの情報が表示されます。塗りつぶされた領域の下部で、[キー・ファイルで定義されている暗号化キー] テーブルにキー・ファイル内の 1 ~ 4 つのキーのリストが表示されます。ファイル内にキーが複数ある場合、ファイルからキーを削除できます。

  3. キーのテーブルで、キーの行にある [削除] をクリックして、そのキーを削除します。[削除] をクリックすると、削除の操作を確認するページが表示されます

    キーの [削除] ボタンが使用できない場合、これは、そのキーがファイルの既定の暗号化キーまたはジャーナル暗号化キーであるためです。キーを削除するには、まず別のキーがファイルの既定の暗号化キーまたはジャーナル暗号化キーであることを、[既定に設定] または [ジャーナル設定] をクリックして指定します。

  4. 確認ダイアログで [OK] をクリックして、ファイルからキーを削除します。

WARNING:

キーの唯一の既存のコピーを削除する前に、そのキーを使用する既存の暗号化されたコンテンツが絶対ないことを確認することが重要です。データを解読するために必要なキーのコピーがない場合、そのキーによって保護された暗号化されたデータは読めなくなり永久に失われます

キー・ファイルへの管理者の追加

管理者を既存のキー・ファイルに追加するには:

  1. 管理ポータルのホーム・ページで、[暗号化キー・ファイルの管理] ページ ([システム管理] > [暗号化] > [暗号化キー・ファイルの管理]) に移動します。

  2. [キー・ファイル] フィールドで、開くキー・ファイルのパスとファイル名を入力し、[OK] をクリックします。[参照] ボタンを使用してキーを探すこともできます。ポータルでキー・ファイルを開くと、ファイルにリストされた管理者が記載されたテーブルが表示されます。管理者名は、定義されたときの文字に関係なく、すべて大文字で表示されます。

  3. 管理者のテーブルで [追加] をクリックし、新しい管理者を追加します。以下のフィールドがあるページが表示されます。

    • [既存の管理者名] — 既にファイルにある管理者の名前。

    • [既存の管理者パスワード] — ファイルに既に存在する管理者に関連付けられたパスワード。

    • [新しい管理者名] — ファイルに追加される新しい管理者の名前。暗号化機能と Caché セキュリティとは互いに独立しているので、Caché セキュリティで設定されていない管理者名をここで指定してもかまいません。このユーザ名に Unicode 文字を使用することはできません。

    • [新しい管理者パスワード] — 新しい管理者のパスワード。管理者パスワードの強固さに関するガイドラインに従ったパスワードとすることをお勧めします。また、このパスワードは Unicode 文字を使用することはできません。暗号化機能と Caché セキュリティとは互いに独立しているので、Caché セキュリティでユーザが使用しているものではないパスワードを、ここで指定してもかまいません。

    • [新しい管理者パスワードの確認] — 新しい管理者のパスワードの確認。

    これらのフィールドを入力して、[OK] をクリックします。これで新しい管理者がキー・ファイルに追加されました。

新しい管理者がキー・ファイルに追加されると、キー・ファイルをコピーし、各コピーを安全な場所に格納することが必要となる場合があります。さらに、キーごとに複数の管理者を作成し、そのいずれか 1 人の名前とパスワードを書面に記録して、耐火金庫などの安全な場所に保管することを強くお勧めします。ただし、ここでキー・ファイルのコピーを作成しても、後で管理機能として新しく管理者を追加すると、新しい管理者のあるキー・ファイルのコピーのみが最新のものになります。

Note:

新しい管理者をキー・ファイルに追加すると、管理者のパスワードは、ファイルに作成された管理者名のエントリに永久に関連付けられます。割り当てたパスワードは変更できません。新しいパスワードを割り当てるには、その管理者名のエントリをキー・ファイルから削除した後、同じ管理者名と新しいパスワードで新しいエントリを作成します。

キー・ファイルからの管理者の削除

管理者をキー・ファイルから削除するには:

  1. 管理ポータルのホーム・ページで、[暗号化キー・ファイルの管理] ページ ([システム管理] > [暗号化] > [暗号化キー・ファイルの管理]) に移動します。

  2. [キー・ファイル] フィールドで、キーのパスとファイル名を入力して [OK] をクリックします。ファイルにリストされた管理者を含むテーブル (およびファイル内の暗号化キーのテーブル) が表示されます。

  3. 管理者のテーブルで、管理者の横にある [削除] をクリックし、そのキーの管理者を削除します。[削除] をクリックすると、削除の操作を確認するページが表示されます (ファイル内に管理者が 1 人のみの場合、その管理者を削除することはできないため、[削除] ボタンはありません)。

  4. [OK] をクリックして、ファイルから管理者を削除します。

キー・ファイルからのデータベース暗号化キーの有効化

Caché では、データベース暗号化で同時に 4 つまでの有効なキーがサポートされています。キー・ファイルからデータベース暗号化キーを有効化するには:

  1. 管理ポータルのホーム・ページで、[データベース暗号化] ページ ([システム管理] > [暗号化] > [データベース暗号化]) に移動します。有効になっているキーがある場合、ページにはそれらをリストするテーブルが表示されます。

  2. このページで、[キーを有効にする] をクリックします。これによって、キーを有効にするためのフィールドが表示されます

  3. 以下のフィールドの値を入力します。

    • [キー・ファイル] — 暗号化キーを保存するファイルの名前。絶対ファイル名を入力すると、指定したドライブの指定したディレクトリにあるキー・ファイルが検索されます。相対ファイル名を入力すると、Caché インスタンスの管理者ディレクトリ (Caché のインストール・ディレクトリの下、つまり <install-dir>/mgr/) から、キー・ファイルの検索が開始されます。[参照] ボタンを使用してキー・ファイルを開くダイアログを表示することもできます。

    • [管理者名] — このキーが作成されたときまたは編集されたときに指定された、このキーの管理者の名前。

    • [パスワード] — 指名した管理者に対して指定されているパスワード。

  4. [有効化] ボタンをクリックします。

Caché により、指定したファイル内のすべてのキーの有効化が試行されます。スロットが不足していて、ファイル内のすべてのキーを有効にできない場合、できる限り多くのキーが開かれます。

キーが有効化されると、有効なキーのテーブルが表示されます。Caché により有効化されたキーそれぞれについて、有効なキーのテーブルにキーが追加され、そのキーの識別子が表示されます。有効なキーそれぞれに対し、以下のさまざまな操作も実行できます。

Note:

キーのテーブルにファイルやパスの情報は表示されません。キー・ファイルが作成されると、十分な特権のあるオペレーティング・システム・ユーザはキー・ファイルを移動できるので、Caché ではオペレーティング・システムの場所に関して正確な情報がなくなる場合があり、信頼できるのは、メモリにある有効なキーの GUID の正確性のみとなるためです。2 番目以降のキーを有効化するには、まず、現在有効化されているキーの識別子をメモしてください。これによって新しいキーを識別できます。

キー・ファイルからのデータ要素暗号化キーの有効化

Caché では、データ要素暗号化で一度に 4 つまでの有効なキーがサポートされています。データ要素暗号化キーを有効にするには:

  1. 管理ポータルのホーム・ページで、[データ要素暗号化] ページ ([システム管理] > [暗号化] > [データ要素暗号化]) に移動します。有効になっているキーがある場合、ページにはそれらをリストするテーブルが表示されます。

  2. [データ要素暗号化] ページで、[キーを有効にする] を選択します。これによって、キーを有効にするためのフィールドが表示されます。 キー有効化が利用できない場合、データ要素暗号化キーは既に 4 つ有効になっています。

  3. 以下のフィールドの値を入力します。

    • [キー・ファイル] — 暗号化キーを保存するファイルの名前。絶対ファイル名を入力すると、指定したドライブの指定したディレクトリにあるキー・ファイルが検索されます。相対ファイル名を入力すると、Caché インスタンスの管理者ディレクトリ (Caché のインストール・ディレクトリの下、つまり <install-dir>/mgr/) から、キー・ファイルの検索が開始されます。

    • [管理者名] — このキーが作成されたときまたは編集されたときに指定された、このキーの管理者の名前。

    • [パスワード] — 指名した管理者に対して指定されているパスワード。

  4. [有効化] ボタンをクリックします。

Caché により、指定したファイル内のすべてのキーの有効化が試行されます。スロットが不足していて、ファイル内のすべてのキーを有効にできない場合、できる限り多くのキーが開かれます。

キーが有効化されると、有効なキーのテーブルが表示されます。Caché により有効化されたキーそれぞれについて、有効なキーのテーブルにキーが追加され、そのキーの識別子が表示されます。

Note:

キーのテーブルにファイルやパスの情報は表示されません。キー・ファイルが有効になると、十分な特権のあるオペレーティング・システム・ユーザはキーを移動できるので、Caché ではオペレーティング・システムの場所に関して正確な情報がなくなる場合があり、信頼できるのは、メモリにある有効なキーの GUID の正確性のみとなるためです。2 番目以降のキーを有効化するには、まず、現在有効化されているキーの識別子をメモしてください。これによって新しいキーを識別できます。

データ要素暗号化キーの無効化

データ要素暗号化キーを無効にするには:

  1. 管理ポータルのホーム・ページで、[データ要素暗号化] ページ ([システム管理] > [暗号化] > [データ要素暗号化]) に移動します。有効になっているキーがある場合、ページにはそれらをリストするテーブルが表示されます。

  2. 有効になっているキーのテーブルで、無効にするキーの [無効化] をクリックします。操作を確認するダイアログが表示されます。

  3. 確認ダイアログで [OK] をクリックします。

[データ要素暗号化] ページが再び表示されると、無効化されたキーの行はテーブルに存在しなくなります。

複数インスタンス・テクノロジを使用したキーとキー・ファイルの管理

Caché のクラスタ内で暗号化データベースやジャーナル・ファイルを使用している場合、クラスタのすべてのノード上の Caché インスタンスは、単一のデータベース暗号化キーを共有する必要があります。

Caché ミラーに属しているインスタンスに対してジャーナル・ファイルの暗号化を有効にする前に、"高可用性ガイド "の “ミラーリング” の章にある "ミラー内ジャーナル暗号の有効化" を参照して重要な情報を確認してください。(データベース暗号化についてはミラーリングに関する要件はありません。)

単一のキーの共有を有効にする方法は 2 つあります。

  • すべてのインスタンスは、1 つのクラスタ・ノードまたはミラー・メンバにある単一のキー・ファイルを共有しています。

    この場合、キー・ファイルの単一のコピーを変更すれば、すべてのノードまたはメンバでその変更を認識できます。ただし、キー・ファイルを保持しているホストが他のノードまたはメンバで利用できなくなると、キー・ファイルからキーを読み取れず、Caché インスタンスを正しく再起動できなくなる可能性があります。

  • キー・ファイルのコピーをクラスタ・ノードごとまたはミラー・メンバごとに保持します。

    この場合、キー・ファイルを変更したら、同じキーを含むキー・ファイルのコピーを他のすべてのノードまたはメンバに配布します。 この方法では、(通常は負荷が小さいはずの) キー・ファイルを管理する負担が大きくなりますが、各 Caché インスタンスで起動時にキーを確実に利用できます。

Important:

キー・ファイルが単一または複数のどちらの場合でも、データベース暗号化キー自体はすべてのインスタンスに共通です。

単一のキー・ファイルの使用

単一のキー・ファイルを使用するには:

  1. データベース暗号化キーを 1 台のノードまたはメンバ上に作成します。この手順の詳細は、“キー・ファイルの作成” のセクションを参照してください。

  2. 暗号化データのアクセスにおける偶発的な損失からの保護” のセクションの指示に従い、このキーを保護します。

    Caution:

    これらの予防措置を怠ると、暗号化データベースまたはジャーナル・ファイルを読み取れず、そのデータが永久に失われる結果になることがあります。

  3. 無人で起動するように各 Caché インスタンスを構成して、Caché にキー・ファイルのパスを提供します。この手順の詳細は、“無人でキーを有効化する起動の構成” のセクションを参照してください。

すべての Caché インスタンスは同じキーを使用するため、暗号化されたデータをインスタンス間で読み取れます。 キー・ファイルを変更すると、すべてのインスタンスでその変更を認識できます。

複数のキー・ファイルの使用

キー・ファイルのコピーを複数使用するには:

  1. データベース暗号化キーを 1 台のノードまたはメンバ上に作成します。この手順の詳細は、“キー・ファイルの作成” のセクションを参照してください。

  2. 暗号化データのアクセスにおける偶発的な損失からの保護” のセクションの指示に従い、このキーを保護します。

    Caution:

    これらの予防措置を怠ると、暗号化データベースまたはジャーナル・ファイルを読み取れず、そのデータが永久に失われる結果になることがあります。

  3. キー・ファイルのコピーを残りのノードまたはメンバごとに作成します。

  4. ノードまたはメンバごとに次の手順を実行します。

    1. キー・ファイルのコピーを取得して、マシン上の安全で安定した場所にそのコピーを置きます。

    2. 無人で起動するように各 Caché インスタンスを構成します。この手順の詳細は、“無人でキーを有効化する起動の構成” のセクションを参照してください。

キー・ファイルの各コピーには同じキーが含まれるため、すべての Caché インスタンス間で暗号化されたデータを読み取ることができます。 各 Caché インスタンスのマシン上にキー・ファイルがあるので、Caché の再起動時に確実にキー・ファイルを使用できます。管理者の追加や削除などでキー・ファイルを変更した場合は、各マシンにそのキー・ファイルの新しいコピーを配布して、(古いコピーと同じ場所に新しいコピーを置いた場合でも) 新しいコピーを使用して無人で起動するように各 Caché インスタンスを再構成する必要があります。

Key Management Interoperability Protocol (KMIP) によるキーの管理

インターシステムズは、KMIP サーバを使用したデータベース暗号化キーの管理をサポートしています。KMIP の使用には次のタスクが含まれます。

Note:

ジャーナル・ファイルまたは CACHETEMP および CACHE データベース用の暗号化を構成する場合、これは Caché の起動構成の一部です。詳細は、“データベース暗号化の起動設定の構成” のセクションを参照してください。

KMIP サーバ構成の作成

Caché と KMIP サーバ間の接続を確立する際には、KMIP サーバ構成を作成します。この構成では、KMIP サーバのプロパティを定義し、Caché インスタンス内でそれを表します。KMIP サーバ構成を作成するには:

  1. ベンダーの指示に従って KMIP サーバを設定します。

    Caution:

    KMIP サーバを構成する際には、ベンダーの指示に従って適切なバックアップ手順をすべて実行してください。キーのバックアップ・コピーがない場合、データが永久に失われる可能性があります。

    サーバを設定したら、Caché で KMIP サーバ構成を設定できます。

  2. KMIP サーバ構成を設定するには、次のものが必要です。

    • KMIP サーバの公開鍵証明書と秘密鍵。証明書は、信頼された認証機関 (CA) によって発行されている必要があります。この証明書は、KMIP サーバを提供しているベンダーから受け取るか、またはそのベンダーの指示に従って取得する必要があります。

    • KMIP サーバと通信する Caché の各インスタンスの公開鍵証明書と秘密鍵。証明書は、信頼された CA によって発行されている必要があります。この証明書と秘密鍵は、KMIP サーバを提供しているベンダーから受け取るか、またはそのベンダーの指示に従って取得する必要があります。

    • KMIP サーバに関する以下の情報:

      • 完全修飾 DNS 名または IP アドレス

      • 接続を受け入れるポート番号

      • サポートされる KMIP プロトコルのバージョン

      • クライアントに必要な SSL/TLS 設定

  3. KMIP サーバと通信する Caché インスタンスで、KMIP サーバへのインスタンスを表す SSL/TLS 構成を作成します。

    1. ポータルで、[SSL/TLS 構成] ページ ([ホーム][システム管理][セキュリティ][SSL/TLS 構成]) に移動します。

    2. [SSL/TLS 構成] ページで [新規構成の作成] ボタンをクリックして、[新規 SSL/TLS 構成] ページを表示します。

    3. [新規 SSL/TLS 構成] ページで、SSL/TLS 構成を設定します。以下のフィールドには、次のように値を指定または選択します。

      • [有効] — このチェック・ボックスのチェックを付けます。

      • [タイプ][クライアント] を選択します。

      他のフィールド ([サーバ証明書認証][このクライアントの認証情報] フィールド、および [暗号方式設定] フィールド) の値は、KMIP サーバの要件によって異なります。[このクライアントの認証情報] フィールドの値は、KMIP サーバを提供するベンダーから受け取ったクライアント証明書、クライアント秘密鍵、および CA 証明書によって異なります。

      SSL/TLS 構成の作成の詳細については、“Caché での SSL/TLS の使用法” の章の “SSL/TLS 構成の作成または編集” のセクションを参照してください。

  4. KMIP サーバへの構成を作成します。

    1. ターミナルを起動し、十分な特権を持つユーザとしてログインします。

    2. ターミナル・プロンプトで、%SYS ネームスペースに移動します。

      >zn "%SYS"
      
    3. ^SECURITY を実行します。

      %SYS>do ^SECURITY
      
    4. ^SECURITY で、オプション [14][KMIP サーバ設定] を選択します。

    5. [KMIP サーバ設定] の選択で、オプション [1][KMIP サーバの作成] を選択します。

    6. [KMIP サーバの作成] プロンプトで、次の値を指定します。

      • [作成する KMIP サーバ?]— KMIP サーバ構成の名前。

      • [説明?]— テキストの説明。

      • [サーバ・ホストの DNS 名?]— KMIP サーバの完全修飾 DNS 名または IP アドレス。

      • [TCP ポート番号?]— KMIP サーバが接続を受け入れるポート番号。

      • [OASIS KMIPプロトコル・バージョン?]— KMIP サーバのサポートされているバージョンのプロトコルに関連付けられている番号。これは、KMIP サーバを提供するベンダーから受け取った情報の一部です。

      • [SSL/TLS 構成の名前?]— 前の手順で作成した SSL/TLS 構成の名前。

      • [非ブロック型 I/O?]— KMIP サーバへの接続に非ブロック型 I/O が必要かどうか。[いいえ] を選択することをお勧めします。この場合、接続はブロック型 I/O を使用します。

      • [自動再接続?]— 接続が中断した場合、Caché が KMIP サーバに再接続するかどうか。[いいえ] を選択することをお勧めします。この場合、接続が中断したときに、自動的に再接続を試行しません。

      • [I/O タイムアウト (秒単位)?]— KMIP サーバへの接続でタイムアウトが発生するまでの時間 (秒単位)。構成でブロック型 I/O を使用している場合にのみ関連します。

      • [KMIP メッセージをログに記録?]— Caché が KMIP サーバに送信するメッセージをログに記録するかどうか。メッセージがログに記録されると、Caché により <install-dir>/mgr/kmipcmd.log ファイルに保存されます。

      • [SSL/TLS をデバッグ?]— Caché で SSL/TLS デバッグ情報をログに記録するかどうか。情報がログに記録されると、Caché により <install-dir>/mgr/kmipssl.log ファイルに保存されます。

    7. KMIP サーバのプロパティのプロンプトの後、[KMIP サーバの作成の確認] プロンプトで KMIP サーバを作成することを確認します。

Note:

インターシステムズでは、複数の KMIP サーバの使用および複数の構成を持つ単一の KMIP サーバの使用をサポートしています。最も最近有効化された構成が既定です。

KMIP サーバ構成の編集

既存の KMIP サーバ構成のプロパティの値を変更するには:

  1. 関連するインスタンスで、ターミナルを起動し、十分な特権を持つユーザとしてログインします。

  2. ターミナル・プロンプトで、%SYS ネームスペースに移動します。

    >zn "%SYS"
    
  3. ^SECURITY を実行します。

    %SYS>do ^SECURITY
    
  4. ^SECURITY で、オプション [14][KMIP サーバ設定] を選択します。

  5. [KMIP サーバ設定] の選択で、オプション [2][KMIP サーバの編集] を選択します。

  6. [KMIP サーバの編集] プロンプトで、編集する構成の名前を入力します。

  7. ^SECURITY では、KMIP サーバ構成を作成する場合と同じプロパティのプロンプトが表示されます。この構成のプロパティの既存の値がその既定値として使用されます。必要に応じてこれらの値を変更します。

  8. KMIP サーバのプロパティのプロンプトの後、[KMIP サーバ <サーバ名> の変更の確認] プロンプトで KMIP サーバのプロパティの編集内容を確認します。

KMIP サーバ構成の削除

KMIP サーバ構成を削除するには:

  1. 関連するインスタンスで、ターミナルを起動し、十分な特権を持つユーザとしてログインします。

  2. ターミナル・プロンプトで、%SYS ネームスペースに移動します。

    >zn "%SYS"
    
  3. ^SECURITY を実行します。

    %SYS>do ^SECURITY
    
  4. ^SECURITY で、オプション [14][KMIP サーバ設定] を選択します。

  5. [KMIP サーバ設定] の選択で、オプション [5][KMIP サーバの削除] を選択します。

  6. [削除する KMIP サーバ?] プロンプトで、削除する構成の名前を入力します。

  7. プロンプトが表示されたら、削除を確認します。

KMIP サーバ構成の一覧表示

Caché インスタンスの KMIP サーバ構成を一覧表示するには:

  1. 関連するインスタンスで、ターミナルを起動し、十分な特権を持つユーザとしてログインします。

  2. ターミナル・プロンプトで、%SYS ネームスペースに移動します。

    >zn "%SYS"
    
  3. ^SECURITY を実行します。

    %SYS>do ^SECURITY
    
  4. ^SECURITY で、オプション [14][KMIP サーバ設定] を選択します。

  5. [KMIP サーバ設定] の選択で、オプション [3][KMIP サーバの一覧表示] を選択します。

^SECURITY では、KMIP サーバの既存の構成が、現在使用されているかどうかにかかわらず、名前別に一覧表示されます。

KMIP サーバ構成に関する詳細の一覧表示

特定の KMIP サーバ構成に関する詳細を表示するには:

  1. 関連するインスタンスで、ターミナルを起動し、十分な特権を持つユーザとしてログインします。

  2. ターミナル・プロンプトで、%SYS ネームスペースに移動します。

    >zn "%SYS"
    
  3. ^SECURITY を実行します。

    %SYS>do ^SECURITY
    
  4. ^SECURITY で、オプション [14][KMIP サーバ設定] を選択します。

  5. [KMIP サーバ設定] の選択で、オプション [4][KMIP サーバの詳細リスト] を選択します。

  6. [どの KMIP 構成を表示しますか?] プロンプトで KMIP サーバ構成の名前を入力します。

^SECURITY では、指定された構成のプロパティが、それぞれの値と共に一覧表示されます。

KMIP サーバ上でのキーの作成

KMIP サーバ上でデータ暗号化キーを作成するには:

  1. 関連するインスタンスで、ターミナルを起動し、十分な特権を持つユーザとしてログインします。

  2. ターミナル・プロンプトで、%SYS ネームスペースに移動します。

    >zn "%SYS"
    
  3. ^EncryptionKey を実行します。

    %SYS>do ^EncryptionKey
    
  4. ^EncryptionKey で、オプション [5][KMIP サーバの管理] を選択します。

  5. プロンプトが表示されたら、キーを作成する KMIP サーバの構成の名前を入力します。

  6. 実行するアクションを選択する次のプロンプトで、オプション [2][KMIP サーバ上で新しいキーを作成する] を選択します。

  7. 次のプロンプトで、キーの長さを選択します。

^EncryptionKey ルーチンによりキーが作成され、そのキー ID が表示されます。新しく作成されたキーは、既定では有効化されません。キーを有効化するには、“KMIP サーバからのデータベース暗号化キーの有効化” のセクションを参照してください。

Important:

キー ID を記録して、この情報を将来参照できるようにすることをお勧めします。

KMIP サーバ上でのキーの削除

KMIP サーバ上で暗号化キーを削除するには:

  1. 関連するインスタンスで、ターミナルを起動し、十分な特権を持つユーザとしてログインします。

  2. ターミナル・プロンプトで、%SYS ネームスペースに移動します。

    >zn "%SYS"
    
  3. ^EncryptionKey を実行します。

    %SYS>do ^EncryptionKey
    
  4. ^EncryptionKey で、オプション [5][KMIP サーバの管理] を選択します。

  5. プロンプトが表示されたら、キーを削除する KMIP サーバの構成の名前を入力します。

  6. 実行するアクションを選択する次のプロンプトで、オプション [3][KMIP サーバ上で既存のキーを破棄する] を選択します。

  7. ルーチンにより、KMIP サーバ上でキーが一覧表示され、削除するキーを指定するよう求められます。[キーの選択] プロンプトでキーを指定します。

    WARNING:

    キーの唯一の既存のコピーを削除する前に、そのキーを使用する既存の暗号化されたコンテンツが絶対ないことを確認することが重要です。データを解読するために必要なキーのコピーがない場合、そのキーによって保護された暗号化されたデータは読めなくなり永久に失われます

  8. プロンプトが表示されたら、キーを削除することを確認します。

ルーチンにより KMIP サーバからキーが削除されます。

KMIP サーバ上でのキーの一覧表示

KMIP サーバ上で暗号化キーを一覧表示するには:

  1. 関連するインスタンスで、ターミナルを起動し、十分な特権を持つユーザとしてログインします。

  2. ターミナル・プロンプトで、%SYS ネームスペースに移動します。

    >zn "%SYS"
    
  3. ^EncryptionKey を実行します。

    %SYS>do ^EncryptionKey
    
  4. ^EncryptionKey で、オプション [5][KMIP サーバの管理] を選択します。

  5. プロンプトが表示されたら、キーを一覧表示する KMIP サーバの構成の名前を入力します。

  6. 次のプロンプトで、オプション [1][KMIP サーバ上でキーを一覧表示する] を選択します

ルーチンにより KMIP サーバ上ですべてのキーが一覧表示されます。

KMIP サーバからのデータベース暗号化キーの有効化

KMIP サーバからデータベース暗号化キーを有効化するには:

  1. 関連するインスタンスで、ターミナルを起動し、十分な特権を持つユーザとしてログインします。

  2. ターミナル・プロンプトで、%SYS ネームスペースに移動します。

    >zn "%SYS"
    
  3. ^EncryptionKey を実行します。

    %SYS>do ^EncryptionKey
    
  4. ^EncryptionKey で、オプション 3[データベース暗号化] を選択します。

  5. [データベース暗号化] の選択で、オプション [1][データベース暗号化キーを有効にする] を選択します。

  6. [データベース暗号化キーを有効にする] の選択で、オプション [2][KMIP サーバの使用] を選択します。

  7. プロンプトが表示されたら、キーを有効化する KMIP サーバの構成の名前を入力します。

  8. ルーチンにより、KMIP サーバ上でキーが一覧表示され、有効化するキーを指定するよう求められます。[キーの選択] プロンプトでキーを指定します。

ルーチンにより、キーが有効化され、その ID が表示されます。

ストレージに依存しないキー管理タスク

一部のタスクは、ファイル内のキーおよび KMIP サーバ上のキーの場合と同じです。

データベース暗号化キーの無効化

データベース暗号化キーを無効にするには:

  1. 管理ポータルのホーム・ページで、[データベース暗号化] ページ ([システム管理] > [暗号化] > [データベース暗号化]) に移動します。現在キーが有効になっている場合、キーの識別子はキーのテーブルに表示されます。

  2. キーが新しい暗号化データベースまたはジャーナル・ファイルの暗号化の既定のキーである場合、そのキーを無効にすることはできません。これらいずれかのアクティビティに使用されているキーを無効にするには、それらに使用する別のキーを選択する必要があります。これを実行するには、別のキーに対して [既定に設定] または [ジャーナル設定] をクリックします。キーが前述のいずれかのアクティビティに使用されていない場合、キーの [無効化] ボタンが使用できるようになります。

  3. キーを無効にするには、キーの行の [無効化] をクリックします。

    Note:

    何らかの理由でキーを無効にできない場合、ポータルではエラー・メッセージが出力されます。以下の場合、キーを無効にできません。

    • CACHETEMP データベースおよび CACHE データベースが暗号化されている場合

    • このキーで暗号化され現在マウントされている (CACHETEMP および CACHE 以外の) 暗号化データベースがある場合

    • 現在、キーがジャーナル・ファイルの暗号化に使用されている場合 (ジャーナル・ファイルの暗号化キーを変更する場合、ジャーナル・ファイルを切り替えるまで古い暗号化キーが引き続き使用されます)

    基盤となる状況への対処方法は、以下を参照してください。

  4. 確認ダイアログで [OK] をクリックして、キーを無効にします。

キーを無効にするには、基盤となる状況に応じたアクションを実行する必要があります。

  • CACHETEMP および CACHE 以外の暗号化データベースの場合、[データベース] ページ ([システム処理] > [データベース]) でデータベースをディスマウントします。これでキーを無効にできます。

  • CACHETEMP および CACHE の場合、これらのデータベースが暗号化されないように指定して、Caché を再起動します。そのためには、[データベース暗号化] ページで [起動設定の構成] を選択します。起動時にデータベース暗号化キーを有効にしないように選択するか (この場合、Caché により CACHETEMP および CACHE の暗号化が無効にされます)、あるいは起動時にインタラクティブにまたは無人でデータベース暗号化キーを有効にするように選択できます (この場合、CACHETEMP および CACHE を暗号化するかどうかを選択できるので、[いいえ] を選択します)。

  • 暗号化されたジャーナル・ファイルの場合、暗号化されたジャーナル・ファイルがリカバリに必要ないことを確認します。詳細は、“暗号化されたジャーナル・ファイルとキーを有効化しない起動の構成” のセクションで説明します。

インスタンスの既定のデータベース暗号化キーまたはジャーナル暗号化キーの指定

インスタンスにはそれぞれ既定のデータベース暗号化キーおよび既定のジャーナル暗号化キーがあります。インスタンスは、管理者がデータベース暗号化キーを初めてアクティブ化するときに、これらのそれぞれに初期値を設定します。最初に既定になるキーは、アクティブ化されたキー・ファイルにあるキーによって決まります。 これらの値は、Caché をシャットダウンしてから再起動しても保持されます。

これらいずれかの目的で新しいキーを指定するには:

  1. 管理ポータルのホーム・ページで、[データベース暗号化] ページ ([システム管理] > [暗号化] > [データベース暗号化]) に移動します。現在有効なインスタンスの暗号化キーのテーブルが表示されます。

  2. 暗号化キーのテーブルで、以下を実行します。

    • 新しい既定の暗号化キーを指定するには、そのキーに対して [既定に設定] をクリックします。現在の既定のキーに対する [既定に設定] ボタンは使用できません。

    • 新しいジャーナル暗号化キーを指定するには、そのキーに対して [ジャーナル設定] をクリックします。現在のジャーナル暗号化キーに対する [ジャーナル設定] ボタンは使用できません。

  3. アクションの確認を求めるプロンプトが表示されたら、[OK] をクリックします。

Caché により、選択したキーが既定の暗号化キーまたはジャーナル暗号化キーとして設定されます。キーが既定の暗号化キーまたはジャーナル暗号化キーのいずれかである場合、そのキーは削除できません (Caché インスタンスの操作に必要なため)。したがって、キーをこれらのいずれかに指定すると、キーの [削除] ボタンは使用できなくなります。

暗号化データベースの使用法

機密情報のあるデータベース全体を保護するために、Caché ではブロック・レベルのデータベース暗号化 (または、データベース暗号化と略されています) がサポートされています。データベース暗号化は、エンティティ全体として暗号化されるデータベースの作成と管理ができるテクノロジです。Caché のキー管理ツールを使用して、これらのアクティビティをサポートします。

データベースの作成時に、これを暗号化することを選択できます。現在有効になっているキーがある場合にこのオプションを選択できます。暗号化データベースを作成すると、暗号化されていないデータベースと同様にこれを使用できます。暗号化テクノロジは透過的で、パフォーマンスに及ぼす影響は小さくて予測可能になります。

データベース暗号化機能では、監査ログとジャーナル・ファイルを暗号化する機能もサポートされています。これらの機能は両方とも、“データベース暗号化の起動設定の構成” のセクションの説明に従って、起動時にデータベース暗号化キーにアクセスする必要があります。

暗号化データベースの管理タスクには、以下のものがあります。

暗号化データベースの作成

暗号化データベースを作成する場合は、データベースを新規作成するときに暗号化を指定します。ただし、暗号化データベースを作成する前に、Caché でデータベース暗号化キーを有効にしておく必要があります。以下はその方法です。

  1. データベース暗号化キーを有効にします

  2. 管理ポータルのホーム・ページで、[ローカルデータベース] ページ ([システム管理] > [構成] > [システム構成] > [ローカルデータベース]) に移動します。

  3. [ローカルデータベース] ページで、[新規データベース作成] を選択します。[データベース] ウィザードが表示されます。

  4. ウィザードの 2 ページ目で、[暗号化データベース?] ボックスで [はい] を選択します。これによって、暗号化データベースが作成されます。ウィザードのその他すべてのページで、データベースを作成する際にデータベースに設定する特性を選択します (データベース作成の詳細は、"Caché システム管理ガイド" の “Caché の構成” の章にある “ローカル・データベースの作成” のセクションを参照)。

Note:

Caché には、暗号化されていないデータベースを暗号化したり、暗号化データベースを解読したりするための暗号化管理ツールも必要に応じて用意されています。

暗号化データベースへのアクセスの確立

ミラーにデータベースを追加するなど、さまざまな操作を実行するには、データベースをマウントする必要があります。ただし、暗号化データベースをマウントする場合、そのキーを有効にする必要があります。したがって、データベースにアクセスするには、キーを有効にし、データベースをマウントする必要があります。その手順は以下のとおりです。

  1. キーを有効にします

  2. 管理ポータルのホーム・ページで、[データベース] ページ ([システム処理] > [データベース]) に移動します。

  3. このページで、マウントするデータベースに対して、データベースのテーブルでその行の右端の列にある [マウント] ボタンを選択します。確認画面で [OK] を選択すると、データベースがマウントされます。キーが有効になっていないと、データベースはマウントできず、エラー・メッセージが表示されます。

これで、データベースのデータにアクセスできるようになります。

暗号化データベースへの接続の切断

暗号化データベースへの接続を切断するには、以下の手順に従います。

  1. 管理ポータルのホーム・ページで、[データベース] ページ ([システム処理] > [データベース]) に移動します。

  2. このページで、データベースのテーブルで右にある [ディスマウント] ボタンを選択します。確認画面で [OK] を選択すると、データベースがディスマウントされます。

  3. キーを無効にします

データベースに対する読み取りおよび書き込みのたびに、有効になっているキーが使用されるので、先にデータベースをディスマウントしないとキーを無効にできません。データベースをディスマウントせずにキーを無効にしようとすると、エラー・メッセージが表示されます。

インスタンス間での暗号化データベースの移動

複数の Caché インスタンスを持つ組織では、異なるキーを使用してあるインスタンスで作成された暗号化データベースを別のインスタンスで使用することが必要になる場合があります。インスタンス間でデータを移動するには、データベースをバックアップした後、利用可能な暗号化管理ツールを使用してそのデータベースを再暗号化する必要があります。これらのツールの詳細は、このドキュメントの付録 “暗号化管理操作の実行” を参照してください。

データベース暗号化の起動設定の構成

このセクションではデータベース暗号化を行う 3 つの各起動オプションを設定する方法について説明します。

Caché には、起動時にキーを使用可能にする必要がある (対話式または無人起動による) 機能がいくつかあります。

  • Caché 監査ログの暗号化

  • CACHETEMP データベースおよび CACHE データベースの暗号化 (両方とも暗号化するか、または両方とも暗号化しないかのいずれかです)。

  • Caché ジャーナル・ファイルの暗号化

  • 暗号化データベースの起動時のマウント

キーを有効化しない起動の構成

まだどのキーも有効化していない場合、これが Caché のインスタンスの既定の動作です。起動時のキーの有効化が設定されている場合に、これを解除するには、以下の手順に従います。

  1. 管理ポータルのホーム・ページで、[データベース暗号化] ページ ([システム管理] > [暗号化] > [データベース暗号化]) に移動します。

  2. [起動設定の構成] を選択します。Caché の起動の構成用オプション、および暗号化データベース用のその他のオプションがある領域が表示されます。

  3. この領域で、[起動オプション] リストから [なし] を選択します。

  4. [保存] をクリックします。以下の場合、このアクションを実行できない可能性があります。

    変更を妨げている問題に対処してから、この手順を再び実行してください。問題が修正されると、キーを有効化しない起動への変更を正常に行えるようになります。

必要な暗号化データベースとキーを有効化しない起動の構成

起動時に必要な暗号化データベースがインスタンスにある場合、起動時にキーの有効化を含めないよう構成しようとすると、起動時に暗号化データベースが必要であること、およびキーの有効化オプションの変更が不可であることを示すエラー・メッセージが管理ポータルに表示されます (エラー・メッセージで CACHEAUDIT データベースが参照されている場合、監査ログは暗号化されています)。

暗号化キーを有効化せずに Caché を起動するには、起動後に暗号化データベースがマウントされるようにします。起動後にデータベースがマウントされるように構成するには:

  1. データベースがマウントされていることを確認し、そうでなければデータベースをマウントします。

    1. 管理ポータルのホーム・ページで、[データベース] ページ ([システム処理] > [データベース]) に移動します。

    2. データベースのテーブルで、そのデータベースの行を検索します。データベースがマウントされている場合、その行に [ディスマウント] オプションがあります。データベースがマウントされていない場合、[ディスマウント] オプションではなく、[マウント] オプションがあります

    3. データベースがマウントされていない場合、[マウント] を選択します。

    4. 確認画面で [OK] を選択します (データベースは書き込み可能である必要があるため、[読み取り専用] チェック・ボックスにチェックを付けないでください)。

  2. データベースが起動時にマウントされないよう、データベースのプロパティを編集します。

    1. [ローカルデータベース] ページ ([システム管理] > [構成] > [システム構成] > [ローカルデータベース]) に移動します。

    2. データベースのテーブルで、そのデータベースの行を検索します。

    3. データベース名をクリックしてデータベースを選択します。データベースを編集するためのページが表示されます。

    4. この [編集] ページで、[起動時にマウントが必要] チェック・ボックスのチェックを外します。

    5. [保存] をクリックします。

これでデータベースは起動時にマウントされなくなります。つまり、データベースは起動時にキーの有効化を必要としなくなります (他の理由で必要となる場合があります)。

暗号化されたジャーナル・ファイルとキーを有効化しない起動の構成

インスタンスでジャーナリングが使用されている場合、起動時にキーの有効化を含めないよう構成しようとすると、起動時にキーの有効化をオフにできない場合があります。該当する状況は以下のとおりです。

  • そのジャーナル・ファイルを暗号化するようにインスタンスが構成されている場合

  • 開いているトランザクションが (使用率の高いシステム上にある可能性が高い) ジャーナル・ファイルにある場合

この状況に該当する場合、起動時のキー有効化設定を変更する前に、暗号化されたジャーナル・ファイルの使用を中断する必要があります。そのための手順は以下のとおりです。

  1. [データベース暗号化] ページ ([システム管理] > [暗号化] > [データベース暗号化]) で、[暗号化ジャーナルファイル] の設定を “[いいえ]” に変更します。[起動時のキー有効化] の設定はそのままにします。

  2. ジャーナル・ファイルを切り替えます。これを行うには、[ジャーナル] ページ ([システム処理] > [ジャーナル]) で [ジャーナル切り替え] をクリックします。

暗号化されたジャーナル・ファイルで開いているトランザクションがすべてコミットまたはロールバックされると、Caché の起動の構成を変更できます。

Caution:

開いているトランザクションがなくなった後も、データベースをリストアする際に暗号化されたジャーナル・ファイルが必要になる場合があります。そのため、これらのファイルの暗号化に使用するキーがあるキー・ファイルのコピーを維持することが非常に重要です。

ジャーナル・ファイルに関する全般的な詳細は、"Caché データ整合性ガイド" の “ジャーナリング” の章を参照してください。

監査ログとキーを有効化しない起動の構成

インスタンスに暗号化された監査ログがある場合、起動時にキーの有効化を含めないよう構成しようとすると、Caché では、起動時に暗号化データベースが必要であるという以下のようなエラー・メッセージが表示されます。

ERROR #1217: Can not disable database encryption key activation at startup. 
Encrypted databases are required at startup: 
C:\InterSystems\Cache\Mgr\CacheAudit\

このエラー・メッセージでは暗号化データベースが参照されています。これは、監査ログが CACHEAUDIT という Caché データベースに格納されているためです。

暗号化キーを有効化せずに Caché を起動すると、監査ログが暗号化されません。起動時にキーの有効化を含めないよう構成するには、Caché の設定を変更して、インスタンスで暗号化されていない監査ログを使用するように指定する必要があります。以下はその方法です。

  1. インスタンスの監査データをバックアップします。

  2. [データベース暗号化] ページ ([システム管理] > [暗号化] > [データベース暗号化]) に移動します。

  3. [起動設定の構成] を選択すると、Caché の起動の構成用オプションおよび暗号化データベース用のその他のオプションがある領域が表示されます。

  4. [オプションで暗号化されたデータ][監査ログ暗号化] リストで、[いいえ] をクリックします。

この設定を変更すると、既存の監査データがすべて消去され (ある場合)、直ちに暗号化されていない監査の使用が開始され、監査ログに AuditChange イベントが書き込まれます。

Caution:

監査データをバックアップしていない場合、監査ログの暗号化設定を変更すると該当する既存の監査データが失われます。

インタラクティブにキーを有効化する起動の構成

キーが有効化されている場合、これが Caché のインスタンスの既定の動作です。インタラクティブなキーの有効化では、Caché のインスタンスにより、起動時にキーの場所およびキーの関連情報を入力するよう求められます。

Important:

Windows の場合、インタラクティブなキーの有効化は、システム起動の一環で自動的に開始するサービスとして Caché を構成していると両立できなくなります。

インタラクティブなキーの有効化に対応するように Caché を構成するには、以下の操作を実行します。

  1. 管理ポータルのホーム・ページで、[データベース暗号化] ページ ([システム管理] > [暗号化] > [データベース暗号化]) に移動します。

  2. [起動設定の構成] を選択します。[起動オプション] 領域が表示され、[起動時のキー有効化] リストが表示されます。

  3. [起動時のキー有効化] リストで、[インタラクティブ] を選択します。それまでのこのフィールドの値が なし となっていた場合は、この操作によってページの [オプションで暗号化されたデータ] 領域が表示されます。

  4. この領域のフィールドは以下のとおりです。

    • [CACHETEMP と CACHE のデータベースの暗号化]CACHETEMP データベースと CACHE データベースを暗号化するかどうかを指定できます。暗号化する場合は “はい” を選択し、暗号化しない場合は [いいえ] を選択します。

    • [暗号化ジャーナルファイル] — インスタンスで独自のジャーナル・ファイルを暗号化するかどうかを指定できます。ジャーナル・ファイルを暗号化する場合は [はい] を選択し、暗号化しない場合は “[いいえ]” を選択します。Caché を起動すると新しいジャーナル・ファイルが作成されるため、選択は起動オプションによって決まります。暗号化を選択した場合は、起動時にキーが必要です。

      Note:

      この変更は、Caché が次にジャーナル・ファイルを切り替えたときに有効になります。再起動せずにジャーナル・ファイルの暗号化を開始するには、このページの操作を完了してからジャーナル・ファイルを切り替えます。

    • [監査ログ暗号化] — Caché が監査ログを暗号化するかどうかを指定できます。監査ログを暗号化する場合は [はい] を選択し、暗号化しない場合は [いいえ] を選択します。Caché を起動するとさまざまなイベントが監査ログに記録されるため、選択は起動オプションによって決まります。暗号化を選択した場合は、起動時にキーが必要です。

      Caution:

      この変更は直ちに反映され、既存の監査データがすべて削除されます。この設定を変更する前に監査データベースをバックアップしてください。そうしないと、監査データが失われます。

  5. [保存] をクリックして、選択した設定内容を保存します。

Important:

Caché が以下のように構成されている場合を考えます。

  • CACHETEMP および CACHE、ジャーナル・ファイル、または監査ログを暗号化する

  • 起動時に暗号化データベースを必要とする

この場合、必要な暗号化キーを有効にしないと Caché の起動に失敗します。起動に失敗した場合は、Caché の緊急起動モードを使用して、起動時に暗号化機能をまったく必要としないように Caché を構成します。

無人でキーを有効化する起動の構成

無人でキーを有効化する起動 (無人起動とも呼ばれる) は、起動時に人による操作なしにキーを有効化し、暗号化されたデータベースを潜在的にマウントします。正常な無人起動では、インスタンスで次のものにアクセスすることが要求されます。

  • 暗号化データベース

  • データベース暗号化キー、以下のいずれかを使用:

    • キーを保持する KMIP サーバ

    • 無人データベース暗号化キーの有効化に使用されるキーおよびユーザ名とパスワードを保持するデータベース暗号化キー・ファイル

このセクションでは、以下のトピックについて説明します。

Caution:

これらの要素をすべて利用可能にすることで、Caché にあるデータのセキュリティは、これらの要素が保持されているマシンの物理的セキュリティに、全面的に依存することになります。 このような物理的セキュリティが確保されていないサイトのデータは、そのデータが暗号化されていない場合と同等のセキュリティ上のリスクにさらされます。この状態を避けるには、インタラクティブな起動を使用するか (こうすれば、すべての要素が同時にリスクにさらされることがなくなります)、関連するマシンの物理的セキュリティを確保するようにします。

KMIP サーバ上のキーを使用した無人起動の構成

KMIP サーバ上のキーを使用して無人起動用の Caché インスタンスを構成するには:

  1. 関連するインスタンスで、ターミナルを起動し、十分な特権を持つユーザとしてログインします。

  2. ターミナル・プロンプトで、%SYS ネームスペースに移動します。

    >zn "%SYS"
    
  3. ^EncryptionKey を実行します。

    %SYS>do ^EncryptionKey
    
  4. ^EncryptionKey で、オプション [3][データベース暗号化] を選択します。

  5. 次のプロンプトで、オプション [4][起動オプションの構成] を選択します

  6. 次のプロンプトで、オプション [4][KMIP サーバでの無人のキー有効化] を選択します。

  7. [KMIP サーバ・インスタンス名] プロンプトで、KMIP サーバ構成の名前を入力します。

  8. 続くプロンプトで、暗号化するアイテムを指定します (これらのアイテムはすべて、起動時に有効化されたキーを必要とします)。

    • [暗号化ジャーナルファイル] (既定は [いいえ]) — インスタンスで独自のジャーナル・ファイルを暗号化するかどうかを指定できます。ジャーナル・ファイルを暗号化するには、[はい] を入力します。暗号化しない場合は、[いいえ] (既定) を入力または選択します。Caché を起動すると新しいジャーナル・ファイルが作成されるため、選択は起動オプションによって決まります。暗号化を選択した場合は、起動時にキーが必要です。

      この変更は、Caché が次にジャーナル・ファイルを切り替えたときに有効になります。既定では、これは Caché を次回再起動したときに実行されます。再起動せずにジャーナル・ファイルの暗号化を開始するには、このページの操作を完了してからジャーナル・ファイルを切り替えます。

    • [CACHETEMP と CACHE のデータベースの暗号化] (既定では [いいえ]) — CACHETEMP と CACHE のデータベースを暗号化するかどうかを指定できます。暗号化する場合は [はい] を入力し、暗号化しない場合は [いいえ] (既定) を入力または選択します。

    • [監査データベースの暗号化] (既定では [いいえ]) — Caché が監査ログを暗号化するかどうかを指定できます。監査ログを暗号化するには、[はい] を選択します。暗号化しない場合は、[いいえ] (既定) を選択します。Caché を起動するとさまざまなイベントが監査ログに記録されるため、選択は起動オプションによって決まります。暗号化を選択した場合は、起動時にキーが必要です。

      Caution:

      この変更は直ちに反映され、既存の監査データがすべて削除されます。この設定を変更する前に監査データベースをバックアップしてください。そうしないと、監査データが失われます。

  9. ルーチンにより、起動時に有効化する KMIP キーの現在のリストが表示され、次のアクションを指定するよう求められます。

    • 起動時のキーのリストにキーを追加するには、オプション [1][リストにキーを追加] を選択します。

    • 起動時のキーのリストからキーを削除するには、オプション [2][リストからキーを削除] を選択します。

    • 起動時のキーのリストを保存するには、オプション [3][リストを保存] を選択します。

  10. リストに、起動時に有効にする目的の KMIP キーのリストが含まれている場合は、オプション [3] を選択して、リストを保存します。

キー・ファイル内のキーを使用した無人起動の構成
Caution:

無人起動するように Caché を構成すると、インスタンスにより、データベース暗号化キー・ファイルに別の管理者が追加されます。その管理者にはシステムによって生成された名前とパスワードがあります。Caché でこのユーザ名とパスワードを追加するためにキー・ファイルを変更したら、そのキー・ファイルのコピーを、物理的にロックできるハードウェア (ラック内のロック可能な CD-ROM または DVD ドライブなど) にのみ保管することを強くお勧めします 。さらに、このハードウェアが格納されているデータ・センター施設をロックして監視する必要があります。データベース暗号化キーは、そのキーを使用して暗号化したデータベースと同じドライブには格納しないでください。

キー・ファイル内のキーを使用して無人起動用の Caché インスタンスを構成するには:

  1. 先にキーを有効にしておく必要があります。キーを有効にするには、“キーの有効化” のセクションを参照してください。

  2. 管理ポータルのホーム・ページで、[データベース暗号化] ページ ([システム管理] > [暗号化] > [データベース暗号化]) に移動します。

  3. [起動設定の構成] を選択します。[起動オプション] リストが表示されます。

  4. [起動オプション] で、[自動 (推奨されていません)] を選択します。これにより、ページに表示されるフィールドが変更されます。

  5. [起動オプション] 領域が展開され、3 つのフィールドが表示されます。以下を設定します。

    • [キー・ファイル] — データベース暗号化キー・ファイルのパス。ここでは絶対パスと相対パスのどちらでも指定できます。相対パスで指定した場合は、Caché のインストール・ディレクトリが基準になります。[参照] をクリックすると、ファイル・システム上でデータベース暗号化キー・ファイルを探します。

    • [管理者名] — このキー・ファイルの管理者。

    • [パスワード] — 管理者のパスワード。

  6. [オプションで暗号化されたデータ] 領域で、以下のフィールドにすべて入力します。

    • [CACHETEMP と CACHE のデータベースの暗号化]CACHETEMP データベースと CACHE データベースを暗号化するかどうかを指定できます。暗号化する場合は “[はい]” を選択し、暗号化しない場合は “[いいえ]” を選択します。

    • [暗号化ジャーナルファイル] — インスタンスで独自のジャーナル・ファイルを暗号化するかどうかを指定できます。ジャーナル・ファイルを暗号化する場合は “[はい]” を選択し、暗号化しない場合は “[いいえ]” を選択します。Caché を起動すると新しいジャーナル・ファイルが作成されるため、選択は起動オプションによって決まります。暗号化を選択した場合は、起動時にキーが必要です。

      Note:

      この変更は、Caché が次にジャーナル・ファイルを切り替えたときに有効になります。既定では、これは Caché を次回再起動したときに実行されます。再起動せずにジャーナル・ファイルの暗号化を開始するには、このページの操作を完了してからジャーナル・ファイルを切り替えます。

    • [監査ログ暗号化] — Caché が監査ログを暗号化するかどうかを指定できます。監査ログを暗号化する場合は “[はい]” を選択し、暗号化しない場合は “[いいえ]” を選択します。Caché を起動するとさまざまなイベントが監査ログに記録されるため、選択は起動オプションによって決まります。暗号化を選択した場合は、起動時にキーが必要です。

      Caution:

      この変更は直ちに反映され、既存の監査データがすべて削除されます。この設定を変更する前に監査データベースをバックアップしてください。そうしないと、監査データが失われます。

  7. [保存] をクリックして、選択した設定内容を保存します。

無人起動に関する問題への一時的な対処

Caché が以下のように構成されている場合を考えます。

  • CACHETEMP および CACHE、ジャーナル・ファイル、または監査ログを暗号化する

  • 起動時に暗号化データベースを必要とする

この場合、暗号化キーを有効にしないと Caché の起動に失敗します。起動に失敗した場合は、Caché の緊急起動モードを使用して、起動時に暗号化機能をまったく必要としないように Caché を構成します。

Caché 付属のデータベースの暗号化について

Caché の各インスタンスには、数多くのデータベースが付属しています。暗号化する機能および暗号化の値は、以下のようにデータベースによって異なります。

  • CACHE: CACHETEMP データベースと組み合わせて暗号化できます。CACHE を暗号化するには、起動時にこのデータベースを必要とするため、キーが起動時に使用可能である必要があります。

  • CACHEAUDIT : 暗号化できます。CACHEAUDIT を暗号化するには、起動時にこのデータベースを必要とするため、キーが起動時に使用可能である必要があります。

  • CACHELIB : 暗号化しないでください。(CACHELIB の内容はすべて公開されます)。

  • CACHESYS : 暗号化しないでください。インスタンスに含まれているこのデータベースが暗号化された形式になっている場合、Caché は起動できません。

  • CACHETEMPCACHE データベースと組み合わせて暗号化できます。CACHETEMP を暗号化するには、起動時にこのデータベースを必要とするため、キーが起動時に使用可能である必要があります。

  • DOCBOOK : 暗号化できます (DOCBOOK の内容はすべて公開されます)。

  • SAMPLES : 暗号化できます (SAMPLES の内容はすべて公開されます)。

  • USER : 暗号化できます。

データ要素暗号化の使用法

データ要素暗号化により、データベース全体を暗号化するよりも、アプリケーション・データをよりきめ細かく暗号化する方法が実現されます。漏洩防止が必要な機密データ要素のためのものです。例えば、顧客のレコードでクレジット・カード情報のフィールドを排他的に暗号化できます。検査結果 (HIV 検査など) を表示するフィールドを患者レコードで排他的に暗号化できます。社会保障番号が記載されたレコードで該当フィールドを排他的に暗号化できます。

データ要素暗号化は、管理ポータルからではなく、(API により) プログラムで使用できます。API によりアクセスできるので、アプリケーション・コードでこれを使用できます。データ要素暗号化をデータベース暗号化で使用するオプションがあります (両方を使用する必要はありません)。

アプリケーションでデータ要素暗号化を使用するには、アプリケーション実行時に必要なキーが使用可能である必要があります。キーを使用可能にするには、これを有効にします。詳細は、次のセクションの “プログラムで管理するキー”、またはポータルを使用する場合は “データ要素暗号化キーの有効化” を参照してください。キーが有効化されると、Caché ではその一意の識別子が有効化キーのテーブルに表示されます。アプリケーションではその識別子を使用してキーを参照し、暗号化処理のためにメモリにロードできます。同時に 4 つまでのキーを有効にできるので、データ要素暗号化では複数のキーが必要なタスクのインフラストラクチャが実現します。

データ要素暗号化のデータを暗号化する際、Caché では暗号化キーの一意の識別子を結果として得られる暗号化テキストと共に格納します。一意の識別子により、暗号化テキスト自体のみを使用して解読時にシステムでキーを識別できます。

ここでは以下について説明します。

プログラムで管理するキー

データ要素暗号化は API により使用できるので、キーを管理するための一連の呼び出しもあります。

これらはすべて、%SYSTEM.EncryptionOpens in a new tab クラスのメソッドです。

データ要素暗号化の呼び出し

データ要素暗号化で利用できるシステム・メソッドは、%SYSTEM.EncryptionOpens in a new tab クラスのすべてのメソッドで、以下のとおりです。

上記のメソッド名の先頭はすべて “AESCBCManagedKey” になります。それらのメソッドが AES (Advanced Encryption Standard) を CBC (Cipher Block Chaining) モードで使用し、マネージド・キー暗号化の一連のツールの一部であるためです。

Important:

“ManagedKey” が名前に含まれない AESCBC メソッドは、古いメソッドでこれらの目的では使用できません。

$SYSTEM.Encryption.AESCBCManagedKeyEncrypt

このメソッドのシグニチャは、通常の呼び出しと同様に以下のようになります。

$SYSTEM.Encryption.AESCBCManagedKeyEncrypt
        (
        plaintext As %String, 
        keyID As %String, 
        ) 
    As %String

各要素の内容は以下のとおりです。

  • plaintext — 暗号化対象となる暗号化されていないテキスト。

  • keyID — 平文の暗号化に使用されるデータ暗号化キーの GUID。

  • メソッドは、暗号化されたテキストを返します。

メソッドが正常に実行できなかった場合、このメソッドは <FUNCTION> エラーまたは <ILLEGAL VALUE> エラーをスローします。このメソッドの呼び出しを Try-Catch ループに記述します。Try-Catch の詳細は、"ObjectScript の使用法" の “エラー処理” の章にある “TRY-CATCH メカニズム” のセクションを参照してください。

詳細は、"$SYSTEM.Encryption.AESCBCManagedKeyEncryptOpens in a new tab" のクラス・リファレンス・コンテンツを参照してください。

$SYSTEM.Encryption.AESCBCManagedKeyDecrypt

このメソッドのシグニチャは、通常の呼び出しと同様に以下のようになります。

$SYSTEM.Encryption.AESCBCManagedKeyDecrypt
        (
        ciphertext As %String
        ) 
    As %String

各要素の内容は以下のとおりです。

  • ciphertext — 解読対象となる暗号化テキスト。

  • メソッドは、解読された平文を返します。

メソッドが正常に実行できなかった場合、このメソッドは <FUNCTION> エラーまたは <ILLEGAL VALUE> エラーをスローします。このメソッドの呼び出しを Try-Catch ループに記述します。Try-Catch の詳細は、"ObjectScript の使用法" の “エラー処理” の章にある “TRY-CATCH メカニズム” のセクションを参照してください。

キー ID は解読対象となる暗号化テキストに関連付けられるため、キー ID をこの呼び出しで含める必要はありません。

詳細は、"$SYSTEM.Encryption.AESCBCManagedKeyDecryptOpens in a new tab" のクラス・リファレンス・コンテンツを参照してください。

$SYSTEM.Encryption.AESCBCManagedKeyEncryptStream

このメソッドのシグニチャは、通常の呼び出しと同様に以下のようになります。

$SYSTEM.Encryption.AESCBCManagedKeyEncryptStream
        (
        plaintext As %Stream.Object, 
        ciphertext As %Stream.Object, 
        keyID As %String, 
        ) 
    As %Status

各要素の内容は以下のとおりです。

  • plaintext — 暗号化対象となる暗号化されていないストリーム。

  • ciphertext — 暗号化ストリームを受け取る変数。

  • keyIDplaintext の暗号化に使用されるデータ暗号化キーの GUID。

  • メソッドは %StatusOpens in a new tab コードを返します。

詳細は、"$SYSTEM.Encryption.AESCBCManagedKeyEncryptStreamOpens in a new tab" のクラス・リファレンス・コンテンツを参照してください。

$SYSTEM.Encryption.AESCBCManagedKeyDecryptStream

このメソッドのシグニチャは、通常の呼び出しと同様に以下のようになります。

$SYSTEM.Encryption.AESCBCManagedKeyDecryptStream
        (
        ciphertext As %Stream.Object, 
        plaintext As %Stream.Object
        ) 
    As %Status

各要素の内容は以下のとおりです。

  • ciphertext — 解読対象となる暗号化ストリーム。

  • plaintext — 解読ストリームを受け取る変数。

  • メソッドは %StatusOpens in a new tab コードを返します。

キー ID は解読対象となる暗号化テキストに関連付けられるため、キー ID をこの呼び出しで含める必要はありません。

詳細は、"$SYSTEM.Encryption.AESCBCManagedKeyDecryptStreamOpens in a new tab" のクラス・リファレンス・コンテンツを参照してください。

リアルタイムのデータの再暗号化のサポート

データ要素暗号化により、Caché アプリケーションで、新しいキーによる暗号化されたデータ要素の再暗号化のサポートが可能となりました。

暗号化されたデータ要素には暗号化キーの識別子が格納されているので、これによって、データの再暗号化の処理が単純になります。暗号化テキストのハンドルと有効なキーを与えられるだけで、アプリケーションは再暗号化を実行できます。例えば、データ要素暗号化では、機密データの再暗号化をダウンタイムなしでできる機能がサポートされています。これは特に、PCI DSS (Payment Card Industry Data Security Standard) 要件を満たすことが必要な場合など、法的な理由でこの処理が必要な場合に便利です。

データの再暗号化が必要な場合、新しいキーを作成し、アプリケーションに対して、これが新しい暗号化キーであることを指定します。その後、要素を解読してから新しいキーで暗号化するバックグラウンド・アプリケーションを実行するなどの処理を実行できます。この処理では暗号化に指定されたキーを使用し、解読にも必ずその適切なキーを使用します。これはキーが暗号化されたデータと共に格納されるためです。

データ損失からの保護と緊急事態の処理

暗号化データのアクセスにおける偶発的な損失からの保護

暗号化データをいつでも利用できるようにするために、以下の予防措置をとることを強くお勧めします。

  • キー・ファイルを使用している場合、使用しているキーごとに以下を実行します。

    1. キー・ファイルの追加管理者を作成します。

    2. その管理者のユーザ名とパスワードを紙に記録します。

    3. 記録されたユーザ名とパスワードを、キーが使用されている場所から十分離れた耐火金庫など、物理的に安全な場所に保管します。

    4. キー・ファイルのバックアップ・コピーを作成し、記録されたユーザ名およびパスワードと同じ安全な場所に保管します。

  • KMIP サーバを使用している場合は、サーバ・ベンダーの指示に従って、そのサーバの内容をバックアップします。

Caution:

これらの予防措置を怠ると、暗号化データが永久にアクセス不能となり、そのデータをまったく読み取れなくなる場合があります。

キー・ファイル使用時の緊急事態の処理

このセクションでは、データを損失する恐れがある事態において、どのように対処するべきかについて説明します。このような状況としては、以下が挙げられます。

有効なキーが保存されているファイルが損傷したり紛失した場合

この場合、以下の状況が発生します。

  • データベース暗号化キーが Caché インスタンスに対して有効化されています。

  • Caché が暗号化されたデータを使用します。

  • データベース暗号化キーが保存されているキー・ファイルが破損します。

既知の管理者のユーザ名とパスワードのあるキー・ファイルのバックアップ・コピーがある場合
Caution:

この手順は、Caché データベースの暗号化データが失われる恐れがある緊急事態に実行します。

有効なキーが保存されているファイルがアクセス不能になった場合や損傷した場合は、直ちに以下の手順を実行します。

  1. キー・ファイルのバックアップ・コピーを取得します。これは、“暗号化データのアクセスにおける偶発的な損失からの保護” のセクションで説明されている手順に従って保存したコピーです。

  2. キー・ファイルの新しいバックアップ・コピーを作成して、安全な場所に保存します。

  3. キーの新しいコピーが使用されるように Caché を設定します。

    • インタラクティブな起動を使用している場合、スタートアップ・プロシージャにキーの新しいコピーを組み込みます。

    • 無人起動を使用している場合、以前と同じ起動オプションに設定している場合でも、キー・ファイルの新しいコピーで起動オプションを再構成します。

キー・ファイルのバックアップ・コピーがない場合、またはキーに既知の管理者のユーザ名とパスワードがない場合
WARNING:

この手順は、Caché データベースの暗号化データが失われる恐れがある緊急事態に実行します。

有効なキーが保存されているファイルが Caché の実行中にアクセス不能になった場合や損傷した場合は、そのキーで暗号化されている各データベースに対し、直ちに以下の手順を実行します。

  1. WARNING:

    Caché をシャットダウンしたり有効になっているキーを無効にすると、データが永久に失われます。

    Caché をシャットダウンしないでください。

    現在有効になっているキーは無効にしないでください。

  2. インターシステムズのサポート窓口までお問い合わせください。サポート窓口のエンジニアが以下の手順をご案内して、あらゆるご質問にお答えします。

  3. データベースをディスマウントします。暗号化されていないデータベースにデータをコピーしている最中に、暗号化されたコンテンツがあるデータベースではどのユーザも変更ができないようにします。

    1. 管理ポータルのホーム・ページで、[データベース] ページ ([システム処理] > [データベース]) に移動します。

    2. 暗号化データベースがマウントされている場合、[データベース] ページで、データベースの行にある最後から 2 番目の列で [ディスマウント] オプションを選択します。確認ダイアログで [OK] をクリックします。

    3. [データベース] ページが再び表示されたら、データベースの行にある最後の列で [マウント] オプションを選択します。

    4. [データベースマウント] 確認画面で、[読み取り専用] チェック・ボックスにチェックを付け、[OK] を選択します。

    この手順の間、誰もデータベースに対して変更を行わないことが重要です。データベースを読み取り専用でマウントすると、ユーザはデータを変更できなくなります。

  4. 暗号化されていない状態ですべてのデータを別のデータベースにコピーします。データをコピーする手順は以下のとおりです。

    1. ターミナルで、%SYS ネームスペースに移動します。

      REGULARNAMESPACE> zn "%SYS"
      
    2. そのネームスペースで ^GBLOCKCOPY コマンドを実行します。

      %SYS>d ^GBLOCKCOPY
      
      This routine will do a fast global copy from a database to another database or
      to a namespace. If a namespace is the destination, the global will follow any
      mappings set up for the namespace.
       
      1) Interactive copy
      2) Batch copy
      3) Exit
       
      Option?1
      
    3. ^GBLOCKCOPY プロンプトで、インタラクティブ・コピーとして 1 を指定します。

      Option? 1
       
      1) Copy from Database to Database
      2) Copy from Database to Namespace
      3) Exit
       
      Option?
      
    4. ^GBLOCKCOPY プロンプトで、コピー・タイプの入力が要求されたら、別のデータベースへのコピーを指定する 1 を選択します。

      Option? 1
      Source Directory for Copy (? for List)?
      

      ここで、暗号化データベースの名前を指定するか、? と入力して番号付けされたデータベースのリストを表示します。リストには暗号化データベースが含まれます。? と入力すると、^GBLOCKCOPY は以下のようなリストを表示します。

      Source Directory for Copy (? for List)? ?
       
      1) C:\InterSystems\MyCache\mgr\
      2) C:\InterSystems\MyCache\mgr\cache\
      3) C:\InterSystems\MyCache\mgr\cacheaudit\
      4) C:\InterSystems\MyCache\mgr\cachelib\
      5) C:\InterSystems\MyCache\mgr\cachetemp\
      6) C:\InterSystems\MyCache\mgr\docbook\
      7) C:\InterSystems\MyCache\mgr\encrypted1\
      8) C:\InterSystems\MyCache\mgr\encrypted2\
      9) C:\InterSystems\MyCache\mgr\samples\
      10) C:\InterSystems\MyCache\mgr\unencrypted\
      11) C:\InterSystems\MyCache\mgr\user\
       
      Source Directory for Copy (? for List)?
      

      暗号化データベースの数 (7 など) を入力します。

    5. ^GBLOCKCOPY でデータのコピー先ディレクトリの入力を求められたら、暗号化されていないデータベースの名前を入力するか、? と入力してソース・ディレクトリのリストに類似したリストを表示します。

    6. ^GBLOCKCOPY ですべてのグローバルをコピーするかどうかを尋ねられたら、Yes (YesYy などとすることができます) と入力します。

      All Globals? No => y
      
    7. 空のグローバルがデータベースにある場合、^GBLOCKCOPY で、これをコピーするかどうかを尋ねられます。これは、以下のように表示されます。

      All Globals? No => y
       
      ^oddBIND     contains no data
      Include it anyway? No =>
      

      既定値の No (NoNn などとすることができます) を入力します。

    8. ^GBLOCKCOPY で、他の空のグローバルをすべてスキップするかどうかを尋ねられます。既定値の Yes (YesYy などとすることができます) を入力します。

      Exclude any other similar globals without asking again? Yes =>
      

      コピーされていないすべての空のグローバルのリストが表示されます。

      Exclude any other similar globals without asking again? Yes => Yes
      ^oddCOM      contains no data --  not included
      ^oddDEP      contains no data --  not included
      ^oddEXT      contains no data --  not included
      ^oddEXTR     contains no data --  not included
      ^oddMAP      contains no data --  not included
      ^oddPKG      contains no data --  not included
      ^oddPROC     contains no data --  not included
      ^oddPROJECT  contains no data --  not included
      ^oddSQL      contains no data --  not included
      ^oddStudioDocument contains no data --  not included
      ^oddStudioMenu contains no data --  not included
      ^oddTSQL     contains no data --  not included
      ^oddXML      contains no data --  not included
      ^rBACKUP     contains no data --  not included
      ^rINC        contains no data --  not included
      ^rINCSAVE    contains no data --  not included
      ^rINDEXEXT   contains no data --  not included
      ^rINDEXSQL   contains no data --  not included
      ^rMACSAVE    contains no data --  not included
      9 items selected from
      29 available globals
      
    9. ^GBLOCKCOPY で、この処理でジャーナリングを無効にするかどうかを尋ねられます。

      Turn journaling off for this copy? Yes =>
      

      既定値の Yes (YesYy などとすることができます) を入力します。

    10. ^GBLOCKCOPY で、データをコピーすることの確認を求められます。

      Confirm copy? Yes =>
      

      既定値の Yes (YesYy などとすることができます) を入力します。データベースのサイズとプロセッサの処理速度によっては、コピーのステータスが進捗状況に応じて表示される場合があります。完了すると、^GBLOCKCOPY で以下のようなメッセージが表示されます。

      Copy of data has completed
      
    11. ^GBLOCKCOPY で、コピーに関連付けられた統計を保存するかどうかを尋ねられます。既定値の No (NoNn などとすることができます) を入力します。

      Do you want to save statistics for later review? No =>
      

      コントロールはメイン・プロンプトに戻ります。

  5. コピーされたデータが有効かどうかをテストします。このためには、管理ポータルのシステム・エクスプローラで、^GBLOCKCOPY におけるデータのコピー先のデータベースについて、クラス、テーブル、またはグローバルを調査します。

  6. データが有効な場合、アクセス不能なキーまたは損傷したキーで暗号化されたデータベースごとに、この手順の 3 と 4 を実行します。

  7. 暗号化されていないデータベースにすべての暗号化データベースをコピーしたら、それぞれのデータベースの 2 つ目のコピーを、できればそれぞれの最初のコピーがあるマシンとは別のマシンに作成します。

  8. これで、すべての暗号化データベースをディスマウントし、有効なキー (紛失または損傷したキー・ファイルのキー) を無効にできます。この操作は、この時点でのみ可能です。Caché では、すべての暗号化データベースのキーを無効にするには、先にそれらのデータベースをディスマウントする必要があります。

以上で、暗号化されていない 1 つ以上のデータベースにデータがあり、有効なキーが存在しない状態になります。

以前に暗号化されたデータベースを再暗号化するには、以下の手順に従います。

  1. キーの作成” のセクションの説明にある手順に従い、新しいデータベース暗号化キーを作成します。

  2. 暗号化データのアクセスにおける偶発的な損失からの保護” のセクションで説明されているように、キー・ファイルの新しいバックアップ・コピーを作成します。

    Caution:

    暗号化データのアクセスにおける偶発的な損失からの保護” の説明にある注意事項が守られていることを確認します。この手順に従わないと、データが永久に失われる場合があります。

  3. 新しいキーを使用して、新しい暗号化データベースを 1 つ以上作成します。

  4. 前述の手順でエクスポートしたデータを新しい暗号化データベースにインポートします。

これで、正常なキーとそのキーがあるキー・ファイルのバップアップが存在する暗号化データベースにデータが格納されました。

起動時に必要なデータベース暗号化キー・ファイルが存在しない場合

起動時にデータベース暗号化キー・ファイルを使用する必要がある状況では、システムはシングル・ユーザ・モードで起動します。該当する状況は以下のとおりです。

  • Caché がインタラクティブに起動または無人起動するように構成されている場合

  • 起動時にジャーナル・ファイルまたは CACHETEMP データベースおよび CACHE データベース (あるいはこれらすべて) を暗号化するように指定されている場合、または起動時に暗号化データベースが必要であると指定されている場合

  • データベース暗号化キー・ファイルが存在しない場合

キー・ファイルを使用可能にできる場合

Caché の起動時に適切なキー・ファイルが存在しないことだけが理由で (例えば、キー・ファイルを保持するメディアが現在使用できない場合)、この状況が発生する可能性があります。

この状況を改善するには、Caché の実行をシングル・ユーザ・モードで開始した後、以下の手順を実行します。

  1. Caché をシャットダウンします。例えば、Caché インスタンスを “MyCache” とすると、シャットダウンを実行するコマンドは以下のようになります。

    ccontrol force MyCache
    
  2. Caché がデータベース暗号化キー・ファイルを検索する場所がわかっている場合は、その場所にキー・ファイルを配置します (わからない場合は、次のセクションに示すように ^STURECOV を実行する必要があります)。

  3. Caché を再起動します。

Caché は通常モード (マルチ・ユーザ・モード) で起動し、適切に動作します。

バックアップ・キー・ファイルが使用可能な場合

Caché の起動時に適切なキー・ファイルが存在しないために使用できない場合、バックアップ・キー・ファイルを使用できます。この場合、状況を改善するには、Caché の実行をシングル・ユーザ・モードで開始した後、以下の手順を実行します。

  1. インターシステムズのサポート窓口までお問い合わせください。サポート窓口のエンジニアが以下の手順をご案内して、あらゆるご質問にお答えします。

  2. cconsole.log ファイルの最新エントリにある手順に従い、ターミナル・セッションを開始します。通常、-B フラグでターミナル・セッションを開始するように指定されています。

    例えば、“MyCache” という Caché インスタンスが既定の場所にインストールされている場合、Windows のコマンド行で次のコマンドを入力します。

    C:\MyCache\bin\cache -sC:\MyCache\mgr -B
    

    オペレーティング・システムのターミナル・ウィンドウで Caché に接続します。このウィンドウのプロンプトは、オペレーティング・システムのプロンプトから Caché の %SYS プロンプトに変更されます。

  3. データベース暗号化キー・ファイルのコピー (バックアップなど) があるか、入手できる場合、Caché にアクセス可能な場所にそのキー・ファイルのコピーを置きます。

  4. ターミナル・プロンプトで、^STURECOV (スタートアップ・リカバリ) ルーチンを実行します。このルーチンでは、そのファイルの管理者のユーザ名とパスワードを使用して暗号化キーを有効にします (このプロセスが完了したときに、^STURECOV を終了する必要はありません)。

  5. Caché を使用する準備ができたら、^STURECOV を使用してスタートアップ・プロシージャを完了します。マルチ・ユーザ・モードで Caché を起動します。

以上で、Caché が適切に動作します。

キー・ファイルが使用できない場合

データベース暗号化キー・ファイルのコピーがない場合、以下の手順を実行します。

  1. インターシステムズのサポート窓口までお問い合わせください。サポート窓口のエンジニアが以下の手順をご案内して、あらゆるご質問にお答えします。

  2. -B フラグでターミナル・セッションを開始します。例えば、“MyCache” という Caché インスタンスが既定の場所にインストールされている場合、Windows のコマンド行で次のコマンドを入力します。

    C:\MyCache\bin\cache -sC:\MyCache\mgr -B
    

    オペレーティング・システムのターミナル・ウィンドウで Caché に接続します。このウィンドウのプロンプトは、オペレーティング・システムのプロンプトから Caché の %SYS プロンプトに変更されます。

  3. 起動時にマウントする必要がある暗号化データベースがある場合、それらに対してこの機能を無効にします。

    1. 管理ポータルのホーム・ページで、[ローカルデータベース] ページ ([システム管理] > [構成] > [システム構成] > [ローカルデータベース]) に移動します。

    2. データベースのテーブルでデータベース名をクリックします。そのデータベースの [編集] ページが表示されます。

    3. [編集] ページで、[起動時にマウントが必要] チェック・ボックスのチェックを外します。

    4. [保存] をクリックします。

  4. ターミナル・プロンプトで、^STURECOV ルーチンを実行します。そのルーチンで、データベース暗号化キーを必要としないように Caché データベースの起動オプションを構成します。これは、CACHETEMP データベースおよび CACHE データベースとジャーナル・ファイルが適切に動作して、暗号化データベースをマウントできないことを表します。

  5. Caché を使用する準備ができたら、^STURECOV を使用してスタートアップ・プロシージャを完了します。マルチ・ユーザ・モードで Caché を起動します。

この手順を実行する際、サポート窓口の担当者の指示に従い、その他の操作を実行する必要がある場合があります。担当者の指示に従ってください。

Caution:

暗号化データのアクセスにおける偶発的な損失からの保護” のセクションの操作を実行しないと、いずれの形式でもデータを使用できなくなる可能性があります。これは非常に深刻な問題ですが、キーがないと、失われたデータを取得する方法がありません。

KMIP サーバ使用時の緊急事態の処理

このセクションでは、KMIP サーバを使用していてデータを損失する恐れがある事態が発生した場合に、どのように対処するべきかについて説明します。このような状況としては、以下が挙げられます。

有効なキーを保持する KMIP サーバが損傷したり紛失した場合

この場合、以下の状況が発生します。

  • データベース暗号化キーが Caché インスタンスに対して有効化されています。

  • Caché が暗号化されたデータを使用します。

  • データベース暗号化キーが保存されている KMIP サーバが破損します。

KMIP サーバ上にキーのバックアップ・コピーがある場合

有効化されたキーを保持している KMIP サーバが、アクセス不能になったり破損したりした場合は、ベンダーの指示に従って KMIP サーバのリストア手順を直ちに実行してください。

KMIP サーバ上にキーのバックアップ・コピーがない場合
WARNING:

この手順は、Caché データベースの暗号化データが失われる恐れがある緊急事態に実行します。

有効化されたキーを保持している KMIP サーバをバックアップからリストアする方法がない場合、そのキーで暗号化されたデータベースごとに、次の手順を直ちに実行してください。

  1. WARNING:

    Caché をシャットダウンしたり有効になっているキーを無効にすると、データが永久に失われます。

    Caché をシャットダウンしないでください。

    現在有効になっているキーは無効にしないでください。

  2. インターシステムズのサポート窓口までお問い合わせください。サポート窓口のエンジニアが以下の手順をご案内して、あらゆるご質問にお答えします。

  3. データベースをディスマウントします。暗号化されていないデータベースにデータをコピーしている最中に、暗号化されたコンテンツがあるデータベースではどのユーザも変更ができないようにします。

    1. 管理ポータルのホーム・ページで、[データベース] ページ ([システム処理] > [データベース]) に移動します。

    2. 暗号化データベースがマウントされている場合、[データベース] ページで、データベースの行にある最後から 2 番目の列で [ディスマウント] オプションを選択します。確認ダイアログで [OK] をクリックします。

    3. [データベース] ページが再び表示されたら、データベースの行にある最後の列で [マウント] オプションを選択します。

    4. [データベースマウント] 確認画面で、[読み取り専用] チェック・ボックスにチェックを付け、[OK] を選択します。

    この手順の間、誰もデータベースに対して変更を行わないことが重要です。データベースを読み取り専用でマウントすると、ユーザはデータを変更できなくなります。

  4. 暗号化されていない状態ですべてのデータを別のデータベースにコピーします。データをコピーする手順は以下のとおりです。

    1. ターミナルで %SYS ネームスペースに移動します。

      REGULARNAMESPACE>zn "%SYS"
      
    2. そのネームスペースで ^GBLOCKCOPY コマンドを実行します。

      %SYS>do ^GBLOCKCOPY
      
      This routine will do a fast global copy from a database to another database or
      to a namespace. If a namespace is the destination, the global will follow any
      mappings set up for the namespace.
       
      1) Interactive copy
      2) Batch copy
      3) Exit
       
      Option?1
      
    3. ^GBLOCKCOPY プロンプトで、インタラクティブ・コピーとして 1 を指定します。

      Option? 1
       
      1) Copy from Database to Database
      2) Copy from Database to Namespace
      3) Exit
       
      Option?
      
    4. ^GBLOCKCOPY プロンプトで、コピー・タイプの入力が要求されたら、別のデータベースへのコピーを指定する 1 を選択します。

      Option? 1
      Source Directory for Copy (? for List)?
      

      ここで、暗号化データベースの名前を指定するか、? と入力して番号付けされたデータベースのリストを表示します。リストには暗号化データベースが含まれます。? と入力すると、^GBLOCKCOPY は以下のようなリストを表示します。

      Source Directory for Copy (? for List)? ?
       
      1) C:\InterSystems\MyCache\mgr\
      2) C:\InterSystems\MyCache\mgr\cache\
      3) C:\InterSystems\MyCache\mgr\cacheaudit\
      4) C:\InterSystems\MyCache\mgr\cachelib\
      5) C:\InterSystems\MyCache\mgr\cachetemp\
      6) C:\InterSystems\MyCache\mgr\docbook\
      7) C:\InterSystems\MyCache\mgr\encrypted1\
      8) C:\InterSystems\MyCache\mgr\encrypted2\
      9) C:\InterSystems\MyCache\mgr\samples\
      10) C:\InterSystems\MyCache\mgr\unencrypted\
      11) C:\InterSystems\MyCache\mgr\user\
      
       
      Source Directory for Copy (? for List)?
      

      暗号化データベースの数 (7 など) を入力します。

    5. ^GBLOCKCOPY でデータのコピー先ディレクトリの入力を求められたら、暗号化されていないデータベースの名前を入力するか、? と入力してソース・ディレクトリのリストに類似したリストを表示します。

    6. ^GBLOCKCOPY ですべてのグローバルをコピーするかどうかを尋ねられたら、Yes (YesYy などとすることができます) と入力します。

      All Globals? No => y
      
    7. 空のグローバルがデータベースにある場合、^GBLOCKCOPY で、これをコピーするかどうかを尋ねられます。これは、以下のように表示されます。

      All Globals? No => y
       
      ^oddBIND     contains no data
      Include it anyway? No =>
      

      既定値の No (NoNn などとすることができます) を入力します。

    8. ^GBLOCKCOPY で、他の空のグローバルをすべてスキップするかどうかを尋ねられます。既定値の Yes (YesYy などとすることができます) を入力します。

      Exclude any other similar globals without asking again? Yes =>
      

      コピーされていないすべての空のグローバルのリストが表示されます。

      Exclude any other similar globals without asking again? Yes => Yes
      ^oddCOM      contains no data --  not included
      ^oddDEP      contains no data --  not included
      ^oddEXT      contains no data --  not included
      ^oddEXTR     contains no data --  not included
      ^oddMAP      contains no data --  not included
      ^oddPKG      contains no data --  not included
      ^oddPROC     contains no data --  not included
      ^oddPROJECT  contains no data --  not included
      ^oddSQL      contains no data --  not included
      ^oddStudioDocument contains no data --  not included
      ^oddStudioMenu contains no data --  not included
      ^oddTSQL     contains no data --  not included
      ^oddXML      contains no data --  not included
      ^rBACKUP     contains no data --  not included
      ^rINC        contains no data --  not included
      ^rINCSAVE    contains no data --  not included
      ^rINDEXEXT   contains no data --  not included
      ^rINDEXSQL   contains no data --  not included
      ^rMACSAVE    contains no data --  not included
      9 items selected from
      29 available globals
      
    9. ^GBLOCKCOPY で、この処理でジャーナリングを無効にするかどうかを尋ねられます。

      Turn journaling off for this copy? Yes =>
      

      既定値の Yes (YesYy などとすることができます) を入力します。

    10. ^GBLOCKCOPY で、データをコピーすることの確認を求められます。

      Confirm copy? Yes =>
      

      既定値の Yes (YesYy などとすることができます) を入力します。データベースのサイズとプロセッサの処理速度によっては、コピーのステータスが進捗状況に応じて表示される場合があります。完了すると、^GBLOCKCOPY で以下のようなメッセージが表示されます。

      Copy of data has completed
      
    11. ^GBLOCKCOPY で、コピーに関連付けられた統計を保存するかどうかを尋ねられます。既定値の No (NoNn などとすることができます) を入力します。

      Do you want to save statistics for later review? No =>
      

      コントロールはメイン・プロンプトに戻ります。

  5. コピーされたデータが有効かどうかをテストします。このためには、管理ポータルのシステム・エクスプローラで、^GBLOCKCOPY におけるデータのコピー先のデータベースについて、クラス、テーブル、またはグローバルを調査します。

  6. データが有効な場合、アクセス不能なキーまたは損傷したキーで暗号化されたデータベースごとに、この手順の 3 と 4 を実行します。

  7. 暗号化されていないデータベースにすべての暗号化データベースをコピーしたら、それぞれのデータベースの 2 つ目のコピーを、できればそれぞれの最初のコピーがあるマシンとは別のマシンに作成します。

  8. これで、すべての暗号化データベースをディスマウントし、有効なキー (紛失または損傷したキー・ファイルのキー) を無効にできます。この操作は、この時点でのみ可能です。Caché では、すべての暗号化データベースのキーを無効にするには、先にそれらのデータベースをディスマウントする必要があります。

以上で、暗号化されていない 1 つ以上のデータベースにデータがあり、有効なキーが存在しない状態になります。

以前に暗号化されたデータベースを再暗号化するには、以下の手順に従います。

  1. KMIP サーバ上でのキーの作成” のセクションの説明にある手順に従い、新しいデータベース暗号化キーを作成します。

  2. 暗号化データのアクセスにおける偶発的な損失からの保護” のセクションで説明されているように、キー・ファイルの新しいバックアップ・コピーを作成します。

    Caution:

    暗号化データのアクセスにおける偶発的な損失からの保護” の説明にある注意事項が守られていることを確認します。この手順に従わないと、データが永久に失われる場合があります。

  3. 新しいキーを使用して、新しい暗号化データベースを 1 つ以上作成します。

  4. 前述の手順でエクスポートしたデータを新しい暗号化データベースにインポートします。

これで、正常なキーとそのキーがあるキー・ファイルのバップアップが存在する暗号化データベースにデータが格納されました。

起動時に必要な KMIP サーバにアクセスできない場合

起動時に 1 つ以上のデータベース暗号化キーを使用する必要がある状況では、システムはシングル・ユーザ・モードで起動します。該当する状況は以下のとおりです。

  • Caché がインタラクティブに起動または無人起動するように構成されている場合

  • 起動時にジャーナル・ファイルまたは CACHETEMP データベースおよび CACHE データベース (またはこれらすべて) を暗号化するように指定されている場合、または起動時に暗号化データベースが必要であると指定されている場合

  • 必要なデータベース暗号化キーを保持する KMIP サーバにアクセスできない場合。

KMIP サーバへの接続が一時的に利用できない場合

この場合の最も簡単な解決策は、ネットワークの停止や KMIP サーバが一時的に実行されていないなどの問題が発生した場合のものです。このような場合は、ネットワークまたはサーバの問題に対処し、必要に応じて Caché を再起動してください。

KMIP サーバが長期停止した場合

長期的に KMIP サーバに接続できない場合:

  1. インターシステムズのサポート窓口までお問い合わせください。サポート窓口のエンジニアが以下の手順をご案内して、あらゆるご質問にお答えします。

  2. -B フラグでターミナル・セッションを開始します。例えば、MyInstance という Caché インスタンスが既定の場所にインストールされている場合、Windows のコマンド行で次のコマンドを入力します。

    C:\MyInstance\bin\cache -sC:\MyInstance\mgr -B
    

    オペレーティング・システムのターミナル・ウィンドウで Caché に接続します。このウィンドウのプロンプトは、オペレーティング・システムのプロンプトから Caché の %SYS プロンプトに変更されます。

  3. 起動時にマウントする必要がある暗号化データベースがある場合、それらに対してこの機能を無効にします。

    1. 管理ポータルのホーム・ページで、[ローカルデータベース] ページ ([システム管理] > [構成] > [システム構成] > [ローカルデータベース]) に移動します。

    2. データベースのテーブルでデータベース名をクリックします。そのデータベースの [編集] ページが表示されます。

    3. [編集] ページで、[起動時にマウントが必要] チェック・ボックスのチェックを外します。

    4. [保存] をクリックします。

  4. ターミナル・プロンプトで、^STURECOV ルーチンを実行します。そのルーチンで、データベース暗号化キーを必要としないように Caché データベースの起動オプションを構成します。これは、CACHETEMP データベースおよび CACHE データベースとジャーナル・ファイルが適切に動作して、暗号化データベースをマウントできないことを表します。

  5. Caché を使用する準備ができたら、^STURECOV を使用してスタートアップ・プロシージャを完了します。マルチ・ユーザ・モードで Caché を起動します。

この手順を実行する際、サポート窓口の担当者の指示に従い、その他の操作を実行する必要がある場合があります。担当者の指示に従ってください。

Caution:

暗号化データのアクセスにおける偶発的な損失からの保護” のセクションの操作を実行しないと、いずれの形式でもデータを使用できなくなる可能性があります。これは非常に深刻な問題ですが、キーがないと、失われたデータを取得する方法がありません。

その他の情報

このセクションでは、以下について説明します。

キー・ファイル暗号化情報

データベース暗号化の管理者名は、キー・ファイルに平文で保存されています。データベース暗号化の管理者パスワードは保存されていません。パスワードを入力すると、他のデータと共にそれを使用してキー暗号化キーが生成されます。有効なパスワードを第三者が推測できる場合、そのパスワードのポリシーは脆弱すぎます。キー暗号化キーは、512 ビットの salt と 65,536 回の反復処理を使用する PBKDF2 アルゴリズムを使用して生成され、ディクショナリおよび総当り攻撃を実行不可能にします。それでも、データベース、キー・ファイル、およびパスワードの 3 要素によるセキュリティが必要な場合は、データベース暗号化キー・ファイルを暗号化データベースから分離して安全に保存する必要があります。

FeedbackOpens in a new tab