Configurer le cryptage à double clé

Description du service Microsoft Purview Audit

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. Assurez-vous que votre environnement répond aux exigences minimales en matière de système et de licences. Pour plus d’informations, consultez Exigences en matière de système et de licence pour DKE.

  2. Créer une étiquette avec Double Key Encryption. Dans le portail Microsoft Purview, accédez à Protection des informations et créez une nouvelle étiquette avec Double Key Encryption. Voir 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 Sensibilité de Microsoft Office.

Il existe plusieurs façons d’effectuer certaines des étapes de déploiement du 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 pour le faire, 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 du service DKE. Si vous effectuez un déploiement dans un autre emplacement, vous devez fournir vos propres valeurs.

Suivez ces étapes générales pour configurer Double Key Encryption pour votre organisation.

  1. Installer les logiciels requis pour le service DKE
  2. Cloner le dépôt GitHub de Double Key Encryption
  3. Modifier les paramètres d’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. Enregistrer 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 à vos e-mails dans Office.

Installer les logiciels requis pour le service DKE

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

Kit de développement logiciel (SDK) .NET 8.0. Téléchargez et installez le Kit de développement logiciel (SDK) à partir du téléchargement de .NET 8.0.

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

  • C# comme Visual Studio Code

  • Gestionnaire de package NuGet

des ressources Git. Téléchargez et installez l’un des éléments suivants.

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

Cloner le référentiel GitHub DKE

Microsoft fournit les fichiers sources DKE dans un référentiel GitHub. Vous clonez le dépôt pour générer le projet localement pour l’utilisation de votre organisation. Le référentiel GitHub DKE est situé dans 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. Vers 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 apparaît, sélectionnez l’icône de copie pour copier l’URL dans votre 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 dans la liste, commencez à taper git: clone pour filtrer les entrées, puis sélectionnez-la dans la liste déroulante. Par exemple :

    Visual Studio Code Option GIT :Clone.

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

  5. Dans la boîte de dialogue Sélectionner un dossier qui s’affiche, recherchez et sélectionnez un emplacement pour stocker le référentiel. 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 main.

  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 de 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 pour votre organisation.

Modifier les paramètres d’application

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

Vous modifiez les paramètres d’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.

Recherche du fichier appsettings.json pour DKE.

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

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

  • Autorisation par email. 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 en fonction des groupes Active Directory et nécessite 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 par e-mail
  1. Ouvrez le fichier appsettings.json et recherchez le AuthorizedEmailAddress paramètre.

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

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

    "LDAPPath": ""
    
  4. Localisez le AuthorizedRoles paramètre et supprimez toute la ligne.

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 groupe 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. Localisez le AuthorizedEmailAddress paramètre et supprimez toute la ligne.

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 du rôle.

Paramètres de locataire et de clé

Les paramètres de locataire et de clé 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. Localisez le paramètre et remplacez-le ValidIssuers<tenantid> par votre ID de client, en veillant à conserver la barre oblique à la fin de l’ID de client. Vous pouvez localiser votre ID de locataire en accédant au Portail Azure et en affichant les propriétés du locataire. Par exemple :

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

Remarque

Si vous souhaitez permettre un accès externe B2B à votre magasin de clés, vous devrez également inclure ces locataires externes dans la liste des émetteurs valides.

Localisez le JwtAudiencefichier . Remplacez la valeur d’espace réservé, dans le json, "https://dkeservice.contoso.com" par le nom d’hôte de la machine sur laquelle vous souhaitez exécuter le service DKE.

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 saisissez-le TestKeys:ID comme valeur. Par exemple : DCE1CC21-FF9B-4424-8FF4-9914BD19A1BE. Vous pouvez utiliser un site comme le Générateur de GUID en ligne pour générer un GUID de façon aléatoire.
  • JwtAuthorization. Remplacez-le {tenant-id} par votre ID de client.

Le code json suivant indique le format correct des paramètres de locataire et de clés dans appsettings.json. LDAPPath est configuré pour l’autorisation de rôle.

{
  "TokenValidationParameters": {
    "ValidIssuers": [
      "https://sts.windows.net/9c99431e-b513-44be-a7d9-e7b50002d4b/"
    ]
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*",
  "JwtAudience": "https://dkeservice.contoso.com/",
  "JwtAuthorization": "https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/authorize",
  "RoleAuthorizer": {
    "LDAPPath": ""
  },
  "TestKeys": [
    {
      "Name": "TestKey1",
      "Id": "DCE1CC21-FF98-4424-8FF4-9914BD19A1BE"
    }
  ]
}

Générer des clés de test

Une fois que vous avez défini les paramètres de vos applications, 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 de la première et de la dernière ligne, 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 de la première et de la dernière ligne, 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 donnée 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 une préversion publique.

Vous êtes maintenant prêt à construire 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 build n’a été trouvée, sélectionnez Configurer la tâche de build et créez-en une pour .NET Core comme suit.

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

    1. Sélectionnez Créer tasks.json à partir du 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 correct pour DKE.

    3. Dans la section de génération, recherchez le chemin d’accès au fichier customerkeystore.csproj . S’il n’est pas affiché, 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’erreurs rouges dans la fenêtre de sortie.

    En cas d’erreur rouge, case activée la sortie de la console. Assurez-vous que vous avez effectué correctement toutes les étapes précédentes 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, assurez-vous 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 en production, déployez le service dans un cloud tiers ou publiez-le sur un système local.

Vous préférerez peut-être d’autres méthodes de déploiement de vos clés. Sélectionnez la méthode qui fonctionne le mieux pour votre organisation.

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

Création d’une instance d’application web Azure pour héberger votre déploiement DKE

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

  1. Dans votre navigateur, connectez-vous au Portail Azure Microsoft et accédez à App Services> Créer une > application web.

  2. Créez un nouveau groupe de ressources ou sélectionnez un groupe de ressources existant.

  3. Donnez un nom à l’instance, par exemple contosodke1. Ce nom ne correspond pas au nom dans le fichier de configuration. La valeur que vous fournissez pour le nom est également WebAppInstanceName.

  4. Dans le plan tarifaire, sélectionnez une taille qui autorise les domaines personnalisés, par exemple Basic B1.

  5. Pour Publier, sélectionnez code, et pour Pile d’exécution, sélectionnez .NET 8 (LTS).

  6. Sélectionnez Vérifier + créer

Par exemple :

Créer une application web

  1. Dans l’application web nouvellement créée, accédez à « Paramètres », « Domaines personnalisés », sélectionnez Ajouter un domaine personnalisé

  2. Dans Fournisseur de domaine, sélectionnez Tous les autres services de domaine

  3. Dans Domaine, entrez le nom d’hôte de l’ordinateur sur lequel vous souhaitez installer le service DKE.

Importante

Assurez-vous que le nom d’hôte est le même que celui défini pour le paramètre JwtAudience dans le fichier appsettings.json.

  1. Dans le DNS public, effectuez les modifications suggérées comme indiqué dans la section Validation du domaine et sélectionnez Valider.

Par exemple :

Ajouter un domaine personnalisé.

  1. Procédez comme suit pour publier vos clés générées :

    • Publier via ZipDeployUI
    • Vous pouvez utiliser d’autres méthodes pour charger vos fichiers binaires dans cette application, telles que FTP.

Par exemple, FTP

Publier via ZipDeployUI

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

    Par exemple : https://dkeservice-ctaugtfwh7d3c3c.scm.westcentralus-01.azurewebsites.net/ZipDeployUI

  2. Lancez une invite PowerShell.

  3. Dans la base de code 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 .

  4. 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\net8.0\publish\

  5. Envoyer tous les fichiers du répertoire de publication vers un fichier .zip. Lors de la création du fichier .zip, assurez-vous que tous les fichiers du répertoire se trouvent au niveau racine du fichier .zip.

  6. Faites glisser et déposez le fichier .zip que vous avez créé sur le site ZipDeployUI que vous avez ouvert précédemment.

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

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.

Exécuter :

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

Par exemple :

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

Assurez-vous 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é n’est pas sensible à la casse. Entrez le nom de la clé tel qu’il apparaît dans le fichier appsettings.json.

Enregistrer 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 enregistrer le service DKE :

  1. Dans votre navigateur, ouvrez le Portail Azure et accédez àInscriptions d’applications d’identité> de tous les services>.

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

  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 la nouvelle 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 d’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 l’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 sur la page Exposer une API , dans les étendues définies par cette zone d’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 sur 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 correspond à 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 00001111-aaaa-2222-bbbb-3333cccc4444. 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 Microsoft Purview, créez une nouvelle é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 Microsoft Purview.

Toutes les étiquettes DKE que vous ajoutez apparaissent pour les utilisateurs dans les dernières versions de Applications Microsoft 365 pour les grandes entreprises.

Remarque

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 scanner Protection des données Microsoft Purview. Pour commencer à utiliser le scanner, consultez Comprendre le scanner de protection des informations.

Si vous ne migrez pas le contenu, votre contenu protégé par HYOK reste inchangé.

Autres options de déploiement

Nous sommes conscients que pour certains clients travaillant 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é renforcée. Nous travaillons en partenariat avec des fournisseurs tiers de modules de sécurité matériels (HSM) pour prendre en charge des options de gestion des clés améliorées dans le service DKE, notamment :

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

Configurer les clients de manière à appliquer des étiquettes de confidentialité DKE

Effectuez cette tâche sur chaque périphérique client.

  1. Assurez-vous que les valeurs de Registre suivantes sont définies sur chaque client. Créez des clés de Registre qui n’existent pas déjà :

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