Meccanismi supportati - AWS CloudHSM

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Meccanismi supportati

La libreria PKCS #11 è conforme alla versione 2.40 della specifica PKCS #11. Per richiamare una funzione di crittografia utilizzando PKCS #11, chiamare una funzione con un determinato meccanismo. Le sezioni seguenti riassumono le combinazioni di funzioni e meccanismi supportati da AWS CloudHSM.

La libreria PKCS #11 supporta i seguenti algoritmi:

  • Crittografia e decrittografia: AES-CBC, AES-CTR, AES-ECB, AES-GCM, DES3-CBC, DES3-ECB, RSA-OAEP e RSA-PKCS

  • Firma e verifica: RSA, HMAC e ECDSA; con e senza hashing

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

  • Wrapping della chiave: AES Key Wrap1, AES-GCM, RSA-AES e RSA-OAEP

Funzioni di generazione di chiavi e coppie di chiavi

La libreria software AWS CloudHSM per la libreria PKCS #11 consente di utilizzare i seguenti meccanismi per le funzioni di generazione di chiavi e coppie di chiavi.

  • CKM_RSA_PKCS_KEY_PAIR_GEN

  • CKM_RSA_X9_31_KEY_PAIR_GEN: il funzionamento di questo meccanismo è identico a quello del meccanismo CKM_RSA_PKCS_KEY_PAIR_GEN, ma offre maggiori garanzie per la generazione di p e q.

  • CKM_EC_KEY_PAIR_GEN

  • CKM_GENERIC_SECRET_KEY_GEN

  • CKM_AES_KEY_GEN

  • CKM_DES3_KEY_GEN: modifica imminente indicata nella nota a piè di pagina 5.

Funzioni di firma e verifica

La libreria software AWS CloudHSM per la libreria PKCS #11 consente di utilizzare i seguenti meccanismi per le funzioni di firma e verifica. Con Client SDK 5, i dati sono sottoposti a hash in locale nel software. Ciò significa che non ci sono limiti alla dimensione dei dati che l'SDK può sottoporre a hash.

Con gli algoritmi RSA e ECDSA di Client SDK 5, l'hashing viene effettuato in locale, quindi non ci sono limiti di dati. Con HMAC, invece, vi è un limite di dati. Per maggiori informazioni, consulta la nota a piè di pagina 2.

RSA

  • CKM_RSA_X_509

  • CKM_RSA_PKCS: solo operazioni a parte singola.

  • CKM_RSA_PKCS_PSS: solo operazioni a parte singola.

  • 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: solo operazioni a parte singola.

  • 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

Funzioni Sign recover e Verify recover

Client SDK 5 non supporta le funzioni Sign Recover e Verify Recover.

Funzioni File digest

La libreria software AWS CloudHSM per la libreria PKCS #11 consente di utilizzare i seguenti meccanismi per le funzioni File digest. Con Client SDK 5, i dati sono sottoposti a hash in locale nel software. Ciò significa che non ci sono limiti alla dimensione dei dati che l'SDK può sottoporre a hash.

  • CKM_SHA_1

  • CKM_SHA224

  • CKM_SHA256

  • CKM_SHA384

  • CKM_SHA512

Funzioni di crittografia e decrittografia

La libreria software AWS CloudHSM per la libreria PKCS #11 consente di utilizzare i seguenti meccanismi per le funzioni di crittografia e decrittografia.

  • CKM_RSA_X_509

  • CKM_RSA_PKCS: solo operazioni a parte singola. Modifica imminente indicata nella nota a piè di pagina 5.

  • CKM_RSA_PKCS_OAEP: solo operazioni a parte singola.

  • CKM_AES_ECB

  • CKM_AES_CTR

  • CKM_AES_CBC

  • CKM_AES_CBC_PAD

  • CKM_DES3_CBC: modifica imminente indicata nella nota a piè di pagina 5.

  • CKM_DES3_ECB: modifica imminente indicata nella nota a piè di pagina 5.

  • CKM_DES3_CBC_PAD: modifica imminente indicata nella nota a piè di pagina 5.

  • CKM_AES_GCM 1, 2

  • CKM_CLOUDHSM_AES_GCM3

Funzioni di derivazione della chiave

La libreria software AWS CloudHSM per la libreria PKCS #11 consente di utilizzare i seguenti meccanismi per le funzioni di derivazione.

  • CKM_SP800_108_COUNTER_KDF

Funzioni di wrapping e annullamento del wrapping

La libreria software AWS CloudHSM per la libreria PKCS #11 consente di utilizzare i seguenti meccanismi per le funzioni di wrapping e annullamento del wrapping.

Per ulteriori informazioni sul wrapping delle chiavi AES, consulta la pagina sul wrapping delle chiavi AES.

  • CKM_RSA_PKCS: solo operazioni a parte singola. Una modifica imminente è indicata nella nota a piè di pagina 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

Dimensione massima dei dati per ogni meccanismo

La tabella seguente elenca le dimensioni massime dei dati per ciascun meccanismo:

Dimensione massima del set di dati
Meccanismo Dimensione massima dei dati in byte
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

Annotazioni sui meccanismi

  • [1] Quando si esegue la crittografia AES-GCM, l'HSM non accetta i dati del vettore di inizializzazione (IV) dall'applicazione. È necessario utilizzare un IV generato dall’HSM. L'IV da 12 byte fornito dall'HSM viene scritto nel riferimento della memoria indicato dall'elemento pIV della struttura di parametri CK_GCM_PARAMS fornita dall'utente. Per evitare confusione, l'SDK PKCS #11 nella versione 1.1.1 e successive assicura che pIV punti a un buffer azzerato quando viene inizializzata la crittografia AES-GCM.

  • [2] Quando si opera sui dati utilizzando uno dei seguenti meccanismi, se il buffer dati supera la dimensione massima dei dati, l’operazione genera un errore. Per questi meccanismi, tutta l'elaborazione dei dati deve avvenire all'interno dell'HSM. Per informazioni sui set di dimensioni massime dei dati per ciascun meccanismo, fare riferimento aDimensione massima dei dati per ogni meccanismo.

  • [3] Meccanismo definito dal fornitore. Per utilizzare i meccanismi definiti dal fornitore CloudHSM, le applicazioni PKCS #11 devono includere /opt/cloudhsm/include/pkcs11t.h durante la compilazione.

    CKM_CLOUDHSM_AES_GCM: questo meccanismo proprietario è un'alternativa programmaticamente più sicura allo standard CKM_AES_GCM. Antepone il IV generato dall'HSM al testo cifrato invece di scriverlo nuovamente nella struttura CK_GCM_PARAMS fornita durante l'inizializzazione del codice. È possibile utilizzare questo meccanismo con le funzioni C_Encrypt, C_WrapKey, C_Decrypt e C_UnwrapKey. Quando si utilizza questo meccanismo, la variabile pIV nella struttura CK_GCM_PARAMS deve essere impostata su NULL. Quando si utilizza questo meccanismo con C_Decrypt e C_UnwrapKey, il IV dovrebbe essere anteposto al testo cifrato che viene scartato.

    CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD: AES Key Wrap con riempimento PKCS #5.

    CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD: AES Key Wrap con riempimento a zeri.

  • [4] I seguenti CK_MECHANISM_TYPE e CK_RSA_PKCS_MGF_TYPE sono supportati come CK_RSA_PKCS_OAEP_PARAMS per CKM_RSA_PKCS_OAEP:

    • CKM_SHA_1 tramite CKG_MGF1_SHA1

    • CKM_SHA224 tramite CKG_MGF1_SHA224

    • CKM_SHA256 tramite CKG_MGF1_SHA256

    • CKM_SHA384 tramite CKM_MGF1_SHA384

    • CKM_SHA512 tramite CKM_MGF1_SHA512

  • [5] Non consentito dopo il 2023 per conformità a FIPS secondo le linee guida del NIST. Per informazioni dettagliate, vedi Conformità FIPS 140: meccanismo di deprecazione 2024.