Éditions compatibles avec cette fonctionnalité : Enterprise Plus, Education Standard et Education Plus. Comparer votre édition
Pour utiliser le chiffrement côté client (CSE, client-side encryption) Google Workspace pour Gmail, vous devez activer l'API Gmail et l'autoriser à accéder à l'ensemble de votre organisation. Ensuite, pour chaque utilisateur, vous devez utiliser l'API Gmail afin d'importer un certificat S/MIME (Secure/Multipurpose Internet Mail Extensions) (clé publique) et des métadonnées de clé privée S/MIME dans Gmail. Si vous utilisez un service de clés de chiffrement, vous devez également chiffrer (ou "encapsuler") les métadonnées de clé privée des utilisateurs à l'aide de votre service de clés.
Vous pouvez changer de service de clés à tout moment en important de nouveaux certificats S/MIME et des métadonnées de clé privée S/MIME chiffrées par votre nouveau service.
À propos de S/MIME
S/MIME est un protocole standard largement accepté qui permet d'ajouter des signatures numériques et de chiffrer des e-mails afin de garantir la sécurité et l'intégrité des messages. Le CSE Gmail s'appuie sur la norme IETF S/MIME 3.2 pour envoyer et recevoir des données MIME sécurisées. S/MIME exige que les expéditeurs et les destinataires des e-mails disposent de certificats X.509 approuvés par Gmail.
Remarque : Il est également possible d'utiliser le protocole S/MIME sans la couche de chiffrement et de confidentialité supplémentaire fournie par le CSE. Cette méthode n'est appropriée que lorsque vous n'avez pas besoin d'empêcher les serveurs Google de déchiffrer vos données avec le CSE. Pour en savoir plus, consultez Activer S/MIME hébergé pour le chiffrement des messages.
Avant de commencer
Assurez-vous d'avoir bien suivi ces étapes :
- Choisissez un service de clés.
- Connectez-vous à votre fournisseur d'identité (IdP).
- Configurez votre service de clés externe ou le chiffrement par clé matérielle.
- Attribuez un service de clés ou le chiffrement par clé matérielle à des unités organisationnelles ou à des groupes.
Si vous utilisez plusieurs services de clés, assurez-vous qu'ils sont attribués aux unités organisationnelles ou aux groupes de configuration appropriés.
Configurer l'API Gmail
Remarque : Il est nécessaire d'avoir des connaissances en programmation pour utiliser les API.
Ouvrir la section | Tout réduire
- Créez un projet GCP. Pour en savoir plus, consultez Créer et gérer des projets.
Notez l'ID du projet : vous devrez l'utiliser pour accorder à l'API un accès au niveau du domaine.
- Accédez à la console Google APIs et activez l'API Gmail pour le nouveau projet. Pour en savoir plus, consultez Activer une API dans votre projet Google Cloud.
- Dans la console Google Cloud, accédez à la page Comptes de service et créez un compte de service au niveau du domaine. Pour en savoir plus, consultez Créer et gérer des comptes de service.
- Créez une clé privée de compte de service, puis enregistrez-la dans un fichier JSON (par exemple,
svc_acct_creds.json
) sur votre système local. Ce fichier contient les identifiants qui vous permettront de configurer Gmail pour les utilisateurs. Pour en savoir plus, consultez Créer et gérer des clés de compte de service.
Pour cette étape, vous allez utiliser le compte de service que vous avez créé précédemment afin d'accorder à l'API Gmail un accès en modification à tous vos utilisateurs.
- Suivez les instructions décrites dans Contrôler l'accès à l'API à l'aide de la délégation au niveau du domaine.
- Saisissez les informations suivantes lorsque vous y êtes invité :
ID client : ID client du compte de service créé à l'étape 2.
Champ d'application OAuth :
gmail.settings.basic
Activer le CSE Gmail pour les utilisateurs
Activez le CSE Gmail pour les unités organisationnelles ou les groupes. Pour en savoir plus, consultez Activer ou désactiver le chiffrement côté client.
Remarque : Pour les unités organisationnelles, vous pouvez configurer le chiffrement par défaut pour tous les e-mails (rédiger, répondre et transférer). L'utilisateur peut toujours désactiver le chiffrement si nécessaire. Requires having the Assured Controls add-on.
Configurer des certificats S/MIME CSE pour les utilisateurs
Une fois que vous avez configuré l'API Gmail et activé le CSE Gmail pour vos utilisateurs dans la console d'administration, vous pouvez configurer des certificats et des métadonnées de clé privée S/MIME CSE pour vos utilisateurs.
Ouvrir la section | Tout réduire
Étape 1 : Préparer les certificats et les métadonnées de clé privée S/MIMEPour chaque utilisateur qui envoie ou reçoit des e-mails à l'aide du CSE Gmail :
À l'aide d'une autorité de certification (CA), générez une paire de clés publique/privée S/MIME avec une chaîne de certificats. Le certificat d'entité finale S/MIME doit inclure l'adresse Gmail principale de l'utilisateur en tant que nom d'objet ou objet d'extension SAN.
Vous pouvez suivre l'une des deux méthodes décrites ci-après.
- Utiliser un certificat racine CA approuvé par Google : consultez la liste complète des certificats CA approuvés par Gmail pour S/MIME.
- Utiliser une autorité de certification non approuvée par Google : vous pouvez choisir votre propre autorité de certification, par exemple, en ajoutant son certificat racine dans la console d'administration. Pour en savoir plus, consultez Gérer les certificats de confiance pour S/MIME.
Remarque : Si vous utilisez une autorité de certification non approuvée par Google et que les utilisateurs envoient des e-mails chiffrés côté client en dehors de votre organisation, le destinataire doit également approuver l'autorité de certification.
Chiffrez (ou "encapsulez") les métadonnées des clés privées S/MIME à l'aide de votre service de clés. Pour ce faire, contactez votre service de clés ou suivez les instructions fournies.
Si vous utilisez le chiffrement par clé matérielle : assurez-vous d'ignorer cette étape et de ne pas encapsuler les métadonnées de clé privée pour les utilisateurs qui utiliseront le chiffrement par clé matérielle. Dans ce cas, l'encapsulation des métadonnées n'est pas nécessaire, car les clés privées des utilisateurs pour Gmail se trouvent sur leurs cartes à puce. Requires having the Assured Controls add-on.
Utilisez l'API Gmail pour importer la chaîne de certificats S/MIME des clés publiques et les métadonnées de clés privées de chaque utilisateur dans Gmail, puis définissez-les comme clés préférées des utilisateurs en créant une identité.
Procédez comme suit pour chaque utilisateur, en utilisant le fichier de clé privée que vous avez téléchargé lors de la création d'un compte de service au niveau du domaine pour l'authentification :
- Importez la chaîne de certificats et les métadonnées de clé privée via l'appel de l'API Gmail
keypairs.create
. - Activez la paire de clés pour l'adresse e-mail principale de l'utilisateur via l'appel de l'API Gmail
identities.create
.L'appel
identities.create
nécessite l'ID de la paire de clés renvoyé dans le corps de la réponse de l'appelkeypairs.create
.Remarque : L'activation de la paire de clés pour l'adresse e-mail d'un utilisateur :
- crée une identité CSE autorisée à envoyer des e-mails à partir du compte de l'utilisateur ;
- configure Gmail de sorte qu'il utilise les métadonnées de clé privée pour signer les e-mails CSE sortants ;
- publie le certificat dans un dépôt partagé au niveau du domaine afin que les autres utilisateurs CSE de votre organisation puissent chiffrer les messages envoyés à cet utilisateur.
Pour effectuer cette procédure, utilisez un script qui interagit avec l'API Gmail. Vous pouvez suivre l'une des deux méthodes décrites ci-après.
- Écrivez votre propre script.
- Utilisez l'exemple de script Python fourni par Google. Pour savoir comment procéder, consultez Utiliser le script Python de Google pour importer les certificats et les clés encapsulées des utilisateurs dans Gmail ci-dessous.
Remarque : Ce script ne s'applique qu'aux utilisateurs qui chiffrent du contenu Gmail à l'aide d'un service de clés. Si vous souhaitez utiliser le chiffrement par clé matérielle, vous devrez créer un autre script pour importer les métadonnées de clé privée désencapsulées.
Une fois les certificats importés, il peut s'écouler jusqu'à 24 heures avant qu'ils ne soient disponibles dans Gmail. Toutefois, ce processus est généralement beaucoup plus rapide.
Pour suivre l'étape 3 ci-dessus, vous pouvez utiliser le script Python fourni par Google au lieu d'écrire votre propre script.
Télécharger le script
Téléchargez le package du script Python (.zip) sur votre ordinateur (Mac, Linux ou Windows), puis extrayez les fichiers dans votre répertoire de travail.
Créer un environnement virtuel et installer des modules
Dans votre répertoire de travail, saisissez les commandes suivantes à l'aide d'une ligne de commande :
python3 -m venv cli_env
source cli_env/bin/activate
pip install -r requirements.txt
Appeler le script
python cse_cmd.py -h
Importer les certificats et les clés des utilisateurs
Étape 1 : Créer un répertoire permettant de stocker toutes les clés privées encapsulées
- Par exemple, vous pouvez créer le répertoire
$root/wrapped_keys
. - Le nom de fichier de chaque clé privée encapsulée doit correspondre à l'adresse e-mail complète de l'utilisateur avec l'extension
.wrap
. Exemple :$root/wrapped_keys/user1@example.com.wrap
- Assurez-vous que le fichier de la clé privée encapsulée inclut un objet JSON comportant deux champs obligatoires :
{
'kacls_url': 'URL du service de clés configuré dans la console d'administration',
'wrapped_private_key': 'taille de la clé privée en octets'
}
Étape 2 : Créer un répertoire permettant de stocker tous les certificats
- Les certificats doivent être au format PEM P7. Vous pouvez donc créer le répertoire
$root/p7pem_certs
. - Assurez-vous que le fichier du certificat contient la chaîne complète vers l'autorité de certification racine (CA, certificate authority).
- Le nom de fichier de chaque certificat doit correspondre à l'adresse e-mail complète de l'utilisateur avec l'extension
.p7pem
. Exemple :$root/p7pem_certs/user1@example.com.p7pem
Si vous disposez d'un fichier P7B : vous pouvez le convertir au format PEM P7 en ajoutant le commentaire openssl suivant :
openssl pkcs7 -inform DER -in {old_name.p7b} -outform PEM -out {new_name.p7pem}
Étape 3 : Importer les paires de clés et les identités des utilisateurs
Pour cette étape, vous aurez besoin du fichier JSON contenant les identifiants du compte de service que vous avez enregistré sur votre ordinateur à l'Étape 2 : Créer un compte de service ci-dessus.
Le moyen le plus simple d'importer les paires de clés et les identités des utilisateurs consiste à exécuter la commande insert
. Notez que chaque commande doit comporter un argument. Exemple :
python cse_cmd.py insert
--creds $root/svc_acct_creds.json
--inkeydir $root/wrapped_keys
--incertdir $root/p7pem_certs
Vous pouvez également procéder comme suit pour chaque utilisateur :
- Exécutez
insert_keypair
et notez l'ID de la paire de clés. - Exécutez
insert_identity
en utilisant cet ID de paire de clés.
Vous pouvez également obtenir l'ID d'une paire de clés en exécutant la commande list_keypair
.
Étape 4 : Vérifier que les utilisateurs disposent de paires de clés et d'identités CSE
Vérifiez que les utilisateurs disposent de paires de clés et d'identités valides dans Gmail en exécutant les commandes suivantes pour chaque utilisateur :
list_keypair
list_identity
Changer le service de clés du CSE Gmail
Pour changer le service de clés du CSE Gmail, répétez les étapes 2 et 3 présentées dans Configurer le CSE Gmail pour les utilisateurs, mais en utilisant votre nouveau service de clés pour encapsuler les clés privées.
Remarque : Lorsque vous importez de nouveaux certificats pour les utilisateurs, le contenu n'est pas migré vers le nouveau service de clés. Toutefois, les utilisateurs peuvent continuer à accéder aux e-mails chiffrés à l'aide des certificats précédents et des métadonnées de clés privées encapsulées par l'ancien service de clés.
Migrer des messages vers Gmail en tant qu'e-mails chiffrés côté client
Maintenant que le CSE Gmail est configuré, vous pouvez éventuellement importer des messages. Pour en savoir plus, consultez Migrer des messages vers Gmail en tant qu'e-mails chiffrés côté client.