기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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
메커니즘과 동일하지만p
및q
생성에 대해 더 강력한 보장을 제공합니다. -
CKM_EC_KEY_PAIR_GEN
-
CKM_GENERIC_SECRET_KEY_GEN
-
CKM_AES_KEY_GEN
-
CKM_DES3_KEY_GEN
— 5 각주에 예정된 변경 사항이 나열되어 있습니다.
서명 및 인증 기능
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
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_CBC
— 5 각주에 예정된 변경 사항이 나열되어 있습니다. -
CKM_DES3_ECB
— 5 각주에 예정된 변경 사항이 나열되어 있습니다. -
CKM_DES3_CBC_PAD
— 5 각주에 예정된 변경 사항이 나열되어 있습니다. CKM_CLOUDHSM_AES_GCM
3
키 함수 유도
PKCS #11 라이브러리용 AWS CloudHSM 소프트웨어 라이브러리를 사용하면 Derive 함수에 다음 메커니즘을 사용할 수 있습니다.
-
CKM_SP800_108_COUNTER_KDF
랩 및 언랩 해제 기능
PKCS #11 라이브러리용 AWS CloudHSM 소프트웨어 라이브러리를 사용하면 랩 및 언랩 함수에 다음 메커니즘을 사용할 수 있습니다.
AES 키 래핑에 대한 자세한 내용은 AES 키 래핑 단원을 참조하세요.
각 메커니즘의 최대 데이터 크기
다음 표에는 각 메커니즘에 설정된 최대 데이터 크기가 나와 있습니다.
최대 데이터 세트 크기 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
메커니즘 | 최대 데이터 크기(바이트) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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_Decrypt
및C_UnwrapKey
함수와 함께 사용할 수 있습니다. 이 메커니즘을 사용할 때는CK_GCM_PARAMS
구문의 piV 변수를NULL
로 설정해야 합니다.C_Decrypt
및C_UnwrapKey
와 함께 이 메커니즘을 사용할 경우, IV는 언래핑되는 암호화 텍스트 앞에 추가될 것으로 예상됩니다.CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD
: PKCS #5 패딩이 있는 AES 키 랩.CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD
: 제로 패딩이 포함된 AES 키 랩. [4] 다음
CK_MECHANISM_TYPE
및CK_RSA_PKCS_MGF_TYPE
은CKM_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 메커니즘 사용 중단를 참조하세요.