PostgreSQL est un système de gestion de base de données open source, considéré aujourd’hui comme l’une des alternatives les plus crédibles à Oracle Database. Le monde PostgreSQL est foisonnant, voire intimidant, avec sa multitude de développements.
Le Français Dalibo accompagne les entreprises depuis 2005 dans leur adoption de PostgreSQL. Il participe également au développement de cette offre au travers du Dalibo Labs, dont un des projets devrait grandement intéresser les entreprises souhaitant se conformer au RGPD (Règlement général sur la protection des données). PostgreSQL Anonymizer est en effet une extension qui permet de protéger les données sensibles à la source, directement au sein de la base de données.
« Lorsque nous avons vu le RGPD arriver, nous avons tout de suite compris qu’il provoquerait un bouleversement majeur au sein des entreprises », explique Damien Clochard, cofondateur de Dalibo et créateur de PostgreSQL Anonymizer. « Comme PostgreSQL est au cœur de la donnée, nous nous sommes demandé quel rôle il pourrait jouer dans la protection des données personnelles. »
Repenser la protection des données à la source
La plupart des outils d’anonymisation utilisent le principe de l’ETL (Extract, Transform, Load), qui consiste à se connecter à la base de données, à en extraire les informations voulues puis à les anonymiser. Le traitement visant à se conformer au RGPD est donc fait lors de la phase d’exploitation de la donnée et non dans la base de données elle-même.
« Avec cette méthode, on sort la donnée de PostgreSQL. Pour des raisons de sécurité, nous préférerions que ce soit PostgreSQL qui anonymise lui-même les données et non un outil externe. » Avec PostgreSQL Anonymizer, les architectes de base de données peuvent dès la conception préciser les règles de masquage à appliquer à telle ou telle colonne de la base de données, recollant ainsi au principe de privacy by design prôné par le RGPD.
PostgreSQL Anonymizer comprend deux volets : des fonctions permettant de déclarer quelles données doivent être anonymisées et selon quel principe ; une boîte à outils de fonctions permettant d’anonymiser les données selon diverses méthodes (effacement pur et simple, masquage partiel, généralisation, brouillage, etc.).
Gare aux identifiants indirects !
Le masquage des données est complexe. C’est pourquoi Dalibo recommande de réfléchir à cette problématique dès la conception de la base de données.
« Masquer des données est simple pour des informations faciles à identifier comme un nom, un prénom ou un numéro de téléphone. Mais cela vire rapidement au casse-tête avec les identifiants indirects. Par exemple, un code postal seul ne permet pas d’identifier quelqu’un. Mais ajoutez-y une date de naissance et un genre et la personne deviendra bien plus facile à identifier. »
L’architecte de la base de données est en mesure de repérer les identifiants indirects et de préciser comment les protéger. Et lorsqu’une nouvelle technique permet d’identifier une personne, elle est remontée à l’administrateur de la base de données, afin qu’il crée une règle adaptée. Règle qui sera alors globale et intégrée directement dans le modèle de données, et non uniquement appliquée lors du traitement incriminé.
Deux sponsors prestigieux
Après un peu plus de trois années de développement, l’extension PostgreSQL Anonymizer est enfin accessible dans une première version stable, dévoilée en mai 2022. La stabilisation du code a été financée par deux grands acteurs, travaillant chacun dans des secteurs très différents.
« Le premier est la Direction générale des Finances publiques, une grande administration pour laquelle la protection des données revêt une importance critique », indique Damien Clochard. « L’autre est bioMérieux, qui souhaitait intégrer cette solution dans ses logiciels dédiés aux laboratoires médicaux. C’est un cas d’usage particulièrement intéressant, car il touche un domaine où les exigences de protection des données personnelles vont au-delà de ce que préconise le RPGD. »
PostgreSQL Anonymizer 1.0 est accessible gratuitement, sous licence open source, depuis le site du Dalibo Labs.
(function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/fr_FR/all.js#appId=243265768935&xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));