Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Mecanismos compatibles con la biblioteca PKCS #11 para AWS CloudHSM SDK 5 de cliente
La biblioteca PKCS #11 es compatible con la versión 2.40 de la especificación PKCS #11. Para invocar una característica criptográfica con PKCS #11, llame a una función con un mecanismo determinado. En las siguientes secciones se resumen las combinaciones de funciones y mecanismos compatibles con el AWS CloudHSM Client SDK 5.
La biblioteca PKCS #11 admite los siguientes algoritmos:
-
Cifrado y descifrado: AES-CBC,, AES-CTR, AES-ECB, AES-GCM, DES3-CBC, y DES3-ECB RSA-OAEP RSA-PKCS
-
Firme y verifique: RSA, HMAC, ECDSA (con y sin hash), edDSA (Ed25519 y ed25519ph) y (con modos mu puro y externo) ML-DSA
-
Hash/digest— SHA1, SHA224, SHA256, SHA384 y SHA512
-
Envoltura de claves: envoltura de claves AES y 1 AES-GCM RSA-AES RSA-OAEP
-
Derivación de claves: SP800-108 contabiliza KDF y ECDH con KDF (los algoritmos de KDF compatibles son X9.63 los de SHA1, SHA224, SHA256, SHA384 y SHA512)
Generación de funciones de claves y pares de claves
La biblioteca de AWS CloudHSM software para la biblioteca PKCS #11 permite utilizar los siguientes mecanismos para las funciones de generación de claves y pares de claves.
-
CKM_RSA_PKCS_KEY_PAIR_GEN -
CKM_RSA_X9_31_KEY_PAIR_GENEste mecanismo es funcionalmente idéntico al mecanismoCKM_RSA_PKCS_KEY_PAIR_GEN, pero ofrece más garantías en la generación depyq. -
CKM_EC_KEY_PAIR_GEN -
CKM_CLOUDHSM_ML_DSA_KEY_PAIR_GEN3 -
CKM_GENERIC_SECRET_KEY_GEN -
CKM_AES_KEY_GEN -
CKM_DES3_KEY_GENpróximo cambio en la nota a pie de página 5.
Firma y comprobación de las funciones
La biblioteca de AWS CloudHSM software para la biblioteca PKCS #11 permite utilizar los siguientes mecanismos para las funciones de firma y verificación. Con SDK 5 de cliente, los datos se codifican localmente en el software. Esto significa que no hay límite en cuanto al tamaño de los datos que el SDK puede codificar.
Con SDK 5 de cliente, el hash de RSA y ECDSA se realiza de forma local, por lo que no hay límite de datos. Con HMAC y PureEd DSA (Ed25519), hay un límite de datos. Consulte la nota a pie de página 2 para obtener más información.
RSA
CKM_RSA_X_509CKM_RSA_PKCSÚnicamente para operaciones de una sola parte.CKM_RSA_PKCS_PSSÚnicamente para operaciones de una sola parte.CKM_SHA1_RSA_PKCSCKM_SHA224_RSA_PKCSCKM_SHA256_RSA_PKCSCKM_SHA384_RSA_PKCSCKM_SHA512_RSA_PKCSCKM_SHA512_RSA_PKCSCKM_SHA1_RSA_PKCS_PSSCKM_SHA224_RSA_PKCS_PSSCKM_SHA256_RSA_PKCS_PSSCKM_SHA384_RSA_PKCS_PSSCKM_SHA512_RSA_PKCS_PSS
ECDSA
CKM_ECDSAÚnicamente para operaciones de una sola parte.CKM_ECDSA_SHA1CKM_ECDSA_SHA224CKM_ECDSA_SHA256CKM_ECDSA_SHA384CKM_ECDSA_SHA512
ML-DSA
edDSA
CMAC
CKM_AES_CMAC
Funciones de recuperación de firma y recuperación de verificación
SDK 5 de cliente no ofrece funciones de recuperación de firma y recuperación de verificación.
Funciones Digest
La biblioteca AWS CloudHSM de software de la biblioteca PKCS #11 permite utilizar los siguientes mecanismos para las funciones de Digest. Con SDK 5 de cliente, los datos se codifican localmente en el software. Esto significa que no hay límite en cuanto al tamaño de los datos que el SDK puede codificar.
-
CKM_SHA_1 -
CKM_SHA224 -
CKM_SHA256 -
CKM_SHA384 -
CKM_SHA512
Funciones de cifrado y descifrado
La biblioteca de AWS CloudHSM software para la biblioteca PKCS #11 permite utilizar los siguientes mecanismos para las funciones de cifrado y descifrado.
-
CKM_RSA_X_509 -
CKM_RSA_PKCSÚnicamente para operaciones de una sola parte Próximo cambio en la nota a pie de página 5. -
CKM_RSA_PKCS_OAEPÚnicamente para operaciones de una sola parte. -
CKM_AES_ECB -
CKM_AES_CTR -
CKM_AES_CBC -
CKM_AES_CBC_PAD -
CKM_DES3_CBCpróximo cambio en la nota a pie de página 5. -
CKM_DES3_ECBpróximo cambio en la nota a pie de página 5. -
CKM_DES3_CBC_PADpróximo cambio en la nota a pie de página 5. CKM_CLOUDHSM_AES_GCM3
Derivación de funciones de claves
La biblioteca de AWS CloudHSM software para la biblioteca PKCS #11 admite los siguientes mecanismos de derivación de claves:
-
CKM_SP800_108_COUNTER_KDF -
CKM_ECDH1_DERIVE: admite la derivación de claves ECDH con los siguientes tipos de KDF definidos por el proveedor 6:
Funciones de encapsulado y desencapsulado
La biblioteca de AWS CloudHSM software para la biblioteca PKCS #11 permite utilizar los siguientes mecanismos para las funciones de empaquetado y desempaquetado.
Para obtener más opciones de encapsulamiento de claves AES, consulte Encapsulamiento de claves con AES.
Tamaño máximo de datos para cada mecanismo
En la tabla siguiente, se muestra el tamaño máximo de datos establecido para cada mecanismo:
| Mecanismo | Tamaño máximo de datos en bytes |
|---|---|
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 |
CKM_CLOUDHSM_EDDSA(parámetros PureEd DSA, NULL) |
16 000 |
Notas del mecanismo
[1] Al realizar el AES-GCM cifrado, el HSM no acepta los datos del vector de inicialización (IV) de la aplicación. Debe utilizar un vector de inicialización generado. El IV de 12 bytes proporcionado por el HSM se escribe en la referencia de memoria a la que apunta el elemento pIV de la estructura de parámetros
CK_GCM_PARAMSespecificada por el usuario. Para evitar confusiones entre los usuarios, la versión 1.1.1 y posteriores del SDK PKCS #11 garantiza que el PiV apunte a un búfer reducido a cero cuando se inicializa el cifrado. AES-GCM[2] Cuando se opera con datos mediante cualquiera de los mecanismos siguientes, si el búfer de datos supera el tamaño máximo de datos, la operación produce un error. Para estos mecanismos, todo el procesamiento de los datos debe realizarse dentro del HSM. Para obtener más información sobre los tamaños máximos de conjuntos de datos para cada mecanismo, consulte Tamaño máximo de datos para cada mecanismo.
-
[3] mecanismo. Vendor-defined Para poder utilizar los mecanismos definidos por el proveedor de CloudHSM, las aplicaciones PKCS#11 deben incluir
/opt/cloudhsm/include/pkcs11/pkcs11t.hdurante la compilación.CKM_CLOUDHSM_AES_GCM: este mecanismo exclusivo es una alternativa programáticamente segura del estándarCKM_AES_GCM. Antepone el IV generado por el HSM al texto cifrado en lugar de volver a escribirlo en la estructuraCK_GCM_PARAMSque se proporciona durante la inicialización del cifrado. Puede utilizar este mecanismo con las funcionesC_Encrypt,C_WrapKey,C_DecryptyC_UnwrapKey. Cuando se utiliza este mecanismo, la variable pIV de la estructuraCK_GCM_PARAMSdebe establecerse enNULL. Cuando se utiliza este mecanismo conC_DecryptyC_UnwrapKey, se espera que el IV se anteponga al texto cifrado que se está desencapsulando.CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD:Encapsulamiento de claves AES con relleno PKCS #5CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD:Encapsulamiento de claves AES con relleno de cerosCKM_CLOUDHSM_ML_DSA_KEY_PAIR_GEN: Genera un par de ML-DSA claves. Utilice elCKA_CLOUDHSM_PARAMETER_SETatributo (tipoCK_CLOUDHSM_ML_DSA_PARAMETER_SET_TYPE) para especificar el conjunto de parámetros. Valores válidos:CKP_CLOUDHSM_ML_DSA_44,CKP_CLOUDHSM_ML_DSA_65,CKP_CLOUDHSM_ML_DSA_87.CKM_CLOUDHSM_ML_DSA: ML-DSA Firmar y verificar en estado puro. Firma o verifica los datos sin procesar mediante un par de ML-DSA claves.CKM_CLOUDHSM_EXT_MU_ML_DSA: ML-DSA firma y verifica con un mu externo. Firma o verifica los datos que se han preprocesado para convertirlos en un valor mu externo.CKM_CLOUDHSM_EDDSA: Mecanismo de firma de EdDSA. Con parámetros NULL: PureEd DSA (Ed25519), solo una parte, máximo de 16.000 bytes. ConCK_EDDSA_PARAMS(phFlag = CK_TRUE,ulContextDataLen = 0): ed25519ph, de una o varias partes, sin límite de tamaño. LaCK_EDDSA_PARAMSestructura sigue la especificación PKCS #11 v3.0. [4] Los siguientes
CK_MECHANISM_TYPEyCK_RSA_PKCS_MGF_TYPEse admiten comoCK_RSA_PKCS_OAEP_PARAMSparaCKM_RSA_PKCS_OAEP:-
CKM_SHA_1conCKG_MGF1_SHA1 -
CKM_SHA224conCKG_MGF1_SHA224 -
CKM_SHA256conCKG_MGF1_SHA256 -
CKM_SHA384conCKM_MGF1_SHA384 -
CKM_SHA512conCKM_MGF1_SHA512
-
[5] De acuerdo con las directrices del NIST, esto no se permite en los clústeres en modo FIPS después de 2023. En el caso de los clústeres en modo no FIPS, seguirá siendo posible después de 2023. Para obtener más información, consulte Cumplimiento de la normativa FIPS 140: anulación de mecanismo 2024.
[6] Tipos definidos por el proveedor. Para usar tipos definidos por el proveedor de CloudHSM, las aplicaciones PKCS #11 deben incluir
cloudhsm_pkcs11_vendor_defs.hdurante la compilación. Esto se encuentra en/opt/cloudhsm/include/pkcs11/cloudhsm_pkcs11_vendor_defs.hpara plataformas basadas en Linux y enC:\Program Files\Amazon\CloudHSM\include\pkcs11\cloudhsm_pkcs11_vendor_defs.hpara plataformas basadas en Windows.[7] Solo se admite en instancias de hsm2m.medium en modo que no sea FIPS.
[8] Las funciones de derivación clave (KDF) se especifican en la publicación especial 800-56A, revisión 3 del NIST. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf