IBM Cloud Docs
エンベロープ暗号化を使用したデータ保護

エンベロープ暗号化を使用したデータ保護

Key Protect はエンベロープ暗号化を使用して、Key Protect データの保護を支援します。 データ。 エンベロープ暗号化では、データ暗号鍵を使用してデータを暗号化し、さらにルート鍵を使用してそのデータ暗号鍵を暗号化します。 このトピックでは、エンベロープ暗号化のプロセスと Key Protect を使用して データを暗号化および暗号化解除する方法について説明します。

機密データを扱うときには、データ漏えいを防止するために、高度な暗号化手法を使用することが重要です。 機密データが大量にある場合は、データ保護を支援する鍵管理システムを使用すると役に立つことがよくあります。 Key Protect では、データの回復力を維持するために、エンベロープ暗号化手法を利用しています。 エンベロープ暗号化とは、暗号化された鍵、つまりデータ暗号鍵とルート鍵を使用して機密データを保護するプロセスのことです。

これから同僚に文書を送るとします。 機密性の高い情報について話し合いたいので、文書の内容の記述 (暗号化) に使用するための暗号 (データ暗号鍵) を生成します。 レターは、同僚を含むメールボックス鍵 (ルート鍵) のコピーを持つユーザーのみが 開くことができるメールボックス (ラップされたデータ暗号鍵) に配信されます。 その鍵の正確なコピーを持っていないユーザーは、メールボックスを開いて内容を見ることができません。 同僚が鍵を使用してメールボックスを開錠 (復号) しても、メッセージを理解するには、文書の記述に使用された暗号が必要になります。 暗号を知らない人は皆、ランダムな文字の羅列にすぎない文書として結論付け、文書の内容を理解できないはずです。

データ暗号鍵 (DEK) は、データを暗号化するためのものであり、お客様のサービスや IBM Cloud のサービスで生成して管理できます。

エンベロープ暗号化には、データの保護に役立つ複数のメリットがあります。

  • 複数のアルゴリズムの組み合わせによる保護。エンベロープ暗号化では、対称鍵アルゴリズムと公開鍵アルゴリズムのそれぞれの最も大きなメリットを生かして、鍵を保護できます。
    1. 対称鍵アルゴリズムは、公開鍵アルゴリズムよりも処理が速く、拡張性が高く、安全です。 公開鍵アルゴリズムは、複雑な計算を使用するので、大量のデータを処理する場合に特に、計算処理のオーバーヘッドが増加します。 また、公開鍵アルゴリズムは、秘密鍵アルゴリズムの構成要素がハッカーに簡単に認識されるので、ブルート・フォース攻撃を受けやすくなります。 対称鍵アルゴリズムのほうが、必要な計算能力が少なくて済みます。また、認識可能な構成も少ないので、ブルート・フォース攻撃に対しても耐性があります。
    2. 公開鍵アルゴリズムは、対称鍵アルゴリズムと比較すると、鍵に対するアクセス権限を個人レベルで付与する場合のアクセス制御が簡単です。 対称鍵アルゴリズムには鍵交換の問題があります。つまり、共通鍵を利用できるようにするには、セキュア転送を使用して鍵をやり取りするしかありません。 公開鍵アルゴリズムを使用すれば、暗号化された DEK (wDEK) を共有および復号できるのは、暗号化に使用したルート鍵にアクセスできる人に限られるので、対称アルゴリズムの鍵交換の問題を軽減できます。
  • 鍵管理の簡易化。単一のルート鍵で複数の DEK を暗号化できるので、鍵管理サービスで管理しなければならない鍵の数を最小限に抑えられます。 また、すべての DEK をローテートして再暗号化するのではなく、ルート鍵のみをローテートすることで、鍵の保守にかかる時間も節約できます。 なお、担当者の離職、プロセスの不具合、セキュリティー問題の検出などが生じた場合には、そのインシデントに関連するすべての DEK とルート鍵をローテートすることをお勧めします。
  • データ鍵の保護。DEK がルート鍵でラップされるので、暗号化されたデータ鍵の保管方法について心配する必要がありません。 そのため、wDEK を、関連する暗号化データと一緒に保管できます。

Key Protect は、Galois/Counter Mode (AES GCM) で Advanced Encryption Standard アルゴリズムを使用して、DEK をラップおよびアンラップします。 インポートされない CRK は、256 ビットの鍵素材で作成されます。 インポートされた CRK は、128 ビット、192 ビット、または 256 ビットの鍵素材を持つことができます。

エンベロープ暗号化の仕組み

エンベロープ暗号化は、ルート鍵を使用して 1 つ以上のデータ暗号鍵 (DEK) をラップ (暗号化) することで機能します。 ルート鍵が、暗号化アルゴリズムによって、ラップ (暗号化) された DEK を無許可アクセスや漏えいから保護します。

DEK のアンラップは、エンベロープ暗号化と逆の処理です。関連付けられているルート鍵を使用し、最終的に DEK を復号して真正性を検証します。 ラップされた DEK は、関連付けられているルート鍵を使用しないとアンラップできないので、追加のセキュリティー層がデータに提供されることになります。

エンベロープ暗号化については、NIST Special Publication 800-57, Recommendation for Key Management に簡単な説明があります。 詳しくは NIST SP 800-57 Pt.1 Rev.4.を参照してください。

キー・タイプ

サービスでは、データの拡張暗号化および管理のために、ルート鍵と標準鍵の 2 つの鍵タイプをサポートしています。

ルート・キー
ルート鍵は次の場所にある 1 次リソースです。 Key Protect. これは、データ・サービス内に保管されている他の鍵をラッピング (暗号化) およびアンラッピング (暗号化解除) するための信頼のルートとして使用される、対称鍵ラップ鍵です。 ルート鍵には、DEK のラップおよびアンラップに使用される鍵素材が含まれています。 ルート鍵の鍵素材は、以下によってインポートまたは生成することできます。 Key Protect サービス。
Key Protect で、ルート鍵の作成、保管、ライフサイクル管理を行うことで、クラウドに保管された他の DEK を完全に制御することができます。 標準鍵とは異なり、ルート鍵のプレーン・テキストは、以下の境界を離れることはできません。 Key Protect サービス。
標準キー
DEK として使用できる標準鍵は、暗号化されたデータを以下の場所に保管できます。 Key Protect. プレーン・テキストの標準鍵を生成して元のデータを保護したら、そのプレーン・テキストを破棄し、暗号化された標準鍵を安全に保管してください。

エンベロープ暗号化を使用した鍵のラッピング

Key Protect では、完全にユーザーが管理できるルート鍵を指定することで、1 つ以上の DEK を高度な暗号化アルゴリズムでラップできます。

エンベロープ暗号化を使用してデータを暗号化するには、以下の手順を実行します。

  1. 機密データを暗号化するために、IBM Cloud サービス (COS など) で DEK を生成またはプロビジョンします。 その DEK で機密データが暗号化されます。
  2. ステップ 1 の DEK を保護するために使用するルート鍵を、生成またはインポートします。
  3. ルート鍵を使用して、DEK を暗号化つまりラップします。 暗号化のセキュリティーを最大限に高めるために、ラップ要求時に追加認証データ (AAD) を指定できます。 DEK のアンラップ時に、同じ認証データが必要になることに注意してください。
  4. 暗号化されたデータは、Key Protect サービスにメタデータとして保管されます。 製品やサービスの欠陥ではなく、顧客のアクションが原因で発生したエラー。 ラップされた DEK を base64 エンコードで出力したものを、安全な場所 (アプリやサービスなど) に保管して維持します。

ラップ要求で plaintext プロパティーを省略すると、新規 DEK を生成できます。 要求の一部として新規作成された DEK が自動的にラップされます。

鍵のアンラッピング

データ暗号鍵 (DEK) をアンラップすると、鍵内で保護されているデータが復号され、真正性が検証されます。

ビジネスアプリケーションがラップされたDEKのコンテンツにアクセスする必要がある場合 Key Protect APIを使うことができます。 を使用して、 アンラップリクエストをサービスに送信します。

エンベロープ暗号化を使用してデータを暗号化するには、以下の手順を実行します。

  1. ラップされた DEK の base64 エンコードの暗号文を取得します。
  2. DEK に関連付けられているルート鍵の鍵 ID を取得します。
  3. Key Protectに アンラップリクエストを行う。 前のラップ要求で追加認証データ (AAD) を指定していた場合は、それをアンラップ要求で渡す必要があることに注意してください。
  4. 返された base64 エンコードのプレーン・テキストを使用して、DEK で保護されているデータを復号します。

IBM Cloud サービスとの統合

IBM® Key Protect for IBM Cloud® は、多数の IBM Cloud サービスと統合して、これらのサービスに対して、お客様管理の鍵を使用した暗号化を有効にします。

クラウド・データ・サービスのリソースを Key Protect のルート鍵に関連付けると、ルート鍵の管理制御を行いながら、保存中のデータを保護することができます。

以下との統合を提供するサービスについて詳しくは (Key Protect)、サービスの統合を参照してください。