기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS CloudHSM 클라이언트 SDK 3에 지원되는 메커니즘
PKCS #11 라이브러리는 AWS CloudHSM 클라이언트 SDK 3에 대해 다음 알고리즘을 지원합니다.
PKCS #11 라이브러리 메커니즘-함수 표
PKCS #11 라이브러리는 PKCS #11 사양 버전 2.40을 준수합니다. PKCS#11을 사용하여 암호화 기능을 호출하려면 주어진 메커니즘을 가진 함수를 호출하십시오. 다음 표에는 AWS CloudHSM에서 지원하는 기능과 메커니즘의 조합이 요약되어 있습니다.
지원되는 PKCS #11 메커니즘-함수 표 해석
""" 표시는가 함수에 대한 메커니즘을 AWS CloudHSM 지원함을 나타냅니다. PKCS #11 사양에 나열된 가능한 함수를 모두 지원하지는 않습니다. """ 표시는 PKCS #11 표준에서 허용하더라도 AWS CloudHSM 가 지정된 함수에 대한 메커니즘을 아직 지원하지 않음을 나타냅니다. 빈 셀은 PKCS #11 표준이 주어진 함수에 대해 메커니즘을 지원하지 않는다는 의미입니다.
메커니즘 |
함수 |
||||||
---|---|---|---|---|---|---|---|
|
키 또는 키 페어 생성 |
서명 및 확인 |
SR 및 VR |
다이제스트 |
암호화 및 암호 해독 |
키 추출 |
래핑 및 언래핑 |
|
✔ |
|
|
|
|
|
|
|
✔2 |
|
|
|
|
|
|
|
|
✔ |
|
|
✔ |
|
|
|
✔1 | ✖ | ✔1 |
|
✔1 | ||
|
|
|
|
|
✔1 |
|
✔6 |
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔1 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
✔ |
|
|
|
|
|
|
|
|
✔1 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
✔3.2 |
|
|
|
|
|
|
|
|
|
|
|
✔5 |
|
|
|
|
|
|
|
✔ |
|
|
✔ |
|
|
|
|
|
|
|
✔ |
|
|
|
|
|
|
|
|
|
|
|
✔ |
|
✖ |
|
|
|
|
|
✔ |
|
✖ |
|
|
|
|
|
✔3.3 |
|
✖ |
|
|
|
|
|
✔ |
|
✖ |
|
✔ |
|
|
|
|
|
|
|
|
|
|
|
✔3.3 |
|
✖ |
|
|
|
|
|
✔ |
|
✖ |
|
|
|
|
|
✔ |
|
✖ |
|
|
|
|
|
|
✔7.1 |
|
|
|
|
|
|
✔7.1 |
|
✔7.1 |
|
|
|
|
✔3.1 |
|
|
|
|
|
✔3.3 |
|
|
|
|
|
|
|
|
|
✔3.1 |
|
|
|
|
|
✔3.3 |
|
|
|
|
|
|
|
|
|
✔3.1 |
|
|
|
|
|
✔3.3 |
|
|
|
|
|
|
|
|
|
✔3.1 |
|
|
|
|
|
✔3.3 |
|
|
|
|
|
|
|
|
|
✔3.1 |
|
|
|
|
|
✔3.3 |
|
|
|
|
|
|
|
|
|
|
|
|
✔ |
|
|
|
|
|
|
|
✔ |
|
|
|
|
|
|
|
✔ |
|
|
|
|
|
|
|
✔7.1 |
|
|
|
|
|
|
|
✔7.1 |
|
|
|
|
|
|
|
✔7.1 |
메커니즘 주석
-
[1] 단일 부분 작업만.
-
[2] 메커니즘은 기능상
CKM_RSA_PKCS_KEY_PAIR_GEN
메커니즘과 동일하지만,p
및q
생성을 보다 확실히 보장합니다. [3.1]는 클라이언트 SDK에 따라 해싱을 다르게 AWS CloudHSM 접근합니다. 클라이언트 SDK 3의 경우 해싱을 수행하는 위치는 데이터 크기와 단일 부분 또는 다중 부분 작업을 사용하는지 여부에 따라 달라집니다.
클라이언트 SDK 3의 단일 부분 작업
표 3.1에는 클라이언트 SDK 3의 각 메커니즘에 대한 최대 데이터 세트 크기가 나열되어 있습니다. 전체 해시는 HSM 내에서 계산됩니다. 16KB를 초과하는 데이터 크기는 지원되지 않습니다.
표 3.1, 단일 부분 작업의 최대 데이터 세트 크기 메커니즘 최대 데이터 크기 CKM_SHA_1
16296 CKM_SHA224
16264 CKM_SHA256
16296 CKM_SHA384
16232 CKM_SHA512
16232 멀티파트 작업 클라이언트 SDK 3
16KB보다 큰 데이터 크기를 지원하지만 데이터 크기에 따라 해싱이 발생하는 위치가 결정됩니다. 16KB 미만의 데이터 버퍼는 HSM 내에서 해시됩니다. 16KB와 시스템의 최대 데이터 크기 사이의 버퍼는 소프트웨어에서 로컬로 해시됩니다. 기억하십시오: 해시 함수에는 암호화 비밀이 필요하지 않으므로 HSM 외부에서 안전하게 계산할 수 있습니다.
[3.2]클라이언트 SDK에 따라 해싱에 다르게 AWS CloudHSM 접근합니다. 클라이언트 SDK 3의 경우 해싱을 수행하는 위치는 데이터 크기와 단일 부분 또는 다중 부분 작업을 사용하는지 여부에 따라 달라집니다.
단일 부분 작업 클라이언트 SDK 3
표 3.2에는 클라이언트 SDK 3의 각 메커니즘에 대한 최대 데이터 세트 크기가 나열되어 있습니다. 16KB를 초과하는 데이터 크기는 지원되지 않습니다.
표 3.2, 단일 부분 작업의 최대 데이터 세트 크기 메커니즘 최대 데이터 크기 CKM_SHA1_RSA_PKCS
16296 CKM_SHA224_RSA_PKCS
16264 CKM_SHA256_RSA_PKCS
16296 CKM_SHA384_RSA_PKCS
16232 CKM_SHA512_RSA_PKCS
16232 CKM_SHA1_RSA_PKCS_PSS
16296 CKM_SHA224_RSA_PKCS_PSS
16264 CKM_SHA256_RSA_PKCS_PSS
16296 CKM_SHA384_RSA_PKCS_PSS
16232 CKM_SHA512_RSA_PKCS_PSS
16232 CKM_ECDSA_SHA1
16296 CKM_ECDSA_SHA224
16264 CKM_ECDSA_SHA256
16296 CKM_ECDSA_SHA384
16232 CKM_ECDSA_SHA512
16232 멀티파트 작업 클라이언트 SDK 3
16KB보다 큰 데이터 크기를 지원하지만 데이터 크기에 따라 해싱이 발생하는 위치가 결정됩니다. 16KB 미만의 데이터 버퍼는 HSM 내에서 해시됩니다. 16KB와 시스템의 최대 데이터 크기 사이의 버퍼는 소프트웨어에서 로컬로 해시됩니다. 기억하십시오: 해시 함수에는 암호화 비밀이 필요하지 않으므로 HSM 외부에서 안전하게 계산할 수 있습니다.
[3.3] 다음 메커니즘 중 하나를 사용하여 데이터로 작업할 때 데이터 버퍼가 최대 데이터 크기를 초과하면 작업 결과에 오류가 생깁니다. 이러한 메커니즘의 경우 모든 데이터 처리는 HSM 내에서 이루어져야 합니다. 다음 표에는 각 메커니즘에 설정된 최대 데이터 크기가 나와 있습니다.
표 3.3, 최대 데이터 세트 크기 메커니즘 최대 데이터 크기 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 [4] AES-GCM 암호화를 수행할 때 HSM은 애플리케이션에서 IV(초기화 벡터) 데이터를 수락하지 않습니다. 생성되는 IV를 사용해야 합니다. HSM이 제공하는 12바이트 IV는 사용자가 제공하는
CK_GCM_PARAMS
파라미터 구조의 pIV 요소가 가리키는 메모리 참조에 기록됩니다. 사용자의 혼동을 피하기 위해 버전 1.1.1 이상인 PKCS#11 SDK는 AES-GCM 암호화가 초기화될 때 pIV가 초기화된 버퍼를 가리키는지 확인합니다.-
[5] 클라이언트 SDK 3만 해당됩니다. 메커니즘은 SSL/TLS 오프로드 사례를 지원하기 위해 구현됐으며 HSM 내에서만 부분적으로 실행됩니다. 이 메커니즘을 사용하기 전에 용 PKCS #11 라이브러리에 대해 알려진 문제 AWS CloudHSM의 “문제: ECDH 키 파생은 부분적으로 HSM 내에서만 실행됩니다”를 참조하십시오.
CKM_ECDH1_DERIVE
는 secp521r1(P-521) 곡선을 지원하지 않습니다. [6] 다음
CK_MECHANISM_TYPE
및CK_RSA_PKCS_MGF_TYPE
은CKM_RSA_PKCS_OAEP
의 경우CK_RSA_PKCS_OAEP_PARAMS
로 지원됩니다.-
CKM_SHA_1
CKG_MGF1_SHA1
을 사용하는 -
CKG_MGF1_SHA224
를 사용하는CKM_SHA224
-
CKG_MGF1_SHA256
를 사용하는CKM_SHA256
-
CKM_MGF1_SHA384
를 사용하는CKM_SHA384
-
CKM_MGF1_SHA512
를 사용하는CKM_SHA512
-
[7.1] 공급자 정의 메커니즘. CloudHSM 공급자 정의 메커니즘을 사용하려면 컴파일하는 동안 PKCS #11 애플리케이션에
/opt/cloudhsm/include/pkcs11t.h
가 포함되어 있어야 합니다.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 키 래핑AES 키 래핑에 대한 추가 정보는 AES 키 래핑을 참조하십시오.
[8] NIST 지침에 따라 2023년 이후 FIPS 모드의 클러스터에는 허용되지 않습니다. 비FIPS 모드의 클러스터의 경우 2023년 이후에도 허용됩니다. 세부 정보는 FIPS 140 규정 준수: 2024 메커니즘 지원 중단 섹션을 참조하세요.