バックグラウンド: 検索インデックスの暗号化のプロセス
| アドオンサブスクリプションとして使用可能なエディション: Enterprise Edition、Performance Edition、および Unlimited Edition。Salesforce Shield の購入が必要です。Summer '15 以降に作成された Developer Edition 組織は無料で使用できます。 |
| Salesforce Classic および Lightning Experience の両方で使用できます。 |
Shield Platform Encryption の HSM ベースの鍵派生アーキテクチャ、メタデータ、および設定を活用��て、検索インデックスの暗号化は Shield Platform Encryption が使用されているときに実行されます。解決策として、組織固有の AES-256 ビット暗号化鍵を使用して、組織固有の検索インデックス (ファイルの種類は .fdt、.tim、および .tip) に強力な暗号化を適用します。検索インデックスは検索インデックスセグメントレベルで暗号化され、すべての検索インデックス操作では、インデックスブロックがメモリ内で暗号化される必要があります。
[設定] やユーザインターフェースでの変更ではないため、追加された保護はシームレスであり、組織の暗号化ポリシーで決定されます。
検索インデックスや鍵キャッシュにアクセスするには、プログラムで API を使用するほかありません。
検索インデックスファイルが暗号化される前に、Salesforce セキュリティ管理者は検索インデックスの暗号化を有効にする必要があります。これにより、システム管理者は暗号化ポリシーを設定し、暗号化を使用してどのデータ要素を埋め込むかを決定します。システム管理者が Shield Platform Encryption を設定するには、暗号化する項目とファイルを選択します。特に検索インデックス暗号化の組織固有の HSM 派生鍵はオンデマンドでテナントの秘密から派生します。鍵素材は安全なチャネルの検索エンジンのキャッシュに渡されます。
ユーザがレコードを作成または編集するときのプロセスは、次のとおりです。
- コアアプリケーションで、検索インデックスセグメントをメータデータに基づいて暗号化するかどうかを決定します。
- 検索インデックスセグメントを暗号化する必要がある場合は、暗号化サービスにより、キャッシュメモリ内で検索暗号化鍵 ID の一致があるかどうかが確認されます。
- 暗号化サービスで、鍵がキャッシュに存在するかどうかが判断されます。
- キャッシュに鍵が存在する場合、暗号化サービスはその鍵を暗号化に使用します。
- 鍵が存在しない場合、要求がコアアプリケーションに送信されます。コアアプリケーションは鍵派生サーバに認証済み派生要求を送信し、鍵がコアアプリケーションサーバに返されます。
- 鍵の取得後に、暗号化サービスはランダムな初期化ベクトル (IV) を生成し、NSS または JCE の AES-256 実装を使用してデータを暗号化します。
- 鍵 ID (インデックスセグメントの暗号化に使用される鍵の ID) と IV は検索インデックスに保存されます。
ユーザが暗号化データを検索するときのプロセスは、次に示すように、類似しています。
- ユーザが用語を検索すると、用語は検索対象の Salesforce オブジェクトとともに検索インデックスに渡されます。
- 検索インデックスで検索が実行されると、暗号化サービスはメモリ内の検索インデックスの該当するセグメントを開き、鍵 ID と IV を参照します。
- ユーザがレコードを作成または編集する場合のプロセスのステップ 3 から 5 が繰り返されます。
- 検索インデックスでは検索が処理され、結果がユーザにシームレスに返されます。
Salesforce システム管理者が項目の暗号化を無効にすると、暗号化されていたすべてのインデックスセグメントの暗号化が解除され、鍵 ID は Null に設定されます。このプロセスには最大 7 日間かかります。