Anonymiser et désanonymiser les informations personnelles dans les ensembles de données à grande échelle à l'aide de Cloud DLP

Ce document explique comment utiliser Cloud Data Loss Prevention (Cloud DLP) pour créer un pipeline de transformation de données automatisé afin d'anonymiser des données sensibles telles que les informations personnelles. Les techniques d'anonymisation, telles que la tokenisation (pseudonymisation), vous permettent de préserver l'utilité des données à des fins de jointure ou d'analyse, tout en réduisant les risques liés à leur gestion en obscurcissant les identifiants sensibles bruts. Pour réduire les risques liés au traitement de grands volumes de données sensibles, vous pouvez utiliser un pipeline de transformation de données automatisé afin de créer des instances dupliquées anonymisées. Cloud DLP permet d'effectuer des transformations telles que l'effacement, le masquage, la tokenisation, le binning et d'autres méthodes d'anonymisation. Lorsqu'un ensemble de données n'a pas été caractérisé, Cloud DLP peut également inspecter les données à la recherche d'informations sensibles en utilisant plus de 100 outils de classification intégrés.

Ce document est destiné à un public technique dont les responsabilités couvrent la sécurité des données, leur traitement et leur analyse. Dans ce guide, nous partons du principe que vous connaissez bien les principes de base du traitement et de la confidentialité des données, sans être nécessairement un expert.

Ce document fait partie d'une série :

Architecture de référence

Le schéma suivant montre une architecture de référence permettant d'utiliser des produits Google Cloud pour ajouter une couche de sécurité à des ensembles de données sensibles à l'aide de techniques d'anonymisation.

Architecture du pipeline d'anonymisation, de gestion de la configuration et de désanonymisation.

L'architecture se compose des éléments suivants :

  • Pipeline de flux d'anonymisation des données : anonymise les données sensibles dans le contenu textuel à l'aide de Cloud Dataflow. Vous pouvez réutiliser le pipeline pour plusieurs transformations et cas d'utilisation.

  • Gestion de la configuration (modèle et clé DLP) : configuration d'anonymisation gérée, qui n'est accessible que par un petit groupe d'utilisateurs (des administrateurs de sécurité informatique, par exemple) afin d'éviter d'exposer les méthodes d'anonymisation et les clés de chiffrement.

  • Pipeline de validation et de désanonymisation des données : valide les copies des données anonymisées et utilise un pipeline Dataflow pour désanonymiser les données à grande échelle.

Assurer la sécurité des données sensibles

L'une des tâches principales incombant à une entreprise, quelle qu'elle soit, est d'assurer la sécurité des données de ses utilisateurs et de ses employés. Afin de faciliter la gestion de la sécurité des données, Google Cloud intègre plusieurs mesures de sécurité, y compris le chiffrement des données stockées et le chiffrement des données en transit.

Chiffrement au repos : Cloud Storage

Garantir la sécurité des données est essentiel pour la plupart des organisations. L'accès non autorisé à des données, même moyennement sensibles, peut altérer les relations que vous entretenez avec vos clients, dégrader la confiance qu'ils placent en vous et nuire à votre réputation. Par défaut, Google chiffre les données stockées au repos. Tout objet importé dans un bucket Cloud Storage est chiffré à l'aide d'une clé de chiffrement gérée par Google. Si votre ensemble de données utilise une méthode de chiffrement préexistante et nécessite une option autre que celle définie par défaut avant l'importation, Cloud Storage propose d'autres options de chiffrement. Pour en savoir plus, consultez la page Options de chiffrement des données.

Chiffrement en transit : Cloud Dataflow

Lorsque vos données sont en transit, le chiffrement au repos n'est pas en place. Les données en transit sont protégées par des protocoles réseau sécurisés appelés chiffrement en transit. Par défaut, Cloud Dataflow utilise des clés de chiffrement gérées par Google. Les tutoriels associés à ce document exploitent un pipeline automatisé qui utilise les clés de chiffrement par défaut gérées par Google.

Transformations de données Cloud DLP

Il existe deux principaux types de transformations effectuées par Cloud DLP :

Les méthodes recordTransformations et infoTypeTransformations permettent toutes deux d'anonymiser et de chiffrer les informations sensibles dans vos données. Par exemple, vous pouvez transformer les valeurs de la colonne US_SOCIAL_SECURITY_NUMBER pour les rendre anonymes ou utiliser la tokenisation pour les obscurcir tout en préservant l'intégrité référentielle.

La méthode infoTypeTransformations vous permet d'inspecter les données sensibles et de transformer les résultats. Par exemple, si vous disposez de données non structurées ou en texte libre, la méthode infoTypeTransformations vous permet d'identifier un numéro de sécurité sociale (SSN) dans une phrase et de chiffrer ce numéro tout en conservant intact le reste du texte. Vous pouvez également définir des méthodes infoTypes personnalisées.

La méthode recordTransformations vous permet d'appliquer une configuration de transformation par champ lorsque vous utilisez des données structurées ou tabulaires. Avec la méthode recordTransformations, vous pouvez appliquer la même transformation à chaque valeur de ce champ, par exemple hacher ou tokeniser chaque valeur dans une colonne avec la colonne SSN comme nom de champ ou d'en-tête.

Vous pouvez également combiner la méthode recordTransformations avec la méthode infoTypeTransformations, pour qu'elles ne s'appliquent qu'aux valeurs des champs spécifiés. Par exemple, vous pouvez imbriquer une méthode infoTypeTransformations dans une méthode recordTransformations pour le champ nommé comments afin d'effacer les résultats US_SOCIAL_SECURITY_NUMBER identifiés dans le texte du champ.

Les processus d'anonymisation sont les suivants, par ordre croissant de complexité :

  • Effacement : supprimez le contenu sensible sans le remplacer.
  • Masquage : remplacez le contenu sensible par des caractères fixes.
  • Chiffrement : remplacez le contenu sensible par des chaînes chiffrées, éventuellement réversibles.

Utiliser des données délimitées

Les données sont souvent constituées d'enregistrements délimités par un caractère sélectionné, avec des types fixes dans chaque colonne, comme un fichier CSV. Pour cette classe de données, vous pouvez appliquer des transformations d'anonymisation (recordTransformations) directement, sans inspecter les données. Par exemple, vous pouvez faire en sorte qu'une colonne intitulée SSN ne contienne que des numéros de sécurité sociale. Vous n'avez pas besoin d'inspecter les données pour savoir que le détecteur infoType est US_SOCIAL_SECURITY_NUMBER. Cependant, les colonnes de forme libre portant le libellé Additional Details peuvent contenir des informations sensibles, mais la classe infoType n'est pas connue au préalable. Pour une colonne de forme libre, vous devez inspecter le détecteur infoTypes (infoTypeTransformations) avant d'appliquer des transformations d'anonymisation. Cloud DLP permet à ces deux types de transformation de coexister dans un seul modèle d'anonymisation. Cloud DLP inclut plus de 100 détecteurs infoTypes intégrés. Vous pouvez également créer des types personnalisés ou modifier des détecteurs infoTypes intégrés pour rechercher des données sensibles propres à votre organisation.

Déterminer le type de transformation

En fonction de votre cas d'utilisation, vous décidez d'utiliser la méthode recordTransformations ou la méthode infoTypeTransformations. Étant donné que l'utilisation de la méthode infoTypeTransformations nécessite plus de ressources et est donc plus coûteuse, nous vous recommandons de ne l'utiliser que pour les situations où le type de données est inconnu. Vous pouvez évaluer les coûts d'exécution de Cloud DLP à l'aide du Simulateur de coût Google Cloud.

Ce document est associé à plusieurs tutoriels qui utilisent un ensemble de données, donnant ainsi des exemples de transformation. L'ensemble de données contient des fichiers CSV avec des colonnes fixes, comme illustré dans le tableau suivant.

Nom de la colonne Inspection infoType (personnalisée ou intégrée) Type de transformation DLP
Card Number Non applicable Chiffrement déterministe
Card Holder's Name Non applicable Chiffrement déterministe
Card PIN Non applicable Hachage cryptographique
SSN (Social Security Number) Non applicable Masquage
Age Non applicable Binning
Job Title Non applicable Binning
Additional Details Intégré :
IBAN_CODE, EMAIL_ADDRESS, PHONE_NUMBER
Personnalisé :
ONLINE_USER_ID
Remplacement

Ce tableau répertorie les noms des colonnes et décrit le type de transformation nécessaire pour chaque colonne. Par exemple, la colonne Card Number contient des numéros de carte de crédit, qui doivent être chiffrés. Cependant, ces numéros n'ont pas besoin d'être inspectés, car le type de données (infoType) est connu.

La seule colonne pour laquelle une transformation d'inspection est recommandée est la colonne Additional Details. Cette colonne est libre et peut contenir des informations personnelles qui, pour les besoins de cette série, doivent être détectées et anonymisées.

Les exemples de ce tableau présentent cinq transformations d'anonymisation différentes :

  • Tokenisation bidirectionnelle : remplace les données d'origine par un jeton déterministe préservant l'intégrité référentielle. Vous pouvez utiliser le jeton pour effectuer une jointure de données, ou l'utiliser dans l'analyse globale. Vous pouvez inverser ou détokeniser les données à l'aide de la même clé que celle utilisée pour créer le jeton. Il existe deux méthodes de tokenisation bidirectionnelle :

    • Chiffrement déterministe : remplace les données d'origine par une valeur chiffrée encodée en base64. Le jeu de caractères et la longueur des données d'origine ne sont pas conservés.
    • Chiffrement préservant le format avec FFX : remplace les données d'origine par un jeton généré à l'aide du chiffrement préservant le format en mode FFX. Par sa conception, ce mode préserve la longueur et le jeu de caractères du texte d'entrée. Il manque toutefois l'authentification et un vecteur d'initialisation, ce qui peut entraîner une extension de longueur dans le jeton de sortie. D'autres méthodes, telles que le chiffrement déterministe, offrent des garanties de sécurité plus solides et sont recommandées pour les cas d'utilisation de tokenisation, sauf si la préservation de la longueur de texte et du jeu de caractères sont des exigences strictes, telles que la rétrocompatibilité avec les anciens systèmes de données.
  • Tokenisation unidirectionnelle utilisant le hachage cryptographique : remplace la valeur d'origine par une valeur hachée, préservant ainsi l'intégrité référentielle. Cependant, contrairement à la tokenisation bidirectionnelle, une méthode unidirectionnelle n'est pas réversible. La valeur de hachage est générée à l'aide d'un code d'authentification de message basé sur le protocole SHA-256 (HMAC-SHA-256) appliqué sur la valeur d'entrée.

  • Masquage : remplace les données d'origine, partiellement ou en totalité, par un caractère spécifié.

  • Binning : remplace une valeur aisément identifiable par une autre moins distinctive.

  • Remplacement : remplace les données d'origine par un jeton ou le nom de l'infoType s'il est détecté.

Sélection de la méthode

Le choix de la meilleure méthode d'anonymisation dépend de votre cas d'utilisation. Par exemple, si une ancienne application traite des enregistrements anonymisés, la conservation du format peut être importante. Si vous utilisez des nombres strictement formatés à 10 chiffres, le chiffrement préservant le format conserve la longueur (10 chiffres) et le jeu de caractères (numériques) d'une entrée, assurant ainsi la compatibilité avec l'ancien système.

Toutefois, si un format strict n'est pas nécessaire pour assurer la rétrocompatibilité, comme c'est le cas pour les valeurs de la colonne Card Holder's Name, le chiffrement déterministe est recommandé, car sa méthode d'authentification est plus robuste. Les deux méthodes (chiffrement préservant le format et chiffrement déterministe) autorisent les transformations par tokenisation réversible ou détokenisation. Si vous n'avez pas besoin de détokeniser, la transformation par hachage cryptographique assure l'intégrité, mais la tokenisation est alors irréversible.

D'autres méthodes, telles que le masquage, le binning, le changement de date et le remplacement, sont adaptées aux valeurs dont il n'est pas nécessaire de conserver l'intégrité. Par exemple, le binning d'une valeur d'âge (par exemple, 27) sur une tranche d'âge (20-30) n'empêche pas le processus d'analyse, tout en réduisant l'unicité qui pourrait permettre d'identifier un individu.

Clés de chiffrement de jetons

Pour les transformations cryptographiques d'anonymisation, une clé cryptographique, également appelée clé de chiffrement de jeton, est requise. La clé de chiffrement de jeton utilisée pour le chiffrement d'anonymisation permet également de désanonymiser la valeur d'origine. La création et la gestion sécurisées de clés de chiffrement de jetons ne sont pas traitées dans ce document. Cependant, certains principes importants appliqués dans les tutoriels associés doivent être pris en compte :

  • Évitez d'utiliser des clés en texte brut dans le modèle. Utilisez plutôt Cloud KMS pour créer une clé encapsulée.
  • Utilisez des clés de chiffrement de jetons distinctes pour chaque élément de données afin de réduire le risque de compromettre les clés.
  • Effectuez des rotations des clés de chiffrement de jetons. Bien qu'il soit possible d'effectuer une rotation de la clé encapsulée, l'exécution de la rotation sur les clés de chiffrement de jetons rompt l'intégrité de la tokenisation. Lors de la rotation de la clé, vous devez de nouveau tokeniser l'intégralité de l'ensemble de données.

Modèles Cloud DLP

Pour les déploiements à grande échelle, utilisez les modèles Cloud DLP pour effectuer les opérations suivantes :

  • Activez le contrôle de sécurité à l'aide d'Identity and Access Management (IAM).
  • Dissocier les informations de configuration et la méthode d'anonymisation de ces informations de la mise en œuvre de vos requêtes.
  • Réutiliser un ensemble de transformations. Vous pouvez utiliser les modèles d'anonymisation et de désanonymisation sur plusieurs ensembles de données.

Les tutoriels associés vous guident tout au long du processus de création et de gestion des modèles Cloud DLP.

BigQuery

Le dernier composant de l'architecture de référence consiste à afficher et à utiliser les données anonymisées dans BigQuery. BigQuery est l'outil d'entrepôt de données de Google qui inclut une infrastructure sans serveur, BigQuery ML, et la possibilité d'exécuter Cloud DLP en tant qu'outil natif. Dans les tutoriels suivants, BigQuery sert d'entrepôt de données pour les données anonymisées et de backend pour un pipeline de désanonymisation automatique pouvant partager des données via Cloud Pub/Sub.

Pour en savoir plus sur les applications avancées de BigQuery ML et les données sensibles, consultez la section Remarques relatives aux données sensibles des ensembles de données de machine learning.

Étape suivante