Un artículo para entender el principio de la tecnología de privacidad diferencial de Apple

En la conferencia WWDC de Apple en junio de 2016, se mencionó una tecnología de privacidad diferencial (Differential Privacy), que se utiliza para perturbar los datos del usuario y luego subirlos al servidor de Apple. Apple puede usar estos datos perturbados para calcular los patrones de comportamiento de los grupos de usuarios, pero no puede analizar los datos de cada usuario individual.

Al adoptar una tecnología de privacidad diferencial, Apple puede aprender el comportamiento del usuario sin obtener los datos originales del usuario. Si desea conocer la tecnología detrás de "los datos están disponibles pero no son visibles", ¡síganos para conocer el principio detrás de la tecnología de privacidad diferencial de Apple !

1. Introducción

La privacidad diferencial es una tecnología de protección de la privacidad de los datos, que protege la privacidad al introducir perturbaciones aleatorias en los datos. En términos simples, los datos perturbados no se pueden extrapolar con precisión a su valor original. Al mismo tiempo, permite el análisis estadístico de los datos aleatorizados, asegurando la utilidad de los datos. La privacidad diferencial proporciona una definición matemática estricta para medir la privacidad y es una tecnología de protección de la privacidad común en la industria en los últimos años .

1.1 Escenarios de aplicación de privacidad diferencial

Apple utiliza la tecnología Local Differential Privacy (Privacidad diferencial local) para recopilar información sobre los dispositivos de los usuarios, y sus productos implementados se muestran en la siguiente tabla [1, 2].

nombre del producto usar
Sugerencias de QuickType Aprenda nuevas palabras interesantes para la predicción de escritura en el teclado
Sugerencias de emoji (predicción de emoji) Conozca la tendencia de los emoticonos populares y prediga los emoticonos utilizados por los usuarios.
Sugerencias de búsqueda Sugerencias del cuadro de búsqueda de iOS
Safari Energy Drenaje de dominios y dominios de bloqueo Estadísticas sobre sitios web que consumen mucha energía (alta CPU, alto uso de memoria) y sitios web que son propensos a fallas
Detección de intención de reproducción automática de Safari Preferencia estadística de los usuarios por los sitios que se reproducen automáticamente y no silencian
Uso del tipo de salud Estadísticas para tipos de datos de salud populares (sueño, frecuencia cardíaca, calorías, etc.)

1.2 Privacidad diferencial localizada

En el marco de privacidad diferencial localizado, el usuario agrega ruido (perturbación) a los datos originales cargados y el servidor no puede conocer los datos reales del usuario. Esta técnica fue propuesta por primera vez por Warner como una respuesta aleatoria (Randomized response) [3].

Las técnicas de privacidad diferencial localizada se pueden utilizar para estadísticas conjuntas, como medios informáticos, medianas, histogramas de frecuencia, etc. Su marco de algoritmo ( ERAP ) generalmente se divide en cuatro pasos:

  1. Codificación ( Codificación, E )
  2. Aleatorización ( aleatorización , R )
  3. Agregación ( Una agregación, A )
  4. Post-procesamiento ( P ost-procesamiento, P )

El cliente realiza la codificación y la aleatorización para garantizar que los datos transmitidos sean perturbados; el servidor realiza la agregación y el posprocesamiento para obtener las estadísticas correspondientes.

2. El plan de Apple

El esquema de privacidad diferencial localizado de Apple se puede encontrar en [2, 4, 5], entre los cuales [4, 5] son ​​patentes. Aquí hay una versión simple del esquema en [2], tomando como ejemplo el histograma de frecuencia de los emoticones estadísticos .

2.1 Cliente

De acuerdo con el marco de algoritmo ( ERAP ) mencionado anteriormente , el cliente debe codificar (E) y aleatorizar® los datos originales antes de cargar los datos .

Codificación (E): la codificación es para los pasos posteriores de aleatorización y agregación. La codificación de Apple utiliza una tabla hash y los elementos de la tabla inicial son todos "-1". Luego pasa la función hash hhh elementoddd (el paquete de emoticonos más utilizado) está asignado a la posiciónh ( d ) h(d)h ( d ) , y marque "1". Supongamos que la longitud de la tabla hash esmmm (este parámetro se utiliza durante la agregación).

Randomization® : La aleatorización es un paso clave en la privacidad diferencial, que garantiza la privacidad de los datos . Dado que los datos codificados son tanto "1" como "-1", deje que cada bit con la probabilidad establecida ppp cambia, es decir, "1" se convierte en "-1" o "-1" se convierte en "1". dondep = 1 / ( 1 + e ϵ / 2 ) p=1/(1+e^{\epsilon/2})pag=1/ ( 1+miϵ /2 ),ϵ \epsilonϵ se denomina presupuesto de privacidad y se desarrollará en la Sección 2.4.

2.2 Lado del servidor

De acuerdo con el marco de algoritmo ( ERAP ) mencionado anteriormente , el servidor necesita agregar (A) y procesar posteriormente los datos "perturbados" después de recibir los datos§ .

Agregación (A) : dado que los datos cargados por cada usuario están perturbados, la agregación puede eliminar la influencia de parte del ruido . Suponiendo un total de nnn usuarios, el servidor recibe usuarioiiLa tabla hash de i esv ( i ) v^{(i)}v( yo ) . El servidor primero calcula:

x ( yo ) = c ϵ v ( yo ) + 1 2 x^{(i)}=\frac{c_\epsilon v^{(i)}+1}{2}X( yo )=2Cϵv( yo ) +1,Dado c ϵ = e ϵ / 2 + 1 e ϵ / 2 − 1 c_\epsilon=\frac{e^{\epsilon/2}+1}{e^{\epsilon/2}-1}Cϵ=miϵ /21miϵ /2 +1

entonces todo xxLas posiciones correspondientes de x se acumulan para obtener MMM , es decir

METRO = ∑ yo = 1 nx ( yo ) M=\sum_{i=1}^nx^{(i)}METRO=yo = 1nX( yo )

Entonces el elemento estadístico ddEl número de d f ~ ( d ) \tilde{f}(d)F~( d ) se formula de la siguiente manera, dondeM h ( d ) M_{h(d)}METROh ( d )significa MMM está en la posiciónh ( d ) h(d)valor de h ( d )

f ~ ( re ) = mm − 1 ( METRO h ( re ) − nm ) \tilde{f}(d)=\frac{m}{m-1}\Big(M_{h(d)}-\frac {n}{m}\Grande)F~( re )=metro1m( Mh ( d )metron)

Se puede demostrar que f ~ ( d ) \tilde{f}(d)F~( d ) esf ( d ) f(d)La estimación imparcial de f ( d ) , es decir, E [ f ~ ( d ) ] = f ( d ) \mathbb{E}[\tilde{f}(d)]=f(d)mi [F~( d )]=f ( d ) , dondef ( d ) f(d)f ( d ) es el elementoddEl número real de d . Esto significa que la desviación esperada del valor estimado del valor real es cero, lo que garantiza la falta de sesgo del valor estimado.

Posprocesamiento § : en diferentes escenarios de aplicación, las estadísticas calculadas pueden tener un conocimiento previo, como la limitación del rango de valores (como mayor que 0), o mantener la suma sin cambios (como el número de estadísticas), entonces debe ser operaciones de posprocesamiento. La naturaleza de la privacidad diferencial es tal que cualquier operación de posprocesamiento no afecta la privacidad de sus resultados .

2.3 Otras tecnologías

Hay muchos aspectos a considerar en la protección de la privacidad de datos, y solo el uso de tecnología de privacidad diferencial no puede resolver todos los problemas . Apple también utiliza otras tecnologías en el plan para proteger la privacidad de los datos, como la desensibilización de datos, el cifrado de comunicaciones, el control de acceso , etc.

  1. Los datos subidos por el usuario tienen información como identificadores de dispositivos y marcas de tiempo eliminadas
  2. La comunicación entre el usuario y el servidor utiliza el protocolo TLS, es decir, transmisión de datos encriptada
  3. Después de que el servidor recibe los datos del usuario, primero elimina la metainformación , como la dirección IP y la marca de tiempo , y cambia el orden de los datos (shuffle)
  4. La agregación de datos se realiza en un entorno de acceso restringido
  5. Los datos solo circulan dentro de Apple, y los empleados de Apple no pueden acceder a los datos a voluntad.

2.4 Presupuesto de privacidad

Después de ver esto, todos deberían entender que la privacidad diferencial es lograr la protección de la privacidad aumentando el ruido (perturbación) , pero debido al aumento de la perturbación, el resultado de la agregación será inexacto (aumentará la varianza de las estadísticas). Entonces, lo siguiente presenta el presupuesto de privacidad ϵ \epsilon que equilibra la privacidad y la practicidad del algoritmo.ϵ .

En privacidad diferencial el presupuesto de privacidad ϵ \epsilonLa elección de ϵ afectarála privacidad y la practicidad del algoritmo, lo que se denomina compensación entre Privacidad-Utilidad. Menor presupuesto de privacidadϵ \epsilonϵ significa una fuerte capacidad de protección de la privacidad. Por ejemplo, la probabilidad de perturbación de aleatorización de bits de datosp = 1 / ( 1 + e ϵ / 2 ) p=1/(1+e^{\epsilon/2})pag=1/ ( 1+miϵ /2 ), yϵ \epsilonEl valor de ϵ haráppp aumenta, por lo que el riesgo de fuga de privacidad disminuirá, pero esto también afectará la precisión de los resultados.

Además, aunque se agregan perturbaciones de privacidad diferencial a los datos, el mismo usuario continuará cargando nuevos datos.De acuerdo con el teorema de combinación de cadenas de privacidad diferencial, el presupuesto de privacidad ϵ \epsilonϵ aumentará gradualmente con el tiempo. Por lo tanto,Appleha limitado la cantidad máxima de veces que los usuarios pueden cargar datos por día y dijo que los datos solo se conservarán durante un máximo de tres meses.

nombre del producto Presupuesto de privacidad ϵ \epsilonEl valor de ϵ Número máximo de cargas de datos/día
Sugerencias de QuickType 8 2
Sugerencias de emoji (predicción de emoji) 4 1
Sugerencias de búsqueda 4 2
Safari Energy Drenaje de dominios y dominios de bloqueo 4 2
Detección de intención de reproducción automática de Safari 8 2
Uso del tipo de salud 2 1

Algunas investigaciones [6] señalaron que Apple debería explicar cómo establecer el presupuesto de privacidad ϵ \epsilonEl valor de ϵ , informar al usuario y hacerlo transparente. Por ejemplo, aunque el presupuesto de privacidad ϵ \epsilondeclarado en el producto EmojiEl valor de ϵ es 1, pero se encuentra que es 2 después de la ingeniería inversa del código (datos de iOS 10.1.1 y MacOS 10.12.3). Además, la acumulación de presupuestos de privacidad a lo largo del tiempo también es un problema importante para sus esquemas.

3. Optimización del programa

Lo que se describe en la Sección 2 es una versión simplificada del esquema, mientras que el esquema de Apple se ha optimizado para la comunicación, la precisión de las estadísticas y la adaptación de la escena [2] de la siguiente manera:

  1. Para reducir el impacto de las colisiones hash, en realidad hay kkFunciones hash K , cada usuario selecciona una aleatoriamente al codificar e informa al servidor de la función hash seleccionada. El servidor construyekkk tablas hash y luego realizar cálculos de agregación.
  2. Para reducir el tráfico, la solución de Apple realiza la transformación de Hadamard en los datos codificados y selecciona aleatoriamente 1 bit de datos para enviar al servidor mediante muestreo. Esto no solo reduce la cantidad de comunicación, sino que tampoco aumenta la varianza de las estadísticas.
  3. Los datos de los emoticonos generalmente son fijos, pero en algunos escenarios, los datos de los usuarios son impredecibles. Como aprender nuevo vocabulario popular, sitio web de estadísticas. Apple adoptó la tecnología Sequence Fragment Puzzle y diseñó una solución de privacidad diferencial localizada.

4. Prueba de estimación imparcial

Aquí todavía se explica en el orden del marco del algoritmo ( ERAP ), demostrando que f ~ ( d ) \tilde{f}(d)F~( d ) esf ( d ) f(d)Una estimación imparcial de f ( d ) .

4.1 Codificación _

usuario iiLa tabla hash de i esv ( i ) v^{(i)}v( i ) , elementoddLa posición de mapeo de d en la tabla esh ( d ) h(d)h ( d ) , su valor de codificación correspondiente esvh ( d ) ( i ) v^{(i)}_{h(d)}vh ( d )( yo ). usuario iiEl elemento subido por i es d ( i ) d^{(i)}d( i ) , el valor de codificación de su posición correspondiente es "1", y las posiciones restantes de la tabla hash son "-1". Entonces cuandod ( i ) = dd^{(i)}=dd( yo )=d时,vh ( d ) ( i ) v^{(i)}_{h(d)}vh ( d )( yo )expectativas para

mi [ vh ( re ) ( yo ) ] = 1 \mathbb{E}[v^{(i)}_{h(d)}]=1mi [ vh ( d )( yo )]=1

Dado que puede haber colisiones (colisiones) en la tabla hash, es decir, se marcan diferentes elementos en la misma posición. Suponiendo que la probabilidad de asignación de datos a diferentes ubicaciones es la misma, la probabilidad de colisión es 1 / m 1/m1 / metro Por lo tanto cuandod ( i ) ≠ dd^{(i)}\neq dd( yo )=d时,vh ( d ) ( i ) v^{(i)}_{h(d)}vh ( d )( yo )expectativas para

mi [ vh ( re ) ( yo ) ] = 1 metro ⋅ 1 + ( 1 − 1 metro ) ⋅ ( − 1 ) = 2 metro − 1 \mathbb{E}[v^{(i)}_{h(d )}]=\frac{1}{m}\cdot 1+\Grande(1-\frac{1}{m}\Grande)\cdot(-1)=\frac{2}{m}-1mi [ vh ( d )( yo )]=metro1 1+( 1metro1)( -1 ) _=metro21

Por lo tanto vh ( d ) ( i ) v^{(i)}_{h(d)}vh ( d )( yo )expectativas para

mi [ vh ( re ) ( yo ) ] = yo { re ( yo ) = re } + ( 2 metro − 1 ) yo { re ( yo ) ≠ re } \mathbb{E}[v^{(i)}_ {h(d)}]=\mathbb{I}\{d^{(i)}=d\}+\Grande(\frac{2}{m}-1\Grande)\mathbb{I}\{ d^{(i)}\neq d\}mi [ vh ( d )( yo )]=yo { d( yo )=re }+(metro21 ) yo { re( yo )=re }

4.2 Aleatorización _

La probabilidad de un cambio de bit cuando se aleatoriza es p = 1 / ( 1 + e ϵ / 2 ) p=1/(1+e^{\epsilon/2})pag=1/ ( 1+miϵ /2 ). Supongamos que la variable aleatoriaB ∈ { − 1 , 1 } B\in\{-1,1\}B{ - 1 ,1 } ,Pag ⁡ ( segundo = − 1 ) = pag \Pr(B=-1)=pagPR ( B)=1 )=pag _

mi [ segundo ] = pags ⋅ ( - 1 ) + ( 1 - pags ) ⋅ 1 = 1 - 2 pags = mi ϵ / 2 - 1 mi ϵ / 2 + 1 = 1 c ϵ \mathbb{E}[B]= p\cdot(-1)+(1-p)\cdot 1=1-2p=\frac{e^{\epsilon/2}-1}{e^{\epsilon/2}+1}=\frac {1}{c_\épsilon}mi [ segundo ]=pag( -1 ) _+( 1pag ) 1=12p _=miϵ /2 +1miϵ /21=Cϵ1,Dado c ϵ = e ϵ / 2 + 1 e ϵ / 2 − 1 c_\epsilon=\frac{e^{\epsilon/2}+1}{e^{\epsilon/2}-1}Cϵ=miϵ /21miϵ /2 +1

usuario iiLa tabla hash después de la aleatorización i esB v ( i ) Bv^{(i)}B v( i ) , elementoddEl valor codificado de d en la tabla esB vh ( d ) ( i ) Bv^{(i)}_{h(d)}B vh ( d )( yo )

mi [ segundo vh ( re ) ( yo ) ] = mi [ segundo ] ⋅ mi [ vh ( re ) ( yo ) ] = 1 c ϵ mi [ vh ( re ) ( yo ) ] \mathbb{E}[Bv^{ (i)}_{h(d)}]=\mathbb{E}[B]\cdot\mathbb{E}[v^{(i)}_{h(d)}]=\frac{1} {c_\epsilon}\mathbb{E}[v^{(i)}_{h(d)}]mi [ segundo vh ( d )( yo )]=mi [ segundo ]mi [ vh ( d )( yo )]=Cϵ1mi [ vh ( d )( yo )]

4.3 Agregación _

El servidor convierte la tabla hash aleatoria, es decir, calcula xxx _ elementoddd en el usuarioiiEl valor codificado de la posición de mapeo después de la conversión de la tabla hash i es xh ( d ) ( i ) x^{(i)}_{h(d)}Xh ( d )( yo ),

xh ( re ) ( yo ) = c ϵ segundo vh ( re ) ( yo ) + 1 2 x^{(i)}_{h(d)}=\frac{c_\epsilon segundo v^{(i)} _ {h(d)}+1}{2}Xh ( d )( yo )=2Cϵ B vh ( d )( yo )+1

d ( i ) = dd^{(i)}=dd( yo )=re ,mi [ c ϵ segundo vh ( re ) ( yo ) ] = 1 \mathbb{E}[c_\epsilon Bv^{(i)}_{h(d)}]=1mi [ doϵ B vh ( d )( yo )]=1 , entonces

mi [ xh ( re ) ( yo ) ] = 1 \mathbb{E}[x^{(i)}_{h(d)}]=1mi [ xh ( d )( yo )]=1

d ( i ) ≠ dd^{(i)}\neq dd( yo )=re ,mi [ c ϵ segundo vh ( re ) ( yo ) ] = 2 metro − 1 \mathbb{E}[c_\epsilon Bv^{(i)}_{h(d)}]=\frac{2 } {m}-1mi [ doϵ B vh ( d )( yo )]=metro21 , entonces

mi [ xh ( d ) ( yo ) ] = 1 metro \mathbb{E}[x^{(i)}_{h(d)}]=\frac{1}{m}mi [ xh ( d )( yo )]=metro1

Entonces xh ( d ) ( i ) x^{(i)}_{h(d)}Xh ( d )( yo )expectativas para

mi [ xh ( re ) ( yo ) ] = yo { re ( yo ) = re } + 1 metro yo { re ( yo ) ≠ re } \mathbb{E}[x^{(i)}_{h(d )}]=\mathbb{I}\{d^{(i)}=d\}+\frac{1}{m}\mathbb{I}\{d^{(i)}\neq d\}mi [ xh ( d )( yo )]=yo { d( yo )=re }+metro1yo { d( yo )=re }

poner todo xxAcumular x , calcularMMM , elementoddd enMMEl valor codificado de la posición mapeada en M es M h ( d ) M_{h(d)}METROh ( d ),

METRO h ( re ) = ∑ yo = 1 nxh ( re ) ( yo ) M_{h(d)}=\sum_{i=1}^nx^{(i)}_{h(d)}METROh ( d )=yo = 1nXh ( d )( yo )

Calcule su expectativa, donde f ( d ) f(d)f ( d ) es el elementoddel número real de d

mi [ METRO h ( re ) ] = mi [ ∑ yo = 1 nxh ( re ) ( yo ) ] = ∑ yo = 1 norte yo { re ( yo ) = re } + 1 metro ∑ yo = 1 norte yo { re ( yo ) ≠ re } = f ( re ) + 1 metro ( norte − f ( re ) ) = metro − 1 mf ( re ) + nm \begin{alineado} \mathbb{E}[M_{h(d)}] &=\mathbb{E}\Grande[\sum_{i=1}^nx^{(i)}_{h(d)}\Grande] \\ &=\sum_{i=1}^n\mathbb {I}\{d^{(i)}=d\}+\frac{1}{m}\sum_{i=1}^n\mathbb{I}\{d^{(i)}\neq d\} \\ &=f(d)+\frac{1}{m}\Big(nf(d)\Big) \\ &=\frac{m-1}{m}f(d)+\ frac{n}{m} \end{alineado}mi [ meh ( d )]=mi [yo = 1nXh ( d )( yo )] =yo = 1nyo { d( yo )=re }+metro1yo = 1nyo { d( yo )=re } =f ( re )+metro1( nf ( d ) )=metrometro1f ( re )+metron

Como f ~ ( d ) \tilde{f}(d)F~( d ) es el elementoddEl valor estadístico de d números, su fórmula de cálculo es

f ~ ( re ) = mm − 1 ( METRO h ( re ) − nm ) \tilde{f}(d)=\frac{m}{m-1}\Big(M_{h(d)}-\frac {n}{m}\Grande)F~( re )=metro1m( Mh ( d )metron)

entonces

mi [ f ~ ( re ) ] = f ( re ) \mathbb{E}[\tilde{f}(d)]=f(d)mi [F~( d )]=f ( re )

f ~ ( d ) \tilde{f}(d)F~( d ) esf ( d ) f(d)Una estimación imparcial de f ( d ) .

Una pequeña variación de una estadística significa una alta precisión de estimación. Acerca de las estadísticas f ~ ( d ) \tilde{f}(d)F~( d ) Consultela prueba de la variación.

El método anterior de derivación de fórmulas demuestra la precisión del algoritmo de "privacidad diferencial" adoptado por Apple , que puede realizar cálculos estadísticos bajo la condición de que "los datos estén disponibles pero no sean visibles".

cinco, finalmente

La tecnología de privacidad diferencial aparentemente "inalcanzable" en realidad ha entrado en nuestra vida y trabajo diarios para proteger nuestra privacidad personal.

Este artículo explica el principio de la tecnología de privacidad diferencial de Apple a través de gráficos fáciles de entender y una derivación rigurosa de fórmulas, con la esperanza de despertar su interés en la tecnología informática de privacidad. Finalmente, si tiene alguna otra tecnología relacionada con la informática de privacidad que desea conocer , ¡déjenos un mensaje para informarnos!

PrimiHub es una plataforma informática de privacidad de código abierto creada por un equipo de expertos en criptografía. Nos enfocamos en compartir tecnologías y contenido en campos de computación de privacidad como seguridad de datos, criptografía, aprendizaje federado y encriptación homomórfica.

referencias

[1] Resumen técnico de privacidad diferencial de Apple. https://www.apple.com/privacy/docs/Differential_Privacy_Overview.pdf

[2] Equipo de privacidad diferencial, Apple. “Aprendizaje con privacidad a escala”. (2017). https://docs-assets.developer.apple.com/ml-research/papers/learning-with-privacy-at-scale.pdf

[3] Warner, Stanley L. "Respuesta aleatoria: una técnica de encuesta para eliminar el sesgo de respuesta evasiva". Revista de la Asociación Estadounidense de Estadística 60, no. 309 (1965): 63-69. https://www.jstor.org/stable/2283137

[4] Thakurta, Abhradeep Guha, Andrew H. Vyrros, Umesh S. Vaishampayan, Gaurav Kapoor, Julien Freudiger, Vivek Rangarajan Sridhar y Doug Davidson. "Aprender nuevas palabras". Patentes estadounidenses concedidas 9645998 (2017). https://patents.google.com/patent/US9645998

[5] Thakurta, Abhradeep Guha, Andrew H. Vyrros, Umesh S. Vaishampayan, Gaurav Kapoor, Julien Freudinger, Vipul Ved Prakash, Arnaud Legendre y Steven Duplinsky. "Detección de frecuencia de emoji y frecuencia de enlace profundo". Patentes estadounidenses concedidas 9705908 (2017). https://patents.google.com/patent/US9705908

[6] Tang, Jun, Aleksandra Korolova, Xiaolong Bai, Xueqiang Wang y Xiaofeng Wang. "Pérdida de privacidad en la implementación de Apple de privacidad diferencial en macos 10.12". preimpresión de arXiv arXiv:1709.02753 (2017). https://arxiv.org/pdf/1709.02753

Supongo que te gusta

Origin blog.csdn.net/PrimiHub/article/details/131655929
Recomendado
Clasificación