Crypto Officers のクォーラム認証の使用: 初回セットアップ - AWS CloudHSM

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Crypto Officers のクォーラム認証の使用: 初回セットアップ

次のトピックでは、Crypto Officers (CO) がクォーラム認証を使用できるようにするためのハードウェアセキュリティモジュール (HSM)の設定に必要なステップについて説明します。CO のクォーラム認証を最初に設定する場合に、これらのステップを 1 回だけ実行する必要があります。これらのステップが完了したら、Crypto Officer 用のクォーラム認証の使用 を参照してください。

前提条件

この例の理解には、cloudhsm_mgmt_util (CMU)コマンドラインツール についての知識が必要です。この例では、 listUsers コマンドからの次の出力に示すように、 AWS CloudHSM クラスターには 2 HSMs COsを持ちます。ユーザー作成の詳細については、HSM ユーザーの管理 を参照してください。

aws-cloudhsm>listUsers Users on server 0(10.0.2.14): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 NO 0 NO 4 CO officer2 NO 0 NO 5 CO officer3 NO 0 NO 6 CO officer4 NO 0 NO 7 CO officer5 NO 0 NO Users on server 1(10.0.1.4): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 NO 0 NO 4 CO officer2 NO 0 NO 5 CO officer3 NO 0 NO 6 CO officer4 NO 0 NO 7 CO officer5 NO 0 NO

署名のためのキーの作成と登録

クォーラム認証を使用する場合、各 CO が以下の すべて のステップをを実行する必要があります。

RSA キーペアの作成

様々なキーペアを作成、保護する方法があります。次の例では、OpenSSL 使用方法を説明しています。

例 — OpenSSL でプライベートキーを作成する

次の例は、OpenSSL を使用してパスフレーズで保護された 2048 ビットの RSA キーを作成する方法を示しています。この例を使用するには、officer1.key を、キーの保存先のファイル名に置き換えてください。

$ openssl genrsa -out officer1.key -aes256 2048 Generating RSA private key, 2048 bit long modulus .....................................+++ .+++ e is 65537 (0x10001) Enter pass phrase for officer1.key: Verifying - Enter pass phrase for officer1.key:

次に、作成したプライベートキーを使用してパブリックキーを生成します。

例 — OpenSSL でパブリックキーを作成する

以下の例は、OpenSSL を使用して先ほど作成したプライベートキーからパブリックキーを作成する方法を示しています。

$ openssl rsa -in officer1.key -outform PEM -pubout -out officer1.pub Enter pass phrase for officer1.key: writing RSA key

登録トークンの作成と署名

トークンを作成し、前のステップで生成したプライベートキーを使用して署名します。

例 — トークンを作成する

登録トークンは、最大 245 バイトのサイズを超えないランダムなデータを含むファイルのみです。プライベートキーを使用してトークンに署名し、プライベートキーへのアクセス権があることを示します。次のコマンドは、echo を使用して文字列をファイルにリダイレクトします。

$ echo "token to be signed" > officer1.token

トークンに署名し、署名ファイルに保存します。HSM で MofN ユーザーとして CO を登録する場合、署名付きトークン、署名なしトークン、およびパブリックキーが必要です。

例 トークンへ署名する

OpenSSL とプライベートキーを使用して登録トークンに署名し、署名ファイルを作成します。

$ openssl dgst -sha256 \ -sign officer1.key \ -out officer1.token.sig officer1.token

HSM でパブリックキーを登録する

キーを作成した後、CO はキーのパブリックパート (パブリックキー) を HSM に登録する必要があります。

HSM にパブリックキーの登録するには
  1. 次のコマンドを使用して、cloudhsm_mgmt_util コマンドラインツールをスタートします。

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. loginHSM コマンドを使用して、CO ユーザーとして HSM にログインします。詳細については、「CloudHSM 管理ユーティリティ (CMU) を使用する HSM ユーザーを管理する」を参照してください。

  3. registerQuorumPubKey コマンドを使用してパブリックキーを登録します。詳細については、次の例を参照するか、または help registerQuorumPubKey コマンドを使用してください。

例 - HSM のパブリックキーを登録する

以下の例では、cloudhsm_mgmt_util コマンドラインツールで registerQuorumPubKey コマンドを使用して、CO のパブリックキーを HSM に登録する方法を示しています。このコマンドを使用するには、CO が HSM にログインしている必要があります。以下の値を自分の値に置き換えてください。

aws-cloudhsm> registerQuorumPubKey CO <officer1> <officer1.token> <officer1.token.sig> <officer1.pub> *************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y registerQuorumPubKey success on server 0(10.0.2.14)
<officer1.token>

署名なし登録トークンを含むファイルへのパスです。最大ファイルサイズが 245 バイトの任意のランダムデータを持つことができます。

必須 : はい

<officer1.token.sig>

登録トークンの SHA256_PKCS メカニズム署名付きハッシュを含むファイルへのパスです。

必須: はい

<officer1.pub>

非対称 RSA-2048 キーペアの公開キーを含むファイルへのパスです。プライベートキーを使用して、登録トークンに署名します。

必須: はい

次の例に示すように、すべての CO がパブリックキーを登録した後、listUsers コマンドの出力の MofnPubKey 列にこれが表示されます。

aws-cloudhsm>listUsers Users on server 0(10.0.2.14): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO Users on server 1(10.0.1.4): Number of users found:7 User Id User Type User Name MofnPubKey LoginFailureCnt 2FA 1 PRECO admin NO 0 NO 2 AU app_user NO 0 NO 3 CO officer1 YES 0 NO 4 CO officer2 YES 0 NO 5 CO officer3 YES 0 NO 6 CO officer4 YES 0 NO 7 CO officer5 YES 0 NO

HSM のクォーラム最小値を設定する

CO のクォーラム認証を使用するには、CO が HSM にログインして、m 値とも呼ばれるクォーラム最小値を設定する必要があります。これは、HSM ユーザー管理オペレーションを実行するために必要な CO 承認の最小数です。HSM 上の任意の CO は、署名用のキーを登録していない CO を含むクォーラム最小値を設定できます。クォーラム最小値はいつでも変更できます。詳細情報は、 最小値を変更 を参照してください。

HSM のクォーラム最小値の設定
  1. 次のコマンドを使用して、cloudhsm_mgmt_util コマンドラインツールをスタートします。

    $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
  2. loginHSM コマンドを使用して、CO ユーザーとして HSM にログインします。詳細については、「CloudHSM 管理ユーティリティ (CMU) を使用する HSM ユーザーを管理する」を参照してください。

  3. クォーラム最小値を設定する場合、setMValue コマンドを使用します。詳細については、次の例を参照するか、または help setMValue コマンドを使用してください。

例 HSM のクォーラム最小値を設定する

この例では、クォーラム最小値 2 を使用します。最大は HSM 上の CO の合計数で、2 から 8 までの任意の値を選択できます。この例では HSM に 6 つの CO がいるため、指定可能な最大値は 6 です。

次のコマンド例を使用するには、最後の数値 (2) を所望のフォーラム最小値に置き換えてください。

aws-cloudhsm>setMValue 3 2 *************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y Setting M Value(2) for 3 on 2 nodes

上記の例では、最初の数字 (3) は、クォーラム最小値を設定しようとしている HSM サービスを示しています。

次の表に、HSM サービス識別子とその名前、説明、およびサービスに含まれるコマンドを示しています。

サービス識別子 サービス名 サービスの説明 HSM コマンド
3 USER_MGMT HSM ユーザー管理
  • createUser

  • deleteUser

  • changePswd (別の HSM ユーザーのパスワードを変更した場合のみ適用されます)

4 MISC_CO その他の CO サービス
  • setMValue

サービスのクォーラム最小値を取得するには、次の例のように、getMValue コマンドを使用します。

aws-cloudhsm>getMValue 3 MValue of service 3[USER_MGMT] on server 0 : [2] MValue of service 3[USER_MGMT] on server 1 : [2]

前述の getMValue コマンドの出力は、HSM ユーザー管理オペレーション (サービス 3) のクォーラム最小値が 2 になったことを示しています。

これらのステップが完了したら、Crypto Officer 用のクォーラム認証の使用 を参照してください。