Importer une clé à partir d’un service Web

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 4 minutes de lecture
  • Chargez en toute sécurité une clé client externe sur votre instance à l’aide de l’importation d’une clé à partir d’un service Web (par exemple, l’API REST de clé). Les clés publiques symétriques et asymétriques peuvent être importées dans un module cryptographique ciblé KMF .

    La clé à importer (la clé cible) doit être chiffrée avec une clé d’encapsulation avant d’être chargée dans le module de chiffrement cible de l’instance. Cette clé d’encapsulation est le composant public d’une paire de clés publique/privée, qui doit être présente sur l’instance. La clé est une condition préalable avant que la clé cible encapsulée puisse être chargée via l’importation à partir des services Web.

    Ces deux procédures distinctes (importation de la paire de clés encapsulée et importation de la clé cible encapsulée à partir d’un service Web) sont détaillées dans la documentation suivante. Cette paire de clés doit être générée et chargée pour être disponible dans le module cryptographique d’importation de clé interne de l’instance.

    Remarque :
    Cet exemple utilise OpenSSL pour la génération de clés et de certificats, et l’outil de test de l’API Postman pour afficher l’utilisation de l’API REST. Remplacez d’autres outils comparables en fonction des besoins de votre entreprise.

    Importer la paire de clés d’encapsulation/de désencapsulation

    Configurez Key Management Framework les paramètres d’importation avant d’importer une clé.

    Avant de commencer

    Rôle requis : sn_kmf.cryptographic_manager

    Pourquoi et quand exécuter cette tâche

    Cet exemple utilise OpenSSL pour la génération de clés et de certificats. Remplacez d’autres outils comparables en fonction des besoins de votre entreprise.

    Procédure

    1. Dans votre environnement local, utilisez le terminal pour créer un certificat.
      Par exemple : openssl req -x509 -sha256 -nodes -days 365 -newkey rsa :4096 -keyout wrapping_private.key -out wrapping_public.crt

      Ce certificat est un composant public qui contient une clé. Le certificat est utilisé pour encapsuler une clé symétrique AES.

    2. Dans votre environnement local, utilisez le terminal pour créer un magasin de clés contenant le certificat public (avec la clé d’encapsulation) et la clé de désencapsulation privée.
      Par exemple :openssl pkcs12 -export -in wrapping_public.crt -inkey wrapping_private.key -name « wrapping_key_alias » -out wrapping_keystore.p12
    3. Sur votre instance, accédez à Tous > Gestion des clés > Paramètres d'importation > Paramètres d'importation de clé.
    4. Dans la section Définition de l’algorithme, vérifiez que l’objectif de chiffrement est défini sur Désencapsulation de clé asymétrique.Sélection de l’objectif de la cryptographie.
    5. Sélectionnez un algorithme approprié qui s’aligne sur le matériau de clé asymétrique pour le magasin de clés importé.
    6. Sélectionnez Suivant.
    7. Dans la section Définition du cycle de vie , sélectionnez Suivant pour continuer.
    8. Dans la section Origine de la clé , sélectionnez Importer à partir de PKCS12 ou Importer à partir de BCFKS dans le champ Origine .
      Remarque :
      Si vous utilisez l’exemple de magasin de clés de l’étape 1, sélectionnez Importer à partir de PKCS12.
    9. Entrez un alias de clé pour identifier la clé.
      Cet alias doit correspondre à l’alias de clé (ou « nom convivial ») spécifié lors de la génération du certificat ou du magasin de clés à charger. En poursuivant l’exemple ci-dessus, ce serait wrapping_key_alias.
    10. Sélectionnez Suivant.
      La section Création de clé comprend un lien Importer la clé , qui affiche une boîte de dialogue permettant de charger le magasin de clés. En poursuivant l’exemple, il s’agirait de wrapping_keystore.p12.

    Importer une clé encapsulée à partir d’un service Web

    Chargez votre clé encapsulée dans un module de chiffrement à l’aide de la fonctionnalité d’importation de clé à partir du service Web. L’exemple utilise une clé symétrique. Des étapes similaires peuvent être suivies pour importer une clé asymétrique.

    Avant de commencer

    Rôle requis : sn_kmf.cryptographic_manager (configuration du module), sn_kmf.cryptographic_operator (authentification de base de l’opération REST)

    Pourquoi et quand exécuter cette tâche

    KMF L’accès au point de terminaison de clé d’importation est requis pour terminer le processus d’importation de clé.

    Cet exemple utilise OpenSSL pour générer des clés et des certificats. Vous pouvez substituer d’autres outils comparables en fonction de vos besoins.

    Procédure

    1. À l’aide du terminal de votre périphérique local, encapsulez votre clé symétrique à l’aide de la clé encapsulée de clé publique du module d’importation de clés.
      Par exemple : openssl pkeyutl -encrypt -pubin -inkey public_wrapping_key.pem -in symmetric_key.bin -pkeyopt rsa_padding_mode :oaep -pkeyopt rsa_oaep_md :sha256 -out wrapped_symmetric_key.txt
      Cet exemple crée un fichier de clé encapsulée nommé wrapped_symmetric_key.txt.
    2. Créez un module de chiffrement à lier à l’API.
      Voir ou pour plus d’informations.
    3. Ajoutez une spécification cryptographique avec les sélections suivantes.
      • Objectif de chiffrement : Cryptage/déchiffrement symétrique des données.
      • Origine de la clé : importer à partir du service Web Origine de la clé sélectionnée comme importation à partir du service Web.

        Voir ou pour plus d’informations.

    4. Exécutez une demande HTTP POST vers l’importation à partir d’un point de terminaison REST de service Web.
      OptionValeur/Format
      URL du point de terminaison https://<instance>/api/sn_kmf/key/import ?cryptoSpecSysID=<sys_id_of_crypto_spec>.
      Paramètre CryptoSpecSysID
      sys_id de la spécification de chiffrement nouvellement créée.
      Conseil :
      Cliquez avec le bouton droit sur l’en-tête de la spécification de chiffrement pour copier le sys_id.
      Type de contenu d’en-tête Application/octet-stream.
      Corps Doit contenir une pièce jointe binaire et la clé publique à importer (wrapped_symmetric_key.txt).
      Point de terminaison REST d’importation à partir du service Web Utilise l’authentification de base de <nom d’utilisateur/mot de passe>.
      Remarque :
      Assurez-vous que l’utilisateur désigné dispose du rôle sn_kmf_cryptographic_operator.
      L’importation réussie de la clé publique génère un message de réponse HTTP avec l’état 200.
    5. Vérifiez que la clé a été importée avec succès dans le module de chiffrement ciblé.Onglet Clés de module de spécification de chiffrement avec importation de clé réussie.