

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

# AWS CloudHSM Crypto Officer のクォーラム認証を設定する
<a name="quorum-authentication-crypto-officers-first-time-setup"></a>

以下のトピックでは、 AWS CloudHSM [暗号責任者 (COs) がクォーラム認証を使用できるように、ハードウェアセキュリティモジュール (HSM)](understanding-users-cmu.md#crypto-officer) を設定するために完了する必要がある手順について説明します。CO のクォーラム認証を最初に設定する場合に、これらのステップを 1 回だけ実行する必要があります。これらのステップが完了したら、[管理ユーティリティでクォーラム認証を有効にしたユーザー AWS CloudHSM 管理](quorum-authentication-crypto-officers.md) を参照してください。

**Topics**
+ [前提条件](#quorum-crypto-officers-prerequisites)
+ [ステップ 1. 署名のためのキーの作成と登録](#quorum-crypto-officers-create-and-register-key)
+ [ステップ 2. HSM のクォーラム最小値を設定する](#quorum-crypto-officers-set-quorum-minimum-value)

## 前提条件
<a name="quorum-crypto-officers-prerequisites"></a>

この例の理解には、[cloudhsm\$1mgmt\$1util (CMU)コマンドラインツール](cloudhsm_mgmt_util.md) についての知識が必要です。この例では、 **listUsers** コマンドからの次の出力に示すように、 AWS CloudHSM クラスターには 2 つの HSMs があり、それぞれが同じ COsを持ちます。ユーザー作成の詳細については、[HSM ユーザー](manage-hsm-users.md) を参照してください。

```
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
```

## ステップ 1. 署名のためのキーの作成と登録
<a name="quorum-crypto-officers-create-and-register-key"></a>

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

**Topics**
+ [RSA キーペアの作成](#mofn-key-pair-create)
+ [登録トークンの作成と署名](#mofn-registration-token)
+ [HSM でパブリックキーを登録する](#mofn-register-key)

### RSA キーペアの作成
<a name="mofn-key-pair-create"></a>

様々なキーペアを作成、保護する方法があります。次の例では、[OpenSSL](https://www.openssl.org/) 使用方法を説明しています。

**Example — 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:
```

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

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

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

### 登録トークンの作成と署名
<a name="mofn-registration-token"></a>

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

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

```
$ echo <token to be signed> > officer1.token
```

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

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

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

### HSM でパブリックキーを登録する
<a name="mofn-register-key"></a>

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

**HSM にパブリックキーの登録するには**

1. 次のコマンドを使用して、cloudhsm\$1mgmt\$1util コマンドラインツールをスタートします。

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

1. **loginHSM** コマンドを使用して、CO ユーザーとして HSM にログインします。詳細については、「[CloudHSM 管理ユーティリティ (CMU) による HSM ユーザー管理](manage-hsm-users-cmu.md)」を参照してください。

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

**Example - HSM のパブリックキーを登録する**  
以下の例では、cloudhsm\$1mgmt\$1util コマンドラインツールで **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\$1PKCS メカニズム署名付きハッシュを含むファイルへのパスです。  
必須: はい  
**<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
```

## ステップ 2. HSM のクォーラム最小値を設定する
<a name="quorum-crypto-officers-set-quorum-minimum-value"></a>

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

**HSM のクォーラム最小値の設定**

1. 次のコマンドを使用して、cloudhsm\$1mgmt\$1util コマンドラインツールをスタートします。

   ```
   $ /opt/cloudhsm/bin/cloudhsm_mgmt_util /opt/cloudhsm/etc/cloudhsm_mgmt_util.cfg
   ```

1. **loginHSM** コマンドを使用して、CO ユーザーとして HSM にログインします。詳細については、「[CloudHSM 管理ユーティリティ (CMU) による HSM ユーザー管理](manage-hsm-users-cmu.md)」を参照してください。

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

**Example 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\$1MGMT | HSM ユーザー管理 |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/quorum-authentication-crypto-officers-first-time-setup.html)  | 
| 4 | MISC\$1CO | その他の CO サービス |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/cloudhsm/latest/userguide/quorum-authentication-crypto-officers-first-time-setup.html)  | 

サービスのクォーラム最小値を取得するには、次の例のように、**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 になったことを示しています。

これらのステップが完了したら、[管理ユーティリティでクォーラム認証を有効にしたユーザー AWS CloudHSM 管理](quorum-authentication-crypto-officers.md) を参照してください。