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à.
Problemi noti per la libreria PKCS #11 per AWS CloudHSM
I seguenti problemi riguardano la libreria PKCS #11 per AWS CloudHSM.
Argomenti
- Problema: il AES key wrap nella versione 3.0.0 della libreria PKCS #11 non viene IVs convalidato prima dell'uso
- Problema: PKCS #11 SDK 2.0.4 e le versioni precedenti utilizzavano sempre l'IV predefinito 0xA6A6A6A6A6A6A6A6 per avvolgere e aprire i AES tasti
- Problema: l'attributo CKA_DERIVE non è supportato e non è stato gestito
- Problema: l'attributo CKA_SENSITIVE non è supportato e non è stato gestito
- Problema: l'hashing e la firma in più parti non sono supportati
- Problema: C_GenerateKeyPair non gestisce CKA_MODULUS_BITS o CKA_PUBLIC_EXPONENT nel modello privato in un modo conforme agli standard
- Problema: i buffer per le C_Decrypt API operazioni C_Encrypt and non possono superare i 16 KB quando si utilizza il meccanismo CKM_AES_GCM
- Problema: la derivazione della chiave Diffie-Hellman () ECDH con curva ellittica viene eseguita parzialmente all'interno di HSM
- Problema: la verifica delle firme secp256k1 non riesce su EL6 piattaforme come Cent e 6 OS6 RHEL
- Problema: una sequenza errata di chiamate di funzione fornisce risultati indefiniti anziché dare errore
- Problema: la sessione di sola lettura non è supportata in 5 SDK
- Problema: il file di intestazione cryptoki.h è solo per Windows
Problema: il AES key wrap nella versione 3.0.0 della libreria PKCS #11 non viene IVs convalidato prima dell'uso
Se specifichi un IV di lunghezza inferiore a 8 byte, viene riempito con byte imprevedibili prima dell'uso.
Nota
Questo ha impatto su C_WrapKey
solo con il meccanismo CKM_AES_KEY_WRAP
.
Impatto: se fornisci un IV più corto di 8 byte nella versione 3.0.0 della libreria PKCS #11, potresti non essere in grado di scartare la chiave.
Soluzioni alternative:
Ti consigliamo vivamente di eseguire l'aggiornamento alla versione 3.0.1 o successiva della libreria PKCS #11, che applica correttamente la lunghezza IV durante l'inserimento dei tasti. AES Modifica il codice di wrapping per passare un NULL IV o specifica l'IV predefinito di.
0xA6A6A6A6A6A6A6A6
Per ulteriori informazioni, consulta Personalizzato IVs con lunghezza non conforme per Key Wrap. AES
Stato della risoluzione: questo problema è stato risolto nella versione 3.0.1 della libreria #11. PKCS Per avvolgere le chiavi usando il AES key wrap, specifica un IV lungo NULL o 8 byte.
Problema: PKCS #11 SDK 2.0.4 e le versioni precedenti utilizzavano sempre l'IV predefinito 0xA6A6A6A6A6A6A6A6
per avvolgere e aprire i AES tasti
Le informazioni fornite dall'utente IVs venivano ignorate silenziosamente.
Nota
Questo ha impatto su C_WrapKey
solo con il meccanismo CKM_AES_KEY_WRAP
.
Impatto:
Se hai usato PKCS #11 SDK 2.0.4 o una versione precedente e un IV fornito dall'utente, le tue chiavi sono racchiuse con l'IV predefinito di.
0xA6A6A6A6A6A6A6A6
Se hai usato PKCS #11 SDK 3.0.0 o una versione successiva e un IV fornito dall'utente, le tue chiavi sono racchiuse nell'IV fornito dall'utente.
Soluzioni alternative:
Per scartare le chiavi racchiuse con PKCS #11 SDK 2.0.4 o versioni precedenti, usa l'IV predefinito di.
0xA6A6A6A6A6A6A6A6
Per scartare le chiavi racchiuse con PKCS #11 SDK 3.0.0 o versioni successive, usa l'IV fornito dall'utente.
Stato della risoluzione: ti consigliamo vivamente di modificare il codice di avvolgimento e apertura per passare un NULL IV o di specificare l'IV predefinito di.
0xA6A6A6A6A6A6A6A6
Problema: l'attributo CKA_DERIVE
non è supportato e non è stato gestito
-
Stato risoluzione: abbiamo implementato le correzioni per accettare
CKA_DERIVE
se impostato suFALSE
.CKA_DERIVE
impostato suTRUE
non sarà supportato fino a quando non si aggiungerà il supporto per la funzione di derivazione della chiave su AWS CloudHSM. È necessario aggiornare il client e SDK i propri client alla versione 1.1.1 o successiva per beneficiare della correzione.
Problema: l'attributo CKA_SENSITIVE
non è supportato e non è stato gestito
-
Resolution status (Stato di risoluzione): abbiamo implementato correzioni per accettare e rispettare correttamente l'attributo
CKA_SENSITIVE
. È necessario aggiornare il client e SDK i propri client alla versione 1.1.1 o successiva per beneficiare della correzione.
Problema: l'hashing e la firma in più parti non sono supportati
-
Impact (Impatto):
C_DigestUpdate
eC_DigestFinal
non sono implementati.C_SignFinal
anche non è implementato e avrà esito negativo conCKR_ARGUMENTS_BAD
per un buffer non-NULL
. -
Soluzione alternativa: esegui l'hash dei dati all'interno dell'applicazione e utilizzali AWS CloudHSM solo per firmare l'hash.
-
Stato della risoluzione: stiamo correggendo il client e la necessità di SDKs implementare correttamente l'hashing multipart. Gli aggiornamenti saranno annunciati nel forum AWS CloudHSM e nella pagina della cronologia delle versioni.
Problema: C_GenerateKeyPair
non gestisce CKA_MODULUS_BITS
o CKA_PUBLIC_EXPONENT
nel modello privato in un modo conforme agli standard
-
Impact: (Impatto)
C_GenerateKeyPair
dovrebbe restituireCKA_TEMPLATE_INCONSISTENT
quando il modello privato contieneCKA_MODULUS_BITS
oCKA_PUBLIC_EXPONENT
. Genera invece una chiave privata per la quale tutti i campi di utilizzo sono impostati suFALSE
. La chiave non può essere utilizzata. -
Workaround: (Soluzione) consigliamo che l'applicazione verifichi i valori dei campi di utilizzo oltre al codice di errore.
-
Resolution status: (Stato di risoluzione) stiamo implementando correzioni per restituire il corretto messaggio di errore quando viene utilizzato un modello di chiavi private non corretto. La libreria PKCS #11 aggiornata verrà annunciata nella pagina della cronologia delle versioni.
Problema: i buffer per le C_Decrypt
API operazioni C_Encrypt
and non possono superare i 16 KB quando si utilizza il meccanismo CKM_AES_GCM
AWS CloudHSM non supporta la crittografia multiparteAES. GCM
-
Impact: (Impatto) non è possibile utilizzare il meccanismo
CKM_AES_GCM
per crittografare dati di dimensioni superiori a 16 KB. -
Soluzione alternativa: puoi utilizzare un meccanismo alternativo come
CKM_AES_CBC
CKM_AES_CBC_PAD
, oppure puoi dividere i dati in parti e crittografare ogni parte singolarmente.AES_GCM
Se lo utilizziAES_GCM
, devi gestire la divisione dei dati e la successiva crittografia. AWS CloudHSM non esegue la GCM crittografia multiparte AES per te. Si noti che è FIPS necessario che il vettore di inizializzazione (IV)AES-GCM
venga generato su. HSM Pertanto, l'IV per ogni dato GCM crittografato sarà diverso. AES -
Stato della risoluzione: stiamo correggendo esplicitamente SDK l'errore se il buffer di dati è troppo grande. Torniamo
CKR_MECHANISM_INVALID
per le operazioni finaliC_EncryptUpdate
.C_DecryptUpdate
API Stiamo valutando alternative per supportare buffer più grandi senza dover ricorrere alla crittografia in più parti. Gli aggiornamenti verranno annunciati nel AWS CloudHSM forum e nella pagina della cronologia delle versioni.
Problema: la derivazione della chiave Diffie-Hellman () ECDH con curva ellittica viene eseguita parzialmente all'interno di HSM
La chiave privata EC rimane sempre all'interno di, ma il processo di HSM derivazione della chiave viene eseguito in più fasi. Pertanto, nel client sono disponibili i risultati intermedi di ciascuna fase.
-
Impatto: nel Client SDK 3, la chiave derivata utilizzando il
CKM_ECDH1_DERIVE
meccanismo è prima disponibile sul client e poi importata nelHSM. Un handle della chiave viene quindi restituito all'applicazione. -
Soluzione alternativa: se stai implementandoSSL/TLSOffload in AWS CloudHSM, questa limitazione potrebbe non essere un problema. Se l'applicazione richiede che la chiave rimanga sempre entro un FIPS limite, prendete in considerazione l'utilizzo di un protocollo alternativo che non si basi sulla ECDH derivazione delle chiavi.
-
Stato della risoluzione: stiamo sviluppando l'opzione per eseguire la derivazione delle ECDH chiavi interamente all'interno di. HSM Non appena disponibile, l'aggiornamento dell'implementazione sarà annunciato nella pagina della cronologia delle versioni.
Problema: la verifica delle firme secp256k1 non riesce su EL6 piattaforme come Cent e 6 OS6 RHEL
Ciò accade perché la libreria Cloud HSM PKCS #11 evita una chiamata di rete durante l'inizializzazione dell'operazione di verifica utilizzando Open per verificare i dati della curva EC. SSL Poiché SecP256k1 non è supportato dal SSL pacchetto Open predefinito sulle EL6 piattaforme, l'inizializzazione non riesce.
-
Impatto: la verifica della firma SecP256k1 avrà esito negativo sulle piattaforme. EL6 La chiamata di verifica non riuscirà e restituirà un errore
CKR_HOST_MEMORY
. -
Soluzione alternativa: consigliamo di utilizzare Amazon Linux 1 o qualsiasi altra EL7 piattaforma se l'applicazione PKCS #11 deve verificare le firme secp256k1. In alternativa, esegui l'upgrade a una versione del SSL pacchetto Open che supporti la curva secp256k1.
-
Stato della risoluzione: stiamo implementando correzioni per tornare alla convalida della curva locale HSM se non è disponibile. La libreria PKCS #11 aggiornata verrà annunciata nella pagina della cronologia delle versioni.
Problema: una sequenza errata di chiamate di funzione fornisce risultati indefiniti anziché dare errore
-
Impatto: se si chiama una sequenza errata di funzioni, il risultato finale non è corretto anche se le singole chiamate di funzione danno esito positivo. Ad esempio, i dati decrittografati potrebbero non corrispondere al testo in chiaro originale oppure potrebbe venire meno la verifica delle firme. Questo problema riguarda sia le operazioni a parte singola che quelle in più parti.
Esempi di sequenze di funzioni errate:
C_EncryptInit
/C_EncryptUpdate
seguito daC_Encrypt
C_DecryptInit
/C_DecryptUpdate
seguito daC_Decrypt
C_SignInit
/C_SignUpdate
seguito daC_Sign
C_VerifyInit
/C_VerifyUpdate
seguito daC_Verify
C_FindObjectsInit
seguito daC_FindObjectsInit
Soluzione alternativa: l'applicazione deve, in conformità con la specifica PKCS #11, utilizzare la giusta sequenza di chiamate di funzione per operazioni singole e in più parti. L'applicazione non deve fare affidamento sulla libreria Cloud HSM PKCS #11 per restituire un errore in questa circostanza.
Problema: la sessione di sola lettura non è supportata in 5 SDK
-
Problema: SDK 5 non supporta l'apertura di sessioni di sola lettura con.
C_OpenSession
-
Impatto: se tenti di chiamare
C_OpenSession
senza fornireCKF_RW_SESSION
, la chiamata darà esito negativo con l'erroreCKR_FUNCTION_FAILED
. -
Soluzione alternativa: quando si apre una sessione, è necessario trasferire i flag
CKF_SERIAL_SESSION | CKF_RW_SESSION
alla chiamata di funzioneC_OpenSession
.
Problema: il file di intestazione cryptoki.h
è solo per Windows
-
Problema: con le versioni di AWS CloudHSM Client SDK 5 da 5.0.0 a 5.4.0 su Linux, il file di intestazione
/opt/cloudhsm/include/pkcs11/cryptoki.h
è compatibile solo con i sistemi operativi Windows. -
Impatto: è possibile riscontrare dei problemi quando si tenta di includere il file di intestazione nell'applicazione su sistemi operativi basati su Linux.
-
Stato della risoluzione: aggiornamento alla versione 5.4.1 o successiva di AWS CloudHSM Client SDK 5, che include una versione compatibile con Linux di questo file di intestazione.