Derrière la pseudonymisation
Précédemment, nous avons vu la différence entre l’anonymisation et la pseudonymisation. Et si nous regardions plus en détail ce qui se cache derrière la pseudonymisation ?
Dans quels scénarios ?
La pseudonymisation est amenée à être un élément important dans le cadre du RGPD en tant que mesure de sécurité. En effet, elle permet de protéger, dans une certaine mesure, l’identité des personnes. Elle permet également de minimiser le nombre de données personnelles traitées quand il n’est pas nécessaire de connaître la vraie identité des utilisateurs pour un traitement particulier.
La pseudonymisation peut être utilisée dans différents scénarios dépendants des buts des organismes prenant part aux traitements comme :
- pour un usage interne à une entité : améliorer la sécurité des données lors du partage des informations entre différents services et en cas d’incident relatif à la sécurité de manière générale ;
- pour le partage avec une entité tierce : les données sont collectées par un organisme qui fait appel à un autre organisme, par exemple pour des analyses statistiques sur l’usage d’un service ;
- dans l’exploitation de données depuis une entité tierce : les données sont collectées et pseudonymisées par un autre organisme qui va ensuite les partager avec l’organisme principal, par exemple pour de la mesure d’audience.
Quelles techniques ?
Pour pseudonymiser une donnée, il suffit de lui appliquer une fonction qui la transforme. Pour deux données distinctes, la fonction de pseudonymisation renvoie deux pseudonymes distincts. Pour cela, différentes méthodes existent (liste non exhaustive) :
- Le compteur
- La donnée à pseudonymiser est simplement associée à sa position dans la liste des données à traiter. La première donnée est associée à l’identifiant 1, la deuxième à l’identifiant 2, la troisième à l’identifiant 3, etc.
- Le générateur de nombre aléatoire
- Comme pour le compteur, une donnée est associée à un nombre. Mais ce coup-ci, le nombre est généré aléatoirement ; ce qui présente l’intérêt de ne pas dévoiler l’ordre des données.
- La fonction de hachage cryptographique
- À partir de données de différentes tailles, cette fonction renvoie de nouvelles données de même taille. L’avantage de cette méthode est qu’elle permet de s’assurer, par définition, qu’une donnée a un pseudonyme unique. Quelques exemples de fonction de hachage : MD5, SHA-1, SHA-2…
- Le code d’authentification de message (MAC)
- Cette méthode est similaire à la précédente. La différence est que pour transformer une donnée, une clé secrète est utilisée en plus de la fonction de hachage ; ce qui rend la méthode plus robuste, tant que la clé secrète est toujours secrète.
Un petit exemple
Voici un exemple avec des adresses mail des différentes méthodes de pseudonymisation. Pour le hachage et le code d’authentification de message, l’algorithme MD5 a été utilisé.
Adresses mail | Compteur | Nombre aléatoire | Hachage | MAC |
francois@dupont.fr | 1 | 12 | 466123cf6be1eef6cbf70495bb87cd24 | bd9de45a38e970a17ebf300866c8bbae |
francine@michu.fr | 2 | 51 | 86a313d58ef1c26b5dae16b691d0aa62 | da93151bc9353cdbf5b7d613d5cc4460 |
joseph@clinton.fr | 3 | 42 | 0d2d86c8fd843d177384606200cc25b2 | cca373aa92a38c0f47192b420d0c231e |
julie@fernand.fr | 4 | 66 | c9bb585d0d189b27bd8dfbe210fcb604 | c5e6177da4b8e8e8369912dd31e2d87c |
L’adresse a été traitée en un seul bloc, mais on peut appliquer chaque
méthode sur une partie de l’adresse pour conserver l’information sur la
nature de la donnée. Ce qui donnerait quelque chose comme
12@666
pour la méthode du nombre aléatoire.
Les limites de la pseudonymisation
Des personnes ou des entités peuvent avoir un intérêt à casser la pseudonymisation d’un ensemble de données ; que ce soit pour trouver la méthode de pseudonymisation utilisée, ré-identifier les données ou isoler une information précise de l’ensemble.
Pour cela, différentes techniques peuvent être mises en œuvre, suivant l’objectif visé, les connaissances sur l’ensemble de données, la taille de l’ensemble, etc. On peut par exemple utiliser l’attaque par force brute, la recherche par dictionnaire ou encore par conjectures.
Même si la pseudonymisation est cassable, sa plus grande limite est qu’il est facile de lier des données entre elles, même lorsqu’elles sont pseudonymisées et d’en tirer des informations.
Un exemple
Une sociéte met en ligne un service sur lequel les personnes peuvent s’inscrire. Cette société fait appel à un prestataire pour gérer la sécurité de son service et de ses accès.
Pour permetter au prestataire d’accomplir sa mission, la société lui transmet les fichiers contenant les adresses IP pseudonymisées et les heures d’accès de ces IPs sur le service.
Même si le prestataire n’arrive pas à casser la pseudonymisation des adresses IP, il peut avoir d’assez bonnes estimations sur l’utilisation du service avec les métriques suivantes par exemple :
- le nombre d’utilisateurs uniques ;
- le nombre de nouveaux inscrits ;
- le nombre d’utilisateurs qui reviennent sur le service.
Ces métriques reposant sur les adresses IP, il peut y avoir des imprecisions. Mais les IPs changeant peu, les estimations sont valables.
Le prestataire n’a pas d’intérêt à connaître la véritable identité des utilisateurs, mais les informations qu’il est capable d’extraire des données, même pseudonymisées, lui donnent un avantage au niveau des accords et négociations avec la société cliente.
La pseudonymisation reste donc une mesure de sécurité utile lorsque l’on traite des données personnelles. Mais elle possède des limites car elle laisse transparaître beaucoup d’informations sur les données, même si la méthode utilisée pour les pseudonymiser n’est pas partagée. La pseudonymisation toute seule ne constitue pas une réelle sécurité mais fait partie d’un ensemble de mesures ayant pour but un certain niveau de sécurité.
Pour aller plus loin sur le sujet, un guide sur les techniques de pseudonymisation réalisé par l’ENISA est disponible.