AWS CloudHSM クライアントキーの耐久性設定を変更する - AWS CloudHSM

AWS CloudHSM クライアントキーの耐久性設定を変更する

キーの同期は主に自動プロセスですが、クライアント側のキーの耐久性設定を管理できます。クライアント側のキーの耐久性設定は、クライアント SDK 5 とクライアント SDK 3 では異なる動作をします。

  • クライアント SDK 5 では、最低 2 つの HSM を用いてクラスターを実行することを求める key availability quorums のコンセプトを紹介します。クライアント側のキーの耐久性設定を使用して、2 つの HSM 要件をオプトアウトできます。quorums のさらなる詳細については、クライアント SDK 5 の概念 を参照してください。

  • クライアント SDK 3 では、クライアント側のキーの耐久性設定を使用して、オペレーション全体を成功と見なすためにキーの作成を成功させる必要がある HSM の数を指定します。

クライアント SDK 5 では、キーの同期は完全自動プロセスです。キー可用性クォーラムを用いて、アプリケーションがキーを使用できるようになる前に、新しく作成されたキーがクラスター内の 2 つの HSM 上に存在している必要があります。キーの可用性クォーラムを使用するには、クラスターに最低 2 つの HSM が必要です。

クラスター構成がキーの耐久性要件を満たしていない場合、トークンキーを作成または使用しようとすると、ログに次のエラーメッセージが表示されて失敗します。

Key <key handle> does not meet the availability requirements - The key must be available on at least 2 HSMs before being used.

クライアント構成設定を使用して、キーの可用性クォーラムをオプトアウトできます。たとえば、単一の HSM を用いてクラスターの実行をオプトアウトしたい場合があります。

クライアント SDK 5 の概念

Key Availability Quorum

AWS CloudHSM は、その上でアプリケーションがキーを使用できるようにする前に、キーが存在する必要があるクラスター内の HSM の数を指定します。最低 2 つの HSM を持つクラスターが必要です。

クライアントキーの耐久性設定の管理

クライアントキーの耐久性設定を管理するには、クライアント SDK 5 用の構成ツールを使用する必要があります。

PKCS #11 library
Linux でクライアント SDK 5 のクライアントキーの耐久性を無効にするには
  • 構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

    $ sudo /opt/cloudhsm/bin/configure-pkcs11 --disable-key-availability-check
Windows でクライアント SDK 5 のクライアントキー耐久性を無効にするには
  • 構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

    "C:\Program Files\Amazon\CloudHSM\bin\configure-pkcs11.exe" --disable-key-availability-check
OpenSSL Dynamic Engine
Linux でクライアント SDK 5 のクライアントキーの耐久性を無効にするには
  • 構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

    $ sudo /opt/cloudhsm/bin/configure-dyn --disable-key-availability-check
JCE provider
Linux でクライアント SDK 5 のクライアントキーの耐久性を無効にするには
  • 構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

    $ sudo /opt/cloudhsm/bin/configure-jce --disable-key-availability-check
Windows でクライアント SDK 5 のクライアントキー耐久性を無効にするには
  • 構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

    "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" --disable-key-availability-check
CloudHSM CLI
Linux でクライアント SDK 5 のクライアントキーの耐久性を無効にするには
  • 構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

    $ sudo /opt/cloudhsm/bin/configure-cli --disable-key-availability-check
Windows でクライアント SDK 5 のクライアントキー耐久性を無効にするには
  • 構成ツールを使用して、クライアントキーの耐久性設定を無効にします。

    "C:\Program Files\Amazon\CloudHSM\bin\configure-cli.exe" --disable-key-availability-check

[クライアント SDK 3] では、キーの同期は主に自動プロセスですが、クライアントキーの耐久性設定を使用してキーの耐久性を高めることができます。オペレーション全体を成功と見なすためにキーの作成を引き継ぐ必要がある HSM の数を指定します。クライアント側の同期では、選択した設定に関係なく、クラスター内のすべての HSM にキーのクローンするために、ベストエフォートの試行を行います。この設定では、指定した HSM の数の上にキーの作成が強制されます。値を指定し、システムがその数の HSM にキーをレプリケートできない場合、不要なキーマテリアルは自動的にクリーンアップされ、再試行できます。

重要

クライアントキーの耐久性設定を設定しない場合 (またはデフォルト値の 1 を使用する場合)、キーが失われる恐れがあります。サーバーサイドサービスがそのキーを別の HSM に複製する前に現在の HSM に障害が発生した場合、キーマテリアルは失われます。

キーの耐久性を最大化するには、クライアント側の同期のために少なくとも 2 つの HSM を指定することを検討してください。HSM をいくつ指定しても、クラスター上のワークロードは変わりません。クライアント側の同期では、クラスター内のすべての HSM に対して常にベストエフォート型のキーのクローンが試行されます。

推奨事項

  • Minimum: クラスターあたり 2 つの HSM

  • Maximum: クラスター内の HSM の総数より 1 少ない

クライアント側の同期に失敗すると、クライアントサービスは作成された可能性があり、不要になった可能性のある不要なキーをクリーンアップします。このクリーンアップは、常に機能するとは限らないベストエフォート対応です。クリーンアップが失敗した場合は、不要なキーマテリアルを削除する必要があります。さらなる詳細については、Key Synchronization Failures を参照してください。

クライアントキーの耐久性のための設定ファイルの設定

クライアントキーの耐久性設定を指定するには、cloudhsm_client.cfg を編集します。

クライアント設定ファイルを編集するには
  1. cloudhsm_client.cfg を開きます。

    Linux

    /opt/cloudhsm/etc/cloudhsm_client.cfg

    Windows

    C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
  2. ファイルの client のノードの中で、create_object_minimum_nodes を追加して、キー作成オペレーションを成功させるために AWS CloudHSM がその上にキーを正常に作成させる必要がある HSM の最小数の値を指定します。

    "create_object_minimum_nodes" : 2
    注記

    [key_mgmt_util (KMU)]コマンドラインツール]には、クライアントキーの耐久性の追加設定があります。詳細については、KMU とクライアント側の同期 を参照してください。

設定リファレンス

これらは、cloudhsm_client.cfg の抜粋中に示されるクライアント側の同期プロパティです:

{ "client": { "create_object_minimum_nodes" : 2, ... }, ... }
create_object_minimum_nodes

キーの生成、キーのインポート、またはキーアンラップ操作が成功したと見なすために必要な HSM の最小数を指定します。設定されると、デフォルトは、[1] になります。つまり、キーがオペレーション作成するたびに、クライアント側のサービスはクラスター内のすべての HSM でキーを作成しようとしますが、成功を返すためには、クラスター内の HSM 上で single key の生成を必要とするだけです。

KMU とクライアント側の同期

[key_mgmt_util (KMU)] コマンドラインツールを使用してキーを作成する場合は、オプションのコマンドラインパラメータ (-min_srv) を使って、キーのクローンを作成する HSM の数を limit します。構成ファイルでコマンドラインパラメータ および 値を指定すると、AWS CloudHSM は 2 つの値のうち大きいほうを優先します。

詳細については、以下の各トピックを参照してください。