AWS CloudHSM 클라이언트 SDK 3, pkpspeed 도구로 HSM 성능 확인 - AWS CloudHSM

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS CloudHSM 클라이언트 SDK 3, pkpspeed 도구로 HSM 성능 확인

이 주제에서는 클라이언트 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) 단원을 참조하세요. Windows 인스턴스에 에이전트를 설치하는 자세한 내용은 CMU용 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/pkpspeedLinux) 또는(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 모드: AWS CloudHSM 는 항상 FIPS 모드입니다(자세한 내용은 AWS CloudHSM FAQs 참조). 이는 AWS CloudHSM 사용 설명서에 설명된 CLI 도구를 사용하고 FIPS 모드 상태를 나타내는 CMU를 사용하여 AWS CloudHSM 클러스터의 각 HSM에 대한 하드웨어 정보 가져오기 명령을 실행하여 확인할 수 있습니다.

  • 테스트 유형(차단 및 비차단): 스레드 방식으로 작업이 수행되는 방식을 지정합니다. 비 차단을 사용하면 더 나은 수치를 얻을 가능성이 높습니다. 스레드와 동시성을 활용하기 때문입니다.

  • 스레드 수: 테스트를 실행하는 데 사용할 스레드 수입니다.

  • 테스트 실행 시간(초)(최대 = 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/...