SDK Klien 3: Verifikasi kinerja HSM dengan alat pkpspeed - AWS CloudHSM

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

SDK Klien 3: Verifikasi kinerja HSM dengan alat pkpspeed

Topik ini menjelaskan cara memverifikasi performa HSM dengan SDK Klien 3.

Untuk memverifikasi kinerja HSM di AWS CloudHSM cluster Anda, Anda dapat menggunakan alat pkpspeed (Linux) atau pkpspeed_blocking (Windows) yang disertakan dengan Client SDK 3. Alat pkpspeed mengeksekusi dalam kondisi ideal dan langsung memanggil HSM untuk menjalankan operasi tanpa melalui SDK seperti PKCS11. Kami merekomendasikan pengujian beban aplikasi Anda secara independen untuk menentukan kebutuhan penskalaan Anda. Kami tidak menyarankan menjalankan tes berikut: Acak (I), ModExp (R), dan titik EC mul (Y).

Untuk informasi selengkapnya tentang menginstal klien di instans EC2 Linux, lihat Instal dan konfigurasikan AWS CloudHSM klien (Linux). Untuk informasi selengkapnya tentang menginstal klien di instans Windows, lihat Instal dan konfigurasikan AWS CloudHSM klien (Windows).

Setelah Anda menginstal dan mengkonfigurasi AWS CloudHSM klien, jalankan perintah berikut untuk memulainya.

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
  • Untuk klien Windows 1.1.2+:

    C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
  • Untuk klien Windows 1.1.1 dan yang lebih lama:

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

Jika Anda telah menginstal perangkat lunak klien, Anda mungkin perlu mengunduh dan menginstal versi terbaru untuk mendapatkan pkpspeed. Anda dapat menemukan alat pkpspeed di /opt/cloudhsm/bin/pkpspeed di Linux atau C:\Program Files\Amazon\CloudHSM\ di Windows.

Untuk menggunakan pkpspeed, jalankan perintah pkpspeed atau pkpspeed_blocking.exe, menentukan nama pengguna dan kata sandi pengguna kripto (CU) pada HSM. Kemudian tetapkan pilihan untuk digunakan sambil mempertimbangkan rekomendasi berikut.

Rekomendasi tes

  • Untuk menguji performa tanda tangan RSA dan memverifikasi operasi, pilih cipher RSA_CRT di Linux atau opsi B di Windows. Jangan pilih RSA (opsi A di Windows). Cipher setara, tapi RSA_CRT dioptimalkan untuk performa.

  • Mulailah dengan sejumlah kecil thread. Untuk pengujian performa AES, satu thread biasanya cukup untuk menunjukkan performa maksimum. Untuk menguji performa RSA (RSA_CRT), tiga atau empat thread biasanya cukup.

Opsi yang dapat dikonfigurasi untuk alat pkpspeed

  • Mode FIPS: AWS CloudHSM selalu dalam mode FIPS (Lihat AWS CloudHSM FAQ untuk detailnya). Ini dapat diverifikasi dengan menggunakan alat CLI seperti yang didokumentasikan dalam Panduan AWS CloudHSM Pengguna dan menjalankan getHSMInfo perintah yang akan menunjukkan status mode FIPS.

  • Jenis pengujian (pemblokiran versus non-pemblokiran): Ini menentukan bagaimana operasi dilakukan dengan cara berulir. Anda kemungkinan besar akan mendapatkan angka yang lebih baik menggunakan non-blocking. Ini karena mereka menggunakan thread dan konkurensi.

  • Jumlah utas: Jumlah utas untuk menjalankan pengujian.

  • Waktu dalam detik untuk menjalankan tes (maks = 600): pkpspeed menghasilkan hasil yang diukur dalam “operasi/detik” dan melaporkan nilai ini untuk setiap detik pengujian dijalankan. Misalnya, jika pengujian dijalankan selama 5 detik, output mungkin terlihat seperti nilai sampel berikut:

    • OPERATIONS/second 821/1

    • OPERATIONS/second 833/1

    • OPERATIONS/second 845/1

    • OPERATIONS/second 835/1

    • OPERATIONS/second 837/1

Tes yang dapat dijalankan dengan alat pkpspeed

  • AES GCM: Menguji enkripsi mode AES GCM.

  • Dasar 3DES CBC: Menguji enkripsi mode CBC 3DES. Lihat catatan 1 di bawah untuk perubahan yang akan datang.

  • AES Dasar: Menguji enkripsi AES CBC/ECB.

  • Digest: Menguji intisari hash.

  • Tanda ECDSA: Menguji tanda ECDSA.

  • ECDSA Verifikasi: Menguji verifikasi ECDSA.

  • FIPS Random: Menguji pembuatan nomor acak yang sesuai dengan FIPS (Catatan: ini hanya dapat digunakan dalam mode pemblokiran).

  • HMAC: Menguji HMAC.

  • Acak: Tes ini tidak relevan karena kami menggunakan FIPS 140-2 HSM.

  • RSA non-CRT versus RSA_CRT: Menguji tanda RSA dan memverifikasi operasi.

  • RSA OAEP Enc: Menguji enkripsi RSA OAEP.

  • RSA OAEP Des: Menguji dekripsi RSA OAEP.

  • RSA private dec non-CRT: Menguji enkripsi kunci pribadi RSA (tidak dioptimalkan).

  • Kunci pribadi RSA dec CRT: Menguji enkripsi kunci pribadi RSA (dioptimalkan).

  • Tanda PSS RSA: Menguji tanda PSS RSA.

  • RSA PSS Verifikasi: Tes RSA PSS memverifikasi.

  • Enc kunci publik RSA: Menguji enkripsi kunci publik RSA.

Enkripsi kunci publik RSA, dekripsi pribadi RSA non-CRT, dan dekripsi kunci pribadi RSA CRT juga akan meminta pengguna untuk menjawab yang berikut:

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

Jika y dimasukkan, kunci pra-komputasi diimpor ke HSM.

Jika n dimasukkan, kunci baru dihasilkan.

[1] Sesuai dengan panduan NIST, ini tidak diizinkan untuk cluster dalam mode FIPS setelah 2023. Untuk cluster dalam mode non-FIPS, masih diperbolehkan setelah 2023. Lihat FIPS140 Kepatuhan: Penutupan Mekanisme 2024 untuk detail.

Contoh

Contoh berikut menunjukkan pilihan yang dapat Anda pilih dengan pkpspeed (Linux) atau pkpspeed_blocking (Windows) untuk menguji performa HSM untuk operasi RSA dan AES.

contoh — Menggunakan pkpspeed untuk menguji performa RSA

Anda dapat menjalankan contoh ini pada Windows, Linux, dan sistem operasi yang kompatibel.

Linux

Gunakan petunjuk ini untuk Linux dan sistem operasi yang kompatibel.

/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
Windows
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/
contoh — Menggunakan pkpspeed untuk menguji performa AES
Linux

Gunakan petunjuk ini untuk Linux dan sistem operasi yang kompatibel.

/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...
Windows
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/...