すべてのプロダクト
Search
ドキュメントセンター

Key Management Service:HSM へのキーマテリアルのインポート

最終更新日:Apr 01, 2026

Cloud ハードウェアセキュリティモジュールでは、独自のキーマテリアルをハードウェアセキュリティモジュール (HSM) にインポートできます。このガイドでは、key_mgmt_tool CLI を使用して、対称キーマテリアルと非対称キーマテリアルの両方をインポートする方法を説明します。

適用可能な HSM タイプ

連邦情報処理標準 (FIPS) によって検証された汎用仮想セキュリティモジュール (GVSM)

仕組み

キーマテリアルを HSM にインポートする際には、ラッピングキーを使用して転送中のキーマテリアルを保護します。

  1. HSM 内で一時的なラッピングキーを生成します。ラッピングキーはセッションキーであり、現在のセッション中にのみ存在し、その後は回復できません。

  2. HSM はラッピングキーを使用して、キーマテリアルを安全に受信し、アンラップします。

  3. インポートが成功すると、HSM はインポートされたキーにキーハンドルを割り当てます。このハンドルを使用して、後続の操作でキーを参照します。

サポートされているキータイプ

キータイプアルゴリズムキーサイズ-t
対称キーAES (高度暗号化標準)16、24、または 32 バイト31
対称キー3DES (トリプルデータ暗号化標準) / DES (データ暗号化標準)24 バイト21
対称キーGENERIC_SECRET16
非対称ECC (楕円曲線暗号) — secp256k1

前提条件

開始する前に、以下を確認してください。

  • hsm_proxy HSM クライアントプロキシを起動しました。詳細については、「Cloud Hardware Security Module の使用を開始する」をご参照ください。

  • key_mgmt_tool CLI がインストールされています。 key_mgmt_tool をご参照ください。

  • key_mgmt_tool を使用して、暗号ユーザー (CU) としてログインしていること

CU としてログインするには、以下を実行します。

/opt/hsm/bin/key_mgmt_tool
Command: loginHSM -u CU -s <yourCuUserName> -p <yourCuUserPassword>
/opt/hsm/bin/key_mgmt_toolkey_mgmt_tool の実際のパスに置き換えます。<yourCuUserName> および <yourCuUserPassword> を、CU の認証情報に置き換えます。

対称キーマテリアルのインポート

次の例では、AES-256 対称キーマテリアルをインポートします。

ステップ 1: キーマテリアルの作成

キーマテリアルがすでにある場合は、このステップをスキップしてください。キーファイルには、生のキーバイトのみが含まれている必要があります。改行やその他の追加コンテンツは含めないでください。

OpenSSL を使用して、32 バイトのランダムなキーマテリアルを生成します。

openssl rand 32 > aes256key_to_import.key

ステップ 2: ラッピングキーの生成

一時的なラップキーを作成するには、genSymKey を実行します。

Command: genSymKey -t 31 -s 32 -sess -l import-wrapping-key
パラメータ説明
-tキータイプ。21 = 3DES、31 = AES
-sキーサイズ (バイト単位)。AES: 1624、または 32。3DES: 24
-sessキーがセッションキーであることを指定します。セッションキーは、長期保存ではなく一時的な使用を目的としています。
-lキータグ

期待される出力:

Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS
  Symmetric Key Created.  Key Handle: 37
  Cluster Status:
  Node id 0 status: 0x00000000 : HSM Return: SUCCESS

[Key Handle]」の値(例: 37)を確認してください。次のステップで必要になります。

ステップ 3: 対称キーマテリアルのインポート

imSymKey を実行して、前のステップのラッピングキーを使用してキーマテリアルをインポートします:

Command: imSymKey -f aes256key_to_import.key -t 31 -l aes256-key-imported -w 37
パラメータ説明
-fキーマテリアルのファイル名
-tキータイプ。16 = GENERIC_SECRET、21 = 3DES または DES、31 = AES
-lキータグ
-wステップ 2 で生成されたラッピングキーのキーハンドル
キーハンドルはHSMによってランダムに割り当てられます。genSymKey の出力から値を使用してください。

期待される出力:

Cfm3ImportWrapKey returned: 0x00 : HSM Return: SUCCESS
  Cfm3CreateUnwrapTemplate2 returned: 0x00 : HSM Return: SUCCESS
  Cfm3ImportUnWrapKey returned: 0x00 : HSM Return: SUCCESS
  Symmetric Key Imported.  Key Handle: 35
  Cluster Status:
  Node id 0 status: 0x00000000 : HSM Return: SUCCESS

インポートされたキーには、新しいキーハンドル (例: 35) が割り当てられます。

非対称キーマテリアルのインポート

次の例では、ECC secp256k1 キーペアをインポートします。ユースケースに基づいて、秘密鍵、公開鍵、またはその両方をインポートできます。公開鍵のみをインポートする場合は、ステップ 2 をスキップしてください。

ステップ 1: キーマテリアルの作成

キーマテリアルがすでにある場合は、このステップをスキップしてください。

OpenSSL を使用して、ECC secp256k1 キーペアを生成します。

openssl ecparam -name secp256k1 -genkey -noout -out secp256k1_key.pem
openssl ec -in secp256k1_key.pem -pubout -out secp256k1_key_pub.pem

秘密鍵ファイルの例 (secp256k1_key.pem): image.png

公開鍵ファイルの例 (secp256k1_key_pub.pem): image.png

ステップ 2: ラッピングキーの生成

公開鍵のみをインポートする場合は、このステップをスキップしてください。

genSymKey を実行して、一時的なラッピングキーを作成します:

Command: genSymKey -t 31 -s 32 -sess -l import-wrapping-key
パラメータ説明
-tキータイプ。21 = 3DES、31 = AES
-sキーサイズ (バイト単位)。AES: 1624、または 32。3DES: 24
-sessキーがセッションキーであることを指定します。セッションキーは、長期保存ではなく一時的な使用を目的としています。
-lキータグ

期待される出力:

Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS
  Symmetric Key Created.  Key Handle: 37
  Cluster Status:
  Node id 0 status: 0x00000000 : HSM Return: SUCCESS

[キーハンドル] の値 (例: 37) をメモしてください。この値はステップ 3 で必要になります。

ステップ 3: 秘密鍵のインポート

importPrivateKey を実行して秘密鍵をインポートします:

Command: importPrivateKey -f secp256k1_key.pem -l secp256k1_key-imported -w 37
パラメータ説明
-f秘密鍵のファイル名
-lキータグ
-wステップ 2 で生成されたラッピングキーのキーハンドル
キーハンドルは HSM によってランダムに割り当てられます。 genSymKey の出力の値を使用してください。

期待される出力:

BER encoded key length is 135
  Cfm3ImportWrapKey returned: 0x00 : HSM Return: SUCCESS
  Cfm3CreateUnwrapTemplate2 returned: 0x00 : HSM Return: SUCCESS
  Cfm3ImportUnWrapKey: 0x00 : HSM Return: SUCCESS
  Private Key Imported.  Key Handle: 36
  Cluster Status:
  Node id 0 status: 0x00000000 : HSM Return: SUCCESS

インポートされた秘密鍵には、新しいキーハンドル (例: 36) が割り当てられます。

ステップ 4: 公開鍵のインポート

importPubKey を実行して公開鍵をインポートします:

Command: importPubKey -f secp256k1_key_pub.pem -l secp256k1_key_pub
パラメータ説明
-f公開鍵のファイル名
-lキータグ

期待される出力:

Cfm3CreatePublicKey returned: 0x00 : HSM Return: SUCCESS

次のステップ