Event Streams での暗号化の管理

デフォルトでは、IBM® Event Streams for IBM Cloud® 内のメッセージ・ペイロード・データは、ランダムに生成された鍵を使用して、保存時に暗号化されます。 このデフォルトの暗号化モデルは保存時のセキュリティーを提供しますが、より高いレベルの制御が必要になる場合があります。 これらのユースケースに対して、 Event Streams は、以下の IBM Cloud® 鍵管理サービスによるお客様暗号化をサポートしている:

  • IBM® Key Protect for IBM Cloud® (Bring Your Own Key - BYOK)は、 IBM Cloud のサービス全体にわたって、アプリ用の暗号化されたキーのプロビジョニングを支援します。 鍵のライフサイクルを管理する際、情報の盗難を防ぐFIPS 140-2 レベル3認定のクラウドベースのハードウェア・セキュリティ・モジュール(HSM)により、鍵が安全に保護されていることを確認することができます。 Key Protectの使用について詳しくは、 入門チュートリアルを参照してください。
  • Hyper Protect Crypto Services (Keep Your Own Key - KYOK) は、ユーザーが制御する単一テナントの専用 HSM です。 このサービスは、FIPS 140-2 レベル 4 認定を受けたハードウェア上に構築されており、クラウド・プロバイダーが提供するサービスとしては業界最高クラスのサービスです。 なお、 Hyper Protect Crypto Services は非推奨である。

IBM Cloud® は、専用鍵管理サービスを Hyper Protect Crypto Services から IBM® Key Protect Dedicated に移行する。 サービスの継続的な可用性を確保するため、2027年3月20日のHPCSサービス終了(EOL)前に、既存の Hyper Protect Crypto Services (HPCS)ルート鍵を IBM® Key Protect Dedicated(シングルテナント)に移行する。 その日を過ぎると、残っているインスタンスはすべて終了する。 サービスの継続的な可用性とサポートを確保するため、EOLの日までに、既存のすべてのHPCSルートキーを IBM Key Protect Dedicated(シングルテナント)に移行する必要があります。 ルートキーの移行方法について説明 します。

これらのサービスにより、ユーザー提供の鍵を使用して暗号化を制御できます。 このキーを無効化または削除することで、サービスによって保存されたデータへのさらなるアクセスを防ぐことができます。

以下の機能が必要な場合は、 お客様キーの使用を検討すること:

  • 保存データの暗号化は独自の鍵によって制御されます。
  • 静止状態で保存されるデータのライフサイクルを明示的に制御する。

お客様管理の鍵は、エンタープライズ・プランで、2019 年 10 月より後に作成されたクラスターでのみ使用可能です。

お客様キーの削除は回復不可能であり、その結果、 Event Streams インスタンスに保存されているすべてのデータが失われます。

コンプライアンスのためのメッセージレベルの暗号化

PCI DSS などの一部の規制基準では、機密性の高いメッセージデータ(カード会員情報など)は、静止時、移動時、使用時など、そのライフサイクル全体を通じて暗号化することが義務付けられています。

Event Streams、メッセージデータの保存に使用されるファイルシステムは暗号化されており、不正アクセスから保護されている。 しかし、メッセージがトランスポート・レイヤーを通過する際、 Event Streams、メッセージを処理するためにこれらのファイルシステムを復号化しなければならない。 これは、メッセージのペイロードがエンド・ツー・エンドで暗号化されないことを意味するが、トランジットとレストでの暗号化は、業界のベスト・プラクティスに沿って、メッセージのライフサイクル全体を通して強力な保護を保証する。

機密データを意図した受信者以外には読めないようにするため、クライアントは Event Streams に送信する前に、アプリケーション・レベルでメッセージ自体を暗号化しなければならない。これはメッセージ・レベル暗号化と呼ばれる手法である。

お客様管理の暗号化でカバーされないもの

お客様暗号化機能が選択されている場合、この暗号化の対象となるのはメッセージのペイロード・ データのみであることに注意してください。 Event Streams、サービスの使用に関連するその他のデータは静止状態で暗号化されます。 しかし、暗号化されてはいるが、 非メッセージペイロードデータは お客様暗号化では暗号化されない。 たとえば、トピック名などのクライアントのメタデータ、トピック構成データ、スキーマレジストリに保存されたスキーマ、Enterpriseインスタンスの構成に関連して保存されたメタデータなどがあります。

そのため、そのようなクライアント・メタデータでは機密情報を使用しないでください。

ユーザー管理の暗号化の仕組み

Event Streams は、エンベロープ暗号化と呼ばれる概念を使って、 お客様鍵を実装している。

エンベロープ暗号化は、1 つの暗号鍵を別の暗号鍵で暗号化する手法です。 実際のデータの暗号化に使用される鍵は、データ暗号鍵 (DEK) と呼ばれます。 DEK自体は決して保存されないが、その代わりに鍵暗号化鍵(KEK)として知られる第2の鍵によってラップされ、ラップされたDEKが作成される。

データを暗号化解除するには、まずラップされた DEK をアンラップして DEK を取得する必要があります。 このプロセスは、KEK (この場合は Key Protect または Hyper Protect Crypto Servicesに保管されているルート鍵) にアクセスすることによってのみ可能です。

KEK は、Hyper Protect Crypto Services または Key Protect サービスでルート鍵として作成して所有します。 Event Streams サービスは、ルート (KEK) 鍵を認識しません。 その鍵を保管したり、管理したり、DEK のラップとアンラップのためにその鍵を使用したりする処理はすべて、鍵管理サービス内で実行されます。 その鍵を無効化したり削除したりすると、データの復号ができなくなります。

Event Streams でのユーザー管理の鍵の使用可能化

ユーザー管理の鍵を使用するように Event Streams インスタンスをプロビジョンするには、以下のステップを実行します。

  1. Key Protect または Hyper Protect Crypto Servicesのインスタンスをプロビジョンします。
  2. Event Streams サービスがリーダーとして鍵管理サービス・インスタンスにアクセスできるようにする許可ポリシーを作成します。 詳細については、「 認可を使用してサービス間のアクセスを許可する 」を参照してください。
  3. ルート鍵を作成するか、鍵管理サービス・インスタンスにインポートします。
  4. 鍵管理サービス・インスタンスGUIの View CRN オプションを使用して、鍵のクラウド・リソース名(CRN)を取得する。
  5. Event Streams のインスタンスをプロビジョンします。 この機能は、エンタープライズ・プランでのみサポートされています。

IBM Cloud® コンソールからプロビジョンする場合は、鍵管理サービス・インスタンスを選択してから、インスタンスからルート鍵を選択します。

CLI を使用してプロビジョニングする場合は、以下のコマンドを使用します。

ibmcloud resource service-instance-create EVENT-STREAMS-INSTANCE-NAME messagehub ibm.message.hub.enterprise.3nodes.2tb REGION -p '{"kms_key_crn":"KMS_KEY_CRN"}'

顧客管理キーのない既存のクラスタは、更新できません。これは、すべてのメッセージとトピック定義が失われる破壊的な操作であるためです。 暗号化キーを使用してインスタンスを削除し、再作成する必要があります。

ユーザー管理の鍵の使用

Event Streams のインスタンスに顧客管理キーをプロビジョニングすると、以下の追加機能が利用可能になります。

データに対するアクセスの防止

一時的にアクセスを防ぐには、ルートキーを無効にします。 その結果、Event Streams は鍵にアクセスできなくなるため、データにアクセスできなくなります。

アクセスを永久に削除するには、キーを削除する。 ただし、この操作はリカバリー不能であるため、細心の注意を払う必要があります。 Event Streams インスタンスに保管されているすべてのデータにアクセスできなくなります。 このデータを復元することはできない。

どちらの場合も、Event Streams インスタンスはシャットダウンし、接続を受け入れたり処理したりしなくなります。 アクションを報告するために、 Activity Tracker イベントが生成される。 詳しくは、Activity Tracker イベントを参照してください。

この認可は、サービス・インスタンスを削除しても、 Event Streams と鍵管理サービス・インスタンスとの間に常に残っていなければならない。 Event Streams は、鍵を登録解除するために、サービス・ツー・サービス・ポリシーを引き続き必要とする。 サービス間ポリシーを削除しても安全であるかどうかを判別するには、KMS ルート・キーで関連リソースを確認してください。 ルート鍵がまだ Event Streams インスタンスに関連付けられている場合は、ポリシーをそのままにしておく。 この権限を削除すると、 Event Streams、将来的にデータにアクセスできなくなりますが、すでに使用されているデータは一定期間、引き続き使用できます。

IBM Cloud コンソールまたは CLI を使用してデプロビジョンを行うまで、 Event Streams のインスタンスに課金されます。 これらの料金は、データへのアクセスを禁止することを選択した場合でも適用されます。

データに対するアクセスの復元

鍵が削除されていない場合にのみ、アクセスを復元できます。 アクセスを復元するには、ルート鍵を再度有効にします。 短時間の初期化の後、Event Streams インスタンスが再始動され、再び接続の受け入れが開始されます。 インスタンスで構成されている通常の保存制限に従って、すべてのデータが保存されます。

Activity Tracker イベントが生成され、アクションが報告されます。 詳しくは、Activity Tracker イベントを参照してください。

鍵のローテーション

Key Protect および Hyper Protect Crypto Services は、要求時またはスケジュール時にルート鍵のローテーションをサポートします。 鍵をローテートすると、 Event Streams は、前述の お客様管理の暗号化の仕組み で説明されているように、DEK を再ラップすることによって新しい鍵を採用します。

Activity Tracker イベントが生成され、アクションが報告されます。 詳しくは、Activity Tracker イベントを参照してください。

ユーザー管理の暗号化の使用不可化

お客様暗号化を有効にした後、無効にすることはできません。 代わりに、サービス・インスタンスを削除して新規インスタンスを作成する必要があります。

Hyper Protect Crypto Services (HPCS) から Key Protect 専用 (KP-ST) への移行

Hyper Protect Crypto Services (HPCS) から Key Protect Dedicated (KP-ST) への移行中、以下のことが発生する:

  • 各KMSインスタンスは、それぞれ固有のルート・キーを保持する。 移行には、新しい IBM® Key Protect 専用ルート・キーでサービスを再関連化することが含まれる。
  • 既存のデータ暗号化キー(DEK)は安全に再ラッピングされる。
  • 移行期間中も、 Hyper Protect Crypto Services to Serviceおよび Key Protect to Serviceの両アクセスポリシーは維持されなければならない。
  • 暗号化されたデータが再度暗号化されたり、移動されたりすることはない。
  • サービスの可用性は維持される。

前提条件

移行を開始する前に、以下を確認してください:

  • Key Protect 専用(シングルテナント)インスタンス。
  • Key Protect 専用(KP-ST)インスタンスで作成されたルート・キー。
  • 鍵およびサービスアクセスポリシーを管理するための権限。

マイグレーション手順

  1. 使用中の既存の Hyper Protect Crypto Services ルート・キーを特定する。 キーは Hyper Protect Crypto Services インスタンスに存在し、サービスがすでにそのキーにアクセスしていなければならない。
  2. Key Protect 専用ルートキーを作成または選択する。 鍵は、適切な Key Protect 専用(シングルテナント)インスタンスにあり、サービスにアクセス可能でなければならない。
  3. 2つのキーをリンクする移行インテントを作成する。 移行インテントは、現在の Hyper Protect Crypto Services キー(ソース)を新しい Key Protect 専用キー(ターゲット)にマッピングする。 Key Protect への移行の詳細については、 Hyper Protect Crypto Services(HPCS)から Key Protect Dedicated への移行を 参照してください。
  4. Event Streams、データを再暗号化または移動することなく、該当する場合はDEKを安全に再関連付けし、再ラップします。
  5. 移行完了を確認する。 このサービスは、 Key Protect STルート鍵を参照しなければならない。 Key Protect STルート・キーが表示され、アクティブになり、 Hyper Protect Crypto Services 関連付けが削除されなければならない。