Comment minimiser la collecte de données sensibles
- Accueil
- Données, vie privée & souveraineté
- Comment minimiser la collecte de données sensibles
Comment minimiser la collecte de données sensibles
Section intitulée « Comment minimiser la collecte de données sensibles »La minimisation consiste à ne collecter, transmettre, stocker et exposer que les données nécessaires à une finalité technique explicitement définie. C’est une mesure préventive : une donnée absente d’un système ne fuit pas lors d’une compromission, d’une erreur de configuration ou d’un export qui traîne dans un compartiment de stockage.
Garder trop d’informations revient à laisser des doubles de clés, des relevés et des photos privées dans chaque tiroir d’un immeuble. Réduire ce qui entre évite surtout d’avoir à protéger éternellement des choses dont personne n’a vraiment besoin.
→ Lire l’explication complète de la marmotte
La collecte minimale réduit une surface d’attaque mesurable
Section intitulée « La collecte minimale réduit une surface d’attaque mesurable »La classification répond à la question « quelle est la sensibilité de cette donnée ? ». La minimisation intervient avant : « faut-il que cette donnée existe ici ? ». Les deux mécanismes se complètent, mais ne se remplacent pas. Étiqueter une adresse personnelle comme confidentielle ne retire pas cette adresse des journaux applicatifs, des sauvegardes, des traces de débogage et des exports analytiques.
Le compromis central est net : collecter moins réduit la capacité d’analyse, de personnalisation et de diagnostic a posteriori. En échange, on réduit le rayon d’impact d’une fuite, les coûts de rétention, les droits d’accès nécessaires et la complexité des demandes d’effacement. La recommandation est de préférer la donnée agrégée, dérivée ou éphémère dès lors que la finalité ne réclame pas l’identité brute.
Un identifiant de session, une adresse IP, un agent utilisateur et un horodatage peuvent suffire à réidentifier une personne lorsqu’ils sont corrélés. Leur caractère apparemment technique ne les rend pas anodins. Une base de traces qui conserve ces quatre champs pendant un an devient un registre comportemental, même si aucune colonne ne s’appelle nom_complet. Les données ont une mauvaise habitude : elles deviennent plus bavardes quand on les met côte à côte.
La minimisation doit couvrir quatre points de passage :
- À la saisie : ne pas proposer de champ sans consommateur identifié.
- À l’ingestion : rejeter ou supprimer les attributs non attendus avant persistance.
- À la propagation : ne pas recopier un contexte complet dans les files, événements et appels interservices.
- À la restitution : ne pas exposer des champs collectés « au cas où » dans les interfaces d’administration.
La règle d’architecture est brutale mais rentable : chaque attribut doit avoir un propriétaire, une finalité, un consommateur, une durée de conservation et un point de suppression. Si l’un de ces cinq éléments manque, l’attribut ne doit pas entrer. « Cela pourrait servir plus tard » est le nom commercial du passif technique.
Pour cadrer les catégories avant ce travail, consulter la gestion des données et les principes d’architecture cybersécurité. La minimisation ne remplace pas le chiffrement ni le contrôle d’accès, elle évite de leur confier une cargaison qui n’aurait jamais dû monter à bord.
Inventaire des champs et finalités de traitement
Section intitulée « Inventaire des champs et finalités de traitement »Le bon niveau de décision est le champ, pas la table ni l’application. Une base utilisateurs peut légitimement contenir un identifiant interne et une date de création tout en devant exclure la date de naissance, le numéro de téléphone et l’adresse postale. La présence d’un objet métier ne justifie pas l’accumulation de ses attributs possibles.
Construire un registre technique des champs avec les éléments suivants :
| Élément | Décision attendue |
|---|---|
| Champ | Nom exact, format et source d’entrée |
| Finalité | Fonction précise, vérifiable par un cas d’usage |
| Nécessité | Obligatoire, conditionnelle ou interdite |
| Destination | Service, journal, export ou sauvegarde autorisé |
| Rétention | Durée, événement de purge et responsable |
| Substitut | Agrégat, hachage, jeton ou valeur booléenne |
Un hachage ne transforme pas automatiquement une donnée personnelle en donnée inoffensive. Un identifiant stable haché avec une fonction publique reste corrélable et souvent devinable si son espace de valeurs est réduit. Hacher une adresse électronique avec SHA-256 (Secure Hash Algorithm 256 bits) donne surtout une adresse électronique avec un imperméable mathématique. Pour empêcher le rapprochement entre systèmes, utiliser des jetons distincts par domaine fonctionnel, générés par un service contrôlé.
La pseudonymisation réduit l’exposition opérationnelle, mais ne retire pas le risque si la table de correspondance existe encore. Cette table devient alors l’actif critique : séparation des droits, journalisation des accès, sauvegarde chiffrée et rotation des secrets qui protègent son stockage. La minimisation reste préférable : ne pas recevoir la valeur est supérieur à recevoir une valeur qu’il faudra ensuite maquiller.
Les formulaires et interfaces de programmation applicative, ou API (Application Programming Interface), doivent refuser les propriétés inconnues. Accepter silencieusement des champs supplémentaires crée une collecte accidentelle : un client ajoute telephone, le serveur le stocke dans une charge JSON (JavaScript Object Notation), puis les sauvegardes en héritent pour plusieurs années. Ce scénario ne demande ni attaquant génial ni vulnérabilité exotique. Un développeur pressé suffit, ce qui est une ressource renouvelable.
Filtrage à l’ingestion des journaux et événements
Section intitulée « Filtrage à l’ingestion des journaux et événements »Les journaux sont le principal échec de la minimisation. Une application peut limiter parfaitement sa base métier, puis enregistrer le corps complet des requêtes, les en-têtes d’authentification ou les paramètres de paiement dans un collecteur centralisé. Le journal devient alors une copie non gouvernée du système de production, avec une durée de vie souvent plus longue et des lecteurs beaucoup plus nombreux.
Interdire la journalisation des secrets au niveau des bibliothèques : mots de passe, jetons d’accès, cookies de session, clés privées, en-têtes Authorization, corps de requêtes contenant des données personnelles. Masquer après écriture ne suffit pas. Le collecteur, les buffers, le stockage temporaire et les agents de transfert ont déjà reçu la valeur.
La stratégie robuste consiste à produire des événements structurés selon un schéma autorisé. Chaque événement ne contient que des champs déclarés, par exemple event_type, status_code, tenant_token, request_id et une durée. Un champ libre de type message doit être traité comme une entrée non fiable. Il finit généralement par contenir ce que le développeur voulait comprendre à 02:17, donc précisément ce qui ne devait jamais quitter la mémoire du processus.
Voici un filtre reproductible avec jq, appliqué avant export d’un flux JSON ligne par ligne. Il ne remplace pas le contrôle dans l’application : il ajoute une barrière indépendante au point de collecte.
# Installer jq, puis enregistrer ce filtre dans sanitize-logs.sh.# Le filtre conserve une liste blanche et élimine toute propriété inconnue.jq -c '{ timestamp, event_type, request_id, status_code, duration_ms, tenant_token}' < raw-events.ndjson > sanitized-events.ndjson
# Vérifier qu'aucun secret fourni dans l'exemple d'entrée ne subsiste.grep -E '"(password|authorization|cookie|email|phone)"' sanitized-events.ndjson \ && exit 1 || echo "Flux filtré"Le filtre doit être versionné avec le schéma d’événement et couvert par des tests négatifs. Chaque nouveau champ nécessite une revue de nécessité, pas seulement une revue de compatibilité. L’observabilité sans discipline devient vite une décharge de haute disponibilité, avec tableaux de bord en couleur pour contempler le désastre.
Identifiants, agrégats et données dérivées
Section intitulée « Identifiants, agrégats et données dérivées »Remplacer une donnée identifiante par un agrégat lorsque la décision ne dépend pas de l’individu. Pour mesurer une répartition géographique, conserver un pays ou une région plutôt qu’une adresse complète. Pour détecter un abus, conserver un compteur par fenêtre temporelle et par jeton de domaine plutôt qu’un historique exhaustif de requêtes nominatives.
Un identifiant interne non réutilisable entre domaines limite la corrélation. L’identifiant de facturation ne doit pas devenir l’identifiant d’analyse, de support et d’accès applicatif. Chaque réutilisation simplifie une jointure future, y compris pour un attaquant ayant obtenu deux exports distincts.
Les données dérivées doivent également être minimisées. Un score de risque, un segment comportemental ou une décision automatisée peut révéler plus que la donnée source lorsqu’il est conservé longtemps. Le fait qu’une valeur soit calculée ne la rend pas neutre. Un score persistant permet parfois de reconstruire une décision sensible sans jamais accéder aux signaux initiaux.
Le chiffrement protège la confidentialité contre certains accès non autorisés. Il ne limite ni la collecte ni les requêtes légitimes exécutées par un compte compromis. Les détails de gestion des clés, des identités de service et des accès aux secrets relèvent des sujets cryptographie et identités. Une clé bien gardée autour d’une donnée inutile reste une excellente protection d’un problème évitable.
Conditions d’exploitation : rétention, purge et reprise
Section intitulée « Conditions d’exploitation : rétention, purge et reprise »Une politique de minimisation sans suppression vérifiable est une déclaration d’intention avec un joli vernis. La durée de rétention doit être appliquée par le stockage, pas seulement affichée dans une documentation. Configurer des expirations natives lorsque le moteur les fournit, puis mesurer les suppressions effectives.
Les sauvegardes exigent un traitement séparé. Une donnée supprimée du service primaire peut survivre jusqu’à l’expiration des sauvegardes, des instantanés et des réplications. Documenter ce délai résiduel, réduire la durée de conservation des sauvegardes contenant des données identifiantes et chiffrer les copies avec des clés distinctes du stockage primaire.
La purge doit être idempotente : relancer le traitement ne doit ni échouer sur une donnée déjà supprimée ni recréer d’enregistrement. Les suppressions distribuées doivent propager un événement de suppression contenant un identifiant minimal, jamais l’objet complet. Envoyer le profil entier pour annoncer son effacement est une forme particulièrement sophistiquée d’ironie opérationnelle.
Superviser quatre signaux : volume de champs rejetés, volume de champs inconnus, âge du plus ancien enregistrement par catégorie et taux de succès des purges. Une hausse de champs rejetés révèle souvent une modification de client ou une collecte non maîtrisée. Une baisse soudaine peut signaler que le filtre est contourné, ce qui mérite moins de champagne que les tableaux de bord le suggèrent.
La minimisation ne garantit pas l’exactitude des données restantes, l’absence d’accès abusif, la disponibilité du service ou la conformité juridique. Elle ne remplace ni l’authentification forte, ni la segmentation réseau, ni la gestion des vulnérabilités. Elle réduit seulement, et très concrètement, ce qu’un échec de ces contrôles peut exposer.
🐝 Ce qui arrive si on s’en passe
Section intitulée « 🐝 Ce qui arrive si on s’en passe »Sans minimisation, un simple accès en lecture aux journaux suffit à usurper une session : un jeton ou un cookie encore valide, copié dans une trace, se rejoue sans connaître aucun mot de passe, et l’authentification forte est contournée puisqu’elle a déjà eu lieu. Après un incident, le périmètre d’exposition devient impossible à borner : faute de registre des champs, rien ne prouve qu’une valeur était absente d’un collecteur, d’un export ou d’une sauvegarde, et l’analyse doit donc supposer le pire pour chaque copie. Les environnements de test ou de recette alimentés par des copies de production héritent aussi de chaque attribut superflu, avec des contrôles d’accès généralement plus faibles. Enfin, une demande d’effacement ne peut pas être honorée de façon vérifiable, car les emplacements où la donnée a été recopiée ne sont pas connus.
🦫 Explication de la marmotte 🍫
Section intitulée « 🦫 Explication de la marmotte 🍫 »Réduire la collecte commence avant qu’une information arrive dans un système. Pour chaque champ demandé, il faut décider à quoi il sert, qui en a besoin, combien de temps il doit rester disponible et comment il sera supprimé. Si aucune réponse précise n’existe, le champ ne doit pas être demandé ni accepté.
Les programmes doivent refuser les informations supplémentaires envoyées par erreur. Ils doivent aussi enregistrer seulement les éléments nécessaires pour comprendre un problème technique. Les mots de passe, les codes de connexion, les contenus de formulaires et les informations privées ne doivent pas apparaître dans les journaux techniques. Un filtre placé avant le stockage peut supprimer des champs interdits, mais le programme doit déjà éviter de les écrire.
Quand une tâche n’a pas besoin de connaître une personne, il faut utiliser un total, une région large ou un identifiant distinct selon le service. Cela évite de relier facilement plusieurs activités entre elles. Transformer une information par calcul ne suffit pas toujours, car le résultat peut encore permettre de reconnaître quelqu’un.
Enfin, supprimer signifie aussi traiter les copies : sauvegardes, duplications et anciens fichiers. La suppression doit être testée et surveillée. Si elle échoue, les données continuent d’exister et peuvent être exposées plus tard. Le chiffrement protège des données conservées, mais il ne corrige pas une collecte excessive.
À lire aussi
- Comment minimiser les données collectéesLa minimisation des données réduit la surface d’attaque en limitant la collecte, la conservation et la diffusion des informations personnelles.
- Anonymisation ou pseudonymisation en cas de fuiteAnonymisation vs pseudonymisation : la nuance qui change tout en cas de fuite.
- Sécuriser la télémétrie et les données d’usage produitConcevoir une collecte de télémétrie produit minimisée, consentie, protégée et supprimée selon une durée de rétention vérifiable.
- Principes et architecture de l'événementielConcevoir une architecture événementielle fiable : contrats, livraison, cohérence, sécurité, exploitation et documentation.
Pages voisines
La citent
- Confidentialité différentielle pour télémétrie produit
- AIPD RGPD article 35 : méthode, critères et impact sur l'architecture
- CNIL
- Google Street View Wi-Spy 2010 : trames Wi-Fi en clair et droit
- RGPD : exigences d’architecture et contrôles techniques
Comment minimiser la collecte de données sensibles
Elle cite
