

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

# AWS CloudHSM クライアント SDK 3 が pkpspeed ツールで HSM のパフォーマンスを検証する
<a name="troubleshooting-verify-hsm-performance"></a>

このトピックでは、クライアント SDK 3 で AWS CloudHSM ハードウェアセキュリティモジュール (HSM) のパフォーマンスを検証する方法について説明します。

 AWS CloudHSM クラスター内の HSMs のパフォーマンスを確認するには、クライアント SDK 3 に含まれている pkpspeed (Linux) または pkpspeed\_blocking (Windows) ツールを使用できます。pkpspeed ツールは理想的な条件下で実行され、PKCS11 などの SDK を経由せずに HSM を直接呼び出して操作を実行します。スケーリングのニーズを判断するために、アプリケーションの負荷を個別にテストすることを推奨します。ランダム (I)、ModeXP (R)、EC ポイント mul (Y) の各テストの実施は推奨しません。

 Linux EC2 インスタンスにクライアントをインストールする方法の詳細については、「[CMU 用の AWS CloudHSM クライアントをインストールして設定する (Linux)](cmu-install-and-configure-client-linux.md)」を参照してください。Windows インスタンスにクライアントをインストールする方法の詳細については、「[CMU 用の AWS CloudHSM クライアントをインストールして設定する (Windows)](cmu-install-and-configure-client-win.md)」を参照してください。

 AWS CloudHSM クライアントをインストールして設定したら、次のコマンドを実行してクライアントを起動します。

------
#### [ Amazon Linux ]

```
$ sudo start cloudhsm-client
```

------
#### [ Amazon Linux 2 ]

```
$ sudo service cloudhsm-client start
```

------
#### [ CentOS 7 ]

```
$ sudo service cloudhsm-client start
```

------
#### [ CentOS 8 ]

```
$ sudo service cloudhsm-client start
```

------
#### [ RHEL 7 ]

```
$ sudo service cloudhsm-client start
```

------
#### [ RHEL 8 ]

```
$ sudo service cloudhsm-client start
```

------
#### [ Ubuntu 16.04 LTS ]

```
$ sudo service cloudhsm-client start
```

------
#### [ Ubuntu 18.04 LTS ]

```
$ sudo service cloudhsm-client start
```

------
#### [ Windows ]
+ Windows クライアント 1.1.2\+ の場合:

  ```
  C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
  ```
+ Windows クライアント 1.1.1 以前の場合。

  ```
  C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
  ```

------

クライアントソフトウェアをインストール済みの場合は、必要に応じて最新バージョンの pkpspeed をダウンロードしてインストールします。pkpspeed ツールは、Linux の `/opt/cloudhsm/bin/pkpspeed` または Windows の `C:\Program Files\Amazon\CloudHSM\` にあります。

pkpspeed を使用するには、**pkpspeed** コマンドあるいは **pkpspeed\_blocking.exe** を実行し、HSM の Crypto User (CU) のユーザー名とパスワードを指定します。次に、以下の推奨事項を考慮に入れながら、使用するオプションを設定します。

## レコメンデーションをテストする
<a name="w2aac37c11c17"></a>
+ RSA の署名および検証オペレーションのパフォーマンスをテストするには、Linux または Windows のオプション B の `RSA_CRT` 暗号を選択します。`RSA` は選択しないでください (option A in Windows のオプション A)。暗号は同じですが、`RSA_CRT` はパフォーマンス用に最適化されています。
+ 少数のスレッドで開始します。AES パフォーマンスをテストする場合、通常、1 つのスレッドで十分に最大のパフォーマンスが示されます。RSA パフォーマンスをテストする場合 (`RSA_CRT`) は、通常、3〜4 つのスレッドで十分です。

## pkpspeed ツールの設定可能なオプション
<a name="w2aac37c11c19"></a>
+ **FIPS モード**: AWS CloudHSM は常に FIPS モードです (詳細については、[AWS CloudHSM FAQs](https://aws.amazon.com/cloudhsm/faqs/)」を参照してください）。これは、 AWS CloudHSM 「 ユーザーガイド」に記載されている CLI ツールを使用し、FIPS モードのステータスを示す ** [CMU を使用して AWS CloudHSM クラスター内の各 HSM のハードウェア情報を取得する](cloudhsm_mgmt_util-getHSMInfo.md) ** コマンドを実行することで確認できます。
+ **テストタイプ (ブロッキングとノンブロッキング)**: スレッド方式でのオペレーションの実行方法を指定します。ノンブロッキングを使用すると良い数値が得られる可能性が高くなるでしょう。これは、スレッドと同時実行性を利用するためです。
+ **スレッド数**: テストを実行するスレッドの数。
+ **テスト実行時間 (最大 = 600)**: pkpspeed は「オペレーション/秒」で測定された結果を生成し、テストが実行される毎秒この値を報告します。例えば、テストを 5 秒間実行する場合、出力は次のサンプル値のようになります。
  + `OPERATIONS/second 821/1`
  + `OPERATIONS/second 833/1`
  + `OPERATIONS/second 845/1`
  + `OPERATIONS/second 835/1`
  + `OPERATIONS/second 837/1`

## pkpspeed ツールで実行できるテスト
<a name="w2aac37c11c21"></a>
+ **AES GCM**: AES GCM モードの暗号化をテストします。
+ **ベーシック 3DES CBC**: 3DES CBC モードの暗号化をテストします。今後の変更については、以下の注記「[1](#verify-hsm-performance-note-1)」を参照してください。
+ **ベーシック AES: **AES CBC/ECB 暗号化をテストします。
+ **ダイジェスト**: ハッシュダイジェストをテストします。
+ **ECDSA サイン**: ECDSA サインをテストします。
+ **ECDSA 検証**: ECDSA 検証をテストします。
+ **FIPS ランダム**: FIPS 準拠の乱数の生成をテストします (注: これはブロッキングモードでのみ使用できます)。
+ **HMAC**: HMAC をテストします。
+ **ランダム**: FIPS 140-2 HSM を使用しているため、このテストは関係ありません。
+ **RSA 非 CRT と RSA\_CRT の比較**: RSA サインと検証オペレーションをテストします。
+ **RSA OAEP 暗号**: RSA OAEP の暗号化をテストします。
+ **RSA OAEP 復号**: RSA OAEP の復号化をテストします。
+ **RSA プライベート復号化非 CRT**: RSA プライベートキー暗号化 (非最適化) をテストします。
+ **RSA プライベート復号化 CRT**: RSA プライベートキー暗号化 (最適化) をテストします。
+ **RSA PSS サイン**: RSA PSS サインをテストします。
+ **RSA PSS 検証**: RSA PSS 検証をテストします。
+ **RSA パブリックキー暗号**: RSA パブリックキー暗号化をテストします。

RSA パブリックキー暗号化、RSA プライベート復号化非 CRT、RSA プライベートキー復号化 CRT でも、ユーザーに次の回答を求めるプロンプトが表示されます。

```
Do you want to use static key [y/n]
```

`y` が入力された場合、事前に計算されたキーが HSM にインポートされます。

`n` が入力された場合、新しいキーが生成されます。

[1] NIST ガイダンスに従い、2023 年以降の FIPS モードのクラスターでは、これは許可されません。FIPS 以外のモードのクラスターでは、2023 年以降も許可されます。詳細については、「[FIPS 140 コンプライアンス: 2024 年 メカニズムの非推奨](compliance-dep-notif.md#compliance-dep-notif-1)」を参照してください。

## 例
<a name="w2aac37c11c23"></a>

以下の例では、RSA オペレーションと AES オペレーションにおける HSM のパフォーマンスをテストするために pkpspeed (Linux) または pkpspeed\_blocking (Windows) で選択できるオプションを示します。

**Example - pkpspeed を使用した RSA パフォーマンスのテスト**  
ここの例は、Windows、Linux、および互換性のあるオペレーティングシステムで実行できます。  
これらの手順は、Linux および互換性のあるオペレーティングシステムで使用してください。  

```
/opt/cloudhsm/bin/pkpspeed -s {{CU user name}} -p {{password}}

SDK Version: 2.03

        Available Ciphers:
                AES_128
                AES_256
                3DES
                RSA  (non-CRT. modulus size can be 2048/3072)
                RSA_CRT (same as RSA)
For RSA, Exponent will be 65537

Current FIPS mode is: 00002
Enter the number of thread [1-10]: 3
Enter the cipher: RSA_CRT
Enter modulus length: 2048
Enter time duration in Secs: 60
Starting non-blocking speed test using data length of 245 bytes...
[Test duration is 60 seconds]

Do you want to use static key[y/n] (Make sure that KEK is available)?n
```

```
c:\Program Files\Amazon\CloudHSM>pkpspeed_blocking.exe -s {{CU user name}} -p {{password}}

Please select the test you want to run

RSA non-CRT------------------->A
RSA CRT----------------------->B
Basic 3DES CBC---------------->C
Basic AES--------------------->D
FIPS Random------------------->H
Random------------------------>I
AES GCM ---------------------->K

eXit------------------------>X
B

Running 4 threads for 25 sec

Enter mod size(2048/3072):2048
Do you want to use Token key[y/n]n
Do you want to use static key[y/n] (Make sure that KEK is available)?  n
OPERATIONS/second                821/1
OPERATIONS/second                833/1
OPERATIONS/second                845/1
OPERATIONS/second                835/1
OPERATIONS/second                837/1
OPERATIONS/second                836/1
OPERATIONS/second                837/1
OPERATIONS/second                849/1
OPERATIONS/second                841/1
OPERATIONS/second                856/1
OPERATIONS/second                841/1
OPERATIONS/second                847/1
OPERATIONS/second                838/1
OPERATIONS/second                843/1
OPERATIONS/second                852/1
OPERATIONS/second                837/
```

**Example - pkpspeed を使用した AES パフォーマンスのテスト**  
これらの手順は、Linux および互換性のあるオペレーティングシステムで使用してください。  

```
/opt/cloudhsm/bin/pkpspeed -s {{<CU user name>}} -p {{<password>}}

SDK Version: 2.03

        Available Ciphers:
                AES_128
                AES_256
                3DES
                RSA  (non-CRT. modulus size can be 2048/3072)
                RSA_CRT (same as RSA)
For RSA, Exponent will be 65537

Current FIPS mode is: 00000002
Enter the number of thread [1-10]: 1
Enter the cipher: AES_256
Enter the data size [1-16200]: 8192
Enter time duration in Secs: 60
Starting non-blocking speed test using data length of 8192 bytes...
```

```
c:\Program Files\Amazon\CloudHSM>pkpspeed_blocking.exe -s {{CU user name}} -p {{password}}
login as USER
Initializing Cfm2 library
        SDK Version: 2.03

 Current FIPS mode is: 00000002
Please enter the number of threads [MAX=400] : 1
Please enter the time in seconds to run the test [MAX=600]: 20


Please select the test you want to run

RSA non-CRT------------------->A
RSA CRT----------------------->B
Basic 3DES CBC---------------->C
Basic AES--------------------->D
FIPS Random------------------->H
Random------------------------>I
AES GCM ---------------------->K

eXit------------------------>X
D

Running 1 threads for 20 sec

Enter the key size(128/192/256):256
Enter the size of the packet in bytes[1-16200]:8192
OPERATIONS/second                9/1
OPERATIONS/second                10/1
OPERATIONS/second                11/1
OPERATIONS/second                10/1
OPERATIONS/second                10/1
OPERATIONS/second                10/...
```