Mecanismos compatíveis com a biblioteca PKCS #11 para o AWS CloudHSM Cliente SDK 5 - AWS CloudHSM

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Mecanismos compatíveis com a biblioteca PKCS #11 para o AWS CloudHSM Cliente SDK 5

A biblioteca PKCS #11 é compatível com a versão 2.40 da especificação PKCS #11. Para invocar um recurso criptográfico usando PKCS #11, chame uma função com um determinado mecanismo. As seções a seguir resumem as combinações de funções e mecanismos suportados pelo AWS CloudHSM Cliente SDK 5.

A biblioteca PKCS #11 oferece suporte aos seguintes algoritmos:

  • Criptografia e decodificação — AES -CBC, AES -CTR, AES -ECB, AES -, -GCM, DES3 - CBCECB, DES3 - e RSA - OAEP RSA PKCS

  • Assine e verifique —RSA,HMAC, eECDSA; com e sem hashing

  • Hash/digest —SHA1,,SHA224, e SHA256 SHA384 SHA512

  • Embalagem de AES chaves — Embrulho de chaves 1GCM, AES RSA -AES, RSA - e - OAEP

Gere funções de chave e par de chaves

A biblioteca AWS CloudHSM de software da biblioteca PKCS #11 permite que você use os seguintes mecanismos para as funções Generate Key e Key Pair.

  • CKM_RSA_PKCS_KEY_PAIR_GEN

  • CKM_RSA_X9_31_KEY_PAIR_GEN: esse mecanismo é funcionalmente idêntico ao mecanismo CKM_RSA_PKCS_KEY_PAIR_GEN, mas oferece maiores garantias para geração de p e de q.

  • CKM_EC_KEY_PAIR_GEN

  • CKM_GENERIC_SECRET_KEY_GEN

  • CKM_AES_KEY_GEN

  • CKM_DES3_KEY_GEN: próxima mudança listada na nota de rodapé 5.

Funções de assinatura e verificação

A biblioteca AWS CloudHSM de software da biblioteca PKCS #11 permite que você use os seguintes mecanismos para as funções de Assinatura e Verificação. Com o Client SDK 5, os dados são codificados localmente no software. Isso significa que não há limite no tamanho dos dados que podem ser criptografados peloSDK.

Com o Client SDK 5RSA, o ECDSA hashing é feito localmente, portanto, não há limite de dados. ComHMAC, há um limite de dados. Consulte a nota de rodapé 2 para obter mais informações.

RSA

  • CKM_RSA_X_509

  • CKM_RSA_PKCS: somente operações de uma única parte.

  • CKM_RSA_PKCS_PSS: somente operações de uma única parte.

  • 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: somente operações de uma única parte.

  • CKM_ECDSA_SHA1

  • CKM_ECDSA_SHA224

  • CKM_ECDSA_SHA256

  • CKM_ECDSA_SHA384

  • CKM_ECDSA_SHA512

HMAC

  • CKM_SHA_1_HMAC2

  • CKM_SHA224_HMAC2

  • CKM_SHA256_HMAC2

  • CKM_SHA384_HMAC2

  • CKM_SHA512_HMAC2

CMAC

  • CKM_AES_CMAC

Assine, recupere e verifique as funções de recuperação

O Client SDK 5 não suporta as funções Sign Recover e Verify Recover.

Funções de resumo

A biblioteca AWS CloudHSM de software da biblioteca PKCS #11 permite que você use os seguintes mecanismos para as funções Digest. Com o Client SDK 5, os dados são codificados localmente no software. Isso significa que não há limite no tamanho dos dados que podem ser criptografados peloSDK.

  • CKM_SHA_1

  • CKM_SHA224

  • CKM_SHA256

  • CKM_SHA384

  • CKM_SHA512

Funções de criptografia e descriptografia

A biblioteca AWS CloudHSM de software da biblioteca PKCS #11 permite que você use os seguintes mecanismos para as funções de criptografia e descriptografia.

  • CKM_RSA_X_509

  • CKM_RSA_PKCS: somente operações de uma única parte. Próxima mudança listada na nota de rodapé 5.

  • CKM_RSA_PKCS_OAEP: somente operações de uma única parte.

  • CKM_AES_ECB

  • CKM_AES_CTR

  • CKM_AES_CBC

  • CKM_AES_CBC_PAD

  • CKM_DES3_CBC: próxima mudança listada na nota de rodapé 5.

  • CKM_DES3_ECB: próxima mudança listada na nota de rodapé 5.

  • CKM_DES3_CBC_PAD: próxima mudança listada na nota de rodapé 5.

  • CKM_AES_GCM 1, 2

  • CKM_CLOUDHSM_AES_GCM3

Derivar funções de chave

A biblioteca AWS CloudHSM de software da biblioteca PKCS #11 permite que você use os seguintes mecanismos para funções do Derive.

  • CKM_SP800_108_COUNTER_KDF

Funções de agrupamento e desagrupamento

A biblioteca AWS CloudHSM de software da biblioteca PKCS #11 permite que você use os seguintes mecanismos para as funções Wrap e Unwrap.

Para obter informações adicionais sobre o encapsulamento de AES chaves, consulte Encapsulamento de AES chaves.

  • CKM_RSA_PKCS: somente operações de uma única parte. Uma nova mudança futura listada na nota de rodapé 5.

  • CKM_RSA_PKCS_OAEP4

  • CKM_AES_GCM1, 3

  • CKM_CLOUDHSM_AES_GCM3

  • CKM_RSA_AES_KEY_WRAP

  • CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD3

  • CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD3

  • CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD3

Tamanho máximo de dados para cada mecanismo

A tabela a seguir lista o tamanho máximo de dados definido para cada mecanismo:

Tamanho máximo do conjunto de dados
Mecanismo Tamanho máximo de dados em 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

Anotações do mecanismo

  • [1] Ao executar AES - GCM criptografia, o HSM não aceita dados vetoriais de inicialização (IV) do aplicativo. Você deve usar um IV gerado por ele. O IV de 12 bytes fornecido pelo HSM é gravado na referência de memória apontada pelo elemento PiV da estrutura de CK_GCM_PARAMS parâmetros que você fornece. Para evitar confusão do usuário, PKCS #11 SDK na versão 1.1.1 e posterior garante que o PiV aponte para um buffer zerado quando - a criptografia é AES inicializada. GCM

  • [2] Ao trabalhar com dados usando qualquer um dos mecanismos a seguir, se o buffer de dados exceder o tamanho máximo de dados, a operação resultará em um erro. Para esses mecanismos, todo o processamento de dados deve ocorrer dentro doHSM. Para obter informações sobre conjuntos de tamanho máximo de dados para cada mecanismo, consulte Tamanho máximo de dados para cada mecanismo.

  • [3] Mecanismo definido pelo fornecedor. Para usar os mecanismos definidos pelo HSM fornecedor de nuvem, os aplicativos PKCS #11 devem ser incluídos /opt/cloudhsm/include/pkcs11t.h durante a compilação.

    CKM_CLOUDHSM_AES_GCM: Este mecanismo proprietário é uma alternativa programaticamente mais segura para o padrão CKM_AES_GCM. Ele anexa o IV gerado pelo HSM ao texto cifrado em vez de escrevê-lo de volta na CK_GCM_PARAMS estrutura fornecida durante a inicialização da cifra. Você pode usar esse mecanismo com as funções C_Encrypt, C_WrapKey, C_Decrypt, e C_UnwrapKey. Ao usar esse mecanismo, a variável pIV no struct CK_GCM_PARAMS deve ser definida como NULL. Ao usar este mecanismo com C_Decrypt e C_UnwrapKey, espera-se que o IV seja precedido pelo texto cifrado que está sendo desencapsulado.

    CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD: Envoltório de AES chaves com preenchimento PKCS #5.

    CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD: Envoltório de AES chaves com preenchimento zero.

  • [4] Os seguintes CK_MECHANISM_TYPE e CK_RSA_PKCS_MGF_TYPE são compatíveis como CK_RSA_PKCS_OAEP_PARAMS para CKM_RSA_PKCS_OAEP:

    • CKM_SHA_1 usando CKG_MGF1_SHA1

    • CKM_SHA224 usando CKG_MGF1_SHA224

    • CKM_SHA256 usando CKG_MGF1_SHA256

    • CKM_SHA384 usando CKM_MGF1_SHA384

    • CKM_SHA512 usando CKM_MGF1_SHA512

  • [5] De acordo com a NIST orientação, isso não é permitido para clusters no FIPS modo após 2023. Para clusters no FIPS modo não-, ainda é permitido após 2023. Para mais detalhes, consulte FIPS140 Conformidade: depreciação do mecanismo de 2024.