ルート鍵の作成
使用できますIBM Cloud®Hyper Protect Crypto Services作成する ルートキーA symmetric wrapping key that is used for encrypting and decrypting other keys that are stored in a data service.UIを使用するか、プログラムでHyper Protect Crypto Servicesキー管理サービス API。
ルート鍵は、クラウド内の暗号化データのセキュリティーを保護するために使用される対称鍵ラップ鍵です。 ルート鍵について詳しくは、エンベロープ暗号化を参照してください。
UI でルート キーを作成する
サービスのインスタンスを作成したら UI を使用してルート キーを作成するには、次の手順を実行します。
Hyper Protect Crypto Services インスタンスの二重許可設定を有効にする場合、サービスに追加するどの鍵についても、鍵の削除には 2 人のユーザーからの許可が必要となることに留意してください。
-
「メニュー」>**「リソース・リスト」**に移動し、リソースのリストを表示します。
-
IBM Cloud リソース・リストで、Hyper Protect Crypto Services のプロビジョン済みインスタンスを選択します。
-
新しい鍵を作成するには、サイド・メニューの**「KMS 鍵 (KMS keys)」**タブを選択します。
-
**「鍵」テーブルで、「鍵の追加」をクリックし、「鍵の作成」**を選択します。
キーの詳細を以下のように指定します。
表 1. キーを作成するための設定について説明します。 設定 説明 キー・タイプ Hyper Protect Crypto Services で管理する鍵のタイプ。 キー・タイプのリストから、**「ルート・キー」**を選択します。 キーの名前 鍵を簡単に識別するための、人間が理解できる固有の名前。 長さは、2 文字から 90 文字である必要があります。 プライバシーを保護するため、鍵の名前には、個人の名前や場所などの個人情報 (PII) を含めないように注意してください。 キー・エイリアス (オプション) 鍵を認識しやすくするために鍵に割り当てる (人間が理解できる) 1 つ以上の固有の別名。 別名の長さは 2 文字から 90 文字です。 最大 5 つの別名を (コンマ区切りにして) 鍵に設定することができます。 注: 各エイリアスは英数字で、大文字と小文字が区別され、スペースやダッシュ (-) またはアンダースコア (_) 以外の特殊文字を含めることはできません。エイリアスはバージョン 4 UUID にすることはできず、Hyper Protect Crypto Services予約名:
allowed_ip、key、keys、metadata、policy、policies、registration、registrations、ring、rings、rotate、wrap、unwrap、rewrap、version、versions。鍵リング ID 既存の鍵リングのリストから鍵リングを選択します。 鍵リングを割り当てない場合は、 defaultの鍵リングに鍵が追加されます。 鍵リングについて詳しくは、鍵リングの管理を参照してください。有効期限の日付 (オプション) 鍵の有効期限が切れる日時を設定します。 有効期限が切れると、キーは非アクティブ状態に移行します。 鍵の状態について詳しくは、暗号鍵のライフサイクルのモニターを参照してください。 説明 (オプション) 鍵の詳しい説明を追加します。 説明の長さは 2 文字から 240 文字までです。 -
鍵の詳細の入力が完了したら、**「鍵の作成」**をクリックして確認します。
サービス内で作成される鍵は、AES-CBC アルゴリズムによってサポートされている、対称 256 ビット鍵です。 セキュリティ強化のため、キーはFIPS 140-2レベル4認定によって生成されます。ハードウェア セキュリティ モジュール(HSM)A physical appliance that provides on-demand encryption, key management, and key storage as a managed service.安全な場所にあるIBM Cloudデータセンター。
API を使用したルート鍵の作成
以下のエンドポイントへの POST 呼び出しを行うことにより、ルート鍵を作成します。
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys
-
電話する Hyper Protect Crypto Servicesキー管理サービス API以下
curl指示。curl -X POST \ "https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys" \ -H "authorization: Bearer <IAM_token>" \ -H "bluemix-instance: <instance_ID>" \ -H "content-type: application/vnd.ibm.kms.key+json" \ -H "x-kms-key-ring: <key_ring_ID>" \ -H "correlation-id: <correlation_ID>" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.key+json", "collectionTotal": 1 }, "resources": [ { "type": "application/vnd.ibm.kms.key+json", "name": "<key_name>", "aliases": [alias_list], "description": "<key_description>", "expirationDate": "<YYYY-MM-DDTHH:MM:SS.SSZ>", "extractable": <key_type> } ] }'次の表に従って、例の要求内の変数を置き換えてください。
表 2. API を使用してルート鍵を追加するために必要な変数について説明します。 変数 説明 region必須。 Hyper Protect Crypto Services サービス・インスタンスを置く地理的領域を表す、地域の省略形 ( us-south、au-sydなど)。 詳細については、リージョナル・サービス・エンドポイントを参照してください。port必須。 API エンドポイントのポート番号。 IAM_token必須。 IBM Cloud アクセス・トークン。 Bearer 値を含む、 IAMトークンの全コンテンツを cURL 要求に組み込みます。 詳細については、アクセス・トークンのリトリーブを参照してください。instance_ID必須。 Hyper Protect Crypto Services サービス・インスタンスに割り当てられた固有 ID。 詳細については、インスタンス ID のリトリーブを参照してください。 key_ring_IDオプション。 鍵を割り当てるターゲット鍵リングの固有 ID。 指定しない場合は、ヘッダーは自動的に defaultそして、鍵は指定されたデフォルトの鍵リングに属しているHyper Protect Crypto Services実例。詳しくは、鍵リングの管理を参照してください。
correlation_IDトランザクションを追跡し、相互に関連付けるために使用される固有 ID。 key_name必須。 鍵を簡単に識別するための、人間が理解できる固有の名前。 重要: プライバシー保護のため、鍵のメタデータとして個人データを保管しないでください。
alias_listオプション。 鍵に割り当てる (人間が理解できる) 1 つ以上の固有の別名。 重要: プライバシーを保護するために、個人データをキーのメタデータとして保存しないでください。
各エイリアスは英数字で、大文字と小文字が区別され、スペースやダッシュ(-)またはアンダースコア(_)以外の特殊文字を含めることはできません。エイリアスはバージョン4のUUIDにすることはできず、Hyper Protect Crypto Services予約名:
allowed_ip、key、keys、metadata、policy、policies、registration、registrations、ring、rings、rotate、wrap、unwrap、rewrap、version、versionsエイリアスのサイズは 2 〜 90 文字です。key_descriptionオプション: 鍵の詳しい説明。 重要: プライバシー保護のため、鍵のメタデータとして個人データを保管しないでください。
YYYY-MM-DDHH:MM:SS.SSオプション: システム内の鍵の有効期限が切れる日時 (RFC 3339 形式)。 もし、 expirationDate属性が省略されている場合、キーは期限切れになりません。key_type鍵の素材をサービスの外に出すことができるかどうかを決定するブール値。 extractable属性をfalseに設定すると、wrap操作またはunwrap操作に使用できるルート鍵がサービスによって作成されます。個人データの機密性を保護するため、サービスに鍵を追加するときに、個人の名前や場所などの個人情報 (PII) を入力しないようにしてください。 PIIのその他の例については、セクションを参照してください。2.2の NIST 特別出版物 800-122。
要求で
expirationDateを設定した場合は、その有効期限を過ぎてから 1 時間以内に、鍵が非アクティブ状態に変わります。成功した
POST /v2/keys応答は、鍵の ID 値を他のメタデータと共に返します。 この ID はキーに割り当てられた固有 ID であり、今後の Hyper Protect Crypto Services キー管理サービス API の呼び出しに使用されます。{ "metadata": { "collectionType": "application/vnd.ibm.kms.key+json", "collectionTotal": 1 }, "resources": [ { "type": "application/vnd.ibm.kms.key+json", "id": "02fd6835-6001-4482-a892-13bd2085f75d", "name": "test-root-key", "aliases": [ "alias-1", "alias-2" ], "description": "A test root key", "state": 1, "extractable": false, "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d", "imported": false, "creationDate": "2020-03-12T03:37:32Z", "createdBy": "...", "algorithmType": "AES", "algorithmMetadata": { "bitLength": "256", "mode": "CBC_PAD" }, "algorithmBitSize": 256, "algorithmMode": "CBC_PAD", "lastUpdateDate": "2020-03-12T03:37:32Z", "keyVersion": { "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2", "creationDate": "2020-03-12T03:37:32Z" }, "dualAuthDelete": { "enabled": false }, "deleted": false } ] }応答パラメータの詳細な説明については、Hyper Protect Crypto ServicesREST API リファレンス ドキュメント。
-
オプション: 次の呼び出しを実行して Hyper Protect Crypto Services サービス・インスタンス内の鍵を表示し、鍵が作成されたことを確認します。
curl -X GET \ https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys \ -H 'accept: application/vnd.ibm.collection+json' \ -H 'authorization: Bearer <IAM_token>' \ -H 'bluemix-instance: <instance_ID>' \ -H 'correlation-id: <correlation_ID>' \
サービスでルート鍵を作成した後に、その鍵が Hyper Protect Crypto Services の境界から出ることはありません。鍵の素材を取得することもできません。
次の作業
- エンベロープ暗号化を使用した鍵の保護について詳しくは、鍵のラッピングを確認してください。
- 独自の鍵をインポートする手順については、ルート鍵のインポートまたは標準鍵のインポートを確認してください。
- プログラムによるキーの管理の詳細については、チェックしてくださいHyper Protect Crypto Servicesキー管理サービス API リファレンス ドキュメント。