martes, 7 de mayo de 2013

Some Techniques for Privacy in Ubicomp and Context-Aware Applications

El siguiente resumen es del artículo científico "Some techniques for privacy in ubicomp and context-aware applications." , del autor Canny, J., obtenido de http://citeseerx.ist.psu.edu/viewdoc/versions?doi=10.1.1.111.1833

Introducción

El surgimiento de la computación ubicua abre nuevas posibilidades para adquirir y compartir información. Pero la privacidad y riesgos derivados del uso generalizado de la localización o detección del medio ambiente son inaceptables para muchos usuarios. En este trabajo se describe una nueva metodología que proporciona un control mucho más preciso sobre el intercambio de información: sólo la información necesaria para la colaboración, todo lo demás está protegido,y la protección es demostrablemente fuerte.
Esto permite explorar aplicaciones que comparte información en entornos Ubicomp que son emocionantes, pero que sería difícil o imposible sin las técnicas que se proponen. Específicamente,se esta desarrollando un servicio de intercambio de información. Este servicio ofrece recomendaciones de lugares, eventos y muchos otros artículos y servicios, utilizando las recomendaciones de una comunidad de usuarios. Las recomendaciones son especificadas por calificaciones que ponen los usuarios, y de manera implícita utilizando los datos de registro para inferir la presencia de un usuario o el uso de un servicio. Los servicios están destinados a dispositivos habilitados para localización, como teléfonos móviles y PDA con GPS.
Este trabajo se basa en los estudios recientes en lo que se introducen técnicas para agregar datos privados del usuario en un entorno peer-to-peer. Las aplicaciones que se presentan aquí son SVD (Descomposición en valores singulares) y filtros colaborativos, es decir, para proporcionar recomendaciones a una comunidad de usuarios basándose en sus preferencias compartidas. Se cree que estas técnicas son altamente aplicables a sistemas de computación ubicua, y es por eso que se exploran en este trabajo.
La computación ubicua puede recopilar abundante información sobre los usuarios y su actividad, y se cree que hay muchas maneras útiles para utilizar esta información, sobre todo para el trabajo colaborativo. Por ejemplo, mediante el seguimiento de su ubicación, los usuarios pueden obtener hacer recomendaciones sobre restaurantes, tiendas, lugares para ver y cosas que hacer. Pero reunir la información crea grandes riesgos para la privacidad. La ocupación general de este trabajo es explorar las técnicas criptográficas y AI para usar solo la información necesaria de cada usuario para una tarea en particular, y para proteger el resto de los datos.

Antecedentes

En el estudio "Collaborative filtering with privacy", el autor describe técnicas para la encriptación de datos, revelando el resultado. El proceso de agregación es descrito como un protocolo peer-to-peer, que funciona si una gran parte de los usuarios son lo suficientemente honestos. Es también robusto cuando una fracción de los clientes están fuera de línea. Cada cliente adquiere una copia del agregado al final del protocolo, y se puede utilizar para obtener recomendaciones de sus preferencias personales. El agregado proporciona una buena protección de la información original del usuario. En ese documento también se presenta un nuevo algoritmo para el modelo basado en Filtrado colaborativo (CF), basado en SVD. El modelo es una descripción compacta en base a las preferencias de todos los usuarios de que las predicciones individuales se pueden hacer rápidamente. El objetivo era llegar a un algoritmo que fuera compatible con preservar la privacidad del protocolo, y que aún diera recomendaciones aceptables. Afortunadamente, el algoritmo de CF es bastante bueno en comparación con la mayoría de los algoritmos hasta la fecha en un conjunto de datos de prueba estándar. Sin embargo, pareció que el algoritmo no era tan preciso como podría ser. En particular, no trataba adecuadamente los datos muy dispersos. Esta dificultad con poca densidad es un problema compartido por casi todos los algoritmos CF actuales. 
En "Collaborative filtering with privacy via factor analysis" se describe un nuevo algoritmo que es compatible con la privacidad del protocolo y que es más preciso que otros algoritmos CF en la prueba estándar de datos. Además, es muy eficiente con el espacio, proporcionando una compresión de los datos de usuario de 10 a 100 veces que los originales. Esta compresión tiene el beneficio secundario de ocultar la información del usuario. Por último, el algoritmo tiene ventajas de velocidad sobre los algoritmos anteriores y es incremental al adaptarse rápidamente a los pequeños cambios y adiciones a las calificaciones por los usuarios. 
Los documentos mencionados proporcionan la base para la exploración de filtrado colaborativo en la configuración Ubicomp. Se cree que este intercambio de conocimientos en todas partes tiene un gran potencial. Mediante la adición de los datos del usuario para el lugar, la hora y las compras, se puede extender el filtrado colaborativo desde el comercio hasta la vida cotidiana. Para ilustrar las posibilidades aquí hay algunos posibles escenarios:

  • Restaurante: recomendar un buen restaurante cercano, especificando el tipo de cocina.
  • Café: Se recomienda una buena cafetería cercana, que está abierto ahora.
  • Paseo seguro: ¿Cuál es la ruta más segura en el parque? ¿Qué hora es más seguro?
  • Bonita puesta de sol: Se recomienda un buen lugar para ver puestas de sol.
  • Gas barato: ¿Dónde está la gasolina más barata cerca de aquí?
Se describen técnicas para estas consultas, basándose en la información sobre la ubicación, tiempo y,posiblemente, compras.

CF por el análisis factorial Sparse

En filtrado colaborativo se quiere extrapolar calificaciones para un usuario dado de sus calificaciones conocidas y las calificaciones de los demás. Se utilizan modelos lineales de baja dimensión para hacer esto. Los datos en CF son extremadamente escasos. El conjunto de datos EachMovie se describe más adelante, que contiene sólo 3% de las calificaciones posibles, se considera un conjunto de datos "denso". Otros conjuntos de datos pueden tener 0,1% o incluso 0,01% de las calificaciones posibles.
Un buen método de CF debe estar de acuerdo con los datos que faltan en una manera basada en principios y no por ejemplo, rellenando los valores perdidos con valores predeterminados. Por estas razones, se optó por un modelo de análisis factorial lineal. El factor análisis (FA) es una formulación probabilista general de ajuste lineal. Singular-Value Des composition (SVD) y la regresión lineal son casos especiales que limitan el FA.
El análisis factorial y la SVD se confunden a veces, pero el FA es el método mas preciso en general. Los ajustes SVD y lineales son apropiadas en ciertos casos límite. Pero no son muy exactos en aplicaciones CF. Además, el FA puede trabajar con escasos datos sin heurística de relleno de los valores perdidos.
Sea Y = (Y1, ..., Yn) una variable aleatoria que representa calificaciones por los usuarios para n artículos y Yj es la clasificación de elemento j. Una observación (en minúsculas) yi sería un conjunto de calificaciones por usuario i, por lo que, por ejemplo, yij sería i del usuario y la calificación de la película seria j, es decir decir yij = 5 en una escala de 0 a 10.
Sea X = (X1, ..., Xk) una variable aleatoria que representa de un usuario k sus preferencias canonicas, que es un tipo de perfil de usuario. Por ejemplo, X1 podría ser un individuo de afinidad por películas taquilleras. Afinidades haría con otros Xj 's para otras películas tipo. No necesitamos saber el significado de las dimensiones en cualquier etapa del algoritmo, y el modelo se genera automáticamente. El modelo lineal para preferencias del usuario se ve así:


Donde Λ es una matriz de nxk. N = (N1, . . , Nn) es una variable random que representa el ruido en las elecciones. El modelo lineal que se esta buscando variaciones VAR(Nj) de las variables de ruido. X se escala de forma automática para que tenga la unidad de diferencia, y por lo tanto no se necesita encontrar VAR(X).
También se supone que X y N tienen distribuciones de probabilidad de Gauss. Si se pudiera observar X e Y al mismo tiempo, se tendría un problema de regresión lineal clásica. No se puede observar X, y en su lugar se tiene un problema de análisis factorial. Desde el modelo, se puede aclarar la distinción entre el análisis de los factores SVD o mínimos cuadrados. El análisis factorial es un modelo probabilístico completo, y los modelos tanto la distribución de X y la distribución de N. SVD o mínimos cuadrados buscan sólo minimizar la varianza de N. Esta es una aproximación razonable sólo si la varianza de X es lo suficientemente grande. En otros casos, SVD o mínimos cuadrados tenderán a llenar de datos ruidosos.
En las aplicaciones de filtrado colaborativo típicos, la varianza de X y N son comparables, y SVD / mínimos cuadrados es mucho menos preciso que análisis factorial. Hay varios algoritmos disponibles para el análisis factorial. Se ha elegido utilizar una aproximación EM (expectativa de Maximización), por dos razones: en primer lugar porque tiene una definición recursiva particularmente simple que se puede combinar con el método de privacidad, y en segundo lugar debido a que se puede adaptar a la escasez de datos.

Obtención de Recomendaciones

El resultado de la iteración anterior es un modelo Λ, ψ para el conjunto de datos original. Este se puede utilizar para predecir las calificaciones de un usuario de cualquier subconjunto de calificaciones de ese usuario. Siendo yi clasificaciones de usuario i. Usuario i debe descargar Λ, ψ y luego calcular localmente xi utilizando la ecuación pasada. Desde xi, se calcula Λxi que es un vector de calificaciones esperadas de todos los elementos. Esto incluye en las predicciones de las valoraciones de todos los elementos que el usuario j no ha puntuado.

Agregando metadatos

Los metadatos son muy útiles para determinar la similitud entre los elementos. Esto puede ayudar a hacer un filtrado colaborativo más preciso cuando los datos de clasificaciones de usuario son escasos. Muchos otros autores han desarrollado medios para combinar notas y metadatos. Es importante destacar que, los metadatos también permiten estimaciones de puntuaciones para artículos que no se han clasificado a todos los demás usuarios. Los metadatos comprenden descriptores tales como etiquetas de categoría, sinopsis, resúmenes o si el artículo es en sí mismo un texto. Se llama a cada uno de esos descriptor de un "atributo".

Experimentos

La evaluación más común para CF es el MAE o error absoluto medio entre las calificaciones previstas y reales de un conjunto de usuarios. Se utiliza exclusivamente MAE en los experimentos, por varias razones. El conjunto de datos tiene una densidad de aproximadamente 3%, lo que significa que el 97% de las posibles clasificaciones están desaparecidos. Cada película se clasificó en uno o más de 20 géneros. Así, 20 usuarios virtuales fueron creados para modelar los metadatos. Estas filas eran densas no hubo valores perdidos porque cada película era conocido por ser ya sea en o no en cada género. A continuación se calcula el error absoluto entre la predicción y el raiting real.


Preservar la privacidad

Después de haber demostrado que se puede reducir el análisis factorial para una iteración basado en un vector, además de los datos de cada usuario Ai, Bi y Ci, se paso a esbozar cómo hacer la suma de vectores en la vida privada. Poner los dos procedimientos juntos da el análisis factorial con privacidad. El esquema que se utiliza para la suma de vectores difiere de los ya propuestos que usaron un protocolo peer-to-peer. Si se supone que una fracción α de los usuarios son honestos. El valor α debe ser de al menos 0,5. Los objetivos de este protocolo son que: El servidor no obtenga información acerca de los datos yi de un usuario individual, excepto los datos del usuario que se encuentran dentro del rango permitido.

El método utiliza una propiedad de varios esquemas de cifrado comunes (RSA,Diffie-Hellman, ECC) llamados homomorfismo. Si M1 y M2 son los mensajes y E (.) Es una función de cifrado, resulta que:

E(M1)E(M2) = E(M1+M2)

donde la multiplicación es la multiplicación del anillo de RSA o elemento racional para DH o ECC. Por inducción, multiplicando encriptaciones de varios mensajes que da la cifrado de su suma. Esto parece llevar a mitad de camino que se puede sumar elementos cifrados con sólo multiplicarlos.

El esquema de descifrado es algo más complicado. Se basa en el intercambio de claves. La clave necesaria para descifrar el total no es propiedad de nadie. No existe en cualquier equipo individual. Pero es "compartida" entre todos los usuarios. Al igual que un rompecabezas, si hay suficientes usuarios poner sus acciones en conjunto, veríamos toda la clave.
Hay una cierta redundancia, por razones prácticas no se quiere exigir a todos los usuarios a contribuir con sus acciones a fin de recuperar la llave, o  probablemente nunca se recuperaría. Debido a que el elemento que se ha compartido entre los usuarios es una clave de descifrado, puede utilizarlo para crear un recurso compartido de la desencriptación del total. Para aclarar esto, todo el mundo tiene una copia del total E encriptada (T). Cada persona puede descifrar E (T) con su parte de la clave.

Referencias

Canny, J. (2002). Some techniques for privacy in ubicomp and context-aware applications. Workshop on socially informed design of privacy-enhancing solutions in ubiquitous computing. Obtenido de http://citeseerx.ist.psu.edu/viewdoc/versions?doi=10.1.1.111.1833

1 comentario:

  1. Falta la crítica/discusión al final. La referencia no está completa. 6 pts.

    ResponderEliminar