기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
이 주제에서는 클라이언트 SDK 3에서 HSM 성능을 확인하는 방법에 대해 설명합니다.
AWS CloudHSM 클러스터 내 HSM의 성능을 확인하려면 클라이언트 SDK 3에 포함된 pkpspeed (리눅스) 또는 pkpspeed_blocking (윈도우) 도구를 사용할 수 있습니다. pkpspeed 도구는 이상적인 조건에서 실행되며 PKCS11 같은 SDK를 거치지 않고 HSM을 직접 호출하여 작업을 실행합니다. 애플리케이션을 독립적으로 로드 테스트하여 규모 조정 요구 사항을 파악하는 것이 좋습니다. 랜덤 (I), (R) 및 EC 포인트 mul ModExp (Y) 테스트는 실행하지 않는 것이 좋습니다.
Linux EC2 인스턴스에 에이전트를 설치하는 자세한 내용은 AWS CloudHSM 클라이언트 설치 및 구성 (Linux) 단원을 참조하세요. Windows 인스턴스에 에이전트를 설치하는 자세한 내용은 AWS CloudHSM 클라이언트 설치 및 구성 (Windows) 단원을 참조하세요.
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 도구는(/opt/cloudhsm/bin/pkpspeed
Linux) 또는(C:\Program Files\Amazon\CloudHSM\
Windows)에 있습니다.
pkpspeed를 사용하려면 pkpspeed 명령 또는 pkpspeed_blocking.exe를 실행하고 HSM에 있는 CU(Crypto User)의 사용자 이름 및 암호를 지정합니다. 다음 권장 사항을 고려하여 사용할 옵션을 설정합니다.
권장 테스트
-
RSA 서명의 성능을 테스트하고 작업을 확인하려면 RSA_CRT
암호(Linux) 또는 B 옵션(Windows)을 선택합니다. RSA
(Windows에서 A 옵션)를 선택하지 마십시오. 암호는 동등하지만 RSA_CRT
가 성능에 최적화되어 있습니다.
-
먼저 소수의 스레드로 시작합니다. AES 성능 테스트에는 일반적으로 하나의 스레드도 최대 성능을 표시하는 데 충분합니다. RSA 성능(RSA_CRT
) 테스트에는 일반적으로 3~4개의 스레드로 충분합니다.
pkpspeed 도구를 위한 구성 가능한 옵션
FIPS 모드: 항상 FIPS AWS CloudHSM 모드입니다 (자세한 내용은 AWS CloudHSM FAQ 참조). 이는 사용 설명서에 설명된 CLI 도구를 사용하고 FIPS 모드 상태를 나타내는 getHSMInfo 명령을 실행하여 확인할 수 있습니다. AWS CloudHSM
테스트 유형(차단 및 비차단): 스레드 방식으로 작업이 수행되는 방식을 지정합니다. 비 차단을 사용하면 더 나은 수치를 얻을 가능성이 높습니다. 스레드와 동시성을 활용하기 때문입니다.
스레드 수: 테스트를 실행하는 데 사용할 스레드 수입니다.
테스트 실행 시간(초)(최대 = 600): pkpspeed는 “초당 작업 수”로 측정된 결과를 생성하고 테스트가 실행되는 매 초마다 이 값을 보고합니다. 예를 들어 테스트를 5초 동안 실행하면 다음과 같은 샘플 값이 출력될 수 있습니다.
OPERATIONS/second 821/1
OPERATIONS/second 833/1
OPERATIONS/second 845/1
OPERATIONS/second 835/1
OPERATIONS/second 837/1
pkpspeed 도구를 사용하여 실행할 수 있는 테스트
AES GCM: AES GCM 모드 암호화를 테스트합니다.
기본 3DES CBC: 3DES CBC 모드 암호화를 테스트합니다. 예정된 변경 사항은 1 아래 참고를 참조하세요.
기본 AES: AES CBC/ECB 암호화를 테스트합니다.
다이제스트.: 해시 다이제스트를 테스트합니다
ECDSA 서명: ECDSA 기호를 테스트합니다.
ECDSA 검증: ECDSA 검증을 테스트합니다.
FIPS 랜덤: FIPS 호환 난수 생성을 테스트합니다(참고: 차단 모드에서만 사용할 수 있음).
HMAC: HMAC를 테스트합니다.
임의: FIPS 140-2 HSM을 사용하고 있기 때문에 이 테스트는 관련이 없습니다.
비 CRT RSA 대 RSA_CRT 비교: RSA 서명을 테스트하고 작업을 확인합니다.
RSA OAEP Enc: RSA OAEP 암호화를 테스트합니다.
RSA OAEP Dec: RSA OAEP 암호 해독을 테스트합니다.
RSA 프라이빗 덱 비 CRT: RSA 프라이빗 키 암호화(최적화되지 않음) 를 테스트합니다.
RSA 프라이빗 키 dec CRT: RSA 프라이빗 키 암호화를 테스트합니다(최적화).
RSA PSS 서명: RSA PSS 서명을 테스트합니다.
RSA PSS 검증: 테스트: RSA PSS 검증을 테스트합니다.
RSA 퍼블릭 키 enc: 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 메커니즘 지원 중단을 참조하세요.
예
다음 예제는 RSA 및 AES 작업에 대해 HSM 성능을 테스트하기 위해 pkpspeed(Linux) 또는 pkpspeed_blocking.exe(Windows)에서 선택할 수 있는 옵션을 보여 줍니다.
예 – pkpspeed를 사용하여 RSA 성능 테스트
이 예제는 Windows, Linux 및 호환되는 운영 체제에서 실행할 수 있습니다.
- 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
- 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/
예 – pkpspeed를 사용하여 AES 성능 테스트
- 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: 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/...