クラウドへの暗号鍵の持ち込み-標準プラン

暗号鍵には、鍵を識別するのに役立つメタデータなどの情報サブセットと、データの暗号化および暗号化解除に使用される鍵素材が含まれます。

IBM Cloud® Hyper Protect Crypto Services を使用して鍵を作成すると、 Hyper Protect Crypto Services インスタンスのハードウェア・セキュリティー・モジュール (HSM) をルートとする暗号鍵素材がサービスによって自動的に生成されます。 しかし、ビジネス要件によっては、ユーザーが社内ソリューションから鍵素材を生成し、次に、鍵を Hyper Protect Crypto Services にインポートして、ご利用のオンプレミスの鍵管理インフラストラクチャーをクラウドへ拡張することが必要な場合があります。

表 1. 鍵素材をインポートする利点について説明します。
メリット 説明
Keep Your Own Key (KYOK) お客様の内部の鍵管理インフラストラクチャーから対称鍵をエクスポートする場合は、Hyper Protect Crypto Services を使用して、それらの鍵をクラウドに安全に持ち込むことができます。 KYOK 機能は、お客様自身が鍵階層の信頼の起点を所有すること、また、お客様以外の誰も暗号鍵にアクセスできないことを保証します。
ルート鍵素材のセキュアなインポート 鍵をクラウドにエクスポートするときには、鍵素材が送信中に確実に保護されることが望まれます。 インポート・トークンの使用によって中間者攻撃を防ぐことで、ルート鍵素材を Hyper Protect Crypto Services サービス・インスタンスにセキュアにインポートできます。

鍵素材のインポートについての事前計画

ルート鍵素材をサービスにインポートする準備ができたら、以下の考慮事項に留意してください。

鍵素材の作成のオプションを検討する
セキュリティーのニーズに基づいて、256 ビット対称暗号鍵の作成のオプションを検討します。 例えば、FIPS で認定されたオンプレミスのハードウェア・セキュリティー・モジュール (HSM) に裏付けられた社内鍵管理システムを使用して、クラウドに鍵を持ち込む前に鍵素材を生成することが可能です。 PoC (概念検証) を作成する場合は、オープン SSL などの暗号化ツールキットを使用して、テストのニーズに合わせて Hyper Protect Crypto Services にインポートできるキー素材を生成することもできます。
Hyper Protect Crypto Services への鍵素材のインポートのオプションを選択する
ご使用の環境またはワークロードに必要なセキュリティーのレベルに基づいてルート鍵をインポートするには、2 つのオプションから選択します。 デフォルトでは、Hyper Protect Crypto Services は、Transport Layer Security (TLS) 1.2 プロトコルを使用して、転送中の鍵素材を暗号化します。 PoC (概念検証) を実施しようとしている場合、または初めてサービスを試してみようとしている場合は、このデフォルト・オプションを使用して、ルート鍵素材を Hyper Protect Crypto Services にインポートできます。 TLS を超えるセキュリティー・メカニズムを必要とするワークロードの場合は、インポート・トークンを使用して、ルート鍵素材の暗号化とサービスへのインポートを行うことも可能です。
鍵素材の暗号化について事前に計画を立てる
インポート・トークンを使用して鍵素材を暗号化することを選択した場合、鍵素材に対して RSA 暗号化を実行する方法を決定します。 RSA 暗号化の PKCS #1 v2.1 標準で指定されている RSAES_OAEP_SHA_1 暗号化スキームを使用する必要があります。 使用している内部鍵管理システムまたはオンプレミス HSM の機能を確認して、オプションを決定してください。
nonce の暗号化について事前に計画を立てる
インポート・トークンを使用して鍵素材を暗号化することを選択した場合、Hyper Protect Crypto Services によって配布された nonce に対して AES-GCM 暗号化を実行する方法も決定する必要があります。 nonce は、悪意のある攻撃や不正な呼び出しから保護するために要求が元のものであることを検査するセッション・トークンとして機能します。 使用している内部鍵管理システムまたはオンプレミス HSM の機能を確認して、オプションを決定してください。
インポートされた鍵素材のライフサイクルを管理する
鍵素材をサービスにインポートした後、鍵のライフサイクル全体を管理する責任があることに留意してください。 Hyper Protect Crypto Services キー管理サービス API を使用すると、キーをサービスにアップロードすることを決定したときに、キーの有効期限を設定できます。 ただし、インポートされたルート鍵をローテートしたい場合は、既存の鍵を無効にして置き換えるために、新しい鍵素材を生成して提供する必要があります。

インポート・トークンの使用

キー素材を Hyper Protect Crypto Servicesにインポートする前に暗号化したい場合は、Hyper Protect Crypto Services キー管理サービス API を使用して、サービス・インスタンスのインポート・トークンを作成できます。

インポート・トークンは、Hyper Protect Crypto Services の 1 つのリソース・タイプであり、 鍵素材をサービス・インスタンスにセキュアに インポートすることを可能にします。 インポート・トークンの内容を使用して鍵素材をオンプレミスで暗号化することによって、指定するポリシーに基づいて、Hyper Protect Crypto Services への転送中のルート鍵を保護できます。 例えば、時間および使用回数に基づいて使用を制限するポリシーをインポート・トークンに対して設定できます。

仕組みについて

サービス・インスタンス用のインポート・トークンを作成すると、Hyper Protect Crypto Services は、その HSM から 4096 ビット RSA 鍵ペアを生成します。 インポート・トークンを取得すると、鍵を暗号化して Hyper Protect Crypto Services にアップロードするために使用できる公開鍵がサービスから提供されます。

インポート・トークンのワークフローを以下のリストで示します。

  1. インポート・トークンを作成する要求を送信します。
    1. Hyper Protect Crypto Services は、暗号装置 (HSM) から RSA 鍵ペアを生成します。
    2. 公開鍵は、作成時に指定したポリシーに基づいて、取得できるようになります。
    3. 秘密鍵は抽出不能になり、暗号装置から離れることはありません。
  2. インポート・トークンを取得する要求を送信します。
    1. インポート・トークンの内容を受け取ります。以下が含まれます。
      • サービスにインポートする鍵素材を暗号化するための公開鍵。
      • 鍵インポート要求を検証するために使用される nonce 値。
  3. サービスにインポートする鍵を準備します。
    1. オンプレミス鍵管理メカニズムを使用して鍵素材を生成します。
    2. 環境に対応している AES-GCM 暗号化方式を使用して、鍵素材で nonce 値を暗号化します。
    3. 環境に対応している RSA 暗号化方式を使用して、公開鍵で鍵素材を暗号化します。
  4. 鍵をインポートする要求を送信します。
    1. 暗号化された鍵素材、暗号化された nonce、および、AES-GCM アルゴリズムによって生成された初期設定ベクトル (IV) を指定します。
    2. Hyper Protect Crypto Services は、要求を検証し、 暗号化されたパケットを復号し、鍵素材をサービス・インスタンスにルート鍵として保管します。

1 つのサービス・インスタンスで一度に作成できるインポート・トークンは 1 つのみです。 インポート・トークンの取得制限について詳しくは、 Hyper Protect Crypto Services 鍵管理サービスの API リファレンス資料を参照してください。

API メソッド

Hyper Protect Crypto Services キー管理サービス API が舞台裏でインポート・トークン作成プロセスを駆動しています。

次の表に、サービス・インスタンス用のインポート・トークンのセットアップを行う API メソッドを示します。

表 2. 鍵管理サービス API メソッドについて説明します。
メソッド 説明
POST api/v2/import_token インポート・トークンを作成します。
GET api/v2/import_token インポート・トークンをリトリーブします。

次の作業