Meccanismi supportati per Client SDK 3 AWS CloudHSM - 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 per Client SDK 3 AWS CloudHSM

La libreria PKCS #11 supporta i seguenti algoritmi per AWS CloudHSM Client SDK 3:

  • 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,4 AES-GCM, RSA-AES e RSA-OAEP

  • Derivazione chiave: ECDH, 00-108 CTR KDF 5 SP8

Tabella dei meccanismi e delle funzioni della libreria PKCS #11

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. La seguente tabella riassume le combinazioni di funzioni e meccanismi supportati da AWS CloudHSM.

Interpretazione della tabella delle funzioni del meccanismo PKCS #11

Un segno ✔ indica che supporta il meccanismo della funzione. AWS CloudHSM Non supportiamo tutte le funzioni elencate nella specifica PKCS #11. Un segno ✖ indica che AWS CloudHSM non supporta ancora il meccanismo per una determinata funzione, anche se lo standard PKCS #11 lo consente. Le celle vuote indicano che lo standard PKCS #11 non supporta il meccanismo per una determinata funzione.

Meccanismi e funzioni PKCS #11 supportati

Meccanismo

Funzioni

 

Generate chiavi o coppie di chiavi

Sign & Verify (Firma e verifica)

SR & VR

Digest

Encrypt & Decrypt (Crittografia e decrittografia)

Derive Key (Deriva chiave)

Avvolgi & UnWrap

CKM_RSA_PKCS_KEY_PAIR_GEN

 

 

 

 

 

 

CKM_RSA_X9_31_KEY_PAIR_GEN

2

 

 

 

 

 

 

CKM_RSA_X_509

 

 

 

 

 

CKM_RSA_PKCSsee note 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 see note 8

 

 

 

 

 

 

CKM_DES3_CBC see note 8

 

 

 

 

3.3

 

CKM_DES3_CBC_PAD see note 8

 

 

 

 

 

CKM_DES3_ECB see note 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

Annotazioni sui meccanismi

  • [1] Solo operazioni a parte singola.

  • [2] Il meccanismo è identico al meccanismo CKM_RSA_PKCS_KEY_PAIR_GEN dal punto di vista funzionale, ma offre maggiori garanzie per le generazioni p e q.

  • [3.1] AWS CloudHSM approccia l'hashing in modo diverso in base al Client SDK. Per Client SDK 3, la posizione in cui viene eseguito l'hashing varia a seconda della dimensione dei dati e del fatto che si utilizzino operazioni a parte singola o in più parti.

    Operazioni a parte singola in Client SDK 3

    La Tabella 3.1 elenca la dimensione massima del set di dati per ciascun meccanismo per Client SDK 3. L'intero hash viene calcolato all'interno dell'HSM. Nessun supporto per dimensioni di dati superiori a 16 KB.

    Tabella 3.1, Dimensione massima del set di dati per operazioni a parte singola
    Meccanismo Dimensione massima dei dati
    CKM_SHA_1 16296
    CKM_SHA224 16264
    CKM_SHA256 16296
    CKM_SHA384 16232
    CKM_SHA512 16232

    Operazioni in più parti per Client SDK 3

    Supporto per dimensioni di dati superiori a 16 KB, ma la dimensione dei dati determina dove avviene l'hashing. I buffer di dati inferiori a 16 KB sono sottoposti a hash all'interno dell'HSM. I buffer di dimensione compresa tra 16 KB e la dimensione massima dei dati del sistema sono sottoposti a hash in locale nel software. Ricorda: le funzioni hash non richiedono segreti crittografici, quindi puoi calcolarle in sicurezza al di fuori dell'HSM.

  • [3.2] AWS CloudHSM approccia l'hashing in modo diverso in base al Client SDK. Per Client SDK 3, la posizione in cui viene eseguito l'hashing varia a seconda della dimensione dei dati e del fatto che si utilizzino operazioni a parte singola o in più parti.

    Operazioni a parte singola per Client SDK 3

    La Tabella 3.2 elenca la dimensione massima del set di dati per ciascun meccanismo per Client SDK 3. Nessun supporto per dimensioni di dati superiori a 16 KB.

    Tabella 3.2, Dimensione massima del set di dati per operazioni a parte singola
    Meccanismo Dimensione massima dei dati
    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

    Operazioni in più parti per Client SDK 3

    Supporto per dimensioni di dati superiori a 16 KB, ma la dimensione dei dati determina dove avviene l'hashing. I buffer di dati inferiori a 16 KB sono sottoposti a hash all'interno dell'HSM. I buffer di dimensione compresa tra 16 KB e la dimensione massima dei dati del sistema sono sottoposti a hash in locale nel software. Ricorda: le funzioni hash non richiedono segreti crittografici, quindi puoi calcolarle in sicurezza al di fuori dell'HSM.

  • [3.3] 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. La tabella seguente elenca la dimensione massima dei dati per ciascun meccanismo:

    Tabella 3.3, Dimensione massima del set di dati
    Meccanismo Dimensione massima dei dati
    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] 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.

  • [5] Solo Client SDK 3. Questo meccanismo viene implementato per supportare i casi di offload SSL/TLS e viene eseguito solo in parte all'interno dell'HSM. Prima di utilizzare il meccanismo, consulta "(Problema) la deviazione della chiave ECDH viene eseguita parzialmente all'interno dell'HSM" in Problemi noti della libreria PKCS #11 per AWS CloudHSM. CKM_ECDH1_DERIVE non supporta la curva secp521r1 (P-521).

  • [6] 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

  • [7.1] 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

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

  • [8] In conformità con le 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.