

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

# AWS CloudHSM 클라이언트 SDK 3에 지원되는 메커니즘
<a name="pkcs11-v3-mechanisms"></a>

PKCS \$111 라이브러리는 AWS CloudHSM 클라이언트 SDK 3에 대해 다음 알고리즘을 지원합니다.
+ **암호화 및 복호화** - AES-CBC, AES-CTR, AES-ECB, AES-GCM, DES3-CBC, DES3-ECB, RSA-OAEP 및 RSA-PKCS
+ **서명 및 확인** – RSA, HMAC 및 ECDSA(해싱 사용 및 사용 안 함)
+ **해시/다이제스트** – SHA1, SHA224, SHA256, SHA384 및 SHA512
+ **키 랩** – AES 키 랩,[4](#pkcs11-v3-mech4) AES-GCM, RSA-AES 및 RSA-OAEP
+ **주요 파생** – ECDH,[5](#pkcs11-v3-mech5) SP800-108 CTR KDF

## PKCS \$111 라이브러리 메커니즘-함수 표
<a name="pkcs11-v3-mech-function"></a>

PKCS \$111 라이브러리는 PKCS \$111 사양 버전 2.40을 준수합니다. PKCS\$111을 사용하여 암호화 기능을 호출하려면 주어진 메커니즘을 가진 함수를 호출하십시오. 다음 표에는 AWS CloudHSM에서 지원하는 기능과 메커니즘의 조합이 요약되어 있습니다.

**지원되는 PKCS \$111 메커니즘-함수 표 해석**  
""" 표시는가 함수에 대한 메커니즘을 AWS CloudHSM 지원함을 나타냅니다. PKCS \$111 사양에 나열된 가능한 함수를 모두 지원하지는 않습니다. "" 표시는 PKCS \$111 표준에서 허용하더라도 AWS CloudHSM 가 지정된 함수에 대한 메커니즘을 아직 지원하지 않음을 나타냅니다. 빈 셀은 PKCS \$111 표준이 주어진 함수에 대해 메커니즘을 지원하지 않는다는 의미입니다.


**지원되는 PKCS \$111 라이브러리 메커니즘 및 함수**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/cloudhsm/latest/userguide/pkcs11-v3-mechanisms.html)

**메커니즘 주석**
+ [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, 단일 부분 작업의 최대 데이터 세트 크기**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/cloudhsm/latest/userguide/pkcs11-v3-mechanisms.html)

  **멀티파트 작업 클라이언트 SDK 3**

  16KB보다 큰 데이터 크기를 지원하지만 데이터 크기에 따라 해싱이 발생하는 위치가 결정됩니다. 16KB 미만의 데이터 버퍼는 HSM 내에서 해시됩니다. 16KB와 시스템의 최대 데이터 크기 사이의 버퍼는 소프트웨어에서 로컬로 해시됩니다. *기억하십시오*: 해시 함수에는 암호화 비밀이 필요하지 않으므로 HSM 외부에서 안전하게 계산할 수 있습니다.
+ [3.2]클라이언트 SDK에 따라 해싱에 다르게 AWS CloudHSM 접근합니다. 클라이언트 SDK 3의 경우 해싱을 수행하는 위치는 데이터 크기와 단일 부분 또는 다중 부분 작업을 사용하는지 여부에 따라 달라집니다.

  **단일 부분 작업 클라이언트 SDK 3**

  표 3.2에는 클라이언트 SDK 3의 각 메커니즘에 대한 최대 데이터 세트 크기가 나열되어 있습니다. 16KB를 초과하는 데이터 크기는 지원되지 않습니다.  
**표 3.2, 단일 부분 작업의 최대 데이터 세트 크기**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/cloudhsm/latest/userguide/pkcs11-v3-mechanisms.html)

  **멀티파트 작업 클라이언트 SDK 3**

  16KB보다 큰 데이터 크기를 지원하지만 데이터 크기에 따라 해싱이 발생하는 위치가 결정됩니다. 16KB 미만의 데이터 버퍼는 HSM 내에서 해시됩니다. 16KB와 시스템의 최대 데이터 크기 사이의 버퍼는 소프트웨어에서 로컬로 해시됩니다. *기억하십시오*: 해시 함수에는 암호화 비밀이 필요하지 않으므로 HSM 외부에서 안전하게 계산할 수 있습니다.
+ [3.3] 다음 메커니즘 중 하나를 사용하여 데이터로 작업할 때 데이터 버퍼가 최대 데이터 크기를 초과하면 작업 결과에 오류가 생깁니다. 이러한 메커니즘의 경우 모든 데이터 처리는 HSM 내에서 이루어져야 합니다. 다음 표에는 각 메커니즘에 설정된 최대 데이터 크기가 나와 있습니다.  
**표 3.3, 최대 데이터 세트 크기**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/cloudhsm/latest/userguide/pkcs11-v3-mechanisms.html)
+ [4] AES-GCM 암호화를 수행할 때 HSM은 애플리케이션에서 IV(초기화 벡터) 데이터를 수락하지 않습니다. 생성되는 IV를 사용해야 합니다. HSM이 제공하는 12바이트 IV는 사용자가 제공하는 `CK_GCM_PARAMS` 파라미터 구조의 pIV 요소가 가리키는 메모리 참조에 기록됩니다. 사용자의 혼동을 피하기 위해 버전 1.1.1 이상인 PKCS\$111 SDK는 AES-GCM 암호화가 초기화될 때 pIV가 초기화된 버퍼를 가리키는지 확인합니다.
+ [5] **클라이언트 SDK 3만 해당됩니다**. 메커니즘은 SSL/TLS 오프로드 사례를 지원하기 위해 구현됐으며 HSM 내에서만 부분적으로 실행됩니다. 이 메커니즘을 사용하기 전에 [용 PKCS \$111 라이브러리에 대해 알려진 문제 AWS CloudHSMPKCS\$111 SDK의 알려진 문제](ki-pkcs11-sdk.md)의 “문제: 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 \$111 애플리케이션에 `/opt/cloudhsm/include/pkcs11/cloudhsm_pkcs11_vendor_defs.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 \$15 패딩을 사용하는 AES 키 래핑

  `CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD`: 제로 패딩을 사용하는 AES 키 래핑

  AES 키 래핑에 대한 추가 정보는 [AES 키 래핑](manage-aes-key-wrapping.md)을 참조하십시오.
+ [8] NIST 지침에 따라 2023년 이후 FIPS 모드의 클러스터에는 허용되지 않습니다. 비FIPS 모드의 클러스터의 경우 2023년 이후에도 허용됩니다. 세부 정보는 [FIPS 140 규정 준수: 2024 메커니즘 지원 중단](compliance-dep-notif.md#compliance-dep-notif-1) 섹션을 참조하세요.