VPC のデータ暗号化について
IBM Cloud® は、セキュリティーを重視し、データを安全に保つためにデータを暗号化することの重要性を理解しています。 Block Storage for VPC ボリューム、スナップショット、および File Storage for VPC ファイル共有は、 IBM管理の暗号化を使用して自動的に暗号化されます。 また、お客様管理の暗号化を使用して、ボリューム、ファイル共有、およびカスタム・イメージの独自の暗号化を管理することもできます。
IBM 管理の暗号化
デフォルトでは、VPC ボリュームとファイル共有は、IBM 管理の暗号化を使用して保存時に暗号化されます。 このサービスには追加コストはかかりません。
IBM 管理の暗号化は、以下の業界標準プロトコルを使用します。
- AES-256 暗号化。
- 鍵はKMIP(Key Management Interoperability Protocol)で社内で管理される。
- ストレージ・アーキテクチャー内の自己暗号化ドライブは、連邦情報処理標準 (FIPS) パブリケーション 140-2 レベル 2 に対して検証されます。
- ストレージ・アーキテクチャーは、Federal Information Security Management Act (FISMA) および Health Insurance Portability and Accountability Act (HIPAA) に対応して検証されています。
- ストレージ・アーキテクチャは、Payment Card Industry (PCI)、Basel II、California Security Breach Information Act (SB 1386)、EU Data Protection Directive 95/46/EC への準拠も確認されている。
お客様管理の暗号化
IBM Cloud におけるエンド・ツー・エンドの暗号化には、顧客管理型暗号化を使用することができる。 データは、保存中に保護され、ストレージからハイパーバイザーおよびホストに転送中にも保護されます。 VPC の外部でのデータの暗号化は、お客様が行う必要があります。
顧客管理型暗号化では、独自の顧客ルート鍵(CRK)をクラウドに持ち込むことも、 鍵管理サービス (KMS)に鍵を生成してもらうこともできる。 ルート鍵は、ボリューム、ファイル共有、カスタム・イメージのパスフレーズを エンベロープ暗号化 (鍵を別の鍵でラップする処理)で暗号化するために使用される。
サポートされる鍵管理サービスは、 Key Protect および Hyper Protect Crypto Services (Hyper Protect Crypto Services) です。 鍵管理サービスがプロビジョニングされた後、ソース・サービス(例: Cloud Block Storage、 Cloud File Storage )とKMS間のアクセスを認可する必要がある。 カスタムイメージの場合、VPC向けイメージサービス(ソースサービス)と IBM Cloud Object Storage (ターゲットサービス)の間で認証を行います。 この認証は、カスタム画像を含む Object Storage バケットからカスタム画像をインポートする権限を画像サービスに持たせるために必要です。
お客様管理の暗号化を使用する場合、ルート鍵を使用して地域間のリソースを暗号化することができます。 リージョンの KMS インスタンスに保管されている鍵を使用してリソースを暗号化したり、別のリージョンのルート鍵を使用したりすることができます。 最高のパフォーマンスとセキュリティを得るには、KMSインスタンス、ルート鍵、暗号化リソースを同じリージョンに配置します。 詳しくは、リージョン別のルート鍵とクロスリージョンのルート鍵に関する考慮事項を参照してください。
アカウント間でルート キーを共有できます。 プライマリ・アカウントのルート鍵にアクセスし、セカンダリ・アカウントで作成された新しいボリュームやファイル共有の暗号化に使用することができる。 でIBM Cloud KMS は、暗号化キーを使用しているサービスと同じアカウントに配置することも、別のアカウントに配置することもできます。 この展開パターンにより、企業はすべての企業アカウントの暗号化キーを一元管理できます。 詳細については、暗号化キー管理。
カスタム・イメージ、ブート・ボリューム、データ・ボリューム、スナップショット、ファイル共有では、顧客管理による暗号化が可能です。
- インスタンスのブート・ボリューム内のデータは、 カスタム・イメージ暗号化を 使用して暗号化される。 別のルート・キーでブート・ボリュームを暗号化することもできる。
- データボリュームは、仮想サーバーインスタンスのプロビジョニング時やスタンドアロンボリュームの作成時に、独自のルートキーを使用して暗号化することができます。 あるいは、ブート・ボリュームに指定したのと同じルート鍵を使用することもできます。
- ソースボリュームから取得されたスナップショットは、ボリュームの暗号化を継承します。
- ファイル共有 は、 Block Storage for VPC ボリュームのようなお客様管理の暗号化オプションを提供します。
お客様管理の暗号化の利点
顧客が管理する暗号化には、 IBM が管理する暗号化よりもいくつかの利点がある。
鍵をお客様が管理できる
- クラウドに自分の鍵(BYOK)を持ち込むため、 Block Storage for VPC ボリューム、ファイル共有、カスタム・イメージの暗号化を制御できます。
- お客様のルート鍵を使用してデータを暗号化するアクセス権限を、お客様が IBM VPC サービスに付与します。 アクセス権限は、任意の理由でいつでも取り消すことができます。
- データは、ストレージ・システムから VPC 内のハイパーバイザーおよびホストに転送中に保護され、 Block Storage for VPC および File Storage for VPCに保存されます。
ブート・ボリュームとデータ・ボリュームを暗号化できる
- Block Storage for VPC のデータは、保存時と移動時の両方の独自の鍵を使用して常に暗号化されます。
- ブート・ボリュームとデータ・ボリュームがそれぞれ、固有のマスター暗号鍵で暗号化された状態で保存されます。 鍵が漏洩した場合、漏洩した鍵が保護するのは単一のボリュームだけであるため、他の Block Storage for VPC ボリュームは影響を受けない。
- Linux または Windows ストックイメージから作成されたプライマリーブートボリュームは、デフォルトで IBM- 管理された暗号化により暗号化されます。 ストック・イメージからインスタンスを作成し、データ・ボリュームにカスタマ・マネージド暗号化を指定した場合、これらのボリュームに書き込まれるデータはカスタマ・マネージド暗号化によって保護されます。
- エンベロープ暗号化に使用するルート鍵の数と使用法を、お客様がボリューム・レベルで制御します。 例えば、あるルート鍵でブート・ボリュームを暗号化し、別のルート鍵でデータ・ボリュームを暗号化するようにすることもできます。
- ブートボリュームとデータボリュームから作成されるスナップショットは、ソースボリュームからカスタマ管理による暗号化を継承します。
ファイル共有の暗号化:
-
ファイル共有データは、保存時にユーザー自身の鍵を使用して常に暗号化されます。
-
ファイル共有レベルでエンベロープ暗号化に使用するルート鍵の数と使用法を制御します。 つまり、すべてのファイル共有を同じルート鍵で暗号化するか、各ファイル共有を異なる鍵で暗号化するかを選択できます あるいは、あるファイル共有を1つのルート・キーで暗号化し、他のファイル共有を異なるルート・キーで暗号化することもできる。 個々のセキュリティー・ニーズに基づいて、ルート鍵の使用法を実装する完全な柔軟性があります。
-
鍵をローテート、無効化、または削除することによって、ファイル共有のルート鍵を管理します。 削除した鍵は、削除後30日以内であれば復元できる。
カスタム・イメージを暗号化できる
- QEMU を使用してイメージの暗号化コピーを作成することにより、そのイメージを 手動で暗号化 することができます。
- 暗号化されたブート・ボリュームから、暗号化された カスタム・イメージ を作成できます。 詳しくは、暗号化カスタム・イメージについてを参照してください。
優れたパフォーマンス:
- カスタマーマネージド暗号化は、VPCインフラ上でハイパーバイザー暗号化を使用し、仮想サーバーインスタンスに優れた暗号化 Block Storage for VPC I/Oパフォーマンスを提供します。
- VPCインフラストラクチャを利用すれば、顧客が管理する暗号化されたブートボリュームを持つ1,000台のインスタンスを数分で作成し、起動することができます。
- ハイパーバイザーが暗号化と復号を処理するので、ゲスト OS はデータを変更する必要がありません。 ゲスト OS は、暗号化が行われていることを認識しません。
鍵管理サービスの選択:
- 利用したい 鍵管理サービス(KMS )を選択する。 FIPS 140-2 L3 に準拠したパブリック・マルチテナント KMS である Key Protect と、FIPS 140-2 L4 に準拠した、よりセキュアな Hyper Protect Crypto Services のいずれかを選択することができます。
- ルート鍵を含むKMSインスタンスは、暗号化ボリュームが存在するリージョン外に存在することができます。 ただし、最高のパフォーマンスとセキュリティーを得るために、 Block Storage for VPC ボリュームと同じ地域 のキーを使用してください。
鍵のローテーションと監査追跡:
-
APIまたはCLIを使用してルート鍵を手動でローテーションすることも、ローテーション・ポリシーを設定して自動的に鍵をローテーションすることもできます。 鍵をローテートすることで、ルート鍵の元の暗号素材が置き換えられ、新しい素材が生成されます。 詳しくは、VPC リソースの鍵のローテーションを参照してください。
-
顧客管理による暗号化は、ルート・キーの使用に関する監査記録を提供する。 イベントは生成され、 IBM Cloud Logs に自動的に収集される。
IBM Cloud VPC 暗号化テクノロジー
暗号化は、 IBM Cloud VPCのインスタンス用ハイパーバイザー技術によって処理されます。 この機能は、ストレージ・ノードの暗号化(at-rest)のみを提供するソリューションよりも高いセキュリティ・レベルを提供する。 データは常に IBM Cloud 内のエンベロープ暗号化で暗号化される。
ストック・イメージとカスタム・イメージでは、QEMU Copy On Write バージョン 2 (QCOW2) ファイル形式が使用されます。 LUKS 暗号化フォーマットは、 QCOW2 フォーマットのファイルを保護します。 IBM Cloud は、LUKS で AES-256 暗号スイートおよび XTS 暗号モード・オプションを使用します。 この組み合わせは、AES-CBCよりもはるかに高いセキュリティ・レベルを提供し、鍵のローテーションのためのパスフレーズの管理も改善され、鍵が漏洩した場合の鍵交換オプションも提供する。
合計で 4 つの鍵がデータを保護します。
-
IBM管理の鍵 は、バックエンド・ストレージ・システム内のデータを暗号化します。 お客様管理の暗号化を使用する場合でも、ストレージ・システム上の IBM管理の暗号化が常に適用されます。 この鍵は、転送中および保存中のデータを保護します。
IBM Cloud 外のワークロードと IBM Cloud 内のワークロード間のネットワークリンクの暗号化は、お客様の責任で行ってください。 詳しくは、セキュリティーおよび規制コンプライアンスの「暗号化」を参照してください。
-
データ暗号鍵 (DEK) は、 QCOW2 ファイル内のデータを暗号化し、仮想ディスク内のブロック・データ・クラスターを保護します。 DEK は、オープン・ソースの QEMU テクノロジーによって管理され、 QCOW2 ファイルの作成時に自動生成されます。
ストックイメージから作成された Block Storage for VPC ボリュームについては、 IBM- 提供された KVM ハイパーバイザー上で動作する QEMU によって DEK が生成されます。 カスタム・イメージから作成された Block Storage for VPC ボリュームの場合、オンプレミス・ノードで実行される QEMU によって生成されます。 DEK (AES-256 鍵) は LUKS パスフレーズで暗号化され、暗号化された状態で QCOW2 ファイルに保管されます。
-
LUKSパスフレーズ (「鍵暗号化キー」とも呼ばれる)は、DEKを暗号化・復号化する。 この鍵は VPC 第 2 世代インフラストラクチャーによって管理され、ルート鍵によって暗号化されます。 これは、 QCOW2 ファイルを含む Block Storage for VPC ボリュームに関連付けられたメタデータとして保管されます。
-
エンベロープ暗号化を使用してボリューム、共有、およびカスタムのイメージ・パスフレーズを暗号化する カスタマー・ルート鍵。これにより、ラップされた DEK または WDEK が作成されます。 ルート鍵は、KMS インスタンス (Key Protect または Hyper Protect Crypto Services) からお客様が管理し、KMS インスタンス内で安全に保管および管理されます。 また、ルート鍵は WDEK をアンラップ (復号) して、暗号化データにアクセスできるようにします。
サポートされる鍵管理サービス
お客様管理の暗号化には、Key Protect と Hyper Protect Crypto Services (特定のリージョンで利用可能) の 2 つの IBM 鍵管理サービス (KMS) を使用できます。 これらのサービスでは共通の鍵プロバイダー API が使用されているので、一貫した方法で暗号鍵を管理できます。
これらのサービスについて表 1 で説明します。
鍵管理サービス | HSM 暗号化認証 | 説明 |
---|---|---|
Key Protect | FIPS 140-2 レベル3 準拠 | マルチテナントKMSでは、ルート鍵をインポートまたは作成し、安全に管理することができます。 |
Hyper Protect Crypto Services | FIPS 140-2 レベル4 準拠 | 最高レベルのセキュリティー。 お客様が管理するシングル・テナントの KMS および ハードウェア・セキュリティー・モジュール(HSM)オンデマンド暗号化、キー管理、およびキー・ストレージをマネージド・サービスとして提供する物理アプライアンス。。 ルート鍵をインポートまたは作成し、安全に管理します。 ルート鍵を含む鍵ストレージのコンテンツを暗号化するために、HSMマスター鍵を作成する。 鍵とデータには、その所有者以外の他者がアクセスすることはできません。 |
Key Protect が BYOK (バイト)、「独自の鍵の持ち込み (bring your own key)」、 Hyper Protect Crypto Services が キヤック、または「独自の鍵の保持 (keep your own key)」として記述されていることがあります。 Key Protect と Hyper Protect Crypto Services は類似のサービスです。
エンベロープ暗号化
ルート鍵は鍵ラッピング鍵として機能し、エンベロープ暗号化の重要な部分です。 エンベロープ暗号化では、ルート鍵が LUKS パスフレーズ (鍵暗号鍵 とも呼ばれる) を暗号化し、これにより仮想ディスク上のデータを暗号化する_データ暗号鍵_ (DEK) が保護されます。 図 1 はこのプロセスを示しています。

両方Key ProtectそしてHyper Protect Crypto Services封筒の暗号化を提供します。 Hyper Protect Crypto Services サービス・インスタンスのルート鍵も、ハードウェア・セキュリティ・ モジュール(HSM)マスター鍵によって保護される。 KMS は鍵を保管し、ボリューム・イメージとカスタム・イメージの暗号化時に鍵を提供します。 KMS 内の鍵もお客様が管理します。
ブロック・ストレージ・ボリュームとファイル共有には、インスタンスのホスト・ハイパーバイザーによって生成される固有のマスター暗号鍵が割り当てられます。 この鍵はパスフレーズによって暗号化されてルート鍵によってラップ (暗号化) され、ラップされた DEK または WDEK が作成されます。 WDEK はボリュームまたはイメージと共にメタデータとして保管され、VPC インターフェースでは使用できません。
カスタムイメージは、QEMUを使用して作成した独自のLUKSパスフレーズによって暗号化されます。 画像が暗号化された後、KMSに保存されているルート・キーでパスフレーズをラップします。
エンベロープの暗号化についての詳細は、以下のドキュメントを参照のこと:
- Key Protect- エンベロープ暗号化を使用したデータの保護
- Hyper Protect Crypto Services- エンベロープ暗号化を使用したデータの保護
リージョン別のルート鍵とクロスリージョンのルート鍵に関する考慮事項
ボリューム、ファイル共有、カスタム・イメージに顧客管理による暗号化を使用する場合、ルート・キーをリソースと同じリージョンまたは異なるリージョン(クロス・リージョン)に保持することができます。
クロスリージョン鍵では、鍵の使用範囲が広がりますが、待ち時間が少し長くなるというトレードオフがあります。 あるリージョンでルート鍵を作成して管理し、そのルート鍵を別のリージョンのリソースに適用することができます。 クロスリージョン鍵は、すべてのリージョンで使用可能です。
最適なパフォーマンスとセキュリティーを得るには、暗号化リソースと同じリージョン内のルート鍵を使用してください。 リージョン別のサービスでは、複数のアベイラビリティー・ゾーンに対するプライベート・エンドポイントが使用されます。 特定のゾーンが利用できない場合でも、別のゾーンからルート鍵や暗号化されたリソースにアクセスし続けることができます。
リージョン別のルート鍵を使用する場合も、クロスリージョンのルート鍵を使用する場合も、すべてのネットワーク・トラフィックがプライベート・エンドポイントに送られます。 言い換えれば、鍵はインターネットにアクセスできないプライベート・ネットワーク上でリソースを暗号化し、復号化する。 プライベート・エンドポイントの詳細については、 サービス・エンドポイントを使用したサービスへの安全な アクセスを参照してください。 コンソールでリソース・リスト>セキュリティと進み、 Key Protect または Hyper Protect Crypto Services インスタンスをクリックすると、プライベート・エンドポイントのリストを見ることができる。 左のメニューで「 エンドポイント」を選択します。
お客様管理の暗号化をセットアップするための大まかな手順
Block Storage for VPC ボリュームに顧客管理による暗号化を設定するには、いくつかのステップが必要です。
-
独自のルート鍵を生成します。 オンプレミス HSM を使用できます。 あるいは、 IBM Cloud HSM または Hyper Protect Crypto Servicesを使用してルート鍵を作成できます。
IBM Cloud データ・センターには、鍵を作成して保護するための専用の HSM が用意されています。 Hyper Protect Crypto Services を使用すると、クラウドのデータ暗号鍵とクラウドのハードウェア・セキュリティー・モジュールを制御できます。
-
お客様のニーズに最も適した鍵管理サービス (KMS) をプロビジョンします。
-
KMS を使用して、ルート鍵をクラウド・サービスに安全にインポートします。 セキュリティーを高めるために、KMS でインポート・トークンを作成し、ルート鍵を暗号化してサービスにインポートしてください。
-
IBM Cloud® Identity and Access Management (IAM) から、 Cloud Block Storage (ソースサービス) と KMS (ターゲットサービス) 間のサービスを認可する。 カスタムイメージの場合は、VPC 用イメージサービス(ソースサービス)と IBM Cloud Object Storage (ターゲットサービス)の間も認証してください。
-
IBM Cloud の VPC インフラストラクチャーが、ルート鍵を使用してボリュームまたはカスタム・イメージのパスフレーズをラップすることで、データを保護します。 カスタム・イメージの場合、カスタム・イメージ・ファイルをクラウドにインポートする前に、ルート・キーがパスフレーズをラップします。 詳しくは、暗号化カスタム・イメージについてを参照してください。
-
KMS 内の鍵を管理します。 例えば、ルート鍵を無効にすることで、その暗号化操作と復号操作を一時停止できます。 お客様管理のルート鍵をローテートすることもできます。 ルート鍵をローテーションすることで、古い鍵で保護されていたリソース全体に新しい鍵を展開することができる。
ボリュームにお客様管理の暗号化を指定するためのフロー図
インスタンスのプロビジョニング中に Block Storage for VPC ボリュームを作成するときに、お客様管理の暗号化を指定できます。 スタンドアロン・ボリュームの作成時に指定することもできます。
図 1 は、インスタンスのプロビジョニング時にお客様管理の暗号化を使用するデータ・ボリュームを作成するための手順を示しています。 そのボリュームはインスタンスに自動的に接続されます。
図2は、スタンドアロン・ボリュームを作成し、後でインスタンスにアタッチする手順を示しています。
暗号化カスタム・イメージについて
IBM Cloud VPC インフラストラクチャーの要件を満たす QCOW2 のカスタム・イメージを作成し、独自の LUKS パスフレーズとルート鍵を使用してカスタム・イメージを暗号化することができます。 独自のパスフレーズを使用して暗号化したら、カスタム・イメージを IBM Cloud Object Storage にアップロードします。
暗号化カスタム・イメージを IBM Cloud VPC にインポートするには、まず、鍵管理サービス (KMS) インスタンス (Key Protect または Hyper Protect Crypto Services) をセットアップします。 KMS インスタンスで、パスフレーズをラップ (暗号化) するためのルート鍵を作成します。 パスフレーズをラップすると、ラップされた DEK (WDEK) が生成されます。 WDEK によって、インポート時にパスフレーズを保護し、データを保護された状態に維持することができます (パスフレーズはイメージサービス内に暗号化されて保存され、暗号化されたイメージを使用する仮想サーバーが起動したときにのみ解かれます)
必要な IAM 権限があれば、 IBM Cloud Object Storage から暗号化されたイメージをインポートできます。 イメージをVPCにインポートし、KMSに保存されているルート・キーのクラウド・リソース名(CRN)を指定します。 また、WDEK の暗号文も指定します。これは、イメージを暗号化するために使用したパスフレーズをルート鍵でラップしたものです。
APIまたはUIでインポートする場合、 QCOW2、10GBから250GBまでのブートイメージファイルを1つ提供します。 このファイルは、インポートされたアカウントにのみ公開されます。 暗号化イメージをインポートしたリージョンは、そのイメージから仮想サーバー・インスタンスを作成するリージョンになります。 暗号化された画像は、あなたが使用許可を持つ他のカスタム画像と一緒に表示されます。コンソールでは、名前の隣にあるロックアイコンが、暗号化されたカスタム画像であることを示します。
正確に 100 GB の仮想ディスク・サイズではない暗号化イメージをインポートし、それを使用してインスタンスをプロビジョンしてから、そのインスタンスのブート・ボリュームからカスタム・イメージを作成しようとすると、 POST /images
呼び出しはエラーを返します。
暗号化されたイメージで仮想サーバーインスタンスをプロビジョニングする場合、他の暗号化情報は必要ありません。 WDEK およびルート鍵の CRN は、メタデータとしてイメージに一緒に保管されています。 暗号化イメージを使用する仮想サーバー・インスタンスを始動すると、暗号化イメージにアクセスするために WDEK が使用されます。
プロビジョン時には、インスタンスのブート・ボリュームのデータも、カスタム・イメージに使用されたものと同じルート鍵を使用して、生成されたパスフレーズとともに暗号化されます。 また、ブート・ボリュームに別のルート鍵を指定することもできます。
仮想サーバー・インスタンスが作成されると、カスタム・イメージが表示され、ルート・キーCRNを確認できます。 また、 ルート鍵をローテーション し、暗号化されたイメージWDEKが自動的に再ラッピング(再暗号化)されたときにKMSから通知を受けることもできます。
暗号化されたカスタムイメージから作成しアタッチするセカンダリボリュームは、ベースカスタムイメージとは異なるパスフレーズを使用します。 オプションで、インスタンスのプロビジョニング中に作成されるセカンダリ・ボリュームに別のルート・キーを指定できます。
カスタム・イメージの作成について詳しくは、暗号化カスタム・イメージの作成を参照してください。 また、 Linux カスタム・イメージ および Windows カスタム・イメージ の作成に関する情報も参照してください。
カスタム・イメージにお客様管理の暗号化を指定するためのフロー図
図3は、カスタム画像を独自の暗号化キーで暗号化する手順を示しています。