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 performa HSM di klaster AWS CloudHSM, Anda dapat menggunakan alat pkpspeed (Linux) atau pkpspeed_blocking (Windows) yang disertakan dengan SDK Klien 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: Random (I), ModExp (R), dan EC point mul (Y).

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

Setelah Anda menginstal dan mengatur konfigurasi klien AWS CloudHSM, gunakan 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 uji

  • 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 CloudHSMFAQ 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 uji (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 benang dan konkurensi.

  • Jumlah thread: Jumlah thread untuk menjalankan tes dengan.

  • Waktu dalam detik untuk menjalankan pengujian (maks = 600): pkpspeed menghasilkan hasil yang diukur dalam “Operasi/detik” dan melaporkan nilai ini untuk setiap detik bahwa 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: Tes 3DES CBC modus enkripsi. Lihat catatan 1 di bawah untuk perubahan yang akan datang.

  • AES Dasar: Menguji enkripsi AES CBC/ECB.

  • Digest: Tes hash digest.

  • Tanda ECDSA: Tes tanda ECDSA.

  • ECDSA Verifikasi: Tes ECDSA memverifikasi.

  • FIPS Acak: Menguji generasi nomor acak FIPS compliant (Catatan: ini hanya dapat digunakan dalam mode pemblokiran).

  • HMAC: Tes HMAC.

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

  • RSA non-CRT versus RSA_CRT: Tes RSA menandatangani dan memverifikasi operasi.

  • RSA OAEP Enc: Tes enkripsi RSA OAEP.

  • RSA OAEP Desember: Tes RSA OAEP dekripsi.

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

  • Kunci pribadi RSA Desember CRT: Tes enkripsi kunci pribadi RSA (dioptimalkan).

  • RSA PSS Tanda: Tes RSA PSS tanda.

  • RSA PSS Verifikasi: Tes RSA PSS memverifikasi.

  • Kunci publik RSA enc: Tes 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 hal berikut:

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

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

Jika n dimasukkan, kunci baru dihasilkan.

[1] Tidak diizinkan setelah 2023 untuk kepatuhan FIPS sesuai panduan NIST. Lihat Kepatuhan FIPS 140: 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/...