Privacité différentielle : Comment Apple entend respecter votre vie privée (poc inside)
Avec la multiplication des plateformes et objets connectés ces 10 dernières années, le respect de la vie privée est devenu une question de premier ordre pour le public. Les géants du domaine brassent en effet quotidiennement des péta-octets de données générées par leurs utilisateurs, comme vous et moi.
Je n'alimenterai pas ici le débat passionné que l'on pourrait résumer par « Dois-je m'inquiéter du fait que Google sait que je recherche des informations sur l'élevage de licornes au travail ? », mais force est de constater que la question est prise au sérieux par les majors de l'IT qui utilisent désormais le respect de la vie privée comme argument marketing.
Lors de sa World Wild Developer Conference 2016, Apple a ainsi présenté le principe de privacité différentielle qu'elle applique entre autres pour améliorer les suggestions de ses magasins en lignes, App Store, iTunes Store et Apple Music. Je reviens dans cet article sur ce principe d'anonymisation, et vous propose même une proof of concept à ramener à la maison :)
Les limites de l'anonymisation « simple »
Pour protéger les utilisateurs de l'exploitation de leurs données à des fins commerciales, de nombreuses plateformes utilisent l'anonymisation simple des données : collecter toutes les informations et supprimer celles qui permettent d'identifier nommémment ou directement l'utilisateur (nom, adresse, numéro de téléphone, adresse email etc). L'opérateur télécom français Orange propose par exemple à ses clients institutionnels ou professionnels un service d'étude des déplacements des usagers de ses réseaux mobiles. Nommé Flux Vision, ce service utilise la triangulation des signaux GSM pour suivre les déplacements des possesseurs de téléphones mobiles. Aucune information ne permettant d'identifier les lignes mobiles n'est collectée, il s'agit simplement de géolocaliser un signal. Flux Vision est par exemple utilisé pour optimiser le placement des boutiques et produits dans les centres commerciaux, et pour détecter les ralentissements sur le réseau routier national. Orange assure que les données sont anonymes. Voici un extrait de la brochure commerciale du service :
Flux Vision permet de convertir en temps réel des millions d'informations techniques provenant du réseau mobile en indicateurs statistiques. Par exemple, vous pouvez analyser en temps réel ou temps différé, la fréquentation de zones géographiques et les déplacements de population.
Cet exemple met en évidence la limite du simple anonymat : inutile de connaitre mon nom ou mon numéro de téléphone si vous savez où j'habite (puisque j'y passe mes nuits), où je travaille (puisque je m'y rends tous les jours de 9h à 18h), et où je fais mes courses (puisque je m'y rends tous les samedis). Ces informations ont une valeur commerciale bien plus élevée que mes simples nom et prénom. Il en va exactement de même pour les autres données que vous générez au quotidien : recherches sur internet, passages au télépéage, géolocalisation, recherches via les assistants vocaux sur smartphone etc.
Privacité différentielle : le principe
Pour gagner en respect de la vie privée, on peut imaginer ne plus collecter les données générées par l'utilisateur. La sûreté est totale, mais il n'est alors plus possible de proposer tous les services auxquels nous sommes aujourd'hui habitués (afficher la météo du lieu où je me trouve actuellement, indiquer l'heure estimée d'arrivée à mon domicile, utiliser le télépéage, synchroniser mes fichiers sur mon ordinateur et mon smartphone etc.) Une solution plus réfléchie est d'altérer de façon imprévisible une partie des données avant la collecte. Il devient ainsi plus difficile voire impossible de définir un profil d'utilisateur : on ajoute du bruit au signal utile.
Prennons l'exemple d'un editeur de logiciel qui cherche à savoir combien d'onglets sont ouverts simultanément par les utilisateurs — en moyenne. Le navigateur va calculer le nombre moyen d'onglets ouverts et le transmettre. Si l'on applique le principe de privacité différentielle, après chaque relevé, un tirage aléatoire dont la loi de probabilité est connue va déterminer si la donnée transmise sera :
- Le vrai nombre d'onglets ouverts
- Un chiffre au hasard entre 1 et 20.
À l'échelle de l'utilisateur, il est impossible de déterminer si le nombre transmit est effectivement le nombre d'onglets ouvert ou un nombre aléatoire : la vie privée de l'utilisateur est respectée. Pour autant, avec un nombre suffisant d'utilisateurs et une probabilité d'altération maîtrisée, l'éditeur du logiciel pourra extraire de ces relevés une moyenne représentative du comportement des utilisateurs.
Privacité différentielle : la démo
Introduction
Pour illustrer le concept de privacité différentielle, j'ai préparé un tableur que je vous invite à télécharger ici dans lequel j'ai simulé le cas précité d'un éditeur de logiciel qui souhaite déterminer le nombre moyen d'onglets ouverts simultanément par ses utilisateurs. Notez que les valeurs que vos obtiendrez seront différentes de celles que je donne en exemple ici puisque le tableur change les valeurs à chaque ouverture ou modification du fichier.
J'ai défini arbitrairement plusieurs paramètres :
- Les réponses sont comprises entre 1 et 20 inclus
- La répartition des réponses est centrée autour de 10 et est de type loi normale
- La mesure est effectuée sur un échantillon de 200 utilisateurs
Procédé
Pour chaque utilisateur, je relève le nombre moyen d'onglets ouverts simultanéments dans la colonne Valeur réelle
. Je tire pour chaque utilisateur un chiffre au hasard entre 0 et 10 dans la colonne Tirage Altération
et je définis pour l'ensemble de l'étude la probabilité d'altération, par exemple 40%. Ainsi, tous les relevés dont le tirage d'altération est inférieur ou égal à 4 seront altérés et remplacés par une valeur aléatoire entre 1 et 20 (4 chances sur 10 = 40%). La valeur collectée est inscrite dans la colonne Valeur collectée
et est surlignée en rouge si elle a été altérée.
Dans le groupe Echantillon réel
, je compte le nombre d'occurences de chaque réponse réelle (de 1 à 20) dans la colonne Nombre
et j'en déduis la fréquence d'apparition dans la colonne Part
. Je procède de même avec les réponses altérées dans le groupe Echantillon altéré
.
Conclusion
Dans le groupe Erreur de l'échantillon altéré
, j'indique pour chaque réponse possible l'erreur entre l'échantillon réel et l'échantillon altéré. En observant les graphs de répartitions des réponses, on constate que l'échantillon altéré (orange) reste tout à fait représentatif de l'échantillon réel (bleu) malgré l'altération dont la probabilité était ici de 40%.
En faisant varier la probabilité d'altération dans la cellule Taux d'altération souhaité
, on peut observer directement son effet. Ainsi, avec un taux de 70%, il devient difficile de sortir une tendance car le bruit est trop présent :
En conclusion, la puissance de la privacité différentielle est directement dépendante du taux d'altération choisie par le collecteur de données. Trop bas, il ne garantit pas le respect de la vie privée de l'utilisateur. Trop élevé, il génère des résultats non représentatifs et ne permet pas d'exploiter les données des utilisateurs.