Client SDK 5용 PKCS #11 라이브러리에 지원되는 AWS CloudHSM 메커니즘 - AWS CloudHSM

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

Client SDK 5용 PKCS #11 라이브러리에 지원되는 AWS CloudHSM 메커니즘

PKCS #11 라이브러리는 PKCS #11 사양의 버전 2.40을 준수합니다. PKCS #11을 사용하여 암호화 기능을 호출하려면 지정된 메커니즘으로 함수를 호출합니다. 다음 섹션에서는 AWS CloudHSM Client SDK 5에서 지원하는 함수와 메커니즘의 조합을 요약합니다.

PKCS #11 라이브러리는 다음 알고리즘을 지원합니다.

  • 암호화 및 복호화 – AES-CBC, AES-CTR, AES-ECB, AES-GCM, DES3-CBC, DES3-ECB, RSA- OAEP및 RSA-PKCS

  • 서명 및 확인 - RSA, 및 HMACECDSA, 해싱 포함 및 미포함

  • 해시/다이제스트 - SHA1, SHA224, SHA384, SHA256및 SHA512

  • 키 랩 - AES 키 랩 1, AES-GCM, RSA- AES및 RSA-OAEP

키 및 키 페어 함수 생성

PKCS #11 라이브러리용 AWS CloudHSM 소프트웨어 라이브러리를 사용하면 키 생성 및 키 페어 함수에 다음 메커니즘을 사용할 수 있습니다.

  • CKM_RSA_PKCS_KEY_PAIR_GEN

  • CKM_RSA_X9_31_KEY_PAIR_GEN - 이 메커니즘은 기능적으로 CKM_RSA_PKCS_KEY_PAIR_GEN 메커니즘과 동일하지만 pq 생성에 대해 더 강력한 보장을 제공합니다.

  • CKM_EC_KEY_PAIR_GEN

  • CKM_GENERIC_SECRET_KEY_GEN

  • CKM_AES_KEY_GEN

  • CKM_DES3_KEY_GEN5 각주에 예정된 변경 사항이 나열되어 있습니다.

서명 및 인증 기능

PKCS #11 라이브러리용 AWS CloudHSM 소프트웨어 라이브러리를 사용하면 Sign and Verify 함수에 다음 메커니즘을 사용할 수 있습니다. Client SDK 5를 사용하면 소프트웨어에서 데이터가 로컬로 해시됩니다. 즉, 에서 해시할 수 있는 데이터의 크기에는 제한이 없습니다SDK.

Client SDK 5RSA와 ECDSA해싱은 로컬에서 수행되므로 데이터 제한이 없습니다. HMAC에는 데이터 제한이 있습니다. 자세한 내용은 2 각주를 참조하십시오.

RSA

  • CKM_RSA_X_509

  • CKM_RSA_PKCS – 단일 부분 작업에만 해당됩니다.

  • CKM_RSA_PKCS_PSS – 단일 부분 작업에만 해당됩니다.

  • CKM_SHA1_RSA_PKCS

  • CKM_SHA224_RSA_PKCS

  • CKM_SHA256_RSA_PKCS

  • CKM_SHA384_RSA_PKCS

  • CKM_SHA512_RSA_PKCS

  • CKM_SHA512_RSA_PKCS

  • CKM_SHA1_RSA_PKCS_PSS

  • CKM_SHA224_RSA_PKCS_PSS

  • CKM_SHA256_RSA_PKCS_PSS

  • CKM_SHA384_RSA_PKCS_PSS

  • CKM_SHA512_RSA_PKCS_PSS

ECDSA

  • CKM_ECDSA – 단일 부분 작업에만 해당됩니다.

  • CKM_ECDSA_SHA1

  • CKM_ECDSA_SHA224

  • CKM_ECDSA_SHA256

  • CKM_ECDSA_SHA384

  • CKM_ECDSA_SHA512

HMAC

  • CKM_SHA_1_HMAC2

  • CKM_SHA224_HMAC2

  • CKM_SHA256_HMAC2

  • CKM_SHA384_HMAC2

  • CKM_SHA512_HMAC2

CMAC

  • CKM_AES_CMAC

서명, 복구 및 복구 기능 확인

Client SDK 5는 Sign Recover 및 Verify Recover 함수를 지원하지 않습니다.

다이제스트 기능

PKCS #11 라이브러리용 AWS CloudHSM 소프트웨어 라이브러리를 사용하면 다이제스트 함수에 다음 메커니즘을 사용할 수 있습니다. Client SDK 5를 사용하면 소프트웨어에서 데이터가 로컬로 해시됩니다. 즉, 에서 해시할 수 있는 데이터의 크기에는 제한이 없습니다SDK.

  • CKM_SHA_1

  • CKM_SHA224

  • CKM_SHA256

  • CKM_SHA384

  • CKM_SHA512

암호화 및 해독 기능

PKCS #11 라이브러리용 AWS CloudHSM 소프트웨어 라이브러리를 사용하면 암호화 및 복호화 함수에 다음 메커니즘을 사용할 수 있습니다.

  • CKM_RSA_X_509

  • CKM_RSA_PKCS – 단일 부분 작업에만 해당됩니다. 5 각주에 예정된 변경 사항이 나열되어 있습니다.

  • CKM_RSA_PKCS_OAEP – 단일 부분 작업에만 해당됩니다.

  • CKM_AES_ECB

  • CKM_AES_CTR

  • CKM_AES_CBC

  • CKM_AES_CBC_PAD

  • CKM_DES3_CBC5 각주에 예정된 변경 사항이 나열되어 있습니다.

  • CKM_DES3_ECB5 각주에 예정된 변경 사항이 나열되어 있습니다.

  • CKM_DES3_CBC_PAD5 각주에 예정된 변경 사항이 나열되어 있습니다.

  • CKM_AES_GCM 1, 2

  • CKM_CLOUDHSM_AES_GCM3

키 함수 유도

PKCS #11 라이브러리용 AWS CloudHSM 소프트웨어 라이브러리를 사용하면 Derive 함수에 다음 메커니즘을 사용할 수 있습니다.

  • CKM_SP800_108_COUNTER_KDF

랩 및 언랩 해제 기능

PKCS #11 라이브러리용 AWS CloudHSM 소프트웨어 라이브러리를 사용하면 랩 및 언랩 함수에 다음 메커니즘을 사용할 수 있습니다.

AES 키 래핑에 대한 자세한 내용은 AES 키 래핑 단원을 참조하세요.

  • CKM_RSA_PKCS – 단일 부분 작업에만 해당됩니다. 5 각주에 예정된 변경 사항이 나열되어 있습니다.

  • CKM_RSA_PKCS_OAEP4

  • CKM_AES_GCM1, 3

  • CKM_CLOUDHSM_AES_GCM3

  • CKM_RSA_AES_KEY_WRAP

  • CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD3

  • CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD3

  • CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD3

각 메커니즘의 최대 데이터 크기

다음 표에는 각 메커니즘에 설정된 최대 데이터 크기가 나와 있습니다.

최대 데이터 세트 크기
메커니즘 최대 데이터 크기(바이트)
CKM_SHA_1_HMAC 16288
CKM_SHA224_HMAC 16256
CKM_SHA256_HMAC 16288
CKM_SHA384_HMAC 16224
CKM_SHA512_HMAC 16224
CKM_AES_CBC 16272
CKM_AES_GCM 16224
CKM_CLOUDHSM_AES_GCM 16224
CKM_DES3_CBC 16280

메커니즘 주석

  • [1] AES-GCM 암호화를 수행할 때 HSM는 애플리케이션에서 초기화 벡터(IV) 데이터를 수락하지 않습니다. 생성되는 IV를 사용해야 합니다. 에서 제공하는 12바이트 IVHSM는 사용자가 제공하는 CK_GCM_PARAMS 파라미터 구조의 pIV 요소를 가리키는 메모리 참조에 기록됩니다. 사용자 혼동SDK을 방지하기 위해 버전 1.1.1 이상의 PKCS #11은 AES암호화가 초기화될 때GCM pIV가 제로화 버퍼를 가리키도록 합니다.

  • [2] 다음 메커니즘 중 하나를 사용하여 데이터에 대해 작업을 수행할 때 데이터 버퍼가 최대 데이터 크기를 초과하면 작업 결과 오류가 발생합니다. 이러한 메커니즘의 경우 모든 데이터 처리는 내에서 이루어져야 합니다HSM. 각 메커니즘의 최대 데이터 크기 세트에 대한 자세한 내용은 각 메커니즘의 최대 데이터 크기 단원을 참조하십시오.

  • [3] 공급업체가 정의한 메커니즘. 클라우드HSM 공급업체 정의 메커니즘을 사용하려면 컴파일 /opt/cloudhsm/include/pkcs11t.h 중에 PKCS#11 애플리케이션이 포함되어야 합니다.

    CKM_CLOUDHSM_AES_GCM: 이 독점 메커니즘은 CKM_AES_GCM 표준에 대한 프로그래밍 방식으로 안전한 대안입니다. 암호 초기화 중에 제공되는 CK_GCM_PARAMS 구조HSM에 다시 쓰는 대신 에서 생성된 IV를 암호 텍스트에 우선합니다. 이 메커니즘은 C_Encrypt, C_WrapKey, C_DecryptC_UnwrapKey 함수와 함께 사용할 수 있습니다. 이 메커니즘을 사용할 때는 CK_GCM_PARAMS 구문의 piV 변수를 NULL로 설정해야 합니다. C_DecryptC_UnwrapKey와 함께 이 메커니즘을 사용할 경우, IV는 언래핑되는 암호화 텍스트 앞에 추가될 것으로 예상됩니다.

    CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD: PKCS #5 패딩이 있는 AES 키 랩.

    CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD: 제로 패딩이 포함된 AES 키 랩.

  • [4] 다음 CK_MECHANISM_TYPECK_RSA_PKCS_MGF_TYPECKM_RSA_PKCS_OAEP에 대해 CK_RSA_PKCS_OAEP_PARAMS로 지원됩니다.

    • CKG_MGF1_SHA1을 사용하는 CKM_SHA_1

    • CKG_MGF1_SHA224를 사용하는 CKM_SHA224

    • CKG_MGF1_SHA256를 사용하는 CKM_SHA256

    • CKM_MGF1_SHA384를 사용하는 CKM_SHA384

    • CKM_MGF1_SHA512를 사용하는 CKM_SHA512

  • [5] NIST 지침에 따라 2023년 이후 FIPS 모드의 클러스터에는 허용되지 않습니다. 비FIPS 모드 클러스터의 경우 2023년 이후에도 허용됩니다. 세부 정보는 FIPS 140 규정 준수: 2024 메커니즘 사용 중단를 참조하세요.