データ暗号化キーとマスターキーについて
暗号化は、データの一部であるキーを使ってプレーンテキストを暗号文にスクランブルすることで機能します。アプリケーションを初めて使用する際、 はどこにもプレーンテキストで保存されないランダムなキーを生成します。これがデータ暗号化キー(DEK)です。すべてのデータはこのキーを使用して暗号化されます。 マスターキー(Key Encryption Key、KEK とも呼ばれます)は、データを直接暗号化するものではありません。代わりに、他のキーを暗号化するラッパーです。 は組み込みのマスターキーも提供しますが、上述のとおり、代わりに独自のマスターキーを定義することもできます。このトピックの残りの部分では、ユーザー定義のマスターキーを作成または更新する方法について説明します。カスタムマスターキーの定義
マスターキーを定義する方法は、 のエディションの種類によって異なります。-
クロスプラットフォーム版: arc.properties 設定ファイル内の cdata.encryption.key プロパティを使用してキーを定義します。PFX キーを定義し、パスワードが必要な場合は、cdata.encryption.key.password プロパティに設定します。あるいは、AES キーを使用している場合は、
APP_KEY環境変数を使用してキーファイルへのファイルパスを指定できます。 -
.NET 版: Web.Config ファイルの
appSettings要素内にAppKey設定が見つからない場合、マスターキー暗号化は無効になっています。有効にするには、Web.Config ファイルのAppKey設定要素にファイルパスを設定します。PFX キーを定義し、パスワードが必要な場合は、AppKeyPassword設定に設定します。Web.Config に追加する必要のあるXML スニペットは次のとおりです:
マスターキーの変更
必要に応じて、マスターキーファイルを置き換えることができます。 は、暗号化に常にユーザーが指定したキーを使用します。キーファイルは安全に管理およびバックアップされ、このプロセスはユーザーにとってのリスクと複雑さを最小限に抑えるように設計されています。マスターキーを変更するには、サーバーを停止していることを確認してから、次のいずれかのオプションを使用します:- クロスプラットフォーム版: 管理者は
arc.jar -ChangeMasterKey <new-master-key-file-path>コマンドを使用して、操作を中断することなく暗号化キーをローテーションできます。マスターキーをPFX ファイルに変更し、パスワードが必要な場合は、arc.jar -ChangeMasterKey <new-master-key-file-path> <new-master-key-password>コマンドを使用します。 - .NET 版: 管理者は
CData.exe appChangeMasterKey -NewKey <new-master-key-file-path> -@libdir "www\bin"コマンドを使用する必要があります(Web.Config ファイルを直接変更しないでください)。マスターキーをPFX ファイルに変更し、パスワードが必要な場合は、CData.exe appChangeMasterKey -NewKey <new-master-key-file-path> -NewKeyPassword <new-PFX-password> -@libdir "www\bin"コマンドを使用します。
は、PFX 証明書ファイルではRSA アルゴリズムのみをサポートします。その他のDSA またはECC 証明書は拒否されます。
セーフモードの使用
カスタムマスターキーを紛失し、(保有している別の記録元から)設定の機密性の高い値を再保存する必要がある場合は、 をセーフモードで起動できます。これにより、すべてのバックエンドオートメーションサービスが無効になり、ごく限られた機能のみが有効になるため、設定やその他のタスクの復元を試みることができます。セーフモードを有効にするには:- クロスプラットフォーム版:
java -jar arc.jar -safemodeを実行します。 - .NET 版: Web.Config ファイルの
appSettings要素に<add key="SafeMode" value="true" />を追加します。