

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 per la libreria PKCS \$111 per Client SDK 5 AWS CloudHSM
<a name="pkcs11-mechanisms"></a>

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

La libreria PKCS \$111 supporta i seguenti algoritmi:
+ **Crittografia e decrittografia**: AES-CBC, AES-CTR, AES-ECB, AES-GCM, -CBC, -ECB, RSA-OAEP e RSA-PKCS DES3 DES3
+ **Firma e verifica**: RSA, HMAC e ECDSA; con e senza hashing
+ ** SHA1 SHA256 SHA384Hash/digest** SHA224 —,,, e SHA512
+ **Wrapping della chiave**: AES Key Wrap,[1](#mech1) AES-GCM, RSA-AES e RSA-OAEP
+ **Derivazione delle chiavi**: SP800 -108 Counter KDF ed ECDH con KDF (gli algoritmi KDF supportati sono X9.63 con,,,) SHA1 SHA224 SHA256 SHA384 SHA512

**Topics**
+ [

## Funzioni di generazione chiavi e coppie di chiavi
](#pkcs11-mech-function-genkey)
+ [

## Funzioni di firma e verifica
](#pkcs11-mech-function-signverify)
+ [

## Funzioni Sign recover e Verify recover
](#pkcs11-mech-function-sr-vr)
+ [

## Funzioni di digest
](#pkcs11-mech-function-digest)
+ [

## Funzioni di crittografia e decrittografia
](#pkcs11-mech-function-enc-dec)
+ [

## Funzioni di derivazione della chiave
](#pkcs11-mech-function-derive-key)
+ [

## Funzioni di wrapping e annullamento del wrapping
](#pkcs11-mech-function-wrap-unwrap)
+ [

## Dimensione massima dei dati per ogni meccanismo
](#pkcs11-mech-max)
+ [

## Annotazioni sui meccanismi
](#pkcs11-mech-annotations)

## Funzioni di generazione chiavi e coppie di chiavi
<a name="pkcs11-mech-function-genkey"></a>

La libreria AWS CloudHSM software per la libreria PKCS \$111 consente di utilizzare i seguenti meccanismi per le funzioni Generate Key e Key Pair.
+ `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](#mech5).

## Funzioni di firma e verifica
<a name="pkcs11-mech-function-signverify"></a>

La libreria AWS CloudHSM software per la libreria PKCS \$111 consente di utilizzare i seguenti meccanismi per le funzioni Sign and Verify. Con Client SDK 5, l'hashing dei dati viene eseguito localmente 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](#mech2).

**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_HMAC`[2](#mech2)
+ `CKM_SHA224_HMAC`[2](#mech2)
+ `CKM_SHA256_HMAC`[2](#mech2)
+ `CKM_SHA384_HMAC`[2](#mech2)
+ `CKM_SHA512_HMAC`[2](#mech2)

**CMAC**
+ `CKM_AES_CMAC`

## Funzioni Sign recover e Verify recover
<a name="pkcs11-mech-function-sr-vr"></a>

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

## Funzioni di digest
<a name="pkcs11-mech-function-digest"></a>

La libreria AWS CloudHSM software per la libreria PKCS \$111 consente di utilizzare i seguenti meccanismi per le funzioni Digest. Con Client SDK 5, l'hashing dei dati viene eseguito localmente 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
<a name="pkcs11-mech-function-enc-dec"></a>

La libreria AWS CloudHSM software per la libreria PKCS \$111 consente di utilizzare i seguenti meccanismi per le funzioni Encrypt e Decrypt.
+ `CKM_RSA_X_509`
+ `CKM_RSA_PKCS`: solo operazioni a parte singola. Modifica imminente indicata nella nota a piè di pagina [5](#mech5).
+ `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](#mech5).
+ `CKM_DES3_ECB`: modifica imminente indicata nella nota a piè di pagina [5](#mech5).
+ `CKM_DES3_CBC_PAD`: modifica imminente indicata nella nota a piè di pagina [5](#mech5).
+  `CKM_AES_GCM` [1](#mech1), [2](#mech2)
+ `CKM_CLOUDHSM_AES_GCM`[3](#mech3)

## Funzioni di derivazione della chiave
<a name="pkcs11-mech-function-derive-key"></a>

La libreria AWS CloudHSM software per la libreria PKCS \$111 supporta i seguenti meccanismi di derivazione delle chiavi:
+ `CKM_SP800_108_COUNTER_KDF`
+ `CKM_ECDH1_DERIVE`- Supporta la derivazione delle chiavi ECDH con i seguenti tipi KDF definiti dal fornitore: [6](#kdf6)
  + `CKD_CLOUDHSM_X963_SHA1_KDF`- X9.63 KDF con SHA1 [7](#kdf7)
  + `CKD_CLOUDHSM_X963_SHA224_KDF`- X9.63 KDF con SHA224 [7](#kdf7)
  + `CKD_CLOUDHSM_X963_SHA256_KDF`- X9.63 KDF con SHA256 [7](#kdf7)
  + `CKD_CLOUDHSM_X963_SHA384_KDF`- X9.63 KDF con SHA384 [7](#kdf7)
  + `CKD_CLOUDHSM_X963_SHA512_KDF`- X9.63 KDF con SHA512 [7](#kdf7)

## Funzioni di wrapping e annullamento del wrapping
<a name="pkcs11-mech-function-wrap-unwrap"></a>

La libreria AWS CloudHSM software per la libreria PKCS \$111 consente di utilizzare i seguenti meccanismi per le funzioni Wrap e Unwrap.

Per ulteriori informazioni sul wrapping delle chiavi AES, consulta la pagina sul [wrapping delle chiavi AES](manage-aes-key-wrapping.md). 
+ `CKM_RSA_PKCS`: solo operazioni a parte singola. Una modifica imminente è indicata nella nota a piè di pagina [5](#mech5).
+ `CKM_RSA_PKCS_OAEP`[4](#mech4)
+ `CKM_AES_GCM`[1](#mech1), [3](#mech3)
+ `CKM_CLOUDHSM_AES_GCM`[3](#mech3)
+ `CKM_RSA_AES_KEY_WRAP`
+ `CKM_CLOUDHSM_AES_KEY_WRAP_NO_PAD`[3](#mech3)
+ `CKM_CLOUDHSM_AES_KEY_WRAP_PKCS5_PAD`[3](#mech3)
+ `CKM_CLOUDHSM_AES_KEY_WRAP_ZERO_PAD`[3](#mech3)

## Dimensione massima dei dati per ogni meccanismo
<a name="pkcs11-mech-max"></a>

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


**Dimensione massima del set di dati**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/cloudhsm/latest/userguide/pkcs11-mechanisms.html)

## Annotazioni sui meccanismi
<a name="pkcs11-mech-annotations"></a>
+ [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 \$111 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 a[Dimensione massima dei dati per ogni meccanismo](#pkcs11-mech-max).
+ [3] Meccanismo definito dal fornitore. Per utilizzare i meccanismi definiti dal fornitore CloudHSM, le applicazioni PKCS \$111 devono includere `/opt/cloudhsm/include/pkcs11/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 \$15.

  `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] In conformità alle linee guida del NIST, ciò non è consentito per i cluster in modalità FIPS dopo il 2023. Per i cluster in modalità non FIPS, è ancora consentito dopo il 2023. Per informazioni dettagliate, vedi [Conformità FIPS 140: meccanismo di deprecazione 2024](compliance-dep-notif.md#compliance-dep-notif-1).
+ [6] Tipi definiti dal fornitore. Per utilizzare i tipi definiti dal fornitore di CloudHSM, le applicazioni PKCS \$111 devono includerli durante la compilazione. `cloudhsm_pkcs11_vendor_defs.h` Si trova nelle `/opt/cloudhsm/include/pkcs11/cloudhsm_pkcs11_vendor_defs.h` piattaforme basate su Linux e sulle piattaforme basate su Windows `C:\Program Files\Amazon\CloudHSM\include\pkcs11\cloudhsm_pkcs11_vendor_defs.h`
+ [7] Le principali funzioni di derivazione (KDFs) sono specificate nella [pubblicazione speciale 800-56A Revisione 3 del NIST](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf).