Skip to content

Blog


Ingénierie de la protection de la vie privée chez DoorDash Drive

14 novembre 2023

|
Alex Dougherty

Alex Dougherty

DoorDash intègre de manière proactive la protection de la vie privée dans ses produits. À titre d'exemple, nous nous penchons ici sur un effort d'ingénierie visant à préserver la vie privée des utilisateurs. Nous montrerons comment le géomasquage des données d'adresse permet à DoorDash de protéger la vie privée des utilisateurs tout en conservant des capacités d'analyse locales.

Vue d'ensemble de l'ingénierie de la protection de la vie privée

Pour faciliter les livraisons, les utilisateurs doivent nous fournir certaines informations personnelles, notamment des noms, des adresses et des numéros de téléphone, dans le cadre d'une demande API Drive. Ces informations sont nécessaires pour que Dashers sache où et à qui livrer une commande. Étant donné que ces informations peuvent être utilisées pour réidentifier une personne, elles pourraient être utilisées par un acteur malveillant pour causer des dommages, y compris l'usurpation d'identité et le doxxing

C'est pourquoi nous voulons nous assurer que ces données personnelles sont expurgées (effacées ou masquées) de notre plateforme dans un délai raisonnable après la livraison. Ainsi, même si un acteur mal intentionné accède sans autorisation à notre base de données, les données personnelles n'y figureront plus, ce qui empêchera toute utilisation abusive.

Politiques définies par le commerçant

Sur DoorDash Drive, les marchands peuvent configurer des politiques de rédaction concernant le moment où les données personnelles liées à leurs commandes seront rédigées.

Si un marchand ne configure pas une telle politique, nous fixerons un délai par défaut pour rédiger les données de toute façon. Elles ne pourront pas être conservées indéfiniment.

Rédaction asynchrone

Comme il est d'usage dans le secteur, chaque utilisateur est associé à un identifiant unique. Les données personnelles peuvent se propager à travers de nombreuses couches d'un système distribué, c'est pourquoi nous associons les instances de ces données à un identifiant.

Comme le montre la figure 1, une tâche asynchrone d'éligibilité à la suppression combine diverses données pour déterminer si un utilisateur est éligible à la suppression, y compris les politiques définies par le commerçant, l'heure à laquelle les commandes d'entraînement ont été passées et une cartographie de l'endroit où les données se sont propagées. Si les données sont éligibles à l'expurgation, le job publie un message vers un sujet Kafka, signalant de purger les données associées à cet utilisateur. Chaque service qui maintient une copie de ces données aura un auditeur correspondant, qui peut lancer un processus pour expurger les données de ses tables.

Chaque processus peut être exécuté en parallèle, ce qui limite le temps de rédaction global au processus individuel le plus long. La rédaction n'est considérée comme réussie que lorsque chaque processus a envoyé un accusé de réception. 

Figure 1 : Flux synchrone de données personnelles vers le stockage, avec un processus asynchrone d'exécution de la rédaction.

Géomasquage d'adresses

À titre d'exemple, nous pouvons nous pencher sur une donnée spécifique impliquée dans le flux de haut niveau, l'adresse de livraison de l'utilisateur. Dans certains cas, il existe une fausse dichotomie entre la protection des informations personnelles sensibles et la possibilité d'exploiter les données à des fins d'analyse, notamment pour améliorer les recommandations et générer des conclusions utiles. Les données d'adresse, par exemple, pourraient être utilisées pour informer les commerçants de la provenance de la plupart de leurs commandes ou pour les aider à faire des recommandations aux clients qui commandent dans la même région. Si nous expurgeons complètement les données, nous perdons des occasions d'améliorer notre plateforme. Notre défi consiste à trouver un juste milieu qui nous permette d'éliminer efficacement le risque d'utilisation abusive des données d'adresse des clients tout en conservant notre capacité à analyser les données de localisation pour générer des opportunités commerciales.

Perturbation gaussienne

Pour parvenir à ce juste milieu, nous pouvons transformer les données en coordonnées géographiques - latitude et longitude - par le biais d'un processus appelé géocodage. Comme le montre la figure 2, nous pouvons ensuite déplacer ces coordonnées dans la direction et la distance avec un certain degré d'aléatoire pour masquer les données spécifiques. 

Figure 2 : Géomatisation d'une adresse textuelle donnée

La distribution de ces points géomatisés suit une distribution gaussienne (normale) bimodale. Une approche gaussienne normale applique le même déplacement à la latitude et à la longitude. Une approche bimodale, en revanche, applique des déplacements différents à la latitude et à la longitude, ce qui permet un contrôle plus précis du niveau d'obscurcissement et réduit le risque que le déplacement soit égal à 0.

Le nouveau point géomatisé peut être modélisé par l'équation suivante

(Xnew, Ynew) = (Xο + Dx * cos( ?), Yο + Dy * sin(?))

Xo, Yo : les coordonnées lat/long d'origine

Dx : la distance à laquelle nous devons déplacer la latitude, choisie au hasard dans une distribution gaussienne avec une valeur moyenne de 0 et un écart-type de σx

Dy : la distance à laquelle nous devons déplacer la longitude, choisie au hasard dans une distribution gaussienne avec une valeur moyenne de 0 et un écart-type de σy

?: l'angle entre l'emplacement d'origine et l'emplacement géomatisé - une valeur choisie au hasard dans l'intervalle [0, 2π].

Cela nous permet d'affiner l'écart-type (σ) de la distribution gaussienne afin de protéger la vie privée de l'utilisateur tout en conservant une idée de la zone de livraison d'origine et la possibilité d'effectuer des analyses de localisation.

Étude de cas sur Twitter

Ce processus a été étudié à l'aide des données de localisation de Twitter, comme le montre la figure 3 ci-dessous :

Figure 3 : Diagramme comparant les caractéristiques de regroupement en fonction de l'écart-type utilisé.

Plus l'écart-type augmente, plus la grappe des emplacements des tweets est clairsemée, ce qui rend plus difficile l'identification de l'origine des tweets.

Restez informé grâce aux mises à jour hebdomadaires

Abonnez-vous à notre blog d'ingénierie pour recevoir régulièrement des informations sur les projets les plus intéressants sur lesquels notre équipe travaille.

Quantifier l'efficacité du géomasquage

Nous avons besoin d'un moyen de quantifier l'efficacité du géomasquage proposé ; dans quelle mesure avons-nous réduit le risque de réidentification ? Le k-anonymat spatial est la méthode la plus répandue pour le déterminer.

L'anonymat spatial k produit une valeur "K" qui mesure le nombre de lieux potentiels qui pourraient être identifiés comme étant le "véritable lieu" de l'utilisateur après le géomasquage. Avec cette valeur, la probabilité qu'un mauvais acteur choisisse le véritable emplacement est de 1/K. Plus la valeur de K est élevée, plus le géomasquage est efficace pour protéger l'emplacement réel de l'utilisateur.

Figure 4 : Exemple de k-anonymat spatial

Densité de population

La densité de population du lieu où se trouve un utilisateur peut avoir un impact sur l'efficacité du géomasquage. Prenons ce cas extrême : Un utilisateur commande à partir d'une zone rurale où sa maison est la seule sur un kilomètre carré. Après l'application du géomasquage, un nouveau point déplacé peut encore exister dans les limites de ce kilomètre carré. Cela signifie qu'un acteur malveillant pourrait facilement réidentifier l'adresse du domicile de l'utilisateur. 

Au lieu de cela, nous pourrions rendre la densité de la population locale inversement proportionnelle à l'écart-type utilisé pour nos distributions gaussiennes. Dans les zones urbaines, nos points géomatisés s'écarteraient moins que ceux des zones rurales.

La nature de l'activité de DoorDash signifie que les commandes sont principalement livrées dans des zones suburbaines ou urbaines, ce qui rend l'exemple rural beaucoup moins préoccupant. Néanmoins, il s'agit d'une considération importante pour un certain nombre d'autres applications.

Estimation du k-anonymat

Nous pouvons estimer le k-anonymat d'un point géomatisé donné en multipliant la densité de la population locale par une approximation circulaire de la distribution de probabilité gaussienne, comme le montre la figure 5.

Figure 5 : Approche de l'anneau circulaire pouvant être utilisée pour estimer le k-anonymat

Cette méthode s'inspire de celle utilisée dans un article de 2006 étudiant le géomasquage à des fins épidémiologiques :

"Puisque 68,26 % des patients devraient se trouver, en moyenne, dans le premier écart-type, soit σ miles de rayon par rapport à leur lieu d'origine, nous pouvons multiplier la densité de la population locale par la superficie, πσ², et par la probabilité que le patient ait été déplacé dans cette région, soit 0,6826. Nous pouvons ajouter à cela la densité de population de l'anneau suivant multipliée par sa superficie et la probabilité qu'un patient soit transplanté dans cette région, soit 0,2718. Enfin, nous pouvons ajouter la surface du dernier anneau multipliée par sa densité de population locale et sa densité de probabilité, soit 0,0428".

Cette description peut être modélisée comme suit :

K = (.6826 * β * A1) + (.2718 * β * A2) + (.0428 * β * A3) 

K : le degré d'anonymat k

β : densité de la population locale

σ: écart-type dans une distribution gaussienne

A1 : l'aire du cercle intérieur = πσ²

A2 : l'aire du cercle du milieu = 4πσ² - πσ²= 3πσ² 

A3 : l'aire du cercle extérieur = 9πσ² - 4πσ² = 5πσ²

À titre d'exemple, utilisons β = 100 ménages par km2 et fixons σ = 0,25 mi.

Il en résulterait un K d'environ 34 emplacements à partir desquels l'emplacement réel pourrait être localisé.

Recherche d'une valeur K optimale

Selon Khaled El Emam dans "Protéger la vie privée en utilisant l'anonymat K" :

"Même si une valeur K minimale de 3 est souvent suggérée, une recommandation courante dans la pratique est de s'assurer qu'il y a au moins cinq observations similaires (K = 5). Il est rare que les responsables des données utilisent des valeurs de K supérieures à 5, et très rare que des valeurs de K supérieures à 15 soient utilisées dans la pratique".

Une autre étude sur l'efficacité du masquage géographique des données épidémiologiques a utilisé une valeur de K = 20 comme indicateur de réussite.

Sur la base de ces exemples, nous proposons de viser une valeur K comprise entre 5 et 20.

Réglage de l'écart-type le plus raisonnable d'une distribution

Une fois que nous avons défini le K souhaité et que nous disposons d'une approximation raisonnable de la densité de population de la région concernée, nous pouvons inverser la formule précédente pour trouver un écart-type raisonnable à utiliser :

K = (.6826 * β * A1) + (.2718 * β * A2) + (.0428 * β * A3)

Discernement de la distance du déplacement d'adresse

À titre d'exemple, disons que nous avons choisi un écart-type de σ = 0,25 mi. Nous pouvons alors calculer le déplacement auquel nous pouvons nous attendre en suivant la règle 68-95-99,7.

Proportion de points géomatisésDéplacement maximal
68% (σ).25 mi du point d'origine
95% (2σ).50 mi du point d'origine
99.7% ().75 mi du point d'origine

Avec ce déplacement, on peut s'attendre à ce que 99,7 % des points déplacés se situent à moins de trois quarts de mille du point d'origine.

Conclusion

Nous avons démontré une approche efficace pour obscurcir les données relatives à l'adresse de l'utilisateur afin d'empêcher la réidentification, tout en fournissant un contexte suffisant pour pouvoir analyser les données afin d'améliorer notre plateforme et d'offrir une meilleure expérience à l'utilisateur.

About the Author

  • Alex Dougherty

    Alexander Dougherty is a software engineer on the Merchant Tech Platform Team at DoorDash. His focus is on building versatile platforms that form the backbone of various software applications.

Emplois connexes

Localisation
Oakland, CA ; San Francisco, CA
Département
Ingénierie
Localisation
Oakland, CA ; San Francisco, CA
Département
Ingénierie
Job ID: 2980899
Localisation
San Francisco, CA ; Sunnyvale, CA
Département
Ingénierie
Localisation
Pune, Inde
Département
Ingénierie
Localisation
Pune, Inde
Département
Ingénierie