Cloud HSM

このトピックでは、Cloud HSM の概要と、HSM で保護された暗号鍵を Cloud Key Management Service で作成および使用する方法を説明します。

Cloud HSM とは

Cloud HSM は、FIPS 140-2 レベル 3 認定 HSM のクラスタで暗号鍵のホスティングや暗号オペレーションを実行できるようにする、クラウドでホストされたハードウェア セキュリティ モジュール(HSM)サービスです。HSM クラスタは Google によって管理されるため、クラスタリング、スケーリング、パッチ適用などについて心配する必要はありません。Cloud HSM は Cloud KMS をフロントエンドとして使用するため、Cloud KMS によって提供されるすべての利便性と機能を活用できます。

始める前に

  • プロジェクトの課金がまだ有効になっていない場合は、有効にします。

    課金を有効にする

鍵リングの作成

hsm-ring という名前の鍵リングを作成します。

Console

  1. GCP Console で [暗号鍵] ページに移動します。

  2. [キーリングを作成] をクリックします。

  3. [キーリング名] フィールドに hsm-ring と入力します。

  4. [ロケーション] プルダウンで、Cloud HSM がサポートされているリージョンを 1 つ選択します。

  5. [作成] をクリックします。

コマンドライン

hsm-ring という名前の新しい鍵リングを、Cloud HSM がサポートされているリージョンのいずれかに作成します。

gcloud kms keyrings create hsm-ring \
  --location [LOCATION]

鍵を作成する

hsm-key という名前の鍵を作成します。

Console

  1. GCP Console で [暗号鍵] ページに移動します。

  2. hsm-ring という名前の鍵リングをクリックします。

  3. [鍵を作成] をクリックします。

  4. [鍵名] フィールドに hsm-key と入力します。

  5. [目的] プルダウンをクリックし、[対称暗号化 / 復号] を選択します。鍵の目的の詳細については、鍵の目的をご覧ください。

  6. [保護レベル] で HSM を選択します。保護レベルの詳細については、保護レベルをご覧ください。

  7. (省略可)鍵にラベルを追加する場合は、[ラベル] フィールドで [ラベルを追加] をクリックします。

  8. [作成] をクリックします。

コマンドライン

hsm-ring 鍵リングに新しい鍵 hsm-key を作成します。

  • [--purpose] を [encryption] に設定します。鍵の目的の詳細については、鍵の目的をご覧ください。
  • [--protection-level] を [hsm] に設定します。保護レベルの詳細については、保護レベルをご覧ください。
gcloud kms keys create hsm-key \
  --location [LOCATION] \
  --keyring hsm-ring \
  --purpose encryption \
  --protection-level hsm

データの暗号化

鍵が作成されたので、その鍵を使用してテキストまたはバイナリのコンテンツを暗号化できます。 暗号化するテキストを生成します。

echo "Some text to be encrypted" > ~/my-secret-file

平文を my-secret-file.enc という名前のファイルに暗号化します。

gcloud kms encrypt \
  --location [LOCATION] \
  --keyring hsm-ring \
  --key hsm-key \
  --plaintext-file ~/my-secret-file \
  --ciphertext-file ~/my-secret-file.enc

暗号テキストの復号

暗号化されたコンテンツを復号するには、コンテンツの暗号化に使用したものと同じ鍵を使用する必要があります。次のコマンドを発行して、暗号化されたファイル my-secret-file.enc を復号します。

gcloud kms decrypt \
  --location [LOCATION] \
  --keyring hsm-ring \
  --key hsm-key \
  --ciphertext-file ~/my-secret-file.enc \
  --plaintext-file ~/my-secret-file.dec

my-secret-file.dec と元の平文ファイル my-secret-file のコンテンツが同じであることがわかります。

cat ~/my-secret-file.dec
Some text to be encrypted

クリーンアップ

このチュートリアルで使用したリソースについて GCP アカウントに課金されないようにするために、以下を行ってください。

クリーンアップするには、このトピックで使用されている鍵バージョンを破棄します。

自分の鍵で使用できるバージョンを一覧表示します。

gcloud kms keys versions list \
  --location [LOCATION] \
  --keyring hsm-ring \
  --key hsm-key

バージョンを破棄するには、次のコマンドを実行します。[VERSION_NUMBER] は破棄するバージョン番号に置き換えます。

gcloud kms keys versions destroy \
  [VERSION_NUMBER] \
  --location [LOCATION] \
  --keyring hsm-ring \
  --key hsm-key

次のステップ

既知の制限事項

  • 追加認証データを含む、ユーザー指定の平文と暗号テキストのブロックサイズは、(Cloud KMS ソフトウェア鍵が 64 KiB であるのに対し)16,384 バイトに制限されています。

  • Cloud HSM は特定のリージョンでのみ使用できます。詳しくは、Cloud HSM がサポートされているリージョンをご覧ください。

  • 現在、Cloud HSM に保管されている鍵のオペレーションでは、Cloud KMS ソフトウェア鍵を使用する場合と比較して、レイテンシが大幅に増加する可能性があります。

エラーが発生した場合

問題が発生した場合は、サポートでフィードバック オプションをご覧ください。

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Cloud KMS ドキュメント