Aller au contenu

Anonymisation ou pseudonymisation des données

Retirer le nom et l’adresse ne transforme pas un export en données anonymes. La distinction détermine le périmètre de protection, les contrôles d’accès, les contrats de partage et le risque réel de ré-identification par recoupement.

→ Lire l’explication complète de la marmotte

Anonymisation et pseudonymisation : deux états incompatibles

Section intitulée « Anonymisation et pseudonymisation : deux états incompatibles »

La pseudonymisation remplace un identifiant direct par un substitut, par exemple un identifiant aléatoire, un jeton ou une valeur dérivée par fonction cryptographique. La correspondance entre le substitut et la personne existe encore, directement dans une table de liaison ou indirectement par une clé. Les données restent donc des données personnelles : la ré-identification demeure possible par conception.

L’anonymisation vise l’inverse : rendre l’identification d’une personne impossible ou raisonnablement impraticable, compte tenu des moyens disponibles et plausibles. Une fois cette propriété obtenue, les données ne sont plus considérées comme personnelles au sens du Règlement général sur la protection des données (RGPD), sous réserve de l’analyse applicable. Ce n’est pas une permission de publier tout et n’importe quoi, ni un conseil juridique : c’est une propriété technique à démontrer face à un adversaire réaliste.

Le compromis est brutal. La pseudonymisation préserve les jointures, les corrections, les suppressions ciblées et les analyses longitudinales, mais impose toute la discipline des données personnelles. L’anonymisation réduit fortement les obligations opérationnelles liées à l’identité, mais dégrade l’utilité, interdit le retour à la source et exige une analyse de divulgation. Il faut trancher selon le besoin métier : si une personne doit être retrouvée, même exceptionnellement, le jeu est pseudonymisé. Le qualifier d’anonyme ne le rend pas moins réversible, pas plus qu’un cadenas peint sur une porte.

Le chiffrement ne résout pas cette distinction. Une base chiffrée au repos reste intégralement personnelle dès lors que le système détient les clés de déchiffrement. Le chiffrement des données au repos protège contre certains accès non autorisés, pas contre le pouvoir d’identification du responsable qui peut déchiffrer.

Une fonction de hachage n’anonymise généralement pas un identifiant stable. Un courriel haché avec SHA-256 (Secure Hash Algorithm 256 bits) peut être retrouvé par dictionnaire, car l’espace des adresses probables est faible et la fonction est déterministe. Ajouter un sel secret empêche ce dictionnaire hors ligne, mais crée une clé de ré-identification : on revient à de la pseudonymisation. Ajouter un sel public ne change presque rien contre un adversaire qui connaît ce sel.

Ré-identification par recoupement et quasi-identifiants

Section intitulée « Ré-identification par recoupement et quasi-identifiants »

Les identifiants directs sont le nom, l’adresse électronique, le numéro de téléphone ou un identifiant administratif. Les supprimer est nécessaire, mais insuffisant. Les quasi-identifiants sont des attributs qui, combinés, isolent ou réduisent fortement un groupe : date de naissance, code postal, sexe, profession rare, date d’embauche, localisation fine ou suite d’événements horodatés.

Le test pertinent n’est pas « un nom apparaît-il ? », mais « une source accessible permet-elle d’associer cette ligne à une personne avec une confiance exploitable ? ». Un calendrier public, un registre, des publications sur réseau social, des données de mobilité, une fuite antérieure ou une base interne constituent des sources de recoupement. L’adversaire n’a pas besoin d’une base parfaite. Il lui suffit d’une hypothèse correcte sur une partie des lignes.

Une granularité géographique de commune et un âge exact paraissent inoffensifs dans un tableur. Ajoutés à une date d’événement et à une catégorie professionnelle rare, ils peuvent devenir quasi uniques. La rareté compte davantage que la présence d’un champ sensible : un motif d’absence fréquent dans une zone dense peut révéler moins qu’une profession unique dans un petit groupe.

L’attaque par appartenance est souvent oubliée. Même sans retrouver une ligne précise, démontrer qu’une personne appartient à un jeu sur une pathologie, une procédure disciplinaire ou un incident de sécurité divulgue déjà une information. L’attaque par inférence va plus loin : si toutes les lignes compatibles avec une cible partagent le même attribut sensible, masquer l’identité n’empêche pas d’en déduire cet attribut.

Avant tout partage, inventorier les sources de recoupement raisonnablement accessibles, internes comme publiques. Les droits d’accès internes sont particulièrement dangereux : un jeu prétendument anonyme peut être joint à un référentiel de clientèle, à des journaux applicatifs ou à des données d’identité. La gouvernance des données doit donc recenser les destinataires, leurs autres jeux et les finalités autorisées. Une analyse qui suppose un destinataire amnésique est une analyse décorative.

k-anonymat, généralisation et suppression contrôlée

Section intitulée « k-anonymat, généralisation et suppression contrôlée »

Le k-anonymat impose que chaque combinaison de quasi-identifiants apparaisse au moins k fois. Chaque ligne appartient alors à une classe d’équivalence d’au moins k individus indiscernables selon les attributs publiés. Pour atteindre cette propriété, on généralise les valeurs, par exemple une date de naissance en tranche d’âge, ou on supprime certaines cellules et lignes trop singulières.

Un k fixé arbitrairement n’est pas une garantie universelle. Avec k = 5, une tentative de ré-identification fondée uniquement sur les quasi-identifiants ne devrait pas distinguer une cible parmi moins de cinq personnes. Mais si les cinq personnes partagent le même attribut sensible, l’information sensible reste exposée. Le k-anonymat protège mal contre l’homogénéité et contre les connaissances externes.

Il faut donc compléter par la l-diversité : chaque classe d’équivalence doit contenir au moins l valeurs suffisamment distinctes de l’attribut sensible. La t-proximité ajoute une contrainte de distribution : la répartition de l’attribut sensible dans chaque classe doit rester proche de celle du jeu global. Ces modèles réduisent des fuites précises, au prix d’une généralisation accrue et d’analyses moins fines.

La recommandation est nette : employer le k-anonymat pour des extractions tabulaires à diffusion bornée, avec une revue des quasi-identifiants et une mesure de perte d’information. Ne pas l’employer seul pour une publication ouverte contenant des attributs sensibles. Un seuil affiché dans une slide ne neutralise pas les données auxiliaires, même avec une police de caractère enthousiaste.

La généralisation doit être stable sur tout le jeu analysé. Supprimer les lignes rares après avoir calculé des agrégats produit des incohérences détectables. De même, conserver un identifiant pseudonyme stable dans une publication permet de relier les versions successives et de reconstituer des trajectoires. La stabilité est un avantage analytique, mais aussi une surface d’attaque.

Confidentialité différentielle et budget de bruit

Section intitulée « Confidentialité différentielle et budget de bruit »

La confidentialité différentielle formalise une limite au gain d’information qu’apporte la présence ou l’absence d’une personne dans un résultat statistique. Le mécanisme ajoute un bruit calibré à la sensibilité de la requête, c’est-à-dire à la variation maximale du résultat quand une contribution individuelle est retirée ou ajoutée.

Le paramètre epsilon, noté ε, mesure le budget de confidentialité. Un epsilon faible apporte davantage de protection et davantage de bruit ; un epsilon élevé améliore la précision et réduit la protection. Il n’existe pas de valeur magique. Le choisir dépend de la sensibilité, de la taille de population, de la précision requise et du nombre de publications. Dire « confidentialité différentielle » sans gouverner epsilon revient à acheter un extincteur sans vérifier qu’il contient autre chose que de l’air corporate.

La composition est la contrainte qui casse les démonstrateurs. Plusieurs requêtes sur la même population consomment cumulativement le budget. Publier le même indicateur par région, période, âge et canal peut épuiser la confidentialité même si chaque sortie isolée paraît protégée. Un registre des requêtes, des paramètres, des populations et du budget restant est obligatoire.

La confidentialité différentielle convient mieux à des agrégats, tableaux de bord et interfaces de requêtes qu’à l’export d’un jeu de lignes. Pour des microdonnées, la génération synthétique peut aider, mais elle doit être évaluée contre les attaques d’appartenance et de mémorisation. Un générateur qui reproduit fidèlement les cas rares produit parfois un fichier de divulgation avec une moustache d’intelligence artificielle.

Exemple reproductible : agrégat avec bruit de Laplace

Section intitulée « Exemple reproductible : agrégat avec bruit de Laplace »

Le mécanisme de Laplace protège une somme lorsque chaque personne ne peut contribuer qu’à une borne connue. Cette borne est non négociable : sans limitation de contribution, la sensibilité devient arbitraire et le bruit n’a plus de sens.

# Python 3 standard library : publier un nombre d'incidents par jour.
# Chaque personne contribue au plus une fois, donc la sensibilité vaut 1.
import math
import secrets
epsilon = 0.5 # Budget fixé et enregistré pour cette publication
true_count = 137 # Résultat calculé sur la source non publiée
sensitivity = 1.0
scale = sensitivity / epsilon
# Génère une variable uniforme dans ]-0,5 ; 0,5[ sans dépendre de NumPy.
u = (secrets.randbits(53) / 2**53) - 0.5
laplace_noise = -scale * math.copysign(1, u) * math.log(1 - 2 * abs(u))
published_count = max(0, round(true_count + laplace_noise))
print(published_count) # Ne jamais publier true_count ni la graine

Le bornage peut introduire un biais, notamment pour les petits comptes. Il faut documenter ce biais, supprimer ou regrouper les cellules à très faible effectif et éviter les totaux qui permettent de soustraire les cellules bruitées. Les sorties corrélées sont le cimetière préféré des garanties statistiques mal intégrées.

Une pseudonymisation robuste sépare le service de données du service de correspondance. La table de liaison ou la clé de dérivation doit résider dans un périmètre distinct, avec autorisations minimales, journalisation des consultations et contrôle à quatre yeux pour les ré-identifications sensibles. Un HSM (Hardware Security Module) peut protéger une clé maîtresse, mais ne décide ni qui peut demander un jeton ni pourquoi. La clé ne sort pas, c’est bien ; les mauvaises autorisations restent mauvaises avec beaucoup de conviction.

Préférer des jetons aléatoires à forte entropie lorsque la liaison doit être stockée. Pour une pseudonymisation déterministe, dériver des jetons par HMAC (Hash-based Message Authentication Code) avec une clé dédiée par finalité et par environnement. Ne jamais réutiliser une même clé de pseudonymisation entre production, préproduction et partenaires : cela fabrique une clé de jointure transversale.

La rotation est délicate. Changer une clé HMAC modifie tous les pseudonymes et casse les jointures historiques. Prévoir une période de double lecture, versionner les jetons et conserver l’ancienne clé seulement pendant la migration. Si la capacité de ré-identifier doit disparaître, détruire la table de liaison et les clés associées après vérification des sauvegardes, des journaux et des réplications. Une clé détruite mais présente dans une sauvegarde restaurable n’est pas détruite, elle fait juste une sieste.

Pour l’anonymisation, conserver le jeu source sous les contrôles des données personnelles et traiter la sortie anonymisée comme un artefact versionné : méthode, paramètres, transformations, jeux auxiliaires considérés, tests d’attaque et décision de diffusion. Sauvegarder cette preuve méthodologique ne réintroduit pas l’identité, mais permet de réévaluer le risque si de nouvelles sources de recoupement apparaissent.

Sans pseudonymisation ni anonymisation, chaque copie destinée à l’analyse, aux tests ou à un prestataire transporte les identités complètes. Une préproduction, un entrepôt analytique ou un fichier d’essai compromis expose alors directement des personnes nommées, et le périmètre d’une violation s’étend à toutes ces copies, pas seulement à la base source. L’identification devient aussi silencieuse : tout détenteur d’un extrait reconnaît une personne sans passer par un service de correspondance, donc sans trace de consultation ni motif enregistré. Il devient alors impossible d’établir après coup qui a consulté quelles données. Enfin, une demande d’effacement ou de rectification doit être propagée à chaque duplicata, y compris ceux qui n’ont jamais été inventoriés ; une copie oubliée continue de contenir la personne après la suppression déclarée.

La pseudonymisation remplace le nom d’une personne par une autre valeur. Une table ou une clé permet encore de retrouver le nom initial. Les données restent donc liées à des personnes et doivent conserver les protections prévues pour elles. Le chiffrement protège la lecture sans autorisation, mais si une clé permet de lire les données, il ne les rend pas anonymes.

L’anonymisation cherche à empêcher ce retour à une personne. Retirer les noms ne suffit pas, car plusieurs informations ordinaires peuvent désigner quelqu’un quand elles sont combinées avec d’autres listes accessibles. L’âge exact, la zone d’habitation, une date et un événement rare peuvent suffire. Il faut aussi vérifier ce qu’un destinataire connaît déjà.

Une première méthode regroupe les personnes pour qu’une ligne ressemble à plusieurs autres lignes. Les âges peuvent devenir des tranches et les lieux des zones plus larges. Cette méthode perd de la précision et peut encore révéler une information sensible si toutes les personnes d’un groupe ont la même caractéristique.

Une autre méthode publie des résultats comptés plutôt que des lignes individuelles. Elle modifie légèrement chaque résultat avec un hasard contrôlé. Plus la modification est faible, plus le résultat est précis, mais plus le risque augmente. Chaque publication consomme une partie de la protection disponible. Sans limite sur les publications, les recoupements finissent par révéler ce qui devait rester caché.

À lire aussi

Pages voisines