ルート鍵の作成
使用できます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-DD
HH: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 リファレンス ドキュメント。