Ir al contenido

Blog


Ingeniería de privacidad en DoorDash Drive

14 de noviembre de 2023

|
Alex Dougherty

Alex Dougherty

DoorDash integra proactivamente la privacidad en nuestros productos. Como ejemplo de cómo lo hacemos, profundizamos aquí en un esfuerzo de ingeniería para mantener la privacidad del usuario. Mostraremos cómo la geomarcación de direcciones permite a DoorDash proteger la privacidad del usuario al tiempo que mantiene las capacidades analíticas locales.

Visión general de la ingeniería de privacidad

Para facilitar las entregas, los usuarios deben facilitarnos algunos datos personales, como nombres, direcciones y números de teléfono, en una solicitud de Drive API. Esta información es necesaria para que Dashers sepa dónde y a quién entregar un pedido. Dado que esta información puede utilizarse para volver a identificar a una persona, podría ser utilizada por un actor malintencionado para causar daños, incluidos el robo de identidad y el doxxing

Por eso queremos asegurarnos de que estos datos personales se redacten (borren u oculten) de nuestra plataforma en un plazo razonable después de que se complete una entrega. De este modo, aunque un malhechor acceda sin autorización a nuestra base de datos, los datos personales ya no estarán allí, lo que impedirá que se haga un uso indebido de ellos.

Políticas definidas por el comerciante

En DoorDash Drive, los comerciantes pueden configurar políticas de redacción sobre cuándo se redactarán los datos personales relacionados con sus pedidos.

Si un comerciante no configura dicha política, estableceremos un tiempo predeterminado para redactar los datos de todos modos. No se permitirá que persistan indefinidamente.

Redacción asíncrona

Como es práctica habitual en el sector, cada usuario se asocia a un identificador único. Los datos personales pueden propagarse a través de muchas capas de un sistema distribuido, por lo que asociamos instancias de estos datos con un identificador.

Como se puede ver en la figura 1, un trabajo asíncrono de elegibilidad de redacción combina varias entradas para determinar si un usuario es elegible para la redacción, incluidas las políticas definidas por el comerciante, el momento en el que se realizaron los pedidos de unidades y un mapeo de dónde se han propagado los datos. Si los datos son aptos para la eliminación, el trabajo publica un mensaje en un tema de Kafka, indicando que se eliminen los datos asociados a este usuario. Cada servicio que mantenga una copia de estos datos tendrá un receptor correspondiente, que puede iniciar un proceso para eliminar los datos de sus tablas.

Cada proceso puede ejecutarse en paralelo, lo que limita el tiempo total de redacción al proceso individual más largo. Solo se considera que la redacción se ha realizado correctamente cuando todos los procesos han enviado una señal de confirmación de éxito. 

Figura 1: Flujo síncrono de datos personales al almacenamiento, con proceso asíncrono para ejecutar la redacción.

Geomarcación de direcciones

A modo de ejemplo, podemos profundizar en un dato concreto implicado en el flujo de alto nivel, la dirección de entrega del usuario. En algunos casos, existe una falsa dicotomía entre poder proteger la información personal sensible y poder aprovechar los datos con fines analíticos, incluida la mejora de las recomendaciones y la generación de inferencias valiosas. Los datos de direcciones, por ejemplo, podrían utilizarse para informar a los comerciantes de dónde proceden la mayoría de sus pedidos o para ayudar a hacer recomendaciones a los clientes que hacen pedidos en la misma zona. Si eliminamos los datos por completo, perdemos oportunidades de mejorar nuestra plataforma. Nuestro reto es encontrar un término medio que nos permita eliminar eficazmente el riesgo de que se haga un uso indebido de los datos de las direcciones de los clientes y, al mismo tiempo, mantener nuestra capacidad de analizar los datos de localización para generar oportunidades de negocio.

Perturbación gaussiana

Para alcanzar ese término medio, podemos transformarlas en coordenadas geográficas -latitud y longitud- mediante un proceso llamado geocodificación. Como se muestra en la Figura 2, a continuación podemos desplazar estas coordenadas tanto en dirección como en distancia mediante un grado de aleatoriedad para enmascarar los datos específicos. 

Figura 2: Geomarcación de una dirección de texto dada

La distribución de estos puntos geomarcados sigue una distribución gaussiana (normal) bimodal. Un enfoque gaussiano normal aplica el mismo desplazamiento tanto a la latitud como a la longitud. Un enfoque bimodal, en cambio, aplica desplazamientos diferentes a la latitud y la longitud, lo que permite un control más preciso del nivel de ofuscación y reduce la posibilidad de que el desplazamiento sea 0.

El nuevo punto geomasked puede modelarse mediante la siguiente ecuación

(Xnuevo, Ynuevo) = (Xο + Dx * cos(?), Yο + Dy * sen(?))

Xo, Yo: las coordenadas lat/long originales

Dx la distancia a la que vamos a desplazar la latitud, seleccionada aleatoriamente de una distribución gaussiana con valor medio 0 y desviación típica σx

Dy: la distancia que vamos a desplazar la longitud, seleccionada aleatoriamente de una distribución gaussiana con valor medio 0 y desviación típica σy

?: el ángulo entre la ubicación original y la ubicación geomarcada: un valor seleccionado aleatoriamente del intervalo [0, 2π].

Esto nos permite ajustar con precisión la desviación estándar (σ) de la distribución gaussiana para proteger la privacidad del usuario y, al mismo tiempo, mantener una idea de la zona de entrega original y la oportunidad de realizar análisis de localización.

Estudio de caso de Twitter

Este proceso se ha estudiado utilizando datos de localización de Twitter, como se muestra a continuación en la Figura 3:

Figura 3: Diagrama para comparar las características de agrupación con la desviación típica utilizada.

A medida que aumenta la desviación típica, el grupo de ubicaciones de los tweets se vuelve más disperso, lo que dificulta la localización del origen de los tweets.

Manténgase informado con las actualizaciones semanales

Suscríbase a nuestro blog de ingeniería para estar al día de los proyectos más interesantes en los que trabaja nuestro equipo.

Cuantificación de la eficacia del geomasking

Necesitamos una forma de cuantificar la eficacia del geomasking propuesto: ¿en qué medida hemos reducido el riesgo de reidentificación? El k-anonimato espacial es el método más utilizado para determinarlo.

El anonimato k espacial produce un valor "K" que mide el número de ubicaciones potenciales que podrían ser identificadas como la "verdadera ubicación" del usuario tras el geomasking. Con este valor, la probabilidad de que un actor malintencionado seleccione la ubicación verdadera es de 1/K. Cuanto mayor sea el valor de K, más eficaz será el geomasking para proteger la ubicación real del usuario.

Figura 4. Ejemplo de k-anonimato espacial Ejemplo de k-anonimato espacial

Densidad de población

La densidad de población de la ubicación de un usuario puede influir en la eficacia de la geomarcación. Consideremos este caso extremo: Un usuario hace un pedido desde una zona rural en la que su casa es la única en una milla cuadrada. Tras aplicar el geomasking, un nuevo punto desplazado podría seguir existiendo dentro de los límites de esta milla cuadrada. Esto significaría que un malhechor podría volver a identificar fácilmente la dirección del usuario. 

En su lugar, podríamos hacer que la densidad de población local fuera inversamente proporcional a la desviación típica utilizada para nuestras distribuciones gaussianas. En las zonas urbanas, nuestros puntos geomarcados se desviarían menos que los de las zonas rurales.

La naturaleza del negocio de DoorDash implica que los pedidos se entregan principalmente en zonas suburbanas o urbanas, por lo que el ejemplo rural es mucho menos preocupante. No obstante, es una consideración importante en muchas otras aplicaciones.

Estimación del anonimato k

Podemos estimar el anonimato k de cualquier punto geomarcable multiplicando la densidad de población local por una aproximación de anillo circular de la distribución de probabilidad gaussiana, como se muestra en la figura 5.

Figura 5: Aproximación de anillo circular que puede utilizarse para estimar el anonimato k

Se inspira en la metodología utilizada en un artículo de 2006 que estudiaba la geomarcación con fines epidemiológicos:

"Dado que el 68,26% de los pacientes deberían encontrarse, por término medio, dentro de la primera desviación típica, σ millas de radio desde donde se encontraban originalmente, podemos multiplicar la densidad de población local por el área, πσ² y por la probabilidad de que el paciente hubiera sido trasladado a esa región, 0,6826. Podemos añadir a esto la densidad de población del anillo siguiente multiplicada por su área y su probabilidad de que un paciente fuera trasplantado a esa zona, 0,2718. Por último, podemos añadir el área del último anillo multiplicada por su densidad de población local por su densidad de probabilidad, 0,0428".

Esta descripción puede modelarse del siguiente modo:

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

K: el grado de k-anonimato

β: densidad de población local

σ: desviación típica de la distribución gaussiana

A1: el área del círculo interior = πσ²

A2: el área del círculo del medio = 4πσ² - πσ²= 3πσ² 

A3: el área del círculo exterior = 9πσ² - 4πσ² = 5πσ²

A modo de ejemplo, utilicemos β = 100 hogares por km2 y fijemos σ = 0,25 km2.

Esto daría como resultado un K de aproximadamente 34 lugares a partir de los cuales se podría localizar la verdadera ubicación.

Encontrar un valor óptimo de K

Según Khaled El Emam en "Protección de la intimidad mediante el anonimato K":

"Aunque a menudo se sugiere un valor mínimo de K de 3, una recomendación común en la práctica es garantizar que haya al menos cinco observaciones similares (K = 5). Es infrecuente que los custodios de datos utilicen valores de K superiores a 5, y bastante raro que en la práctica se utilicen valores de K superiores a 15."

Otro estudio sobre la eficacia del geomasking en datos epidemiológicos utilizó un valor de K = 20 como indicador de éxito.

Basándonos en estos ejemplos, proponemos esforzarnos por conseguir un valor K entre 5 y 20.

Ajuste a la desviación típica más razonable de una distribución

Una vez que hayamos fijado la K deseada y tengamos una aproximación razonable de la densidad de población de la región en cuestión, podemos aplicar ingeniería inversa a la fórmula anterior para encontrar una desviación típica razonable:

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

Discernir la distancia de desplazamiento de la dirección

Como ejemplo, supongamos que elegimos una desviación típica de σ = 0,25 mi. Entonces podemos deducir cuánto desplazamiento podemos esperar siguiendo la regla 68-95-99,7.

Proporción de puntos geomarcadosDesplazamiento máximo
68% (σ).25 mi lejos del punto original
95% (2σ).50 mi lejos del punto original
99.7% ()A 0,75 millas del punto original

Con este desplazamiento, podemos esperar que el 99,7% de los puntos desplazados se sitúen a menos de tres cuartos de milla del punto original.

Conclusión

Hemos demostrado un enfoque eficaz para ofuscar los datos de las direcciones de los usuarios con el fin de ayudar a prevenir la reidentificación, sin dejar de dar el contexto suficiente para poder analizar los datos con el fin de mejorar nuestra plataforma y ofrecer una mejor experiencia de usuario.

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.

Trabajos relacionados

Ubicación
Oakland, CA; San Francisco, CA
Departamento
Ingeniería
Ubicación
Oakland, CA; San Francisco, CA
Departamento
Ingeniería
Job ID: 2980899
Ubicación
San Francisco, CA; Sunnyvale, CA
Departamento
Ingeniería
Ubicación
Pune, India
Departamento
Ingeniería
Ubicación
Pune, India
Departamento
Ingeniería