Configurer le cryptage à double clé

S’applique à : Chiffrement à double clé Microsoft Purview, Microsoft Purview, Azure Information Protection

Description du service pour : Microsoft Purview

Suivez ces étapes générales pour configurer DKE. Une fois ces étapes terminées, vos utilisateurs finaux peuvent protéger vos données hautement sensibles avec le chiffrement à double clé.

  1. Déployez le service DKE comme décrit dans cet article. Vérifiez que votre environnement répond aux exigences minimales du système et des licences. Pour plus d’informations, consultez Configuration système et licence requise pour DKE.

  2. Créez une étiquette avec chiffrement à double clé. Dans le portail de conformité Microsoft Purview, accédez à Protection des informations et créez une étiquette avec chiffrement à double clé. Consultez Restreindre l’accès au contenu à l’aide d’étiquettes de confidentialité pour appliquer le chiffrement.

  3. Configurez le Registre sur les appareils clients afin de pouvoir utiliser des étiquettes de chiffrement à double clé. Ensuite, protégez vos données en sélectionnant l’étiquette Double Key Encrypted dans le ruban Confidentialité dans Microsoft Office.

Il existe plusieurs façons d’effectuer certaines étapes pour déployer le chiffrement à double clé. Cet article fournit des instructions détaillées pour que les administrateurs moins expérimentés déploient correctement le service. Si vous êtes à l’aise, vous pouvez choisir d’utiliser vos propres méthodes.

Déployer DKE

Cet article et la vidéo de déploiement utilisent Azure comme destination de déploiement pour le service DKE. Si vous effectuez un déploiement vers un autre emplacement, vous devez fournir vos propres valeurs.

Suivez ces étapes générales pour configurer le chiffrement à double clé pour votre organisation.

  1. Installer les prérequis logiciels pour le service DKE
  2. Cloner le référentiel GitHub chiffrement à double clé
  3. Modifier les paramètres de l’application
  4. Générer des clés de test
  5. Générez le projet.
  6. Déployer le service DKE et publier le magasin de clés
  7. Validation du déploiement
  8. Inscrire votre magasin de clés
  9. Créer des étiquettes de confidentialité à l’aide de DKE
  10. Migrer des fichiers protégés d’étiquettes HYOK vers des étiquettes DKE

Lorsque vous avez terminé, vous pouvez chiffrer des documents et des fichiers à l’aide de DKE. Pour plus d’informations, voir Appliquer des étiquettes de confidentialité à vos fichiers et e-mails dans Office.

Installer les prérequis logiciels pour le service DKE

Installez ces prérequis sur l’ordinateur sur lequel vous souhaitez installer le service DKE.

Sdk .NET Core 7.0. Téléchargez et installez le Kit de développement logiciel (SDK) à partir de Télécharger .NET Core 7.0.

Visual Studio Code. Téléchargez Visual Studio Code à partir de https://code.visualstudio.com/. Une fois installé, exécutez Visual Studio Code et sélectionnez Afficher les>extensions. Installez ces extensions.

  • C# pour Visual Studio Code

  • Gestionnaire de package NuGet

Ressources Git. Téléchargez et installez l’une des options suivantes.

OpenSSL. OpenSSL doit être installé pour générer des clés de test après avoir déployé DKE. Assurez-vous que vous l’appelez correctement à partir du chemin de vos variables d’environnement. Par exemple, consultez « Ajouter le répertoire d’installation à PATH » à l’adresse pour https://www.osradar.com/install-openssl-windows/ plus d’informations.

Cloner le référentiel GitHub DKE

Microsoft fournit les fichiers sources DKE dans un dépôt GitHub. Vous clonez le dépôt pour générer le projet localement pour l’utilisation de votre organisation. Le dépôt GitHub DKE se trouve à l’adresse https://github.com/Azure-Samples/DoubleKeyEncryptionService.

Les instructions suivantes sont destinées aux utilisateurs inexpérimentés de Git ou de Visual Studio Code :

  1. Dans votre navigateur, accédez à : https://github.com/Azure-Samples/DoubleKeyEncryptionService.

  2. Sur le côté droit de l’écran, sélectionnez Code. Votre version de l’interface utilisateur peut afficher un bouton Cloner ou télécharger . Ensuite, dans la liste déroulante qui s’affiche, sélectionnez l’icône de copie pour copier l’URL dans le Presse-papiers.

    Par exemple :

    Clonez le référentiel du service Double Key Encryption à partir de GitHub.

  3. Dans Visual Studio Code, sélectionnez Afficher la>palette de commandes , puis Git : Cloner. Pour accéder à l’option de la liste, commencez à taper git: clone pour filtrer les entrées, puis sélectionnez-la dans la liste déroulante. Par exemple :

    Option GIT :Clone de Visual Studio Code.

  4. Dans la zone de texte, collez l’URL que vous avez copiée à partir de Git et sélectionnez Cloner à partir de GitHub.

  5. Dans la boîte de dialogue Sélectionner un dossier qui s’affiche, accédez à et sélectionnez un emplacement pour stocker le dépôt. Sélectionnez Ouvrir.

    Le référentiel s’ouvre dans Visual Studio Code et affiche la branche Git actuelle en bas à gauche. La branche doit être principale. Par exemple :

    Capture d’écran du référentiel DKE dans Visual Studio Code affichant la branche principale.

  6. Si vous n’êtes pas sur la branche principale, sélectionnez-la. Dans Visual Studio Code, sélectionnez la branche et choisissez main dans la liste des branches qui s’affiche.

    Importante

    La sélection de la branche principale garantit que vous disposez des fichiers appropriés pour générer le projet. Si vous ne choisissez pas la branche appropriée, votre déploiement échouera.

Votre référentiel source DKE est maintenant configuré localement. Ensuite, modifiez les paramètres d’application de votre organisation.

Modifier les paramètres de l’application

Pour déployer le service DKE, vous devez modifier les types de paramètres d’application suivants :

Vous modifiez les paramètres de l’application dans le fichier appsettings.json. Ce fichier se trouve dans le dépôt DoubleKeyEncryptionService que vous avez cloné localement sous DoubleKeyEncryptionService\src\customer-key-store. Par exemple, dans Visual Studio Code, vous pouvez accéder au fichier comme illustré dans l’image suivante.

Localisation du fichier appsettings.json pour DKE.

Paramètres d’accès aux clés

Choisissez d’utiliser l’autorisation de messagerie ou de rôle. DKE ne prend en charge qu’une seule de ces méthodes d’authentification à la fois.

  • Autorisation par e-mail. Permet à votre organisation d’autoriser l’accès aux clés en fonction des adresses e-mail uniquement.

  • Autorisation de rôle. Permet à votre organisation d’autoriser l’accès aux clés basées sur des groupes Active Directory et exige que le service web puisse interroger LDAP.

Pour définir les paramètres d’accès aux clés pour DKE à l’aide de l’autorisation de messagerie
  1. Ouvrez le fichier appsettings.json et recherchez le AuthorizedEmailAddress paramètre.

  2. Ajoutez la ou les adresses e-mail que vous souhaitez autoriser. Séparez plusieurs adresses e-mail par des guillemets doubles et des virgules. Par exemple :

    "AuthorizedEmailAddress": ["email1@company.com", "email2@company.com ", "email3@company.com"]
    
  3. Recherchez le LDAPPath paramètre et supprimez le texte If you use role authorization (AuthorizedRoles) then this is the LDAP path. entre guillemets doubles. Laissez les guillemets doubles en place. Lorsque vous avez terminé, le paramètre doit ressembler à ceci.

    "LDAPPath": ""
    
  4. Recherchez le AuthorizedRoles paramètre et supprimez la ligne entière.

Cette image montre le fichier appsettings.json correctement mis en forme pour l’autorisation par e-mail.

Fichier appsettings.json montrant la méthode d’autorisation par e-mail.

Pour définir les paramètres d’accès aux clés pour DKE à l’aide de l’autorisation de rôle
  1. Ouvrez le fichier appsettings.json et recherchez le AuthorizedRoles paramètre.

  2. Ajoutez les noms de groupes Active Directory que vous souhaitez autoriser. Séparez plusieurs noms de groupes par des guillemets doubles et des virgules. Par exemple :

    "AuthorizedRoles": ["group1", "group2", "group3"]
    
  3. Recherchez le LDAPPath paramètre et ajoutez le domaine Active Directory. Par exemple :

    "LDAPPath": "contoso.com"
    
  4. Recherchez le AuthorizedEmailAddress paramètre et supprimez la ligne entière.

Cette image montre le fichier appsettings.json correctement mis en forme pour l’autorisation de rôle.

appsettings.json fichier montrant la méthode d’autorisation de rôle.

Paramètres de locataire et de clé

Les paramètres de clé et de locataire DKE se trouvent dans le fichier appsettings.json .

Pour configurer les paramètres de locataire et de clé pour DKE
  1. Ouvrez le fichier appsettings.json .

  2. Recherchez le ValidIssuers paramètre et remplacez par <tenantid> votre ID de locataire. Vous pouvez localiser votre ID de locataire en accédant au portail Azure et en consultant les propriétés du locataire. Par exemple :

    "ValidIssuers": [
      "https://sts.windows.net/9c99431e-b513-44be-a7d9-e7b500002d4b/"
    ]
    

Remarque

Si vous souhaitez activer l’accès B2B externe à votre magasin de clés, vous devez également inclure ces locataires externes dans la liste des émetteurs valides.

Recherchez le JwtAudience. Remplacez par <yourhostname> le nom d’hôte de l’ordinateur sur lequel vous souhaitez exécuter le service DKE. Par exemple : "https://dkeservice.contoso.com"

Importante

La valeur de JwtAudience doit correspondre exactement au nom de votre hôte.

  • TestKeys:Name. Entrez un nom pour votre clé. Par exemple : TestKey1
  • TestKeys:Id. Créez un GUID et entrez-le TestKeys:ID comme valeur. Par exemple : DCE1CC21-FF9B-4424-8FF4-9914BD19A1BE. Vous pouvez utiliser un site comme Online GUID Generator pour générer un GUID de manière aléatoire.

Cette image montre le format correct pour les paramètres de locataire et de clés dans appsettings.json. LDAPPath est configuré pour l’autorisation de rôle.

Affiche les paramètres de locataire et de clé corrects pour DKE dans le fichier appsettings.json.

Générer des clés de test

Une fois que vous avez défini vos paramètres d’application, vous êtes prêt à générer des clés de test publiques et privées.

Pour générer des clés :

  1. Dans le menu Démarrer de Windows, exécutez l’invite de commandes OpenSSL.

  2. Accédez au dossier dans lequel vous souhaitez enregistrer les clés de test. Les fichiers que vous créez en effectuant les étapes de cette tâche sont stockés dans le même dossier.

  3. Générez la nouvelle clé de test.

    openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
    
  4. Générez la clé privée.

    Si vous avez installé OpenSSL version 3 ou ultérieure, exécutez la commande suivante :

    openssl rsa -in key.pem -out privkeynopass.pem -outform PEM -traditional
    

    Sinon, exécutez la commande suivante :

    openssl rsa -in key.pem -out privkeynopass.pem -outform PEM
    
  5. Générez la clé publique.

    openssl rsa -in key.pem -pubout > pubkeyonly.pem
    
  6. Dans un éditeur de texte, ouvrez pubkeyonly.pem. Copiez tout le contenu du fichier pubkeyonly.pem , à l’exception des première et dernière lignes, dans la PublicPem section du fichier appsettings.json .

  7. Dans un éditeur de texte, ouvrez privkeynopass.pem. Copiez tout le contenu du fichier privkeynopass.pem , à l’exception des première et dernière lignes, dans la PrivatePem section du fichier appsettings.json .

  8. Supprimez tous les espaces vides et les sauts de ligne dans les PublicPem sections et PrivatePem .

    Importante

    Lorsque vous copiez ce contenu, ne supprimez aucune des données PEM.

  9. Dans Visual Studio Code, accédez au fichier Startup.cs . Ce fichier se trouve dans le dépôt DoubleKeyEncryptionService que vous avez cloné localement sous DoubleKeyEncryptionService\src\customer-key-store.

  10. Localisez les lignes suivantes :

    #if USE_TEST_KEYS
    #error !!!!!!!!!!!!!!!!!!!!!! Use of test keys is only supported for testing,
    DO NOT USE FOR PRODUCTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    services.AddSingleton<ippw.IKeyStore, ippw.TestKeyStore>();
    #endif
    
  11. Remplacez ces lignes par le texte suivant :

    services.AddSingleton<ippw.IKeyStore, ippw.TestKeyStore>();
    

    Les résultats finaux doivent ressembler à ce qui suit.

    startup.cs fichier pour la préversion publique.

Vous êtes maintenant prêt à générer votre projet DKE.

Générez le projet.

Utilisez les instructions suivantes pour générer le projet DKE localement :

  1. Dans Visual Studio Code, dans le référentiel du service DKE, sélectionnez Afficher> lapalette de commandes, puis tapez build à l’invite.

  2. Dans la liste, choisissez Tâches : Exécuter la tâche de génération.

    Si aucune tâche de génération n’est trouvée, sélectionnez Configurer la tâche de génération et créez-en une pour .NET Core comme suit.

    Configurez la tâche de build manquante pour .NET.

    1. Choisissez Créer tasks.json à partir d’un modèle.

      Créez tasks.json fichier à partir d’un modèle pour DKE.

    2. Dans la liste des types de modèles, sélectionnez .NET Core.

      Sélectionnez le modèle approprié pour DKE.

    3. Dans la section build, recherchez le chemin d’accès au fichier customerkeystore.csproj . Si ce n’est pas le cas, ajoutez la ligne suivante :

      "${workspaceFolder}/src/customer-key-store/customerkeystore.csproj",
      
    4. Réexécutez la build.

  3. Vérifiez qu’il n’y a pas d’erreur rouge dans la fenêtre de sortie.

    S’il existe des erreurs rouges, vérifiez la sortie de la console. Vérifiez que vous avez effectué toutes les étapes précédentes correctement et que les versions de build correctes sont présentes.

Votre configuration est maintenant terminée. Avant de publier le magasin de clés, dans appsettings.json, pour le paramètre JwtAudience, vérifiez que la valeur de nom d’hôte correspond exactement à votre nom d’hôte App Service.

Déployer le service DKE et publier le magasin de clés

Pour les déploiements de production, déployez le service dans un cloud tiers ou publiez-le sur un système local.

Vous pouvez préférer d’autres méthodes pour déployer vos clés. Sélectionnez la méthode qui convient le mieux à votre organisation.

Pour les déploiements pilotes, vous pouvez déployer dans Azure et commencer immédiatement.

Pour créer une instance Azure Web App pour héberger votre déploiement DKE

Pour publier le magasin de clés, créez une instance Azure App Service pour héberger votre déploiement DKE. Ensuite, publiez vos clés générées sur Azure.

  1. Dans votre navigateur, connectez-vous au portail Microsoft Azure, puis accédez à App Services>Ajouter.

  2. Sélectionnez votre abonnement et votre groupe de ressources, puis définissez les détails de votre instance.

  • Entrez le nom d’hôte de l’ordinateur sur lequel vous souhaitez installer le service DKE. Vérifiez qu’il s’agit du même nom que celui défini pour le paramètre JwtAudience dans le fichier appsettings.json . La valeur que vous fournissez pour le nom est également WebAppInstanceName.

  • Pour Publier, sélectionnez code et, pour Pile d’exécution, sélectionnez .NET Core 3.1.

    Par exemple :

    Ajoutez votre App Service.

  1. En bas de la page, sélectionnez Vérifier + créer, puis Ajouter.

  2. Effectuez l’une des opérations suivantes pour publier vos clés générées :

Publier via ZipDeployUI

  1. Accédez à https://<WebAppInstanceName>.scm.azurewebsites.net/ZipDeployUI.

    Par exemple : https://dkeservice.contoso.scm.azurewebsites.net/ZipDeployUI

  2. Dans le codebase du magasin de clés, accédez au dossier customer-key-store\src\customer-key-store et vérifiez que ce dossier contient le fichier customerkeystore.csproj .

  3. Exécuter : dotnet publish

    La fenêtre de sortie affiche le répertoire dans lequel la publication a été déployée.

    Par exemple : customer-key-store\src\customer-key-store\bin\Debug\netcoreapp3.1\publish\

  4. Envoyez tous les fichiers du répertoire de publication à un fichier .zip. Lorsque vous créez le fichier .zip, assurez-vous que tous les fichiers du répertoire se trouvent au niveau racine du fichier .zip.

  5. Faites glisser et déposez le fichier .zip que vous avez créé sur le site ZipDeployUI que vous avez ouvert précédemment. Par exemple : https://dkeservice.scm.azurewebsites.net/ZipDeployUI

DKE est déployé et vous pouvez accéder aux clés de test que vous avez créées. Passez à Valider votre déploiement dans cet article.

Publier via FTP

  1. Connectez-vous au service App Service que vous avez créé précédemment.

    Dans votre navigateur, accédez à : Portail Azure>App Service>Deployment CenterManual Deployment> Center > ManualFTP>Dashboard.

  2. Copiez les chaînes de connexion affichées dans un fichier local. Utilisez ces chaînes pour vous connecter au service Web App Service et charger des fichiers via FTP.

    Par exemple :

    Copiez les chaînes de connexion à partir du tableau de bord FTP.

  3. Dans le codebase du stockage de clés, accédez au répertoire customer-key-store\src\customer-key-store.

  4. Vérifiez que ce répertoire contient le fichier customerkeystore.csproj .

  5. Exécuter : dotnet publish

    La sortie contient le répertoire dans lequel la publication a été déployée.

    Par exemple : customer-key-store\src\customer-key-store\bin\Debug\netcoreapp3.1\publish\

  6. Envoyez tous les fichiers du répertoire de publication à un fichier zip. Lorsque vous créez le fichier .zip, assurez-vous que tous les fichiers du répertoire se trouvent au niveau racine du fichier .zip.

  7. À partir de votre client FTP, utilisez les informations de connexion que vous avez copiées pour vous connecter à votre App Service. Chargez le fichier .zip que vous avez créé à l’étape précédente dans le répertoire racine de votre application web.

DKE est déployé et vous pouvez accéder aux clés de test que vous avez créées. Ensuite, validez votre déploiement.

Validation du déploiement

Après avoir déployé DKE à l’aide de l’une des méthodes décrites dans cet article, validez le déploiement et les paramètres du magasin de clés.

Courir:

src\customer-key-store\scripts\key_store_tester.ps1 dkeserviceurl/mykey

Par exemple :

key_store_tester.ps1 https://dkeservice.contoso.com/TestKey1

Vérifiez qu’aucune erreur n’apparaît dans la sortie. Lorsque vous êtes prêt, inscrivez votre magasin de clés.

Le nom de la clé respecte la casse. Entrez le nom de clé tel qu’il apparaît dans le fichier appsettings.json.

Inscrire votre magasin de clés

Les étapes suivantes vous permettent d’inscrire votre service DKE. L’inscription de votre service DKE est la dernière étape du déploiement de DKE avant de pouvoir commencer à créer des étiquettes.

Pour inscrire le service DKE :

  1. Dans votre navigateur, ouvrez le portail Microsoft Azure et accédez à Toutes lesinscriptions d’applications d’identité>des services>.

  2. Sélectionnez Nouvelle inscription, puis entrez un nom explicite.

  3. Sélectionnez un type de compte parmi les options affichées.

    Par exemple :

    Nouvelle inscription d’application.

  4. En bas de la page, sélectionnez Inscrire pour créer l’inscription d’application.

  5. Dans votre nouvelle inscription d’application, dans le volet gauche, sous Gérer, sélectionnez Authentification.

  6. Sélectionnez Ajouter une plateforme.

  7. Dans la fenêtre contextuelle Configurer les plateformes , sélectionnez Web.

  8. Sous URI de redirection, entrez l’URI de votre service de chiffrement à double clé. Entrez l’URL App Service, y compris le nom d’hôte et le domaine.

    Par exemple : https://mydkeservicetest.com

    • L’URL que vous entrez doit correspondre au nom d’hôte où votre service DKE est déployé.
    • Le domaine doit être un domaine vérifié.
    • Dans tous les cas, le schéma doit être https.

    Vérifiez que le nom d’hôte correspond exactement à votre nom d’hôte App Service.

  9. Sous Octroi implicite, cochez la case Jetons d’ID .

  10. Sélectionnez Enregistrer pour enregistrer vos modifications.

  11. Dans le volet gauche, sélectionnez Exposer une API, en regard de URI d’ID d’application, entrez votre URL App Service, y compris le nom d’hôte et le domaine, puis sélectionnez Définir.

  12. Toujours dans la page Exposer une API , dans la zone Étendues définies par cette API , sélectionnez Ajouter une étendue. Dans la nouvelle étendue :

    1. Définissez le nom de l’étendue comme user_impersonation.

    2. Sélectionnez les administrateurs et les utilisateurs qui peuvent donner leur consentement.

    3. Définissez toutes les valeurs restantes requises.

    4. Sélectionnez Ajouter une étendue.

    5. Sélectionnez Enregistrer en haut pour enregistrer vos modifications.

  13. Toujours dans la page Exposer une API , dans la zone Applications clientes autorisées , sélectionnez Ajouter une application cliente.

    Dans la nouvelle application cliente :

    1. Définissez l’ID client comme d3590ed6-52b3-4102-aeff-aad2292ab01c. Cette valeur est l’ID client Microsoft Office et permet à Office d’obtenir un jeton d’accès pour votre magasin de clés.

    2. Sous Étendues autorisées, sélectionnez l’étendue user_impersonation .

    3. Sélectionnez Ajouter une application.

    4. Sélectionnez Enregistrer en haut pour enregistrer vos modifications.

    5. Répétez ces étapes, mais cette fois, définissez l’ID client comme c00e9d32-3c8d-4a7d-832b-029040e7db99. Cette valeur est l’ID client Azure Information Protection.

    6. Répétez ces étapes, mais cette fois, définissez l’ID client comme 0e25d998-b19a-4080-811c-d74d60d65e42. Cette valeur est l’ID client Purview Information Protection.

Votre service DKE est maintenant inscrit. Continuez en créant des étiquettes à l’aide de DKE.

Créer des étiquettes de confidentialité à l’aide de DKE

Dans le portail de conformité Microsoft Purview, créez une étiquette de confidentialité et appliquez le chiffrement comme vous le feriez autrement. Sélectionnez Utiliser le chiffrement à double clé et entrez l’URL du point de terminaison de votre clé. Vous devez inclure le nom de clé que vous avez fourni dans la section « TestKeys » du fichier appsettings.json dans l’URL.

Par exemple : https://testingdke1.azurewebsites.net/KEYNAME

Sélectionnez Utiliser le chiffrement à double clé dans le portail de conformité Microsoft Purview.

Toutes les étiquettes DKE que vous ajoutez apparaissent pour les utilisateurs dans les dernières versions de Microsoft 365 Apps for enterprise.

Notes

L’actualisation des clients avec les nouvelles étiquettes peut prendre jusqu’à 24 heures.

Migrer des fichiers protégés d’étiquettes HYOK vers des étiquettes DKE

Si vous le souhaitez, une fois que vous avez terminé la configuration de DKE, vous pouvez migrer le contenu que vous avez protégé à l’aide d’étiquettes HYOK vers des étiquettes DKE. Pour migrer, utilisez le scanneur Microsoft Purview Information Protection. Pour commencer à utiliser le scanneur, consultez Comprendre le scanneur de protection des informations.

Si vous ne migrez pas de contenu, votre contenu protégé par HYOK n’est pas affecté.

Autres options de déploiement

Nous sommes conscients que pour certains clients dans des secteurs hautement réglementés, cette implémentation de référence standard utilisant des clés logicielles peut ne pas être suffisante pour répondre à leurs obligations et besoins de conformité améliorés. Nous travaillons en partenariat avec des fournisseurs de modules de sécurité matériels (HSM) tiers pour prendre en charge les options de gestion des clés améliorées dans le service DKE, notamment :

Contactez directement ces fournisseurs pour obtenir plus d’informations et de conseils sur leurs solutions HSM DKE sur le marché.

Configurer les clients pour appliquer des étiquettes de confidentialité DKE

Sur chaque appareil client, effectuez cette tâche.

  1. Vérifiez que les valeurs de Registre suivantes sont définies sur chaque client. Créez des clés de Registre qui ne sont pas déjà présentes :

    [HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSIPC\flighting]
    "DoubleKeyProtection"=dword:00000001
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSIPC\flighting]
    "DoubleKeyProtection"=dword:00000001