Extraction de clés à l'aide de JCE - AWS CloudHSM

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Extraction de clés à l'aide de JCE

L'extension de cryptographie Java (JCE) utilise une architecture qui permet de connecter différentes implémentations de cryptographie. AWS CloudHSM fournit un tel fournisseur JCE qui télécharge les opérations cryptographiques vers le HSM. Pour que la plupart des autres fournisseurs JCE puissent utiliser des clés stockées dans AWS CloudHSM, ils doivent extraire les octets clés de vos HSM en texte clair dans la mémoire de votre machine pour leur utilisation. Les HSM autorisent généralement l'extraction des clés uniquement sous forme d'objets encapsulés, et non sous forme de texte clair. Toutefois, pour prendre en charge les cas d'utilisation liés à l'intégration entre fournisseurs, AWS CloudHSM autorise une option de configuration optionnelle pour permettre l'extraction des octets clés en clair.

Important

JCE décharge les opérations AWS CloudHSM chaque fois que le fournisseur AWS CloudHSM est spécifié ou AWS CloudHSM qu'un objet clé est utilisé. Il n'est pas nécessaire d'extraire les clés en clair si vous vous attendez à ce que votre opération se déroule dans le HSM. L'extraction de clés en texte clair n'est nécessaire que lorsque votre application ne peut pas utiliser de mécanismes sécurisés tels que l'encapsulage et le désencapsulage d'une clé en raison de restrictions imposées par une bibliothèque tierce ou un fournisseur JCE.

Le fournisseur AWS CloudHSM JCE permet l'extraction de clés publiques pour fonctionner avec des fournisseurs JCE externes par défaut. Les méthodes suivantes sont toujours autorisées :

Classe Méthode Format (getEncoded)
EcPublicKey getEncoded() X.509
getW() N/A
RSA PublicKey getEncoded() X.509
getPublicExponent() N/A
CloudHsmRsaPrivateCrtKey getPublicExponent() N/A

Le fournisseur AWS CloudHSM JCE n'autorise pas l'extraction d'octets clés en clair pour les clés privées ou secrètes par défaut. Si votre cas d'utilisation l'exige, vous pouvez activer l'extraction d'octets de clé en clair pour les clés privées ou secrètes dans les conditions suivantes :

  1. L'attribut EXTRACTABLE des clés privées et secrètes est défini sur true.

    • Par défaut, l'attribut EXTRACTABLE des clés privées et secrètes est défini sur true. Les clés EXTRACTABLE sont des clés dont l'exportation hors du HSM est autorisée. Pour plus d'informations, consultez Attributs Java pris en charge pour le Client SDK 5.

  2. L’attribut WRAP_WITH_TRUSTED pour les clés privées et secrètes est défini sur false.

Permettre au fournisseur AWS CloudHSM JCE d'extraire les clés privées secrètes de AWS CloudHSM

Important

Cette modification de configuration permet d'extraire à partir de tous les octets de clé EXTRACTABLE en clair de votre cluster HSM. Pour une meilleure sécurité, envisagez d'utiliser des méthodes d'encapsulage des clés pour extraire la clé du HSM en toute sécurité. Cela empêche l'extraction involontaire de vos octets de clé du HSM.

  1. Utilisez les commandes suivantes pour activer l'extraction de vos clés privées ou secrètes dans JCE :

    Linux
    $ /opt/cloudhsm/bin/configure-jce --enable-clear-key-extraction-in-software
    Windows
    C:\Program Files\Amazon\CloudHSM\> .\configure-jce.exe --enable-clear-key-extraction-in-software
  2. Une fois que vous avez activé l'extraction de votre clé en clair, les méthodes suivantes sont activées pour extraire les clés privées en mémoire.

    Classe Méthode Format (getEncoded)
    Clé getEncoded() RAW
    CE PrivateKey getEncoded() PKCS #8
    getS() N/A
    RSA PrivateCrtKey getEncoded() X.509
    getPrivateExponent() N/A
    getPrimeP() N/A
    getPrimeQ() N/A
    getPrimeExponentP () N/A
    getPrimeExponentQ () N/A
    getCrtCoefficient() N/A

Si vous souhaitez rétablir le comportement par défaut et empêcher JCE d'exporter les clés en clair, exécutez la commande suivante :

Linux
$ /opt/cloudhsm/bin/configure-jce --disable-clear-key-extraction-in-software
Windows
C:\Program Files\Amazon\CloudHSM\> .\configure-jce.exe --disable-clear-key-extraction-in-software