Protección de la privacidad recuperación de información privada

[Introducción] La protección de la privacidad del usuario implica muchos aspectos, y la protección de la privacidad del comportamiento del usuario es aún más difícil. Leí un artículo durante el fin de semana, https://cacm.acm.org/magazines/2010/4/81501-private-information-retrieval/fulltext, que involucra muchos métodos y conceptos matemáticos. Es una recuperación de información privada y muy laboriosa. ¿Será demasiado? ¿Cuál es la motivación para que las empresas hagan esto?

La popularidad de Internet significa que existe una gran cantidad de datos y recursos en línea que son indispensables para recuperar información y, hasta cierto punto, también plantea un riesgo importante para la privacidad de los usuarios. De hecho, los usuarios suelen desconfiar de acceder a datos públicos cuando pretenden mantenerlos privados. Por ejemplo, una empresa puede desear realizar búsquedas de determinadas patentes sin revelar su identidad.

Entonces, ¿cómo proteger la privacidad de los usuarios cuando recuperan información? Esto puede implicar una tecnología llamada recuperación de información privada.

58cf24625605842c7110df87e206efa8.jpeg

¿Qué es la recuperación de información privada?

La recuperación de información privada es un protocolo criptográfico diseñado para proteger la privacidad de los usuarios de datos, permitiendo a los clientes recuperar registros de bases de datos públicas mientras oculta la identidad de los registros recuperados al propietario de los datos. De hecho, la posibilidad de recuperar los datos sin revelar su identidad al propietario de los datos es casi nula. Por supuesto, existe una solución sencilla: cuando un usuario necesita un solo dato, puede solicitar una copia de toda la base de datos. Sin embargo, esta solución implica una enorme sobrecarga de comunicación y puede no ser aceptable. Esta sencilla solución es óptima para aquellos usuarios que desean proteger completamente su privacidad.

En 1995, la industria propuso un esquema de recuperación de información privada. En el protocolo de este esquema, el usuario consulta cada servidor que guarda la base de datos para garantizar que cada servidor individual no pueda obtener información de identificación sobre los elementos de interés para el usuario.

Los esquemas de recuperación de información privada están estrechamente relacionados con una clase especial de códigos de corrección de errores llamados "códigos decodificables localmente", que son objetos de interés por derecho propio. Los códigos de corrección de errores ayudan a garantizar una transmisión confiable de información a través de canales ruidosos y un almacenamiento confiable de información en medios donde los dispositivos de acceso son propensos a errores. Esta codificación permite agregar redundancia o cadenas de bits al mensaje y codificarlo en cadenas de bits más largas, de modo que incluso si una cierta proporción de las cadenas de bits están dañadas, el mensaje aún se puede recuperar. En una aplicación típica de códigos de corrección de errores, el mensaje primero se divide en pequeños bloques y luego cada bloque pequeño se codifica por separado. Esta estrategia de codificación permite una recuperación eficiente de información mediante acceso aleatorio porque sólo es necesario decodificar la parte de los datos de interés. Desafortunadamente, esta estrategia produce poca resistencia al ruido porque, incluso si un solo bloque está completamente dañado, se pierde parte de la información.

Dada esta limitación, parece preferible codificar el mensaje completo en una única palabra clave con corrección de errores directa. Esta solución mejora la robustez al ruido, pero es difícil de satisfacer ya que es necesario ver la palabra clave completa para recuperar cualquier parte específica del mensaje. Esta complejidad de decodificación no es posible con los conjuntos de datos a gran escala actuales.

El esquema de recuperación de información privada proporciona recuperación de acceso aleatorio eficiente y capacidades de recuperación de alto ruido, lo que permite una reconstrucción confiable de bits arbitrarios de información observando solo una pequeña cantidad de bits de palabras de código seleccionados aleatoriamente.

1c87e839520e69d37849e87ca8a2cfb7.jpeg

Una primera introducción a la recuperación de información privada.

Si los datos se modelan como una cadena X de n bits, la cadena se replica solo entre un pequeño número de servidores S1,...,Sk. El usuario tiene un índice i (un número entero entre 1 y n) y está interesado en obtener el valor del bit Xi. Para lograr este objetivo, el usuario consulta aleatoriamente cada servidor y recibe la respuesta a partir de la cual se calcula la ubicación Xi requerida. Las consultas a cada servidor se distribuyen independientemente de i, por lo que cada servidor no tiene información sobre lo que el usuario necesita.

Las consultas del usuario no son necesariamente solicitudes de un conjunto único de datos específico; especifican funciones calculadas por el servidor; por ejemplo, una consulta puede especificar un conjunto de índices entre 1 y n, y la respuesta del servidor puede almacenarse en esos índices. XOR de bits de datos.

El parámetro principal de los esquemas de recuperación de información privada es la complejidad de la comunicación, o una función que mide el número total de bits comunicados entre el usuario y el servidor. La complejidad de la comunicación del protocolo de recuperación de información privada de servidor dual más eficaz actual es O (n elevado a 1/3 de la potencia). Sin embargo, se han mejorado los esquemas de recuperación de información privada que involucran tres o más servidores.

La codificación Hadamard permite una recuperación ultrarrápida de bits de mensajes a expensas de longitudes de código muy grandes. Por ejemplo, dada una codificación corrupta del 10%, leer solo dos bits del código recuperará cualquier parte del mensaje con una probabilidad del 80%. Esto significa que cada bit Xi del mensaje se puede recuperar a partir de k-tuplas de muchos bits de palabras de código diferentes. Por lo tanto, la distribución de cada consulta del decodificador debe estar algo cercana a una distribución uniforme sobre los bits codificados.

El protocolo de verificación es propietario y muy simple, ya que para cada j en [k], la consulta Qj se distribuye uniformemente sobre el conjunto de coordenadas de la palabra clave, y el volumen total de comunicación viene dado por k (logN + 1).

0b5eed648f8cd7eaabf14f0b0c881281.jpeg

Recuperación temprana de información privada

El objetivo del esquema de recuperación de información privada es acceder a datos de n bits utilizando comunicación O (n 1/d potencia) proporcionando un esquema de servidor simple (d + 1). La idea clave detrás de este esquema es la interpolación polinomial finita.

Suponiendo que p > d es un número primo, la suma y multiplicación de {0,...,p1} módulo p satisfacen las identidades estándar en números reales. Es decir, los números {0,...,p1} forman un campo finito con respecto a estas operaciones. Este campo está representado por Fp. Los polinomios definidos sobre campos finitos se tratan a continuación. Este polinomio tiene todas las propiedades algebraicas de un polinomio real. Específicamente, el valor de un polinomio univariado en cualquier punto d + 1 determina de forma única su polinomio sobre Fp de d.

Sea m un número entero grande. Sea E1,...,En un conjunto de n vectores en Fp m-dimensional. Este conjunto es fijo e independiente de la base de datos x de n bits. Suponiendo que tanto el servidor como el usuario conocen el conjunto, en la etapa de preprocesamiento del protocolo de recuperación de información privada, el servidor en cada (d + 1) representa los datos x con el mismo grado de d polinomio f en m variables. La propiedad clave de este polinomio es que para cada i en [n]: f (Ei) = xi. Para garantizar la existencia de dicho polinomio f, se elige que m sea relativamente grande en relación con n. Generalmente es suficiente ajustar m = O (n1/d).

Supongamos que el usuario quiere recuperar la i-ésima posición de la base de datos y conoce el conjunto de vectores E1,...,En. Por tanto, el objetivo del usuario es recuperar el valor del polinomio f de Ei (en poder del servidor). Obviamente, el usuario no puede solicitar explícitamente el valor de f (Ei) a ningún servidor, ya que dicha solicitud violaría la privacidad del protocolo; es decir, algún servidor sabría qué bit de datos requiere el usuario. En cambio, el usuario obtiene indirectamente el valor de f (Ei). En particular, el usuario genera un conjunto aleatorio de vectores m-dimensionales P1,...,Pd + 1 en Fp, así:

Cada vector P es uniformemente aleatorio y por tanto no proporciona información sobre Ei;

El valor de cualquier polinomio de grado d (incluido el polinomio f) en P1,..., Pd + 1 determina el polinomio en Ei.

El usuario envía un vector P1,...,Pd+1 a cada servidor. Luego, los servidores calculan el polinomio f en los vectores que recibieron y devuelven los valores que obtuvieron al usuario. El usuario combina los valores f (P1), ..., f (Pd + 1) para obtener el valor deseado f (Ei). El protocolo es completamente privado y la comunicación equivale a enviar un vector (d + 1) de dimensión m al servidor y devolver un valor al usuario.

1d1a16a78dd128e2e88baf8f9f586c4c.jpeg

Recuperación de información privada moderna

Los esquemas modernos de recuperación de información privada ya no se basan en polinomios y su elemento técnico clave es el diseño de una gran familia de conjuntos con intersección restringida. Sea k un número entero pequeño que codifica mensajes de n bits en palabras clave. Esta construcción consta de dos pasos: el primer paso es construir una simplificación del problema de una familia de conjuntos con intersección restringida; el segundo paso es la construcción algebraica de la familia de conjuntos deseada.

paso 1:

C es el mapa lineal F2. Para dos mensajes cualesquiera x1, x2 en Fn2, existe C (x1 + x2) = C (x1) + C (x2), donde la suma de los vectores se calcula módulo 2 en cada coordenada;

El algoritmo de decodificación funciona leyendo algunas coordenadas k-tupla de la palabra clave corrupta y generando el OR exclusivo (XOR) de los valores en estas coordenadas. Para i en [n], sea Ei un vector binario de n dimensiones cuya única coordenada distinta de cero es i. Cada mapeo lineal permite una descripción combinatoria. Es decir, para cada i en [n] especifique:

Un conjunto de coordenadas Ti para C (Ei), establecidas en 1. Estos conjuntos especifican completamente la codificación, ya que para cualquier mensaje Elija. Se deben satisfacer ciertas restricciones combinatorias, y el fundamento básico de estas restricciones es el siguiente:

La decodificación debe ser correcta para evitar que se corrompan los bits de codificación. Esto significa que para cada i, j en [n] y cualquier k establecido en ellos, si i = j, el tamaño de STj debe ser un número impar; de lo contrario, es un número par;

La distribución de consultas individuales del algoritmo de decodificación debe ser casi uniforme. Esto significa que para cada i en [n], la unión de k conjuntos debe ser grande en relación con el número de coordenadas codificadas.

Paso 2:

El diseño establece Ti y Qi que satisfacen estas restricciones. Esta estructura está sustentada en la intuición geométrica. Se considera el mapeo bidireccional entre el conjunto de coordenadas codificadas y el conjunto de vectores m-dimensionales en el campo finito de base k. En el espacio lineal m-dimensional en Fk, seleccione el conjunto Ti como la unión de algunos hiperplanos paralelos y use álgebra básica para analizar el tamaño de la intersección.

Los esquemas de recuperación de información computacionalmente privada son atractivos porque evitan la necesidad de mantener copias replicadas de bases de datos y no dañan la privacidad del usuario.

en conclusión

En los últimos años, la recuperación de información privada se ha convertido en un campo amplio y profundo y está conectado con otros campos. La recuperación de información privada involucra principalmente dos aspectos, por un lado, la complejidad de la comunicación y, por otro, la cantidad de cálculos que debe realizar el servidor para responder a las consultas de los usuarios.

[Lectura relacionada]

Supongo que te gusta

Origin blog.csdn.net/wireless_com/article/details/132013917
Recomendado
Clasificación