Définition
C’est une opération qui consiste à faire disparaitre, ou remplacer, des informations (données personnelles ou autres) de différentes natures et origines, avant de les transmettre à des tiers (comme avec le mouvement de l’Open Data, la sous-traitance, etc). En clair, on remplace des informations par des valeurs qui ne portent plus aucune information, ces valeurs ne permettant pas de retrouver les informations originelles.
L’anonymisation, terme le plus couramment usité en français, est parfois désignée (selon la motivation ou le contexte) par :
- Dé-identification, dépersonnalisation (surtout pour les données à caractère personnel) ;
- Masquage, maquillage de données ;
- En anglais, on trouve essentiellement les termes : data masking, anonymization, data cloaking, data masquerading.
Mais pourquoi faut-il anonymiser ?
Motivation de l’anonymisation
A l’origine de cette opération d’anonymisation, se cachent diverses motivations :
- (la plus courante) Protection des données à caractère personnel (loi « Informatique et Libertés » du 06 janvier 1978, à l’origine de la création de la CNIL) ;
- Protection du secret professionnel et déontologique ;
- Protection d’informations financières et économiques ;
- Protection d’informations commerciales et/ou contractuelles ;
- Protection d’informations stratégiques (à forte valeur concurrentielle).
Nous ne nous étendrons pas sur les textes applicables, traitant du sujet de la protection de la vie privée, qui vont de la Charte des Droits Fondamentaux (de l’Union Européenne), à la loi française « Informatique et Libertés », en passant par la norme ISO 27001 et diverses conventions et directives (mondiales, européennes et françaises).
Avec les données à caractère personnel, il faut distinguer deux principales familles de données :
- Données à forte valeur d’identification. Par exemple : les numéros uniques (INSEE, de carte d’identité, de permis, d’immatriculation, de téléphone), les données biométriques (ADN, empreintes digitales), les photographies d’identité, etc, permettent d’identifier une personne de manière unique.
- Données à faible valeur d’identification. En général, elles ne permettent pas d’identifier une personne (de manière unique) à elles seules. Toutefois, par recoupement avec d’autres informations à faible valeur d’identification, cela peut être possible. Exemple : un prénom (ou un nom) seul n’a qu’une faible valeur d’identification (mais il porte bel et bien de l’information), cependant, ce prénom associé à une commune, si elle est de petite taille, peut suffire à identifier une personne de manière unique. Et la loi Informatique et Liberté (article 2) indique bien que toutes données pouvant permettre d’identifier, de manière directe ou indirecte, une personne physique, sont considérées comme des données personnelles.
Ceci dit, il subsiste 2 questions importantes :
- Que faut-il anonymiser ?
- Et comment peut-on faire ?
Voici quelques éléments de réponse.
Qu’est-ce qui doit être anonymisé ?
A cette première question, la réponse est simple (en apparence) : toutes les informations qui permettent d’identifier une personne physique directement ou indirectement, c’est-à-dire y compris par recoupement ou croisement avec d’autres informations de la même source, ou provenant d’autres sources (même externes). Exemples classiques : prénom, nom, rue, commune, âge, date de naissance, numéros de téléphone, adresse de courriel, etc.
Sur un projet informatique spécifique, il convient donc de bien analyser et désigner de manière précise et non ambiguë toutes les informations qui devront être anonymisées. Cette tâche, qui incombe au responsable des données du projet (généralement la MOA), est cruciale car le moindre oubli peut avoir de fâcheuses conséquences : une fois les données externalisées, il sera trop tard.
Comment anonymise-t-on ?
À cette deuxième question, vous allez être sans doute quelque peu déçus, mais il n’existe malheureusement pas de solution miracle (et il est peu probable que cela existe un jour). C’est un projet informatique comme les autres, qui peut bien entendu s’appuyer sur des solutions logicielles, qu’il faudra cependant choisir avec circonspection, et dont il faudra avoir conscience des limites. Les étapes indispensables dans un projet d’anonymisation sont les suivantes :
- Commencer par identifier quelles sources de données doivent être anonymisées (base(s) de données, flux entrant(s) et/ou sortant(s), modèle(s) de document, document(s), etc) ;
- Choisir si l’anonymisation doit être réalisée à la volée ou en masse, et ce, pour chaque source. Le premier (à la volée) est complexe, le second (en masse) est le cas le plus courant au niveau des bases de données ;
- Puis identifier et localiser précisément (pour chaque source) toutes les données à anonymiser ;
- Définir, selon chaque type (métier) de données (date, nom/prénom, adresse, numéro de téléphone, commune, etc), la technique d’anonymisation à utiliser (voir plus bas), et les contraintes métiers et techniques (garanties à respecter). Il en existe de nombreuses, nous citerons uniquement les plus courantes et pertinentes dans les prochains chapitres.
- Ceci fait, si la solution technique n’a pas encore été sélectionnée, les spécifications des points précédents permettront de choisir judicieusement une solution technique (qui permette donc d’implémenter toutes les règles définies) ;
- Implémenter le processus d’anonymisation (développement d’un outil spécifique, ou configuration et développement à l’aide d’une solution logicielle d’un éditeur) ;
- Effectuer une recette approfondie avec des données proches de la production. Il ne s’agit pas d’une recette habituelle d’un projet informatique classique : le moindre oubli d’une donnée (non anonymisée), ou une anonymisation de mauvaise qualité (processus réversible par exemple), sera irréversible une fois en production. En effet, en production, les données peuvent être consultées, copiées et utilisées pour une tentative de dés-anonymisation, même si on corrige le processus par la suite. La recette doit donc être réalisée dans un environnement spécifique et indépendant de la production.
Ce processus de développement peut évidemment être réalisé de manière itérative et agile.
Techniques d’anonymisation
Les techniques élémentaires d’anonymisation, qui peuvent être combinées entre elles sous certaines conditions, doivent être bien comprises, notamment les garanties qu’elles peuvent apporter (ou non) :
- Commençons par les techniques qui apportent peu de (voir aucune !) garanties sur les données anonymisées :
- Mélange des données, aussi appelée diffusion, permutation, brassage, désalignement, ou encore shuffling : il s’agit d’échanger les positions des données (échanger les noms et prénoms d’une table contenant les informations sur des clients par exemple), mais les données originelles sont toujours présentes dans la source, elles sont juste à d’autres emplacements.
- Dilution, aussi appelée dissimulation, brouillage, ou encore obfuscation : il s’agit de noyer les données au milieu de nouvelles données sans signification réelle, mais à nouveau, les données originelles sont toujours présentes.
- Vieillissement (date aging) des données : il s’agit de substituer les données à un instant T par les mêmes données plus anciennes. Ceci n’a d’intérêt que pour des données ayant une durée de vie courte (encore faut-il conserver l’historique des valeurs), ce qui n’est de toutes façons pas le cas des données personnelles.
- Ensuite les techniques qui sont généralement sûres (si elles sont correctement implémentées et utilisées bien sûr) :
- Effacement, suppression, écrasement ou nullification : consiste à supprimer l’information, ou la remplacer par une valeur fixe. Exemple : tous les prénoms sont remplacés par une chaîne vide, et les dates de naissance par « 01/01/1900 ».
- Remplacement aléatoire ou randomization : consiste à substituer chaque valeur par une valeur aléatoire (d’un type compatible), sans aucun rapport avec la donnée d’origine. Ce point est important : la donnée ne doit pas servir à initialiser le générateur aléatoire car cela risquerait de permettre, sous certaines conditions, de retrouver la valeur originelle (en effet, en informatique, les fonctions ne sont pas aléatoires, mais pseudo-aléatoires).
- Combinaison, concaténation ou composition : consiste à combiner plusieurs valeurs pour en former d’autres. Si ces combinaisons sont opérées sur des valeurs anonymisées, c’est une opération sûre (exemple : combinaison du prénom et du nom anonymisé pour former une adresse de courriel anonymisée), sinon il faudra l’éviter.
- Masquage, feutrer, noircir ou encore truncating : c’est typiquement le cas où l’on noircit certaines portions d’un document. D’ailleurs dans le cas d’un document numérique (PDF, Word ou autres), il faut être extrêmement prudent : les zones noircies peuvent souvent être lues grâces aux calques (PDF, images), aux marques de révisions (documents Office), etc.
- Hachage ou hashing : consiste à utiliser une fonction de hachage cryptographique standard (SHA-2 ou SHA-3), qui opère une transformation mathématique complexe, irréversible par construction.
- Chiffrement, encryption ou scrambling : variante de la technique de hachage, qui utilise une fonction de chiffrement cryptographique standard (AES-256 minimum), et qui opère une transformation mathématique complexe, symétrique et irréversible sans la connaissance d’une clef (qui doit bien entendu rester secrète).
- Tables de substitutions, de translations ou de correspondances : consiste à remplacer chaque valeur par une autre sans rapport, mais de même nature (un nom par un nom, une date par une date, un montant par un montant, etc). Ces tables peuvent aussi faire des correspondances entres des indices (0, 1, 2, …) et des valeurs métiers. Il faudra prendre soin de définir ou de disposer de tables spécialisées : une pour les prénoms, une pour les noms, une pour les dates, une pour les communes, etc.
On comprend que l’on peut combiner plusieurs techniques élémentaires pour anonymiser un type de données, et que certaines combinaisons n’ont aucun intérêt. Exemple : effectuer un hachage suivi d’un masquage ne servirait strictement à rien.
Dans la deuxième partie de notre dossier sur l’anonymisation, nous aborderons les garanties recherchées, les mécanismes d’anonymisation, les contraintes métiers et techniques ainsi qu’ exemple concret d’anonymisation et nos conclusions sur ce principe.
Date
10 août 2015