Web サービスからのキーのインポート

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:5分
  • Web サービス (キー REST API など) からのキーのインポートを使用して、外部顧客キーをインスタンスに安全にアップロードします。対称キーと非対称公開キーの両方をターゲットの KMF 暗号化モジュールにアップロードできます。

    インポートするキー (ターゲットキー) は、インスタンスのターゲットの暗号化モジュールにアップロードする前に、ラッピングキーで暗号化する必要があります。このラッピングキーは、公開鍵/秘密鍵のペアの公開コンポーネントであり、インスタンスに存在する必要があります。このキーは、ラップされたターゲットキーが [Web サービスからインポート] を介してアップロードされる前の前提条件です。

    2 つの別々の手順 (ラッピングキーペアのインポートと、Web サービスからのラップされたターゲットキーのインポート) について以下のドキュメントで説明します。このキーペアをインスタンスの内部キーインポート暗号化モジュールで使用できるようにするには、キーペアを生成してアップロードする必要があります。

    注:
    この例では、キーと証明書の生成に OpenSSL を使用し、Postman API テストツールを使用して REST API の使用方法が示されています。会社の要件に基づいて、他の同等のツールで置き換えてください。

    ラッピング/ラップ解除キーペアのインポート

    キーをインポートする前に キー管理フレームワーク インポート設定を構成します。

    始める前に

    必要なロール:sn_kmf.cryptographic_manager

    このタスクについて

    この例では、OpenSSL を使用してキーと証明書を生成します。会社の要件に基づいて、他の同等のツールで置き換えてください。

    手順

    1. ローカル環境で、ターミナルを使用して証明書を作成します。
      例:openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:4096 -keyout wrapping_private.key -out wrapping_public.crt

      この証明書は、キーを含む公開コンポーネントです。証明書は、AES 対称キーをラップするために使用されます。

    2. ローカル環境で、ターミナルを使用して公開証明書 (ラッピングキー付き) と秘密ラップ解除キーを含むキーストアを作成します。
      例:openssl pkcs12 -export -in wrapping_public.crt -inkey wrapping_private.key -name "wrapping_key_alias" -out wrapping_keystore.p12
    3. インスタンスで、 All (すべて) > キー管理 > 設定をインポート > キーインポート設定.
    4. [アルゴリズム定義] セクションで、[暗号化の目的][非対称キーのラップ解除] に設定されていることを確認します。暗号化の目的の選択。
    5. インポートされたキーストアの非対称キーマテリアルに適したアルゴリズムを選択します。
      詳細については、「暗号化仕様」を参照してください。
    6. [次へ] を選択します。
    7. [ライフサイクル定義] セクションで、[次へ] を選択して続行します。
    8. [キーの作成元] セクションの、[作成元] フィールドで [PKCS12 からインポート] または [BCFKS からインポート] を選択します。
      注:
      ステップ 1 のキーストア例を使用する場合は、[PKCS12 からインポート] を選択します。
    9. キーを識別できるようにキーエイリアスを入力します。
      このエイリアスは、アップロードする証明書またはキーストアを生成するときに指定したキーエイリアス (または「分かりやすい名前」) と一致する必要があります。上記の例を続けた場合、これは wrapper_key_alias になります。
    10. [次へ] を選択します。
      [キーの作成] セクションには [ キーのインポート ] リンクが含まれ、キーストアをアップロードするためのダイアログが表示されます。この例を続けた場合、これは wrapping_keystore.p12 になります。

    Web サービスからラップされたキーをインポートする

    Web サービスからのキーのインポート機能を使用して、ラップされたキーを暗号化モジュールにアップロードします。この例では、対称キーを使用しています。同様の手順を使用して非対称キーをインポートできます。

    始める前に

    必要なロール:sn_kmf.cryptographic_manager (モジュール構成)、sn_kmf.cryptographic_operator (REST 操作のベーシック認証)

    このタスクについて

    キーのインポートプロセスを完了するには、KMF インポートキーエンドポイントにアクセスする必要があります。

    この例では、OpenSSL を使用してキーと証明書を生成します。要件に基づいて、他の同等のツールに置き換えることもできます。

    手順

    1. ローカルデバイスのターミナルで、キーインポートモジュールの公開鍵ラッピングキーを使用して対称キーをラップします。
      例:openssl pkeyutl -encrypt -pubin -inkey public_wrapping_key.pem -in symmetric_key.bin -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256 -out wrapped_symmetric_key.txt
      この例では、wrapped_symmetric_key.txt という名前のラップされたキーファイルが作成されます。
    2. API に関連付ける暗号化モジュールを作成します。
      詳細をご確認ください。
    3. 次の選択肢を使用して暗号化仕様を追加します。
      • 暗号化の目的対称データの暗号化/復号化
      • キーの作成元Web サービスからインポート Web サービスからのインポートとして選択されたキーの作成元。

        詳細を参照してください。

    4. HTTP POST 要求を実行して、Web サービス REST エンドポイントからインポートします。
      オプション値/形式
      エンドポイントの URL https://<instance>/api/sn_kmf/key/import?cryptoSpecSysID=<sys_id_of_crypto_spec>
      CryptoSpecSysID パラメーター
      新しく作成された暗号化仕様の sys_id
      ヒント:
      暗号化仕様のヘッダーを右クリックして、sys_id をコピーします。
      ヘッダーのコンテンツタイプ アプリケーション/オクテットストリーム
      本文 インポートするファイル添付バイナリと公開鍵 (wrapped_symmetric_key.txt) を含める必要があります。
      Web サービス REST エンドポイントからのインポート <username/password> のベーシック認証を使用します。
      注:
      指定されたユーザーが sn_kmf_cryptographic_operator ロールを持っていることを確認します。
      公開鍵のインポートに成功すると、ステータス 200 と書かれた HTTP 応答メッセージが返されます。
    5. ターゲットの暗号化モジュールにキーが正常にインポートされていることを確認します。キーのインポートに成功した [暗号化仕様モジュールキー] タブ。