AWS CloudHSM 클라이언트 SDK 3에 지원되는 메커니즘 - AWS CloudHSM

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

AWS CloudHSM 클라이언트 SDK 3에 지원되는 메커니즘

PKCS #11 라이브러리는 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 AES-GCM, RSA-AES 및 RSA-OAEP

  • 주요 파생 – ECDH,5 SP800-108 CTR KDF

PKCS #11 라이브러리 메커니즘-함수 표

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

지원되는 PKCS #11 메커니즘-함수 표 해석

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

지원되는 PKCS #11 라이브러리 메커니즘 및 함수

메커니즘

함수

 

또는 키 페어 생성

서명 및 확인

SR 및 VR

다이제스트

암호화 및 암호 해독

키 추출

래핑 및 언래핑

CKM_RSA_PKCS_KEY_PAIR_GEN

 

 

 

 

 

 

CKM_RSA_X9_31_KEY_PAIR_GEN

2

 

 

 

 

 

 

CKM_RSA_X_509

 

 

 

 

 

CKM_RSA_PKCS참고 사항 참조 8

  1   1

 

1

CKM_RSA_PKCS_OAEP

 

 

 

 

1

 

6

CKM_SHA1_RSA_PKCS

 

3.2

 

 

 

 

 

CKM_SHA224_RSA_PKCS

 

3.2

 

 

 

 

 

CKM_SHA256_RSA_PKCS

 

3.2

 

 

 

 

 

CKM_SHA384_RSA_PKCS

 

2,3.2

 

 

 

 

 

CKM_SHA512_RSA_PKCS

 

3.2

 

 

 

 

 

CKM_RSA_PKCS_PSS

 

1

 

 

 

 

 

CKM_SHA1_RSA_PKCS_PSS

 

3.2

 

 

 

 

 

CKM_SHA224_RSA_PKCS_PSS

 

3.2

 

 

 

 

 

CKM_SHA256_RSA_PKCS_PSS

 

3.2

 

 

 

 

 

CKM_SHA384_RSA_PKCS_PSS

 

2,3.2

 

 

 

 

 

CKM_SHA512_RSA_PKCS_PSS

 

3.2

 

 

 

 

 

CKM_EC_KEY_PAIR_GEN

 

 

 

 

 

 

CKM_ECDSA

 

1

 

 

 

 

 

CKM_ECDSA_SHA1

 

3.2

 

 

 

 

 

CKM_ECDSA_SHA224

 

3.2

 

 

 

 

 

CKM_ECDSA_SHA256

 

3.2

 

 

 

 

 

CKM_ECDSA_SHA384

 

3.2

 

 

 

 

 

CKM_ECDSA_SHA512

 

3.2

 

 

 

 

 

CKM_ECDH1_DERIVE

 

 

 

 

 

5

 

CKM_SP800_108_COUNTER_KDF

 

 

 

 

 

 

CKM_GENERIC_SECRET_KEY_GEN

 

 

 

 

 

 

CKM_AES_KEY_GEN

 

 

 

 

 

 

CKM_AES_ECB

 

 

 

 

 

CKM_AES_CTR

 

 

 

 

 

CKM_AES_CBC

 

 

 

 

3.3

 

CKM_AES_CBC_PAD

 

 

 

 

 

CKM_DES3_KEY_GEN 참고 사항 참조 8

 

 

 

 

 

 

CKM_DES3_CBC 참고 사항 참조 8

 

 

 

 

3.3

 

CKM_DES3_CBC_PAD 참고 사항 참조 8

 

 

 

 

 

CKM_DES3_ECB 참고 사항 참조 8

 

 

 

 

 

CKM_AES_GCM

 

 

 

 

3.3, 4

 

7.1

CKM_CLOUDHSM_AES_GCM

 

 

 

 

7.1

 

7.1

CKM_SHA_1

 

 

 

3.1

 

 

 

CKM_SHA_1_HMAC

 

3.3

 

 

 

 

 

CKM_SHA224

 

 

 

3.1

 

 

 

CKM_SHA224_HMAC

 

3.3

 

 

 

 

 

CKM_SHA256

 

 

 

3.1

 

 

 

CKM_SHA256_HMAC

 

3.3

 

 

 

 

 

CKM_SHA384

 

 

 

3.1

 

 

 

CKM_SHA384_HMAC

 

3.3

 

 

 

 

 

CKM_SHA512

 

 

 

3.1

 

 

 

CKM_SHA512_HMAC

 

3.3

 

 

 

 

 

CKM_RSA_AES_KEY_WRAP

 

 

 

 

 

 

CKM_AES_KEY_WRAP

 

 

 

 

 

 

CKM_AES_KEY_WRAP_PAD

 

 

 

 

 

 

CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD

 

 

 

 

 

 

7.1

CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD

 

 

 

 

 

 

7.1

CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD

 

 

 

 

 

 

7.1

메커니즘 주석

  • [1] 단일 부분 작업만.

  • [2] 메커니즘은 기능상 CKM_RSA_PKCS_KEY_PAIR_GEN 메커니즘과 동일하지만, pq 생성을 보다 확실히 보장합니다.

  • [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_TYPECK_RSA_PKCS_MGF_TYPECKM_RSA_PKCS_OAEP의 경우 CK_RSA_PKCS_OAEP_PARAMS로 지원됩니다.

    • CKM_SHA_1CKG_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_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 키 래핑

    AES 키 래핑에 대한 추가 정보는 AES 키 래핑을 참조하십시오.

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