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à.
Estrazione delle chiavi tramite JCE
La Java Cryptography Extension (JCE) utilizza un'architettura che consente di collegare diverse implementazioni di crittografia. AWS CloudHSM presenta uno di questi provider JCE che scarica le operazioni crittografiche sull'HSM. Affinché la maggior parte degli altri provider JCE lavori con le chiavi archiviate in AWS CloudHSM, devono estrarre i byte chiave dai moduli HSM in testo non crittografato nella memoria della macchina per utilizzarli. I moduli HSM in genere consentono di estrarre le chiavi solo come oggetti soggetti a wrapping, non come testo in chiaro. Tuttavia, per supportare i casi d'uso di integrazione tra provider, AWS CloudHSM consente un'opzione di configurazione opt-in per consentire l'estrazione dei byte delle chiavi in chiaro.
Importante
JCE scarica le operazioni su AWS CloudHSM ogni volta che viene specificato il provider AWS CloudHSM o viene utilizzato un oggetto chiave AWS CloudHSM. Non è necessario estrarre le chiavi in chiaro se si prevede che l'operazione avvenga all'interno dell'HSM. L'estrazione delle chiavi in testo non crittografato è necessaria solo quando l'applicazione non può utilizzare meccanismi sicuri come eseguire e annullare il wrapping di una chiave a causa delle restrizioni imposte da una libreria di terze parti o da un provider JCE.
Per impostazione predefinita, il provider JCE AWS CloudHSM consente l'estrazione di chiavi pubbliche per funzionare con provider JCE esterni. I seguenti metodi sono sempre consentiti:
Classe | Metodo | Formato (getEncoded) |
---|---|---|
Chiave pubblica EC | getEncoded() | X.509 |
getW() | N/D | |
RSAPublicKey | getEncoded() | X.509 |
getPublicExponent() | N/D | |
CloudHsmRsaPrivateCrtKey | getPublicExponent() | N/D |
Per impostazione predefinita, il provider JCE AWS CloudHSM non consente l'estrazione di byte di chiave in chiaro per le chiavi private o segrete. Se il tuo caso d'uso lo richiede, puoi abilitare l'estrazione dei byte di chiave in chiaro per le chiavi private o segrete alle seguenti condizioni:
L'attributo
EXTRACTABLE
per le chiavi private e segrete è impostato su vero.Per impostazione predefinita, l'attributo
EXTRACTABLE
per le chiavi private e segrete è impostato su vero. Le chiaviEXTRACTABLE
sono chiavi che possono essere esportate dall'HSM. Per ulteriori informazioni, vedi Attributi Java supportati per Client SDK 5.
L'attributo
WRAP_WITH_TRUSTED
per le chiavi private e segrete è impostato su falso.getEncoded
getPrivateExponent
, egetS
non possono essere utilizzate con chiavi private che non possono essere esportate in chiaro.WRAP_WITH_TRUSTED
non consente l'esportazione delle chiavi private dall'HSM in chiaro. Per maggiori informazioni, vedi Usare chiavi affidabili per controllare l'annullamento del wrapping.
Consentire al provider JCE AWS CloudHSM di estrarre chiavi private segrete da AWS CloudHSM
Importante
Questa modifica alla configurazione consente l'estrazione di tutti i byte chiave EXTRACTABLE
in chiaro dal cluster HSM. Per una maggiore sicurezza, è consigliabile prendere in considerazione l'utilizzo di metodi di wrapping di chiavi per estrarre la chiave dall'HSM in modo sicuro. Ciò impedisce l'estrazione involontaria dei byte della chiave dall'HSM.
Utilizza i seguenti comandi per consentire l'estrazione delle chiavi private o segrete in JCE:
-
Una volta abilitata l'estrazione delle chiavi in chiaro, vengono abilitati i seguenti metodi per estrarre le chiavi private in memoria.
Classe Metodo Formato (getEncoded) Chiave getEncoded() RAW ECPrivateKey getEncoded() PKCS #11 getS() N/D RSAPrivateCrtKey getEncoded() X.509 getPrivateExponent() N/D getPrimeP() N/D getPrimeQ() N/D getPrimeExponentP() N/D getPrimeExponentQ() N/D getCrtCoefficient() N/D
Se desideri ripristinare il comportamento predefinito e non consentire a JCE di esportare le chiavi in chiaro, esegui il seguente comando: