ESTUDIO E IMPLEMENTACION DE MECANISMOS DEPRIVACIDAD E INCENTIVOS PARA DAR SOPORTE A
UNA RED DE SENSADO PARTICIPATIVO DEMONITOREO DE LA CALIDAD DEL AIRE
ING. LAURA RODRIGUEZ PEREZ
INFORME FINAL DE PROYECTO DE INVESTIGACION PARA OPTAR POR
EL TITULO DE MAGISTER EN INGENIERIA ELECTRONICA
DIRECTOR: ING. DIEGO MENDEZ CHAVES Ph.D
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERIA
DEPARTAMENTO DE ELECTRONICA
MAESTRIA EN INGENIERIA ELECTRONICA
BOGOTA DC
2015
Indice general
1. Introduccion 7
1.1. Sistemas de Sensado Participativo . . . . . . . . . . . . . . . . . . . . 7
1.1.1. Definicion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2. Ventajas y Aplicaciones . . . . . . . . . . . . . . . . . . . . . 8
1.1.3. Retos asociados a sistemas SP . . . . . . . . . . . . . . . . . . 9
1.2. Objetivos del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3. Arquitectura de la Red de Monitoreo de la Calidad del Aire de la PUJ 11
1.3.1. Primer Nivel: Dispositivos de Sensado . . . . . . . . . . . . . . 12
1.3.2. Segundo Nivel: Terminal Movil o Integrador de Primer Nivel . 13
1.3.3. Tercer Nivel: Red de Transporte de Datos . . . . . . . . . . . 13
1.3.4. Cuarto Nivel: Servidor Proxy . . . . . . . . . . . . . . . . . . 14
1.3.5. Quinto Nivel: Servidor de Aplicacion . . . . . . . . . . . . . . 15
2. Mecanismos de Proteccion de la Privacidad 17
2.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2. Marco Teorico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3. Seleccionar una solucion de acuerdo a las caracterısticas especıficas
del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4. Metricas del Rendimiento de los Mecanismos de Privacidad . . . . . . 21
2.4.1. Calidad de la Informacion . . . . . . . . . . . . . . . . . . . . 22
2.4.2. Proteccion de la Privacidad . . . . . . . . . . . . . . . . . . . 22
2.4.3. Consumo de energıa . . . . . . . . . . . . . . . . . . . . . . . 25
2.5. Mecanismo de Privacidad Hıbrido . . . . . . . . . . . . . . . . . . . . 27
2.5.1. Funcionamiento del Mecanismo Hıbrido . . . . . . . . . . . . . 27
2
Indice general 3
2.5.2. Seleccion de Smin . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.6. Comparacion cuantitativa de los principales mecanismos de privacidad 29
2.6.1. Organizacion de las pruebas . . . . . . . . . . . . . . . . . . . 29
2.6.2. Resultados y Analisis . . . . . . . . . . . . . . . . . . . . . . . 31
3. Mecanismos de Incentivos 35
3.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2. Marco Teorico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3. Seleccionar una solucion de acuerdo a las caracterısticas especıficas
del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4. Rendimiento del Mecanismo de Incentivos . . . . . . . . . . . . . . . 39
3.4.1. Organizacion de las pruebas . . . . . . . . . . . . . . . . . . . 40
3.4.2. Analisis de los Resultados . . . . . . . . . . . . . . . . . . . . 44
4. Implementacion del Sistema 47
4.1. Algoritmo Combinado de Incentivos y Proteccion de la Privacidad . . 47
4.1.1. Ronda de juego Rt . . . . . . . . . . . . . . . . . . . . . . . . 47
4.1.2. Registro e Inicio de Sesion del usuario en el Sistema . . . . . . 51
4.2. Lado del Terminal Celular . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2.1. Comunicacion con los Pollution Spots . . . . . . . . . . . . . . 52
4.2.2. Procesamiento de los Datos Ambientales. . . . . . . . . . . . . 54
4.2.3. Comunicacion con los Niveles Superiores . . . . . . . . . . . . 55
4.3. Lado del Servidor Proxy . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3.1. Manejo de las Bases de Datos . . . . . . . . . . . . . . . . . . 56
4.3.2. Comunicacion el Segundo y Quinto Nivel . . . . . . . . . . . . 56
4.4. Lado del Servidor de Aplicacion . . . . . . . . . . . . . . . . . . . . . 56
4.4.1. Procesamiento de las variables de interes en la ronda Rt+1 . . 57
4.4.2. Aplicacion web . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5. Conclusiones 60
5.1. Resultados de la investigacion . . . . . . . . . . . . . . . . . . . . . . 60
5.2. Trabajos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
A. Listado de los archivos incluidos en el DVD 63
Indice general 4
Bibliografıa 64
Indice de figuras
1.1. Arquitectura del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1. Mecanismos de proteccion de Privacidad . . . . . . . . . . . . . . . . 18
2.2. Algoritmo de estimacion de la localizacion . . . . . . . . . . . . . . . 23
2.3. Instalacion para medir el consumo de energıa en el celular. . . . . . . 26
2.4. Promedio del consumo de corriente para 20 pruebas de cada proceso. 27
2.5. Algoritmo de decision del Mecanismo Hıbrido para la ronda Rt. . . . 28
2.6. Coeficiente de Determinacion (R2) . . . . . . . . . . . . . . . . . . . . 31
3.1. Comparacion Mecanismos de Incentivos . . . . . . . . . . . . . . . . . 36
3.2. Banco de Pruebas de Incentivos . . . . . . . . . . . . . . . . . . . . . 40
3.3. Superficie F para Camino Probable . . . . . . . . . . . . . . . . . . . 42
3.4. Calidad de la Informacion para coeficiente G . . . . . . . . . . . . . . 45
3.5. Calidad de la Informacion para numero de transeuntes. . . . . . . . . 46
4.1. Ronda Rt de Juego . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2. Pantallas de la Aplicacion P-Spots . . . . . . . . . . . . . . . . . . . . 50
4.3. Tarea Asıncrona Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . 53
4.4. Comunicacion con los Pollution Spots . . . . . . . . . . . . . . . . . . 53
4.5. Procesamiento de las variables de interes en P-Spots . . . . . . . . . . 54
4.6. Interpolacion de datos sinteticos . . . . . . . . . . . . . . . . . . . . . 58
4.7. Interfaz grafica de la aplicacion web . . . . . . . . . . . . . . . . . . . 59
5
Indice de cuadros
1.1. Sensores de los Pollution Spots . . . . . . . . . . . . . . . . . . . . . 12
1.2. Datos de Usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3. Datos de Mision en el Proxy . . . . . . . . . . . . . . . . . . . . . . . 15
1.4. Datos de las Variables de Interes . . . . . . . . . . . . . . . . . . . . 16
1.5. Datos de Mision en el Servidor de Aplicacion . . . . . . . . . . . . . . 16
2.1. Variacion del rendimiento segun el tamano de celda Smin. . . . . . . . 29
2.2. Probabilidades para Caminos Aleatorios . . . . . . . . . . . . . . . . 30
2.3. Probabilidades de localizar al usuario . . . . . . . . . . . . . . . . . . 34
2.4. Consumo de energıa por Mecanismo de Privacidad . . . . . . . . . . . 34
3.1. Peso de cada parametro durante la caminata. . . . . . . . . . . . . . 44
4.1. Trama de datos desde el Segundo Nivel a los superiores . . . . . . . . 55
6
Capıtulo 1
Introduccion
El presente informe resume el trabajo de investigacion realizado para lograr la
implementacion de los Mecanismos de Privacidad e Incentivos apropiados para un
sistema de Sensado Participativo (SP ), en el marco del proyecto “Diseno de una Red
de Monitoreo de la Calidad del Aire para la Pontificia Universidad Javeriana”. Se
realizo el analisis de esquemas basados en SP , de las diferentes soluciones existentes
de acuerdo con las aplicaciones de estos, y la evaluacion de las variantes mas relevan-
tes. A partir del estudio realizado sobre el estado del arte, se adopto un mecanismo
basado en el uso de criptografıa y metodos de ofuscacion para la proteccion de los da-
tos de usuario, combinandose con mecanismos basados en gamificacion para soportar
la participacion de los usuarios en el sistema. Se muestra tambien la validacion de la
propuesta, y los resultados que se obtienen al aplicar otras variantes de mecanismos
de privacidad empleados comnmente en SP.
1.1. Sistemas de Sensado Participativo
1.1.1. Definicion
Se denomina Sensado Participativo (SP ) al reciente paradigma de monitoreo a
gran escala que propone la adquisicion de variables de interes a partir de sensores
propios o asociados a los terminales celulares [6, 11, 14]. Este nuevo esquema aprove-
cha la gran densidad de usuarios de dispositivos moviles y la infraestructura existente
7
Capıtulo 1. Introduccion 8
para el transporte de datos en la recopilacion de las variables de interes, reduciendo
de esta forma los costos del desarrollo de las redes de sensado.
Debido a la penetracion que tienen las redes celulares y los terminales conocidos
como Smartphones, se consigue recopilar grandes cantidades de datos bajo este para-
digma, que pueden ser utilizados para construir una vision espacio-temporal a gran
escala del fenomeno de estudio, ası como la elaboracion de estadısticas relativas a
comunidades o areas geograficas [14]. La idea principal del SP es darle al ciudadano
comun la posibilidad de adquirir y compartir mediciones en su entorno habitual,
utilizando los recursos de procesamiento, almacenamiento y comunicacion propios
de los Smartphones, en general superiores a los asociados a dispositivos de sensado
tradicionales.
1.1.2. Ventajas y Aplicaciones
El despliegue de un sistema basado en SP tiene como principal atractivo su
eficiencia en costo y tiempo, puesto que los dispositivos de sensado o de interaccion
con los sensores ya se encuentran en el campo, o sea en manos de los usuarios, a donde
quiera que vayan, independientemente de sus actividades. Como los participantes
del sistema utilizan la infraestructura de redes de datos celulares y Wi-Fi existentes
para transmitir sus reportes hacia los nodos centrales de las redes SP , los costos de
recopilacion de grandes cantidades de datos se reducen drasticamente desde el punto
de vista del sistema SP . La participacion activa del usuario en el momento e realizar
las mediciones, es otra cualidad atractiva de SP , ya que posibilita la adquisicion
de datos con mayor calidad o semanticamente mas complejos, lo cual supone una
reduccion considerable del gasto de recursos de hardware y software empleados en la
recopilacion y procesamiento de los datos [11].
Los sistemas basados en SP tienen numerosas aplicaciones, pueden encontrarse
ejemplos de su uso en investigaciones de naturaleza ambiental, de infraestructura o
social. Ejemplos comunes del primer grupo son las observaciones de niveles de po-
lucion en comunidades y ciudades, niveles de agua en rıos y lagos, y monitoreo de
habitats naturales [7]. Casos de mediciones a gran escala relacionadas con la infra-
estructura publica son el monitoreo de la congestion del trafico, del funcionamiento
de servicios publicos como alumbrado y acueductos. De naturaleza social son las
Capıtulo 1. Introduccion 9
mediciones que realizan los individuos concernientes a ellos mismos, tales como re-
portes relacionados con sus rutinas de ejercicios, dietas y otros comportamientos que
pueden resultar de provecho a la comunidad [11].
1.1.3. Retos asociados a sistemas SP
La implementacion de un sistema SP implica la solucion de diversos retos de
investigacion, en dependencia del fenonmeno a sensar y el alcance que se desea.
Algunos de estos retos son [11]:
Mecanismos de Incentivos: En este tipo de sistemas la participacion de los
usuarios es crucial, ya que estos constituyen la fuente de donde se recopilan
los datos que dan soporte al sistema, por lo que se deben disenar algoritmos
para premiar su colaboracion. Estos mecanismos deben ser lo suficientemente
fuertes para lograr que los participantes esten dispuestos a donar su tiempo y
recursos para colaborar con el proyecto.
Manejo de los recursos de energıa, ancho de banda y procesamiento: Este ele-
mento esta asociado tambien con la disposicion del usuario a colaborar con el
sistema, puesto que si su participacion representa un alto gasto de la baterıa
de su Smartphone, de su tiempo y ancho de banda, obviamente el usuario no
va a estar conforme con la relacion entre el gasto de sus recursos y las ganan-
cias que obtiene. Se requieren algoritmos de procesamiento en el terminal que
consuman el mınimo posible de recursos del dispositivo, del ancho de banda y
la energıa necesarios en la transmision de los reportes.
Manejo de la privacidad, seguridad e integridad en los datos: Las aplicaciones
recolectan datos personales sobre los individuos, por ejemplo informacion sobre
la localizacion, por lo que es importante preservar la privacidad y seguridad
de los participantes, para que estos esten mas dispuestos a colaborar con el
sistema.
Minerıa de datos: Bajo este paradigma se cuenta con grandes cantidades de
datos, y la determinacion de los modelos adecuados para el procesamiento y
visualizacion de estos datos es usualmente especıfica a cada aplicacion.
Capıtulo 1. Introduccion 10
1.2. Objetivos del proyecto
El proyecto para la Red de Monitoreo de la Calidad del Aire de la PUJ tuvo
como objetivo disenar un sistema basado en Sensado Participativo para adquirir
las variables que caracterizan los agentes contaminantes de la atmosfera. Una carac-
terıstica importante de la red disenada es la ausencia de un presupuesto para otorgar
compensaciones monetarias a los participantes por su contribucion. La participacion
de los usuarios es crucial para el mantenimiento de un sistema SP , ya que estos
constituyen la fuente de donde se adquieren los datos que le dan soporte, por lo que
uno de los retos de investigacion fue el diseno de los mecanismos adecuados para
lograr fomentar la participacion de los usuarios en el sistema.
Otra consideracion que se tuvo fue el hecho de que los usuarios no siempre estan
dispuestos a revelar su localizacion, a la cual deben asociarse las variables que se
desean medir, por lo que se debıan disenar mecanismos para garantizar la proteccion
de la privacidad de los usuarios, los cuales debıan cumplir con el requerimiento de
mantener la eficiencia en cuanto a los recursos de energıa empleados. La restriccion
en cuanto al consumo de energıa surge debido a que la disposicion del usuario a
contribuir con el sistema podrıa disminuir si aumentan los recursos necesarios para
la adquisicion y transmision de los datos. El presente proyecto de investigacion, se
enfoca en encontrar los mecanismos adecuados para incentivar la participacion de
los usuarios, tomando en cuenta las consideraciones anteriores, haciendo enfasis en
la proteccion de la privacidad del usuario, a la vez que se mantengan las restricciones
de consumo de energıa durante la tarea de adquisicion y transmision de los datos.
La solucion de las cuestiones anteriormente planteadas constituyo el objetivo
central de la presente investigacion, para resolverlas se plantearon los siguientes ob-
jetivos:
Objetivo general:
Estudiar, seleccionar e implementar los mecanismos de proteccion de la priva-
cidad y de incentivos que den soporte a los requerimientos asociados a un sistema
basado en sensado participativo para monitoreo de la calidad del aire.
Objetivos especıficos:
Capıtulo 1. Introduccion 11
1. Estudiar y comparar los mecanismos existentes para garantizar la privacidad
de los usuarios, y seleccionar una solucion de acuerdo con las caracterısticas
propias del sistema.
2. Implementar y evaluar el esquema de mecanismos de privacidad que se propon-
ga, tomando en cuenta la calidad de la informacion util y el ancho de banda
empleado.
3. Estudiar y comparar los mecanismos de incentivos para motivar la participacion
de los usuarios, y seleccionar una solucion de acuerdo a las caracterısticas
especıficas del sistema.
4. Disenar e implementar una aplicacion basada en el Sistema Operativo Android
para los terminales moviles, con las funcionalidades de comunicacion con los
dispositivos de sensado, procesamiento y visualizacion de los datos locales, y
comunicacion con el servidor central.
5. Disenar e implementar una aplicacion servidor para centralizar los datos reco-
lectados, integrar los mecanismos de privacidad y motivacion, y aplicacion web
para la visualizacion sobre mapas de Google de la informacion recolectada.
6. Elaborar y aplicar un conjunto de pruebas que permitan la evaluacion de las
aplicaciones desarrolladas.
El resto del documento presenta los procedimientos llevados a cabo para seleccio-
nar las tecnicas apropiadas de Proteccion de la Privacidad de los usuarios e Incenti-
vos dentro del sistema descrito en la seccion 1.3. Se describen ademas los algoritmos
implementados para la puesta en marcha del sistema, y se evaluan los resultados
obtenidos a traves de la simulacion del desempeno del sistema.
1.3. Arquitectura de la Red de Monitoreo de la
Calidad del Aire de la PUJ
La figura 1.1 muestra la arquitectura de la Red de Monitoreo de la Calidad del
Aire de la PUJ , compuesta de cinco niveles fısicos, descritos a continuacion.
Capıtulo 1. Introduccion 12
Figura 1.1 Arquitectura de la Red de Monitoreo de la Calidad del Aire de la PUJ .
Cuadro 1.1 Sensores embebidos en los modulos Pollution Spots.
Fabricante - Sensor Variable
Membrapor - CO/SF-200 CO
Membrapor - O3/S-5 O3
Sensirion - SHT15 Temperatura y Humedad
Sharp - GP2Y1010AU0 Material Particulado
1.3.1. Primer Nivel: Dispositivos de Sensado
El Primer Nivel del sistema lo componen la red de sensores estaticos o Pollution
Spots. Se denomina Pollution Spot a cada modulo de sensores fijo distribuido en
el campus de la Universidad, por la caracterıstica estatica de los mismos, ya que
se asemejan a los Hot-Spots o puntos de Wi-Fi en el sentido de que el usuario se
conecta a estos puntos para obtener los datos. Cada Pollution Spot tiene un conjunto
de sensores ambientales integrados en una tarjeta (basada en un procesador AV R
de Atmel), que funciona como una unidad unica. En el cuadro 1.1 se enumeran los
sensores presentes en cada modulo.
Los modulos deben funcionar como unidades autonomas, por lo que incluyen una
Capıtulo 1. Introduccion 13
fuente basada en un modulo de recoleccion de energıa y un panel solar. Los sensores
recopilan datos a intervalos de tiempo regulares, el conjunto de datos recopilado por
cada sensor en el mismo intervalo de tiempo se almacena asociado al instante en
que fue adquirido (Sello de Tiempo) en la memoria del AV R como una trama. Las
tramas almacenadas en memoria se transmiten vıa Bluetooth cuando el participante
las solicita a traves de la aplicacion en el Smartphone.
1.3.2. Segundo Nivel: Terminal Movil o Integrador de Pri-
mer Nivel
El Segundo Nivel esta compuesto por los terminales celulares, que actuan como
el primer punto de recoleccion, analisis y transmision de los datos adquiridos en
el Primer Nivel. Los datos recolectados por los Smartphones son enviados a los
niveles superiores utilizando Red de Transporte de Datos (Tercer Nivel), la cual
es independiente del sistema, por lo que no hay costos extras en esta etapa de la
transmision de datos.
A grandes rasgos, la funcionalidad de este nivel es la comunicacion con el Cuarto
y Quinto Nivel a traves del Tercer Nivel, para conocer las coordenadas de localiza-
cion de los lugares donde se deben realizar tareas de sensado, las cuales se escogen en
el Quinto Nivel. Cuando el usuario decide recopilar datos para enviar, la aplicacion
adjunta las coordenadas de localizacion (adquiridas por GPS o por la Red de Datos)
a los datos que recibe desde el Pollution Spot, procesa los datos de acuerdo a las
especificaciones que recibe previamente desde el Servidor de Aplicacion, y los trans-
mite hacia el Servidor Proxy. El flujo de este proceso sera descrito con mas detalle
en la seccion 4.1.
1.3.3. Tercer Nivel: Red de Transporte de Datos
La infraestructura de redes inalambricas basadas en tecnologogıa IP (redes de
datos celulares, WiFi, etc.) constituye el Tercer nivel de la arquitectura del sistema.
A traves de este nivel, los particpantes envıan a los nodos centrales de la red (Ni-
veles Cuarto y Quinto) las tramas que contienen las variables de interes, ası como
datos asociados al usuario para premiar su colaboracion. Puesto que estas redes son
Capıtulo 1. Introduccion 14
publicas, se deben aplicar mecanismos de proteccion de la Privacidad del Usuario
para que la informacion sensible del usuario no se comprometa en este nivel.
1.3.4. Cuarto Nivel: Servidor Proxy
El Cuarto Nivel se compone del Servidor Proxy, el cual hace de intermediario
en la comunicacion entre el Segundo y el Quinto Nivel. Esta mediacion provee una
capa extra de seguridad para la proteccion de la informacion sensible de los usuarios
[23, 25], la funcionalidad de mediacion de este nivel se describe en la seccion 4.3.
Ademas, el Servidor Proxy maneja la Base de Datos de Usuario (basada en MySQL),
que contiene los datos de usuario necesarios para cuantificar su participacion en el
sistema (cuadro 1.2) y los datos relativos a las misiones que lanza el Servidor de
Aplicacion (cuadro 1.3). Los tipos de datos a los que se refieren los cuadros pertenecen
a MySQL. A partir de la informacion que brindan la Tabla de Datos de Usuario y la
Tabla de Datos de Mision, el Servidor Proxy provee de realimentacion a la aplicacion
en el terminal del usuario relativa a su participacion en el sistema. Tanto el Servidor
Proxy como el Servidor de Aplicacion corren actualmente en un computador de
Desktop con sistema Operativo Ubuntu 14.04 LTS, al que se le instalo la pila de
herramientas LAMP 1 para que funcionaran como servidores.
Cuadro 1.2 Datos de Usuario en la Base de Datos del Servidor Proxy
Campo Descripcion Tipo
ID∗ Identificador unico del usuario o SALT int(32)
USER Nombre de Usuario String
PASS HashSHA1 de la contrasena del usuario + ID char(40)
POINTS Puntuacion que ha alcanzado el usuario en el sistema int(20)
LEV EL Nivel que ha alcanzado el usuario en el sistema int(15)
MISSIONS Numero de misiones que ha completado el usuario int(32)
CURRENT Mision actual que concluyo el usuario int(64)
1https://help.ubuntu.com/community/ApacheMySQLPHP
Capıtulo 1. Introduccion 15
Almacenamiento seguro de la contrasena de usuario: El campo ID es un
identificador unico que se asocia al usuario cuando este se registra en el sistema, el
mismo no es privado y se utiliza como SALT 2 para almacenar en el campo PASS
la contrasena asociada al usuario como la salida de una funcion hash SHA13 de la
combinacion entre el ID y la contrasena que escoge el usuario. Como el valor del ID
debe ser unico, este campo se utiliza como llave de la tabla.
El campo MISSIONS es un campo auxiliar para llevar una constancia de la
cantidad de tareas de sensado que ha concluido el usuario, y de esta forma poder
actualizar los “Logros”. Ası mismo, el campo CURRENT almacena el ID de la
ultima mision que el usuario completo y por la cual no ha sido recompenzado, para
poder compensar al usuario.
Cuadro 1.3 Datos de Mision en la Base de Datos del Servidor Proxy
Campo Descripcion Tipo
ID∗ Identificador unico de la tarea de sensado o Mision int(64)
ROUND Contador de iteraciones del Servidor de Aplicacion int(64)
ISSUED Estampilla para el tiempo en que se publica la Mision datetime
EXPIRES Estampilla para el tiempo de expiracion de la Mision datetime
POINTS Puntuacion asociada a la Mision int(10)
En el capıtulo 4 se ofrece una descripcion mas amplia del uso de los campos de
las tablas de la Base de Datos del Servidor Proxy.
1.3.5. Quinto Nivel: Servidor de Aplicacion
En este nivel esta ubicado el Servidor de Aplicacion, como nucleo de la Red de
Monitoreo: en este se almacenan y administran los datos ambientales. La Base de
Datos Ambientales contiene una tabla para cada variable de interes (Monooxido de
Carbono, Ozono, Temperatura, Humedad, y Material Particulado), la estructura de
las tablas de datos ambientales se muestra en el cuadro 1.4.
En el Servidor de Aplicacion corren los algoritmos para decidir los puntos donde
se debe medir en la proxima iteracion o ronda (Rt), y si se deben cifrar u ofuscar
2Fuente: http://security.stackexchange.com/questions/211/how-to-securely-hash-passwords3http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf
Capıtulo 1. Introduccion 16
Cuadro 1.4 Datos de las Variables de Interes en el Servidor de Aplicacion
Campo Descripcion Tipo
DATA Identificador unico de la tarea de sensado o Mision int(64)
TIMESTAMP Tiempo en que se midio la variable datetime
LATITUDE Coordenada de latitud donde se midio float(10,6)
LONGITUDE Coordenada de longitud donde se midio float(10,6)
los datos en cada punto. La descripcion del funcionamiento de estos algoritmos se
realiza en el capıtulo 4.
Cuadro 1.5 Datos de Mision en la Base de Datos del Servidor de Aplicacion
Campo Descripcion Tipo
ID∗ Identificador unico de la tarea de sensado o Mision int(64)
ROUND Contador de iteraciones del Servidor de Aplicacion int(64)
ISSUED Estampilla para el tiempo en que se publica la Mision datetime
EXPIRES Estampilla para el tiempo de expiracion de la Mision datetime
LATITUDE Coordenada de latitud donde se debe medir float(10,6)
LONGITUDE Coordenada de longitud donde se debe medir float(10,6)
ENCRY PT Decision de cifrar u ofuscar los datos de la Mision tinyint(1)
POINTS Puntuacion asociada a la Mision int(10)
Los datos relativos a cada punto donde se debe medir en cada ronda y la forma
de entregar los reportes por parte del usuario se almacena en la tabla de Mision,
cuya estructura se muestra en el cuadro 1.5. Los algoritmos que se implementaron
en el Servidor de Aplicacion para generar los campos de este cuadro se describen en
el capıtulo 4.
Capıtulo 2
Mecanismos de Proteccion de la
Privacidad
En la seccion anterior se menciona que el sistema de SP de Monitoreo de la
Calidad del Aire en el campus de la Universidad debe recolectar la lectura de los
modulos Pollution Spots a traves de los participantes y ademas debe recopilar la
localizacion asociada a los modulos, la cual es aportada por el usuario. Los reportes
que entregan los usuarios al sistema puede ser utilizada para inferir informacion
sensible relacionada con su vida privada, habitos y relaciones. No brindar garantıas al
usuario de la proteccion de su datos privados, o hacerlo de manera deficiente, pondrıa
en peligro su participacion y por tanto el funcionamiento correcto del sistema. Por
esta razon, es vital el uso de medios para garantizar que los usuarios mantengan el
control sobre la informacion sensible que entregan, incluyendo los datos que pueden
ser inferidos de la lectura de los sensores y la interaccion de los usuarios con la red
de monitoreo.
2.1. Antecedentes
En el cuadro de la figura 2.1 se presenta un resumen de aplicaciones de sistemas
de Sensado Participativo que emplean las tecnicas de encubrimiento espacial [9, 12,
18, 21], perturbacion de datos [10, 24] y criptografıa [2, 27].
17
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 18
Figura 2.1 Cuadro comparativo de los principales mecanismos de proteccion de laprivacidad de los usuarios para sistemas de sensado participativo.
2.2. Marco Teorico
A continuacion se describe el principio de funcionamiento de los principales meca-
nismos de proteccion de la privacidad que se emplean en sistemas basados en Sensado
Participativo:
1. Encubrimiento espacial: Tambien conocido como k-anonimizacion o microagre-
gacion, este mecanismo tiene como idea principal construir grupos de k usuarios
o reportes que comparten elementos en comun (localizados en la misma area)
y hacer a los usuarios indistinguibles dentro de su grupo. Esta modalidad se
divide en dos vertientes: generalizacion y perturbacion. Cuando se emplea ge-
neralizacion los valores originales que se desean encubrir son reducidos a un
valor de menor precision, mientras que al utilizar perturbacion lo que ocurre es
que se remplazan los reportes reales por una funcion aplicada a los k sensores
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 19
del area [8]. Las principales desventajas de esta modalidad son: la necesidad
de una estructura central que conozca la localizacion de los usuarios, que al ser
comprometida pone en riesgo la seguridad de los participantes, y la falta de
precision que supone la anonimizacion del reporte del usuario dentro del grupo
[25].
2. Perturbacion de los datos: Tambien se conoce como ofuscacion, funciona alte-
rando las mediciones de los sensores con distorsiones artificiales, con la inten-
cion de obtener tendencias generales sin revelar datos individuales [8], por lo
general estas tecnicas se llevan a cabo desde el terminal celular [25]. Los princi-
pales metodos dentro de esta categorıa son la perturbacion por ruido aleatorio
y los puntos de interes. En el primero, se anade a las muestras ruido aleato-
rio de una distribucion conocida. En el segundo caso, el usuario reporta sus
mediciones desde un punto que forma parte de un conjunto de localizaciones
conocidas por el sistema, el punto enviado es el mas cercano a la localizacion
real del usuario [25]. Al igual que en el primer numeral, estas tecnicas acarrean
una determinada falta de precision, por lo que se debe escoger correctamen-
te la distribucion y niveles de ruido para distorsionar los datos o los puntos
de interes respectivamente, de modo que no alteren demasiado los resultados
originales.
3. Cifrado: Estos son los mecanismos basados en metodos criptograficos para pro-
teger los datos del usuario. Son tecnicas con muy baja probabilidad de ser
comprometidas, a no ser por errores humanos [4], sin embargo acarrean el
problema del alto consumo de energıa que emplea el terminal movil durante el
procesamiento de los datos para su cifrado y la transmision de estos.
Existen ademas, modelos hıbridos que emplean varias tecnicas de proteccion de la
privacidad simultaneamente, para aprovechar las ventajas de cada una y compensar
sus limitaciones de acuerdo al escenario. Ejemplo de estos modelos son los trabajos en
[18] y [24]. En el primero, los autores emplean la extension de l-diversidad aplicada
al algoritmo de V-MDAV, el cual se utiliza en conjunto con el metodo de Teselacion:
si el usuario puede construir una celosıa dentro de la celda en que se encuentra pues
hay un mınimo de k usuarios dentro de esta, reporta su localizacion como el centro
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 20
de esta, de lo contrario, se utiliza V −MDAV para obtener mayor precision. En
[24] se emplea un algoritmo de decision para determinar cuando utilizar metodos
critograficos para encubrir la localizacion de los usuarios y cuando utilizar puntos
de interes para ofuscar los datos, para ello se emplea una funcion de distribucion de
probabilidad asociada a la posibilidad de cifrar los datos, y se emplea como metodo
para decidir en cada reporte el tratamiento a la localizacion. Una mejora a este
algoritmo se presenta en [25], donde se sustituye el comportamiento aleatorio de
la decision por un algoritmo que divide la region de interes en areas cuyo tamano
lo determina el comportamiento de la variable sensada, si esta no varıa de forma
apreciable entre celdas adyacentes, las celdas se combinan para formar celdas mas
grandes, y las areas donde la variable no es uniforme se dividen para crear celdas
mas pequenas. En las ultimas, como se necesita mas precision y ello pone en riesgo
la privacidad del usuario, se cifra la informacion, mientras que en celdas grandes se
utilizan puntos de interes.
2.3. Seleccionar una solucion de acuerdo a las ca-
racterısticas especıficas del sistema
Los algoritmos hıbridos de proteccion de la privacidad ofrecen la ventaja de fle-
xibilidad frente a las especificaciones del sistema, por lo que se decidio implementar
este mecanismo. Tomando en cuenta las caracterısticas comunes que comparten la
Red de Monitoreo de la Calidad del Aire de la PUJ con el trabajo presentado en
[25], se implemento un Algoritmo Hıbrido que, al igual que en el trabajo referido,
combina la utilizacion de Puntos de Interes con Doble Cifrado, con la modificacion
que implica combinar las tecnicas de proteccion de la privacidad con incentivos. En
la seccion 2.5 se describe el funcionamiento del Algoritmo Hıbrido que se selecciono y
se puso en marcha, y en la seccion 4.1 se ampliara la descripcion del Algoritmo Com-
binado de Privacidad e Incentivos.
A grandes rasgos, el esquema de proteccion disenado, cumple con los siguientes
elementos:
Emplea un algoritmo que divide la region de interes en areas cuyo tamano
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 21
esta determinado por el comportamiento de las variables sensadas: las regiones
donde los cambios de la variable sean mas abruptos se dividen, mientras que
las regiones con baja variabilidad se combinan.
En las areas de tamano mayor, los reportes de localizacion no necesitan ser
muy precisos, puesto que las variables tienen un comportamiento homogeneo
en su interior, por lo que puede utilizarse la ofuscacion a partir de puntos de
interes para reportar la localizacion.
En areas de menor dimension, la localizacion juega un papel crucial, puesto
que la variable presenta cambios abruptos de un lugar a otro. Para satisfacer la
precision requerida sin comprometer al usuario, se utiliza un esquema de doble
cifrado al reportar las mediciones.
La idea de dos nodos independientes en el nucleo de la red para robustecer el
mecanismo de cifrado, se reutiliza haciendo que uno de estos (Servidor Proxy
SPr) controle la informacion de los usuarios y maneje su estatus de participa-
cion en el sistema mediante una cuantizacion que realiza el otro nodo (Servidor
de Datos Ambientales SPd), retribuyendo la participacion del usuario sin que
esto implique que haya forma de conocer la informacion crıtica de la tarea
cometida a partir de la remuneracion que se recibe a cambio.
Utilizar un esquema para identificar las tareas de sensado a partir de una eti-
queta IDMision con correspondencia unıvoca, de forma tal que el SPr puede
premiar a partir de IDMision la participacion de los usuarios sin tener co-
nocimiento de los datos espacio-temporales de la tarea, y el SPd reciba las
observaciones de los usuarios, sin tener conocimiento de su identidad.
2.4. Metricas del Rendimiento de los Mecanismos
de Privacidad
Para cuantificar el desempeno de los mecanismos de privacidad, se utilizaron las
siguientes metricas:
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 22
2.4.1. Calidad de la Informacion
Para evaluar la calidad de la informacion en cada mecanismo se utiliza el coefi-
ciente de determinacion (R2), que mide la diferencia entre las observaciones reales
y las observaciones afectadas por el mecanismo de privacidad [24]. R2 esta definido
por la ecuacion 2.1:
R2 = 1 −∑
i(yi − fi)2∑
i(yi − yi)2(2.1)
donde:
yi son los valores de la superficie de datos que se obtiene al interpolar las
mediciones sin afectarlas con algun mecanismo de proteccion,
fi son los valores de la superficie de datos que se obtiene al interpolar las
mediciones sometidas al mecanismo de privacidad y
yi es el valor promedio de las observaciones.
2.4.2. Proteccion de la Privacidad
Para evaluar el comportamiento de cada mecanismo en cuanto a la proteccion
de la privacidad, se utilizo la metrica Probabilidad de Localizar al Usuario (PLoc),
(ecuacion 2.2). PLoc denota la probabilidad de que el usuario se encuentre en la
localizacion definida por el area SA, dada el area total ST , para cada ronda Rt [24]:
PLoc(MRt , Di) = 1 − SAST
(2.2)
donde:
MRt es la superficie de datos que se obtiene al interpolar las observaciones de
la ronda Rt,
Di es el paquete de datos que reporta el usuario el cual contiene la localiza-
cion espacio-temporal (coordenadas y sello de tiempo) correspondientes con las
observaciones reportadas.
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 23
ST es el area total de la superficie de datos MRt ,
SA es el area promedio donde es posible localizar al usuario en Rt, y se estima
utilizando la ecuacion 2.3:
SA =k∑j=1
(SAj∗ PAj
) (2.3)
donde SAjson las diferentes areas donde se estima que pueda encontrarse el usuario
con las correspondientes probabilidades PAj.
Figura 2.2 Algoritmo de estimacion del area en la que puede localizarse al usuariosegun su reporte Di
Cada SAjse estima segun utilizando un percentil Percj, el mapa de valores
estimados MRt , y el paquete de datos reportado por el usuario Di. Para ello se
utiliza una funcion de estimacion que funciona segun el algoritmo descrito en la
figura 2.2.
La funcion estimadora devuelve un conjunto de areas SAj, en las que se tiene
una probabilidad PAjde encontrar al usuario en la ronda Rt, para ello, se calcula la
distribucion de las diferencias entre la superficie de datos MRt y el reporte Di, y se
seleccionan las areas SAjde acuerdo con un conjunto de percentiles Percj (en este
caso se utilizaron 5 %, 10 %, 15 %, 20 % y 25 % para mantener una calidad aceptable
en la estimacion).
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 24
Ademas, se tomo en cuenta que la arquitectura del sistema propuesto tiene dos
niveles de privacidad:
Servidor Proxy: Con acceso a las observaciones ofuscadas por los puntos de
interes y a los datos de usuario.
Servidor de Datos Ambientales: Con acceso a los datos cifrados y a los datos
ofuscados pero no a los datos de usuario.
Debido a esta arquitectura es necesario evaluar la probabilidad de localizar al
usuario en tres posibles escenarios para cada uno de los mecanismos evaluados:
1. El adversario tiene acceso al Servidor Proxy (PLocSPr):
Para los metodos basado en k-anonimizacion, este escenario es equivalente a
que se vea comprometida la entidad que anonimiza a los usuarios a partir de
sus localizaciones reales, por lo que el adversario cuenta con las localizaciones
de cada usuario. Para los metodos de ofuscacion, o sea POI y Perturbacion por
Ruido Aleatorio (la perturbacion ocurre a nivel de usuario sin la intervencion
de otra entidad), solo se tiene acceso a los reportes previamente alterados. Por
ultimo en el caso del Modelo Hıbrido (POI y Cifrado), el adversario solamente
tiene acceso a los reportes ofuscados por POI.
2. El adversario tiene acceso al Servidor de Datos Ambientales (PLocSPd):
Para k-anonimizacion esto implica que se tiene acceso a la entidad que realiza
la inferencia sobre los reportes de los usuarios, por lo que se cuenta con la
superficie de datos, pero no con los reportes de los usuarios. En los metodos de
perturbacion de los datos, para el caso de Perturbacion por Ruido Aleatorio,
se tiene el mismo escenario que el caso (a), ya que nuevamente se tienen los
datos perturbados y lo que se puede inferir respecto a estos. Si se utiliza POI,
ya no se tienen los reportes, por lo que la probabilidad de localizar al usuario
disminuye. Para el Modelo Hıbrido, se tendrıa acceso en este caso a la parte
de los datos que estan cifrados y a los reportes ofuscados, pero debido a la
modificacion para incentivos (uso de la etiqueta IDMision) mencionada en la
seccion 2.3, a partir de la cual la identidad del usuario es removida de ambos
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 25
reportes en el Servidor Proxy (sin que por ello el SPr tenga acceso a los datos
cifrados), solo se cuenta con la superficie de datos.
3. El adversario tiene acceso a los dos Servidores (PLocSPrPd):
En este escenario nuevamente se cuentan con las localizaciones exactas de los
usuarios para los metodos basados en k-anonimizacion. El caso de Perturbacion
por Ruido Aleatorio no sufre cambio, para POI en este escenario se cuentan
nuevamente con los reportes de los usuarios, que es el caso en que se tiene
mayor posibilidad de localizar al usuario. Para el Modelo Hıbrido este es el peor
escenario ya que se tendrıan todos reportes de los usuarios y la correspondencia
entre las localizaciones exactas con los usuarios para el caso de los reportes
cifrados.
El desempeno de los mecanismos para cada escenario descrito se analizara en la
seccion 2.6.2.
2.4.3. Consumo de energıa
Para evaluar el consumo de energıa se utilizo un registro de usuario de 1MB
de tamano, se realizaron 20 pruebas, procesando y transmitiendo en cada una el
registro segun las variantes propuestas por cada uno de los mecanismos de privacidad
analizados. Para las pruebas se midieron tres procesos:
1. Transmision del registro en texto plano utilizando sockets TCP/IP : Empleado
al utilizar las tecnicas de microagregacion y perturbacion de los datos.
2. Cifrado del registro de usuario utilizando una llave simetrica AES de tamano
128 bits: Este proceso se realiza cuando se emplean esquemas de doble cifrado.
3. Transmision del registro a traves de una conexion SSL: Este proceso se utiliza
al emplear las tecnicas de cifrado.
Se asumio que el registro de 1 MB ya esta almacenado en memoria con la estruc-
tura requerida para cada tecnica de proteccion de la privacidad. Para el montaje del
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 26
Figura 2.3 Instalacion para medir el consumo de energıa en el celular.
experimento se utilizo un telefono Samsung modelo GT-I9195L, con sistema operati-
vo Android version 4.4.2, las transmisiones se realizaron utilizando la red Wi-Fi del
campus, utilizando el esquema mostrado en la figura 2.3.
Para calcular la energıa empleada por cada mecanismo para proteger la privacidad
del usuario se alimento el telefono a VDC ≈ 4.2 V, utilizando una fuente DC de
laboratorio modelo Tektronix PS280 y se midio a intervalos δi = 0.25 s el consumo
de corriente Ai durante cada proceso.
En el calculo de la energıa que se consume en el terminal durante estos procesos
no se tuvo en cuenta la distancia desde el terminal hasta el punto de acceso Wi-Fi
mas cercano a este. No obstante, las pruebas se realizaron con el terminal en una
posicin fija en todo momento, por lo que para los casos analizados el incremento del
consumo de energa debe ser semejante en todos los escenarios.
E =∑i
(VDC ∗ Ai ∗ δi) (2.4)
Utilizando la ecuacion 2.4 se calculo la energıa total expresada en Joules que se
emplea en cada mecanismo como la suma de los valores instantaneos de voltaje y
corriente en cada intervalo de tiempo [24].
Los resultados obtenidos para cada proceso se muestran en la figura 2.4. Puede
apreciarse que el cifrado del archivo utilizando AES consume los niveles mas altos,
aunque tarda relativamente poco tiempo. En el caso de el envıo por socket SSL del
registro, aunque los niveles de consumo de corriente no varıan drasticamente respecto
a los otros procesos, si se observa que el proceso tarda un tiempo considerable en
culminar, una causa de este retraso es el hecho de que por cuestiones de seguridad la
conexion es cortada antes de que se envıe todo el paquete de datos (el cual es largo
para este tipo de conexiones), por lo que se debe iniciar nuevamente la negociacion
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 27
del socket SSL entre el celular y el servidor.
Figura 2.4 Promedio del consumo de corriente para 20 pruebas de cada proceso.
2.5. Mecanismo de Privacidad Hıbrido
El mecanismo de privacidad Hıbrido que se implementa tiene como caracterıstica
fundamental la seleccion del porcentaje de los datos enviados por el participante al
sistema son cifrados y que porcentaje son ofuscados. Estos porcentajes determinan
el despeno del mecanismo, por lo que se debe realizar un analisis para determinar
cuales porcentajes son los mas adecuados en el esquema.
2.5.1. Funcionamiento del Mecanismo Hıbrido
En la figura 2.5 se muestra el funcionamiento del algoritmo de decision empleado
en el Mecanismo Hıbrido que se emplea en el presente proyecto. Los datos de entrada
para cada ronda Rt son la superficie de datos obtenida al interpolar las mediciones
(MRt), la cantidad inicial de agrupaciones (k), el numero maximo en que se divi-
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 28
dira una celda (n), y el tamano mınimo de celda Smin, a partir del cual se decide
utilizar Puntos de Interes en lugar de cifrado.
Figura 2.5 Algoritmo de decision del Mecanismo Hıbrido para la ronda Rt.
En la primera etapa del algoritmo se encuentran los centros de k agrupaciones en
la superficie MRt . Luego se calcula el espacio de Voronoi Vi correspondiente con cada
centro Cxyi y el gradiente de cambio gi de la variable representada por la superficie
MRt dentro del espacio Vi. El intervalo I entre el gradiente mınimo gmin y el maximo
gmax se cuantifica en n partes y se clasifica cada gi en un Ij, y se divide la celda
definida por Vi en j centros Pxy. Las regiones cuyo gradiente de cambio gi es nulo se
agrupan nuevamente para crear celdas mas grandes con centros Qxy. Luego segun el
tamano de cada nueva celda (Pxy o Qxy) se determina si cifrar o utilizar puntos de
interes para reportar las localizaciones ne esa area. Finalmente el algoritmo retorna
como salida los puntos de interes de la ronda Rt+1, los cuales estan definidos definidos
por la union entre Pxy y Qxy.
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 29
2.5.2. Seleccion de Smin
De la explicacion anterior se deduce que el tamano de Smin determina la razon
de celdas que utilizan puntos de interes o cifrado como mecanismo de privacidad.
Esta razon infiere directamente en la calidad de la informacion reportada (R2), el
consumo de energıa para procesar y reportar esta informacion desde el celular (E) y
la probabilidad de encontrar al usuario segun los diferentes escenarios de amenazas
que pueden presentarse (PLocSPr, PLocSPd y PLocSPrPd). El cuadro 2.1 muestra
el comportamiento promedio de estos parametros para diferentes tamanos de Smin
analizados. En la seccion 2.6 se explican los procedimientos y calculos empleados en
la obtencion de estos parametros.
Smin % Cifrado % POI PLocSPr PLocSPd PLocSPd R2 E [J ]
50 0.07 99.93 0.9866 0.0120 0.9873 0.9835 8.881100 1.37 98.63 0.9736 0.0123 0.9873 0.9877 8.790150 4.24 95.76 0.9467 0.0117 0.9891 0.9853 8.590200 10.40 89.60 0.8855 0.0126 0.9895 0.9885 8.161250 19.23 80.76 0.8000 0.0091 0.9923 0.9920 7.545300 29.80 70.20 0.6972 0.0100 0.9952 0.9938 6.808350 36.00 64.00 0.6359 0.0084 0.9959 0.9953 6.376400 37.60 62.40 0.6211 0.0089 0.9971 0.9944 6.264
Cuadro 2.1 Variacion del rendimiento segun el tamano de celda Smin.
De estos resultados se escoge Smin = 200 unidades, ya que presenta un rendimiento
equilibrado entre el consumo de energıa y la proteccion del usuario.
2.6. Comparacion cuantitativa de los principales
mecanismos de privacidad
2.6.1. Organizacion de las pruebas
Para realizar el analisis cuantitativo de los principales mecanismos de proteccion
de la privacidad, se utilizo como entorno de simulacion Matlab, la region de interes es
una superficie de 100 unidades2. La cantidad promedio de transeuntes en el area es de
60, estos se desplazan en la superficie a partir de posiciones iniciales aleatorias. Para
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 30
modelar el desplazamiento, se utilizo una funcion para generar caminos aleatorios,
alterando las probabilidades de las direcciones de los transeuntes como se muestra
en el cuadro 2.2, se asume una velocidad media de 1.5 m/s, ya que este valor
corresponde al paso medio de los adultos jovenes [20], que es la poblacion mas
representativa en el campus. La metrica utilizada para reportar las posiciones de los
transeuntes es la Euclidiana, se escogio esta en lugar de la distancia de Manhattan
[5], ya que se asume que la superficie de simulacion es el campus de la Javeriana, en
el cual los peatones tienen mas libertad de movimientos que en la malla propuesta
por la distancia de Manhattan.
Direccion Probabilidad
Adelante 0.66Derecha 0.12Izquierda 0.12Atras 0.04Detenerse 0.06
Cuadro 2.2 Probabilidad para cada punto de decision al generar los caminos aleato-rios.
Para la comparacion entre los diferentes Mecanismos de Privacidad se escogieron
las siguientes variantes:
1. Teselacion, (Microagregacion): Se simula utilizando un numero mınimo de 3
caminantes (k = 3) para dividir la region de interes en celdas. Las celdas se
construyeron en orden aleatorio, escogiendo puntos regularmente distribuidos
en la superficie a partir de los cuales se procede a localizar a los k usuarios mas
cercanos para realizar la division.
2. Puntos de Interes, (Perturbacion): Para simular se divide la region utilizando
una malla regular de 5x5 celdas.
3. Perturbacion por Ruido Aletorio, (Perturbacion): Se utiliza una distribucion
normal con media µ = 0 y varianza σ2 = 5 unidades para la simulacion.
4. Mecanismo Hıbrido, (Puntos de Interes y cifrado): Para la simulacion de esta
variante se utiliza k0 = 25 celdas iniciales y un tamano mınimo de celda Smin =
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 31
200. El tamano mınimo se escogio de acuerdo a los resultados que se muestran
en el cuadro 2.1.
2.6.2. Resultados y Analisis
A continuacion se muestran y valoran los resultados obtenidos para cada metrica.
Calidad de la Informacion
La figura 2.6 muestra el desempeno de cada mecanismo de acuerdo a la calidad de
la informacion. Puede observarse que el Modelo hıbrido ofrece muy buenos resultados,
mientras que el peor desempeno lo ofrece Teselacion, esto se debe al desplazamiento
aleatorio de los usuarios en la region de interes, que provoca que la division de las
celdas sea muy irregular y por lo tanto los centros de algunas celdas suelen estar
muy alejados de la posicion real donde se genera el reporte. Se asume que los valores
negativos del coeficiente de determinacion que arroja la simulacion son nulos, pues
no tienen sentido siendo R2 un valor cuadratico.
Figura 2.6 Coeficiente de Determinacion (R2) para cada Mecanismo de Privacidad.
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 32
Probabilidad de Localizar al Usuario
A continuacion se analiza el desempeno de cada mecanismo en cuanto a la pro-
teccion de la privacidad segun los escenarios descritos en la seccion 2.4.2.
1. El adversario tiene acceso al Servidor Proxy (PLocSPr):
Los resultados de este escenario se muestran en la primera columna del cuadro
2.3. Si se emplean las tecnicas basadas en k-anonimizacion (Teselacion), el
usuario debe reportar su localizacion real a la entidad que realiza la anonimi-
zacion, por lo que la probabilidad de localizar al usuario es la unidad.
En el caso de las tecnicas de perturbacion de los datos solamente se tiene acceso
a las observaciones ofuscadas, para las perturbaciones por Ruido Aleatorio la
probabilidad de encontrar al usuario depende de la varianza del ruido anadi-
do para ofuscar las localizaciones, como esta debe mantenerse dentro de un
lımite aceptable para brindar una buena calidad de informacion, se tiene una
probabilidad alta de encontrar al usuario. Para el caso de POI se tiene una
probabilidad PLocSPr = 0.9830 de encontrar al usuario, la cual depende de la
cantidad de puntos de interes que se utilicen para ofuscar las localizaciones.
En el mecanismo Hıbrido se tiene acceso a la fraccion de las observaciones que
utilizan como mecanismo de privacidad la perturbacion de los datos por POI,
la probabilidad de encontrar al usuario es 0.9882, pero como solo un 89.60 %
(cuadro 2.1) de los usuarios emplea POI para reportar las observaciones, la
probabilidad resultante es PLocSPr = 0.8855.
2. El adversario tiene acceso al servidor de Datos Ambientales (PLocSPd):
Estos resultados corresponden a la segunda columna del cuadro 2.3. En Tesela-
cion este escenario equivale a que se tengan los datos ofuscados de los usuarios,
pero no las localizaciones exactas, por lo que para k = 3 y 60 usuarios como
promedio en el area, el tamano de celda promedio es1
20del area total, lo que
resulta en una probabilidad de 0.95 para observacion anonimizada. Como las
observaciones anonimizadas representan 3 observaciones reales, la probabilidad
de localizar al usuario es PLocSPr =0,95
3= 0.317.
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 33
Para el metodo basado en perturbacion de los datos por Ruido Aleatorio se
mantienen las probabilidades halladas en el escenario anterior puesto que la
ofuscacion ocurre a nivel de cada usuario, por lo que las dos entidades compar-
ten los datos. En el caso de POI, para 60 usuarios y utilizando una malla de
5x5 celdas regulares (el tamano de celda es1
25), se tiene una probabilidad de
0.96 de encontrar al usuario. Como las simulaciones arrojaron un promedio de
2.4 usuarios por celda, la probabilidad de localizar a un usuario es PLocSPd =0,96
5= 0.4.
Para el caso Hıbrido se tienen los reportes ofuscados por POI que reenvıa
el SPr y las observaciones cifradas, pero como la identidad del usuario fue
removida de ambos registros al enviarse al SPd, la probabilidad de encontrar
al usuario en un area determinada es de 0.9882.
3. El adversario tiene acceso a los dos servidores (PLocSPrPd):
En este caso (tercera columna del cuadro 2.3), ambos niveles de seguridad
estan comprometidos, por lo que para el caso de Microagregacion, se tienen las
localizaciones exactas de cada usuario, PLocSPrPd = 1. En el caso de POI
la probabilidad de encontrar al usuario es la probabilidad que se tiene para
el primer escenario, pues este es el caso donde se tienen mas detalles sobre
el reporte de los usuarios. Para el caso hıbrido, si se comprometen los dos
servidores, se tiene acceso a la localizacion exacta de la fraccion de usuarios
que utilizan cifrado para reportar los datos (10.4 %) y los reportes que utilizan
POI. La probabilidad de encontrar a un usuario en estas condiciones es la suma
de estas probabilidades: 1 en el caso de los datos cifrados, como el porcentaje
de reportes cifrados es 10.40 % del total, resulta en 0.104. En el caso de los
datos ofuscados la probabilidad para la fraccion de reportes que utilizan POI
resulta en 0.8855, sumando una probabilidad de encontrar al usuario PLoc =
0.9895.
Consumo de energıa
Los consumos de energıa estimados para cada mecanismo se observan en el cuadro
2.4. Como se realizan las pruebas partiendo de que los registros ya estan almacenados
Capıtulo 2. Mecanismos de Proteccion de la Privacidad 34
Mecanismo PLocSPr PLocSPd PLocSPrPd
POI 0.983 0.400 0.983Ruido Aleatorio 0.989 0.989 0.989Teselacion 1.000 0.317 1.000Hıbrido 0.885 0.988 0.989
Cuadro 2.3 Probabilidades de localizar al usuario segun el mecanismo de proteccionde la privacidad.
Mecanismo E [J ]
POI 1.914Ruido Aleatorio 1.914k-anonimizacion 1.914Doble cifrado 8.886Hıbrido 8.161
Cuadro 2.4 Variacion del consumo energetico segun el mecanismo de proteccion dela privacidad.
en la memoria del celular, se tienen valores semejantes de consumo en las tecnicas
que emplean solamente sockets TCP para la trasmision de los mensajes. Los metodos
de doble cifrado presentan los niveles de consumo mas elevados, ya que emplean los
procesos de cifrar el registro utilizando la llave simtrica AES y la conexion segura SSL
cada vez que se envıan los datos al servidor. Se observa que el empleo del Mecanismo
Hıbrido logra disminuir en parte este consumo, puesto que solo cifra una fraccion de
los mensajes.
Conclusiones
En los analisis anteriores se evidencia la robustez del Mecanismo Hıbrido frente a
otras tecnicas de proteccion de la privacidad del usuario, lo que justifica su adopcion
en el Sistema de Monitoreo de la Calidad del Aire en el campus de la Javeriana. Es
importante recalcar que segun sea el dimensionado del sistema y los parametros del
compromiso entre energıa y privacidad que se quieran alcanzar, se debe variar el area
Smin que determina los porcentajes de cifrado.
Capıtulo 3
Mecanismos de Incentivos
Los sistemas PS dependen de la participacion de los usuarios, ya que son el medio
a partir del cual se centraliza y/o recolecta la informacion. Es evidente por tanto la
necesidad de disenar un esquema de incentivos acorde con el objetivo de la aplicacion
y los recursos con que cuenta la misma.
3.1. Antecedentes
El tema de los mecanismos de incentivos en sistemas de SP ha sido tratado
en trabajos previos, observandose que los mecanismos que implican compensacion
monetaria son los mas extensamente abordados y aplicados [13, 15, 17, 22, 26, 28, 29].
El cuadro que se muestra en la figura 3.1 ofrece una comparacion general de los
principales mecanismos de incentivos empleados en esquemas de SP .
Se evidencia en los datos recopilados que la base fundamental del incentivo en las
aplicaciones sin compensacion monetaria [3, 6, 7, 19] es el interes propio del usuario,
ya sea por obtener informacion general relativa a la variable que se esta sensando
o satisfaccion personal relacionada con filantropıa o la culminacion exitosa de la
tarea propuesta. Como el sistema que se desea poner en marcha en el campus de la
Pontificia Universidad Javeriana (PUJ) no cuenta con presupuesto para remunerar
la participacion, este debe hacer uso de las ideas propuestas en estos trabajos, para
lograr que el usuario obtenga informacion relativa a la calidad del aire en el campus
de la universidad, y se sienta comprometido con el sistema, ya que con su aporte
35
Capıtulo 3. Mecanismos de Incentivos 36
Figura 3.1 Cuadro comparativo de los principales mecanismos de incentivos parasistemas de sensado participativo.
esta beneficiando a la comunidad del campus.
En el caso del metodo de Subasta Inversa, como esta modalidad implica que el
usuario informa a una entidad central que esta en la capacidad de realizar medicio-
nes en un punto determinado, con lo cual indirectamente esta dando a conocer su
localizacion, el metodo queda descartado para el sistema que se desea dienar. Los
mecanismos que emplean pseudonimos y credenciales, si pueden ser adaptados al
sistema actual, para que se pueda asociar al usuario a la realizacion de una tarea
de sensado sin comprometer sus datos sensibles. Los metodos de gamificacion y de
recompensas con metricas de reputacion proveen al usuario de metodos de interac-
cion mas atractivos con el sistema, y pueden ser disenados tomando en cuenta la
proteccion de la privacidad del usuario.
Capıtulo 3. Mecanismos de Incentivos 37
3.2. Marco Teorico
Segun el analisis anterior, la solucion adecuada para un sistema de SP sin presu-
puesto para recompensar la colaboracion de los usuarios es el empleo de mecanismos
de gamificacion, por lo que la aplicacion con la que interactua el usuario para obtener
las mediciones de los sensores y trasmitirlas hacia los servidores se disena como un
juego. Las tecnicas empleadas para el desarrollo del mecanismo del juego se describen
a continuacion.
Tecnicas de Gamificacion Los mecanismos de gamificacion o ludificacion se ba-
san en el uso de la forma de pensar y mecanica de los juegos en otros contextos para
comprometer a los usuarios en la solucion de problemas. Para lograr el compromiso,
las tecnicas de ludificacion se apoyan en los deseos y necesidades de los usuarios, alre-
dedor de la idea de “Estatus” (Rango o nivel del jugador) y “Logros” (Competencias
adquiridas durante el juego).
Se aclara que para dar un caracter mas competitivo y orientado al juego, la apli-
cacion para el celular se refiere a las tareas de sensado como “Misiones”. Con este
termino se denomina a partir de ahora a las acciones que debe realizar el participante
para recopilar los datos y enviarlos al servidor.
Las mecanicas empleadas para realizar el “Estatus” y los “Logros” son:
Puntuacion: Cada mision realizada satisfactoriamente por el usuario aumenta
este marcador, en dependencia del valor asociado a la mision completada. Las
puntuaciones de las misiones varıan de acuerdo con la localizacion del punto
donde se deba realizar las mediciones y la necesidad de cifrar los datos a enviar.
La puntuacion se acumula hasta un lımite, a partir del cual vuelve a cero y se
aumenta el marcador de Nivel.
Nivel: El Nivel aumenta cuando se alcanza la puntuacion necesaria, por lo que
va aumentando mas lentamente y necesita mayor compromiso por parte del
usuario para cambiar.
Distinciones: Las Distinciones son formas de remunerar al usuario por haber
logrado algo. Estan bloqueadas para cada usuario hasta que este vaya com-
Capıtulo 3. Mecanismos de Incentivos 38
pletando una serie de tareas requeridas. Se pueden otorgar Distinciones por la
rapidez con que un usuario sea capaz de completar una tarea de medicion, y
por cada localizacion nueva donde el usuario realice una tarea.
3.3. Seleccionar una solucion de acuerdo a las ca-
racterısticas especıficas del sistema
A pesar de que parten de la idea de la recompensa monetaria, las soluciones
en [13, 15, 17, 22, 26, 28, 29], pueden ser reutilizadas en un sistema que no sea
basado en remuneracion, para reforzar los incentivos. Especialmente interesan las
ideas planteadas en [22, 28, 29], que pueden ser adaptadas al proyecto actual. En
general, las ideas principales de estos proyectos que se modificaran para nuestro
esquema son:
Emplear un esquema que combine las tecnicas de proteccion de la privacidad
del usuario con los mecanismos de incentivos, para lograr eficiencia en la trans-
mision de la informacion y a la vez fomentar la participacion de los usuarios
[28].
Comprometer a los usuarios en la solucion de problemas, basandose en sus
deseos y necesidades de alcanzar determinadas metas, girando alrededor de
conceptos como “estado” y “logros” [22].
Utilizar los mecanismos de recompensa como un subconjunto de las tecnicas
de ludificacion [16] para aumentar el interes de los participantes [29].
De lo anteriormente expuesto, se derivan las principales caracterısticas del meca-
nismo de incentivos seleccionado para el sistema de monitoreo de la calidad del aire
de la PUJ:
1. Explotar el sentimiento de participacion dentro de una comunidad, promo-
viendo el bienestar general, aprovechando que el esquema se desarrollara en el
campus de la universidad.
Capıtulo 3. Mecanismos de Incentivos 39
2. Poner a disposicion del publico la informacion recuperada por los participan-
tes, a traves de un servidor web que permite la visualizacion de las variables
sensadas dispuestas sobre un mapa del campus.
3. Utilizar un esquema de incentivos que tenga en cuenta la proteccion de la
privacidad del usuario, siendo capaz de reconocer al usuario su participacion
en el sistema sin comprometer su informacion privada. Para ello se asignan
identificadores a las tareas de sensado, que cumplan la doble funcionalidad
de asociar las recompensas asociadas a cada tarea a la vez que enmascaran la
informacion que pueda comprometer al usuario (localizacion espacio-temporal).
4. Utilizar los metodos de gamificacion para recompensar la participacion de los
usuarios en el sistema, dando la categorıa de misiones a las tareas de sensado,
asignando puntuaciones y condecoraciones asociadas a los logros individuales,
como metrica para premiar su colaboracion. Para ello se implementa una base
de datos independiente a la base de datos ambientales, donde se asocia a cada
usuario la informacion cuantitativa que describe sus aportes en el esquema.
La interfaz grafica de la aplicacion celular juega un papel importante en la con-
cepcion del juego, puesto que a traves de esta el usuario interactua con el sistema. Un
requisito mınimo que debe tener la aplicacion es ser capaz de mostrar en un mapa la
posicion actual del usuario y de los dispositivos de medicion de la polucion Pollution
Spots.
En la seccion 4.1 se describe la dinamica del juego y en la seccion 4.2 se muestran
las pantallas utilizadas en la aplicacion celular.
3.4. Rendimiento del Mecanismo de Incentivos
La evaluacion del mecanismo de incentivos a partir de usuarios en el campus de
la universidad no se realizo, puesto que aun no se encuentran listos los modulos para
medir la calidad del aire o Pollution Spots, sin embargo se efectuaron simulaciones
en Matlab que permiten comprobar parcialmente el desempeno de los incentivos.
Capıtulo 3. Mecanismos de Incentivos 40
3.4.1. Organizacion de las pruebas
Para analizar el rendimiento del Mecanismo de Incentivos, se desarrollo en el
entorno de Matlab un Banco de Pruebas que tiene la estructura mostrada en la
figura 3.2. Se destaca que la simulacion de los transeuntes dentro del sistema de SP
utilizando el Banco de Pruebas disenado es escalable, ya que para anadir nuevos
parametros al mismo basta agregar la nueva variable a la suma y recalcular los pesos
de cada modulo para que su suma sea igual o menor que la unidad. Los modulos con
los que cuenta actualmente el Banco se describen en los siguientes numerales.
Figura 3.2 Estructura del Banco de Pruebas para la simulacion de los Mecanismosde Incentivos.
1. Camino Aleatorio:
Este modulo calcula los desplazamientos en X e Y de los transeuntes, a partir
de la asignacion de diferentes pesos a cada direccion posible que pueda tomar
el usuario (cuadro 2.2), de acuerdo con su direccion anterior θt−1 (determinada
por las posiciones ultima y penultima), los cuales son evaluados usando una
variable aleatoria con distribucion normal. Este modulo calcula el desplaza-
miento utilizando las ecuaciones en 3.1 y 3.2, donde θRt es la nueva direccion
Capıtulo 3. Mecanismos de Incentivos 41
del caminante, que se obtiene a partir de la variable aleatoria y la direccion
anterior, y Vt es la velocidad instantanea, calculada utilizando una distribu-
cion normal cuya media es la velocidad promedio de los caminantes (1,5m/s)
y varianza de 0,2m/s (tomando en cuenta que una caminata rapida equivale a
1,67m/s).
dXRt = Vt ∗ cos(θRt) (3.1)
dYRt = Vt ∗ sen(θRt) (3.2)
2. Camino con Destino:
A partir de este modulo se calculan los desplazamientos en X e Y en la direccion
mas adecuada para acercar al usuario a su destinacion. La ecuaciones 3.3 y 3.4
se utilizan para calcular estos desplazamientos, θDt es el angulo formado entre
la posicion actual del usuario Xi e Yi y su posicion de destinacion Xf e Yf .
dXDt = Vt ∗ cos(θDt) (3.3)
dYDt = Vt ∗ sen(θDt) (3.4)
3. Camino Probables:
Este modulo simula las rutas mas probables que pueden seguir los usuarios en
su desplazamiento por la superficie F , aportando mas peso a los caminos mas
probables que a caminos menos transitados (es mas probable que los usuarios
transiten por las calles internas del campus que a traves del cesped, etc.).
Debido a los alcances de la investigacion, la superficie que simula los caminos
es generica (figura 3.3), sin embargo como la superficie es una entrada del
modulo, no es necesario realizar otros cambios si se modifica la superficie, solo
basta que la superficie de entrada este normalizada.
Las ecuaciones 3.5 y 3.6 muestran los desplazamientos para cada eje, las can-
tidades δFδX
y δFδX
representan los gradientes de la superficie en cada eje, de
Capıtulo 3. Mecanismos de Incentivos 42
Figura 3.3 Superficie F para simular los caminos mas probables y los Pollution Spots.
forma tal que cuando el usuario esta cerca de un camino, tiene mas tendencia
a ir acercandose al centro de este, y una vez dentro posee menor probabilidad
de salirse del mismo. En las areas donde el camino esta alejado (las regiones
centrales de los cuadrados en la figura 3.3), el gradiente es cero y por tan-
to este parametro no afecta a los transeuntes. El calculo de los gradientes se
realizo utilizando la funcion gradient de Matlab, la cual calcula la diferencia
entre puntos consecutivos a lo largo de la dimension que se le especifique como
entrada.
dXDt = Vt ∗δF
δX(3.5)
dYDt = Vt ∗δF
δX(3.6)
4. Camino con Incentivos:
Este es el modulo mas importante del Banco de Pruebas, ya que permite la
comprobacion de la efectividad de aplicar mecanismos de incentivos sobre el
sistema de SP para lograr buenos resultados en cuanto a la calidad de la infor-
Capıtulo 3. Mecanismos de Incentivos 43
macion que brinda el sistema. Funciona con el mismo principio del modulo de
Camino con Destinacion, pero en este caso la posicion de destino es el Pollution
Spot mas cercano (PSx y PSy) donde el usuario no ha realizado mediciones
(para evitar que el caminante se quede alrededor del mismo Pollution Spot).
Tambien debe cumplirse que el Pollution Spot no cambie drasticamente la di-
reccion final del usuario, para ello se comparan los angulos entre el usuario
y su destino ( θDt), y el usuario y el Pollution Spot, si el valor absoluto de
la diferencia entre los angulos no es menor que 90 se desecha ese punto y se
procede a buscar uno que si cumpla con estas condiciones.
Las ecuaciones que describen el comportamiento del usuario de acuerdo con
los incentivos se muestran en 3.7 y 3.8.
dXIt = Vt ∗ cos(θIt) ∗ wJi (3.7)
dYIt = Vt ∗ sen(θIt) ∗ wJi (3.8)
donde wJi es el paso instantaneo que tienen los incentivos para cada jugador en
cada iteracion, el cual depende de tres factores: St, Gt y wPS, que representan el
marcador actual del usuario, el coeficiente “ambientalista” (que tan dispuesto
esta el participante a desviarse de su ruta para medir en un Pollution Spot) y
el peso o puntuacion que le otorgarıa medir en el Pollution Spot por el cual se
esta desviando, respectivamente. La ecuacion 3.9 muestra el calculo de wJi en
cada iteracion. Los valores St, Gt y wPS estan normalizados.
wJi =St +Gt + wPS
3(3.9)
La salida de cada modulo es multiplicada por el peso que tiene cada modulo
en el movimiento de los transeuntes en la superficie de simulacion. Los valores de
los pesos fueron escogidos mediante prueba y error, para simular lo mas cercano
a la realidad el comportamiento promedio de las personas caminando. Los valores
escogidos finalmente se muestran en el cuadro 3.1. El valor del peso de los incentivos
es el maximo valor que puede tener este modulo sobre cada transeunte en cada
Capıtulo 3. Mecanismos de Incentivos 44
iteracion de las pruebas, su valor instantaneo se calcula como la suma normalizada
de los diferentes factores que promueven al usuario a participar en el juego, segun la
ecuacion 3.9.
Para evaluar la calidad de la informacion antes y despues de la aplicacion de
los mecanismos de incentivos, cuando un transeunte se encuentra a una distancia
BLE inferior a la distancia de trasmision maxima especificada para un dispositivo
Bluetooth de clase 2 [1] (BLE = 30m), se actualiza una matriz con la posiciones
donde se han realizado mediciones Mi. Utilizando las posiciones almacenadas en Mi
y las posiciones de todos los Pollution Spots ubicados en la superficie de simulacion,
se calcula el coeficiente de determinacion (R2) (ecuacion 2.1), para cada escenario.
Modulo Parametro Peso
Camino Aleatorio wR 0.01Camino con Destino wD 0.30Camino Probable wC 0.34Camino con Incentivos wJ 0.35
Cuadro 3.1 Peso de cada parametro durante la caminata.
3.4.2. Analisis de los Resultados
Se realizaron dos conjuntos de pruebas para la evalucaion del aporte de los Me-
canismos de Incentivos a la calidad de la informacion.
1. Variacion del coeficiente “ambientalista” Gt
Estas pruebas se realizaron para simular el comportamiento de las personas
segun lo tan dispuestos que esten a participar en el sistema segun su criterio
personal. El comportamiento de R2 se muestran en el grafico de la figura 3.5.
Se hicieron las pruebas con un peso de wJ = 0.35 para los mecanismos de
incentivos y un total de N = 20 transeuntes.
2. Variacion del numero de transeuntes N
Los resultados de este conjunto de pruebas demuestran la necesidad de tener
un numero mınimo de participantes en el sistema para que la calidad de la
Capıtulo 3. Mecanismos de Incentivos 45
Figura 3.4 Variacion de la Calidad de Informacion segun la variacion del coeficienteambientalista G
informacion mantenga valores apropiados. Se utilizo un coeficiente Gt medio
de 0.8 y un peso de wJ = 0.35 para los mecanismos de incentivos.
Puede observarse que es mayor el efecto sobre el coeficiente de calidad de la
informacion al variar la cantidad de usuarios en el sistema que al variar la forma en la
que estos se comportan una vez que tengan la aplicacion. Esto indica la necesidad de
lograr una amplia difusion de la aplicacion, un vez que este completamente montado
el sistema.
Conclusiones
Del analisis anterior se evidencia que el diseno correcto de un algoritmo para
promover la participacion de los usuarios en un sistema SP juega un papel funda-
mental en la calidad de la informacion de las variables recopiladas por el sistema,
especialmente cuando el esquema no cuenta con presupuesto para remunerar la par-
ticipacion. El empleo de tecnicas de gamificacion presenta un buen rendimiento en
aplicaciones SP sin presupuesto.
Capıtulo 3. Mecanismos de Incentivos 46
Figura 3.5 Variacion de la Calidad de Informacion segun la variacion del numero detranseuntes N
Capıtulo 4
Implementacion del Sistema
En el capıtulo 1 se describio el sistema SP para la Red de Monitoreo de la
Calidad del Aire para la Pontificia Universidad Javeriana, presentando los modulos
con los que cuenta el esquema. En el presente, se describen los procesos y rutinas
mas importantes en la implementacion del sistema.
4.1. Algoritmo Combinado de Incentivos y Pro-
teccion de la Privacidad
Los mecanismos analizados en los capıtulos 2 y 3 no funcionan por separado en
el sistema, sino que deben combinar sus funcionalidades para el desempeno correcto
en el esquema: lograr recompensar al usuario por su participacion sin comprometer
sus datos sensibles. Para ello se emplean las etiquetas IDMision mencionadas ante-
riormente, las cuales identifican de forma inequıvoca a cada Mision que se publica
en la Red en la ronda Rt.
4.1.1. Ronda de juego Rt
Para poder llevar un control de las misiones que se lanzan, se define cada itera-
cion del sistema como un intervalo llamado ronda del juego (Rt) que comprende el
perıodo de tiempo entre la publicacion de las misiones asociadas a un Rt especıfico,
la realizacion de estas por parte del usuario, la recopilacion de la informacion, y el
47
Capıtulo 4. Implementacion del Sistema 48
Figura 4.1 Flujo de procesos y mensajes durante una ronda del juego Rt.
procesamiento de los datos para el lanzamiento de las misiones asociadas a la ronda
siguiente (Rt+1).
En la figura 4.1 se detalla el flujo de procesos y mensajes entre las aplicaciones
en los nodos Terminal Movil, Servidor Proxy y Servidor de Aplicacion durante una
ronda del juego Rt, asumiendo que el usuario ya tiene la aplicacion P-Spots instalada
en su Smartphone, esta registrado en el sistema y ha iniciado la sesion (seccion 4.1.2).
La ronda Rt comienza cuando el Servidor de Aplicacion envıa o publica las nuevas
misiones en el servidor Proxy. Los datos asociados a las misiones que necesita conocer
el Servidor de Proxy son:
IDMision: el identificador de la Mision que corresponde con el campo ID de las
tablas 1.3 y 1.5, para poder compensar a los participantes con la puntuacion
correspondiente a cada Mision con la que contribuyan. Es un valor unico que
se calcula a partir del hash de la suma de las coordenadas de latitud y longitud
de las localizaciones donde se debe medir.
Puntos: La puntuacion correspondiente con cada Mision, que se otorgara como
recompensa a los usuarios que colaboren con esta. Corresponde con el campo
Capıtulo 4. Implementacion del Sistema 49
MISSION de las tablas 1.3 y 1.5.
Latencia: Este dato indica al Servidor Proxy el tiempo de vigencia de la Mision,
cuando se vence puede borrar las entradas correspondientes con el IDMision en
la Tabla de Misiones. El valor de la latencia es el campo EXPIRES de las
tablas 1.3 y 1.5.
Esto campos se actualizan en la tabla 1.3 cada vez que el Proxy recibe las nuevas
misiones.
Cuando un usuario desea jugar, abre la aplicacion P-Spots, la cual muestra la
pantalla (b) de la figura 4.2. Al presionar el boton “Ver tareas”, la aplicacion envıa el
mensaje “Solicita Mision” hacia el Servidor de Aplicacion, y el Servidor de Aplicacion
contesta con las misiones generadas para la rondaRt. Este intercambio de mensajes se
hace por un canal TCP ya que el Servidor envıa todas las Misiones correspondientes
con la ronda, lo cual no implica que el usuario vaya a realizar o este cerca de la
ubicacion de alguna. Los datos de las Misiones que necesita la aplicacion son:
Localizacion: Son las coordenadas de Latitud y Longitud de la Mision, para
que la aplicacion pueda mostrar al usuario donde se debe medir. Corresponde
con los valores de los campos LATITUDE y LONGITUDE de la tabla 1.5.
Mecanismo: Este valor es la bandera que indica a la aplicacion si debe cifrar
u ofuscar los datos asociados a cada Mision que se le envio al usuario. Esta
bandera corresponde con el campo ENCRY PT de la tabla 1.5
POI: Los Puntos de Interes necesarios para ofuscar los Datos, los cuales son
generados el el Servidor de Aplicacion para cada ronda, utilizando el algoritmo
descrito en la seccion 2.5.
Cuando la aplicacion recibe estos datos cambia la actividad actual para mostrar
la usuario las 3 misiones mas cercanas a el en un mapa donde la localizacion del
usuario se representa con un marcador color azul, y las misiones se representan
con banderas (pantalla (c) de la figura 4.2). Cuando el usuario desee reportar los
datos presiona el boton “Medir”, lanzando con esta accion una Tarea Asıncrona1
1http://developer.android.com/reference/android/os/AsyncTask.html
Capıtulo 4. Implementacion del Sistema 50
(AsyncTask) de Android en la que la aplicacion adquiere los datos desde Pollution
Spot, a traves de un socket Bluetooth (seccion 4.2.1). Si no existe un Pollution Spot
lo suficientemente cercano al usuario para que pueda ser accesible la tarea se cancela
e informa al usuario.
Figura 4.2 Pantallas de la Aplicacion P-Spots : (a) Pantalla de Inicio, (b) PantallaPrincipal, (c) Pantalla de Misiones.
En el caso en que sı se descargan los datos, estos son procesados de acuerdo a
como indica la bandera Mecanismo y se envıan usando las tecnicas de cifrado o las de
ofuscacion. Ademas se calcula el IDMision puesto que la aplicacion tambien conoce
las coordenadas de las misiones, y se adjunta a la trama que se envıa al Servidor
Proxy. La trama que se envıa al servidor tambien contiene el ID del usuario, para
que este pueda ser recompensado. Para el envıo de la trama se utiliza el modulo de
comunicacion correspondiente (TCP o SSL, seccion 4.2.3).
Capa extra de seguridad En el capıtulo 1 se menciono que el Servidor Proxy
actua como mediador entre el Primer Nivel (aplicacion en el Terminal Celular) y el
Quinto Nivel (Servidor de Aplicacion) de la arquitectura de la Red de Monitoreo,
Capıtulo 4. Implementacion del Sistema 51
anadiendo un capa extra de proteccion. Esta mediacion tiene efecto cuando se envıan
los datos recolectados desde el Terminal al Proxy: cuando el Servidor Proxy recibe
la trama desde el celular, primero revisa si la Mision aun esta vigente mediante el
campo EXPIRES de la tabla 1.3, y luego remueve el ID del usuario de la trama
(cuadro 4.1) y el IDMision y reenvıa los datos asociados a las variables de interes
hacia el Servidor de Aplicacion.
Cuando recibe la trama con las variables de interes, el Servidor de Aplicacion las
guarda en su base de datos. Si la operacion de guardar los datos concluye sin errores
envia un mensaje de confirmacion al Servidor Proxy (ACK), con lo cual este procede
a actualizar la puntuacion del usuario y los demas campos en la tabla 1.2 y alerta
al usuario de la conclusion satisfactoria de la Mision. De ocurrir un error durante el
almacenamiento de los datos (los valores no cumplan con las restricciones puestas
sobre los campos de la tabla 1.4), se envıa un mensaje de confimacion negativo hacia
el Servidor Proxy y este alerta al usuario que la tarea no termino correctamente.
4.1.2. Registro e Inicio de Sesion del usuario en el Sistema
En la pantalla (a) de la figura 4.2 se observa la interfaz grafica de la primera
pantalla que aparece cuando se abre la aplicacion P-Spots por primera vez o cuando
el usuario no guardo su sesion en el telefono.
Registro del usuario en el sistema En el caso en que el usuario nunca se ha
registrado en el sistema, cuando este llena los campos “Usuario” y “Contrasena”
y presiona el boton “Registrarse”, la aplicacion envıa un mensaje hacia el servidor
Proxy por un canal SSL, con la estructura especificada en la segunda fila del cuadro
4.1. Cuando el Servidor Proxy recibe esta trama procede a insertar al nuevo usuario
en la tabla 1.2, almacenando la contrasena como se explico en la seccion 1.3.4. Luego
envıa al usuario el IDUsuario que genero, pues con este identificador se asegura que
la participacion del usuario en el sistema sea reconocida. Si la casilla “No cerrar se-
sion” estaba marcada la aplicacion guarda el IDUsuario en el almacenamiento interno
de la aplicacion, de forma tal que este dato no pueda ser accesible al resto de las
aplicaciones o al usuario2.
2Exceptuando los casos en que el telefono tiene los permisos de control avanzado (root).
Capıtulo 4. Implementacion del Sistema 52
Inicio de sesion La estructura de la trama para este escenario se muestra en la
tercera fila del cuadro 4.1. Este mensaje tambien se envıa utilizando un canal seguro.
Cuando el Servidor Proxy recibe la solicitud de inicio de sesion, revisa que en efecto
la combinacion de USER y PASSWORD que representa el mensaje recibido se
encuentre registrada. En caso afirmativo contesta con el IDUsuario (al cual se le da
el tratamiento explicado en el parrafo anterior). En caso de no estar previamente
registrado, el Proxy devuelve un mensaje de error a la aplicacion, que alerta al
usuario.
Luego de la culminacion exitosa de cualesquiera de estos dos procesos, la apli-
cacion envıa la trama mostrada en la ultima columna del cuadro 4.1 al Servidor de
Aplicacion, solicitando la contrasena del keyStore que tiene en su almacenamiento
interno, para poder obtener la llave secreta que se utilizara al aplicar las tecnicas de
cifrado. Luego de recibir la contrasena, se muestra al usuario la pantalla principal
del juego (pantalla (b) de la figura 4.2), desde la cual el usuario puede ver su Status
en el juego a partir de la opcion “Mis Resultados”, familiarizarse con el ambiente de
la aplicacion presionando “¿Como jugar?”, o comenzar a jugar.
4.2. Lado del Terminal Celular
En el terminal celular se encuentra la aplicacion P-Spots, disenada con una inter-
faz grafica amigable para el usuario, con las funcionalidades de conectividad Bluetooth
con los modulos Pollution Spots, TCP/SSL con los niveles superiores del sistema, y
procesamiento de los datos para su adecuacion con las diferentes interfaces. Como
se especifico en el capıtulo 3 la aplicacion tambien funciona como un juego para el
usuario. Los principales algoritmos y modulos de la aplicacion se describen a conti-
nuacion.
4.2.1. Comunicacion con los Pollution Spots
La comunicacion con los Pollution Spots comienza por el escaneo en busca de
estos, si alguno es detectado se procede a interrogar al adaptador de Bluetooth local
para saber si esta previamente pareado, en caso negativo se procede al pareado a
traves de un servicio del sistema. Una vez pareado el adaptador local con el Po-
Capıtulo 4. Implementacion del Sistema 53
Figura 4.3 Tarea Asıncrona para la comunicacion por Bluetooth
llution Spot se abre un canal RFCOMM para la comunicacion con el modulo de
sensores y ocurre el intercambio de las tramas especificadas en la figura 4.4. Todos
los componentes de la trama son cadenas de caracteres de tamano fijo (especificado
por la cantidad de veces que aparece) excepto la cadena de caracteres inicial “C”,
que tiene tamno variable e indica la cantidad de tramas con la misma estructura que
se envıan.
Cuando la actividad termina le comunica a la actividad que la lanzo que ya
termino y le pasa los resultados. Si la adquisicion de datos fue correcta, se llama al
modulo de Procesamiento de los Datos Ambientales.
Figura 4.4 Comunicacion con los Pollution Spots.
Capıtulo 4. Implementacion del Sistema 54
4.2.2. Procesamiento de los Datos Ambientales.
En la figura 4.5 se observa el flujo de la Tarea Asıncrona de Procesamiento de los
Datos Ambientales. El primer paso en esta tarea es analizar los datos que se recibieron
por Bluetooth para convertirlos a formatos mas acordes para su procesamiento y
transmision al Servidor Proxy. Luego se obtiene la localizacion a partir del Google
API Client3.
Figura 4.5 Procesamiento de las variables de interes en la aplicacion P-Spots
En dependencia de la bandera ENCRY PT asociada a la mision que el usuario
esta realizando se procede a cifrar u ofuscar los datos.
Cifrar los datos En el caso en que se deba cifrar los datos, se utiliza el algoritmo
de llave simetrica AES, con una llave de tamano 128 bits, la cual se encuentra
almacenada en un keyStore bajo contrasena en el almacenamiento interno de la
3https://developer.android.com/google/auth/api-client.html
Capıtulo 4. Implementacion del Sistema 55
aplicacion. Como se menciono en la seccion 4.1.2, la contrasena para obtener la llave
se recibe desde el Servidor de Aplicacion a traves de un canal SSL.
Ofuscar los datos Si la bandera indica que los datos deben ofuscarse, un algo-
ritmo escoge de entre los POI el mas cercano a la localizacion real del usuario y se
sustituye la localizacion real por el POI.
El proximo paso es calcular el valor de IDMision como el Hash SHA1 de la
suma de las localizaciones reales de la mision, y concatenar este valor al paquete.
Por ultimo se anade el IDUsuario y el caracter que indica que es una trama de datos
ambientales, quedando como se muestra en la primera fila del cuadro 4.1.
4.2.3. Comunicacion con los Niveles Superiores
La comunicacion con los Niveles Superiores se implementa a partir de dos tareas
Asıncronas, que implementan un socket TCP y un socket SSL respectivamente, para
brindar las funcionalidades necesarias en cada caso. El cuadro 4.1 muestra los tipos
de trama que envıa la aplicacion, su destino, y el tipo de canal que utilizan. La trama
con cabecera S se utiliza para solicitar el Estatus del usuario, el cual se solicita con
el boton “Ver mis Resultados” (pantalla (b) de la figura 4.2).
Cuadro 4.1 Estructura de la trama de datos desde el Segundo Nivel (Aplicacioncelular) al Cuarto (Servidor Proxy) y Quinto (Servidor de Aplicacion) Nivel
Destino Canal Cabecera Identificacion Complemento
Proxy TCP o SSL M IDUsuario IDMision + Datos Ambientales
Proxy SSL R IDUsuario Contrasena
Proxy SSL I IDUsuario Contrasena
Proxy TCP S IDUsuario -
Aplicacion TCP K IDUsuario -
Capıtulo 4. Implementacion del Sistema 56
4.3. Lado del Servidor Proxy
A continucacion se explican las funcionalidades del Servidor Proxy, que actua
como un mediador en la comunicacion entre el Segundo y Quinto Nivel, y es el
encargado del funcionamiento de los mecanismos de Incentivos (funciones que se
describieron en la seccion ). El funcionamiento del Servidor Proxy es bastante sim-
ple, puesto que no le tocan tareas que exijan mucha carga de procesamiento. Las
aplicaciones en los Servidores Proxy y de Aplicacion se escribieron en Java.
4.3.1. Manejo de las Bases de Datos
Dentro de este modulo estan integrados el conjunto de metodos que permiten
a la aplicacion corriendo en el servidor comunicarse con la base de datos, insertar,
modificar y extraer datos. Estas acciones se llevan a cabo a partir de consultas
basadas en el lenguaje estructurado de MySQL4. Las aplicaciones en el Servidor
Proxy el Servidor de Aplicacion tiene esta funcionalidad, puesto que ambas manejan
bases datos.
4.3.2. Comunicacion el Segundo y Quinto Nivel
El Servidor Proxy debe estar escuchando constantemente por los puertos desti-
nados a los canales TCP y SSL por pedidos tanto desde el Servidor de Aplicacion,
como de las aplicaciones en los terminales celulares, los cuales pueden ocurrir de for-
ma simultanea, por lo que los modulos de comunicacion funcionan como hilos, cada
nueva solicitud de conexion lanza un nuevo hilo que corre los metodos necesarios
para la lectura y escritura de los puertos.
4.4. Lado del Servidor de Aplicacion
El Servidor de Aplicacion implementa las funcionalidades mas pesadas dentro de
la Red de Monitoreo de la Calidad del Aire de la PUJ ya que es el nodo donde se
centraliza los datos recopilados del sistema, se realiza la interpolacion de estos, se
4https://www.mysql.com/
Capıtulo 4. Implementacion del Sistema 57
generan los archivos JSON para los mapas la Aplicacion Web, corre el Mecanismo
Hıbrido descrito en la seccion 2.5, y determina el peso o valor de cada nueva mision
generada para que el Servidor Proxy pueda recompensar a los participantes, entre
otras funcionalidades.
Los modulos de comunicacion con los Niveles Segundo y Cuarto funcionan de
forma similar a como se explico en la seccion 4.3.2, de esta forma, cada vez que
se reciba desde el Servidor Proxy una solicitud de conexion para enviar los datos
Ambientales, se crea un nuevo hilo que procesa la trama recibida, y llama a una
funcion del modulo de manejo de la base de datos para insertar los nuevos valores.
Los modulos para el manejo de las Bases de Datos son tambien similares, cambiando
solamente la sintaxis de las consultas debido a que la estructura de las bases de datos
son diferentes en el Servidor de Aplicacion.
4.4.1. Procesamiento de las variables de interes en la ronda
Rt+1
La aplicacion que corre en el Servidor de Aplicacion ejecuta al principio de cada
ronda Rt+1 las rutinas de procesamiento que dan soporte a las funcionalidades del
Servidor de Aplicacion. Las principales rutinas son:
Interpolacion de las variables de Interes Los datos que se reciben de cada
variable de interes no son continuos en la dimension espacial, por lo que es necesario
realizar la interpolacion de los mismos para poder obtener una superficie continua de
datos. La interpolacion se realiza a partir de un archivo shellscript de Unix compilado
desde Matlab, que contiene la funcion de interpolacion scatteredInterpolant propia
de Matlab, que construye una superficie interpoladora para una entrada de datos de
tres dimensiones. Para poder correr los shellscripts desde la aplicacion del servidor,
se utiliza la clase de Java ProcessBuilder 5, que brinda funcionalidades para crear
procesos en el sistema operativo.
La funcion de interpolacion ha dado muy buenos resultados, en las pruebas rea-
lizadas, donde para un promedio de 20 localizaciones donde se realizaron mediciones
sobre el campus de la PUJ , la superficie obtenida permite la representacion de los
5http://docs.oracle.com/javase/6/docs/api/java/lang/ProcessBuilder.html
Capıtulo 4. Implementacion del Sistema 58
datos en los mapas de Google (figura 4.7), y su procesamiento posterior para obtener
los Puntos de Interes y Localizaciones de las nuevas misiones. Ademas, se realizaron
pruebas con datos sinteticos obteniendose los resultados mostrados en la figura 4.6.
Figura 4.6 Interpolacion de datos sinteticos para mostrar el desempeno de la funcioninterpoladora. Desde la izquierda: Superficie con todos los valores, centro: Superficieinterpolada para 10 muestras, derecha: Superficie interpolada para 50 muestras.
Mecanismo Hıbrido El funcionamiento del Mecanismo Hıbrido se explico pre-
viamente en la seccion 2.5. La aplicacion corre el mecanismo como un shellscript
compilado en Matlab, debido a la complejidad de los algoritmos implementados y
al alcance del proyecto. El shellscript recibe como entrada un archivo que contiene
la superficie de datos previamente interpolada, y devuelve los Puntos de Interes,
localizacion de las Misiones y decision de cifrar u ofuscar cada reporte de Mision de
la proxima ronda de Juego del sistema.
Actualemente la puntuacion de cada Mision se esta generando de acuerdo con el
algoritmo de decision del Mecanismo Hıbrido: si los datos relativos a una mision debe
ser cifrados, se le otorga mayor puntuacion que a las misiones que utilizan ofuscacion,
puesto que cifrar los datos demanda ms recursos del terminal. Se debe trabajar a
futuro en la implementacion de un algoritmo que determine los lugares que tengan
menos densidad de mediciones, y otorgrale a estos mas puntuacion para promover
que el usuario se dirija a los mismos a realizar tareas de sensado.
Capıtulo 4. Implementacion del Sistema 59
4.4.2. Aplicacion web
En la figura 4.7 se muestra la interfaz grafica de la aplicacion web que se desa-
rrollo para facilitar el acceso a los datos recopilados por la Red de Monitoreo, y
apoyar los Mecanismos de Incentivos.
Figura 4.7 Interfaz grafica de la aplicacion web.
La aplicacion se escribio usando Javascript para aprovechar las ventajas que ofrece
este lenguaje en la implementacion de paginas web dinamicas, uso de poca memoria
del servidor ya que el codigo de la aplicacion se ejecuta del lado del cliente, y en
cuanto a su soporte en los navegadores mas populares. Como se intenta acceder lo
menos posible a las Bases de Datos del Servidor, la aplicacion muestra los mapas
a partir de archivos JSON generados previamente por un script que ejecuta la
aplicacion en el Servidor de Aplicacion (seccion 4.3.1) cada vez que se tienen los
datos de la ronda Rt−1.
La visualizacion de las variables de Interes sobre un mapa del campus de la PUJ
permite la identificacion rapida del comportamiento de las variables, a partir del uso
de gradientes de color y escalas. Otra funcionalidad que se agregara al sitio es la
visualizacion de tendencias, para conocer el comportamiento de las variables en el
tiempo.
Capıtulo 5
Conclusiones
En el presente informe se resume el estudio, seleccion e implementacion de al-
goritmos que cumplen con las funcionalidades de proteccion de la privacidad del
usuario, promocion de su disposicion a colaborar en el sistema, a la vez que se utili-
zan eficientemente los recursos de energıa y procesamiento de los nodos involucrados
en el desarrollo de un sistema basado en SP .
5.1. Resultados de la investigacion
De las tecnicas de proteccion de la privacidad de los usuarios dentro del para-
digma de SP , se ajustan mejor a las caracterısticas de la Red de Monitoreo de la
Calidad del Aire de la PUJ las que emplean varias tecnicas de proteccion de la
privacidad simultaneamente, para aprovechar las ventajas de cada una y compensar
sus limitaciones de acuerdo al escenario. En el proyecto que se realizo, la restriccion
principal es que no se cuenta con presupuesto para compensar a los usuarios por su
particpacion, lo cual deriva en la necesidad de ahorro de los recursos de energıa y
procesamiento del terminal celular del usuario para que al menos la relacion entre
lo que esta dispuesto a aportar de su tiempo y baterıa no resulte apreciable. Dentro
de este marco, el mecanismo de privacidad hıbrido que decide cifrar u ofuscar la
informacion sensible segun el tamano de las celosıas de la region de interes, ofrece el
mejor desempeno de acuerdo con los resultados de las pruebas realizadas.
El tamano mınimo del area umbral (Smin) para decidir si se debe cifrar u ofuscar
60
Capıtulo 5. Conclusiones 61
la informacion sensible asociada a una celosıa de la region de interes afecta el desem-
peno del mecanismo hıbrido, por lo que se escogio una Smin que ofreciera un buen
intercambio entre los recursos energeticos y y la calidad de la informacion reportada.
Las tecnicas mas generalizadas para fomentar los incentivos en los sistemas SP
son aquellas que parten de la compensacion monetaria, por lo que no son las ade-
cuadas para la Red de Monitoreo de la PUJ . Sin embargo, se pueden aprovechar las
ideas de metricas para medir la particpacion de los usuarios dentro del sistema, y
recompensar a cada uno segun su aporte. Las tecnicas de gamificacion constituyen
el sistema de recompensas que ofrece mas atractivo al adaptarse al marco de la Red
de Monitoreo de la PUJ , puesto que miden a cada participante por su contribucion
individual, y explotan la necesidad de cumplir metas intrınsecas de las personas.
Para comprobar la funcionalidad de los mecanismos de incentivos se diseno un
Banco de Pruebas, que simula el comportamiento de los participantes desplazandose
por una region donde este presente una Red de Sensores basada en SP . La carac-
terıstica mas atractiva del Banco de Pruebas es su escalabilidad, ya que considera
como entradas los diferentes parametros que pueden afectar la direccion de las per-
sonas al caminar en un area (que tambien permite ser ajustada), y tiene como salida
la sumatoria del efecto de todos los parametros de entrada que afectan el comporta-
miento de los participantes. Por lo tanto el sistema puede ser adecuado para simular
diferentes localizaciones, y diferentes comportamientos de los usuarios. En las simu-
laciones realizadas se comprobo que la cantidad de usuarios que colaboren con el
Sistema es fundamental en el desempeno del coeficiente de calidad de la informacion
(R2), ya que se observan mejores resultados aumentando la cantidad de usuarios que
colaboren, que variando su disposicion a participar de las tareas una vez que estan
dentro de la Red.
La implementacion de las tecnicas de Proteccion de Privacidad e Incentivos debe
realizarse en conjunto, por lo que se desarrollo un Algoritmo Combinado basado en
las etiquetas de misiones (IDMision), que logra asociar al usuario con su particpacion
en el sistema, sin romper el esquema de proteccion del mecanismo hıbrido.
Capıtulo 5. Conclusiones 62
5.2. Trabajos Futuros
Las areas en las que podrıan enfocarse trabajos futuros a partir de los resultados
del presente proyecto de investigacion son:
Integracion de las simulaciones para probar los Mecanismos de Privacidad al
Banco de Pruebas que se creo para la simulacion de los Mecanismos de Incenti-
vos. De este modo se tendra una plataforma mas completa que permita probar
las diferentes variantes en que puede implementarse un sistema de Sensado
Participativo.
Como uno de los parametros de entrada del banco de Pruebas son los caminos
mas probables que pueden tomar los usuarios dentro de las superficie simula-
da, realizar un estudio del comportamiento de los transeuntes en el interior del
campus es de vital importancia para obtener resultados que describan especıfi-
camente la Red de Monitoreo de la Calidad del Aire de la PUJ .
Extension de la compatibilidad de la aplicacion celular Pollution Spots a otros
Sistemas Operativos para aumentar la penetracion de la aplicacion. Como se
afirma en la seccion anterior, mientras mas usuarios tenga el sistema, mejor es
la calidad de la informacion final.
Migracion del codigo compilado en Matlab como shellscrip que se ejecuta den-
tro de la Aplicacion Java del Servidor de Aplicacion a lenguajes como Java o
C++, para proveer de mas uniformidad al codigo del Servidor de Aplicacion,
dandole a la solucion una estructura que sea mas facilmente adaptable a los
cambios a los que sea sometido.
Apendice A
Listado de los archivos incluidos
en el DVD
A continuacion se presenta un listado de los archivos incluidos en el DVD que
acompana este proyecto, el cual contiene los Apendices.
Carpeta Descripcion
P-Spots Fuentes del proyecto de aplicacion del lado del Terminal Ce-
lular.
Proxy-Server Fuentes del proyecto de aplicacion del lado del Servidor
Proxy.
Application-Server Fuentes del proyecto de aplicacion del lado del Servidor de
Aplicacion.
Web-Application Fuentes del proyecto de aplicacion web lado del Servidor de
Aplicacion.
Incentivos Fuentes del Banco de Pruebas disenado en Matlab para emu-
lar el comportamiento de los transeuntes en la Red de SP .
Privacidad Fuentes de las simulaciones realizadas en Matlab para evaluar
cualitativamente el funcionamiento de los diferentes mecanis-
mos de proteccion de la privacidad.
63
Bibliografıa
[1] Honey Access. Bluetooth marketing. 2014. URL http://www.bluair.pl/
bluetooth-range.
[2] Rakesh Agrawal y Ramakrishnan Srikant. Privacy-preserving data mining. En
Proceedings of the 2000 ACM SIGMOD International Conference on Manage-
ment of Data, SIGMOD ’00, pags. 439–450. 2000. ISBN 1-58113-217-4.
[3] Syarulnaziah Anawar y Saadiah Yahya. Empowering health behaviour inter-
vention through computational approach for intrinsic incentives in participa-
tory sensing application. En Research and Innovation in Information Systems
(ICRIIS), 2013 International Conference on, pags. 281–285. IEEE, 2013.
[4] Ross J. Anderson. Why cryptosystems fail. Commun. ACM, 37(11):32–40, 1994.
ISSN 0001-0782.
[5] Paul E. Black. Manhattan distance. 2006. URL http://www.nist.gov/dads/
HTML/manhattanDistance.html.
[6] Jeffrey A Burke, Deborah Estrin, Mark Hansen, Andrew Parker, Nithya Rama-
nathan, Sasank Reddy, y Mani B Srivastava. Participatory sensing. Center for
Embedded Network Sensing, 2006.
[7] James Carrapetta, Nik Youdale, y Amanda Chow. Haze watch. 2010. URL
http://www.pollution.ee.unsw.edu.au/.
[8] Delphine Christin. Privacy in Participatory Sensing - User-controlled Privacy-
preserving Solutions for Mobile Sensing Applications. Tesis Doctoral, TU
Darmstadt, 2013.
64
Bibliografıa 65
[9] Cory Cornelius, Apu Kapadia, David Kotz, Dan Peebles, Minho Shin, y Nikos
Triandopoulos. Anonysense: Privacyaware people-centric sensing. En In Proc.
ACM 6th Intl Conf. on Mobile Systems, Applications and Services (MOBISYS
08). 2008.
[10] Raghu K. Ganti, Nam Pham, Yu-En Tsai, y Tarek F. Abdelzaher. Poolview:
Stream privacy for grassroots participatory sensing. En Proceedings of the 6th
ACM Conference on Embedded Network Sensor Systems, SenSys ’08, pags. 281–
294. 2008. ISBN 978-1-59593-990-6.
[11] Raghu K Ganti, Fan Ye, y Hui Lei. Mobile crowdsensing: current state and
future challenges. Communications Magazine, IEEE, 49(11):32–39, 2011.
[12] Kuan Lun Huang, Salil S Kanhere, y Wen Hu. Preserving privacy in participa-
tory sensing systems. Computer Communications, 33(11):1266–1280, 2010.
[13] L.G. Jaimes, I. Vergara-Laurens, y M.A. Labrador. A location-based incentive
mechanism for participatory sensing systems with budget constraints. En Per-
vasive Computing and Communications (PerCom), 2012 IEEE International
Conference on, pags. 103–108. 2012.
[14] S.S. Kanhere. Participatory sensing: Crowdsourcing data from mobile smartp-
hones in urban spaces. En Mobile Data Management (MDM), 2011 12th IEEE
International Conference on, tomo 2, pags. 3–6. 2011.
[15] Iordanis Koutsopoulos. Optimal incentive-driven design of participatory sensing
systems. En INFOCOM, 2013 Proceedings IEEE, pags. 1402–1410. IEEE, 2013.
[16] Bdard J. Lands Nathan. Gamification wiki. 2010. URL http://badgeville.
com/wiki//.
[17] Juong-Sik Lee y Baik Hoh. Sell your experiences: a market mechanism based in-
centive for participatory sensing. En Pervasive Computing and Communications
(PerCom), 2010 IEEE International Conference on, pags. 60–68. 2010.
Bibliografıa 66
[18] Ashwin Machanavajjhala, Daniel Kifer, Johannes Gehrke, y Muthuramakrish-
nan Venkitasubramaniam. -diversity: Privacy beyond k-anonymity. En IN IC-
DE. 2006.
[19] Ourcast. Minutely.the minute-by-minute rain forecast at your exact location.
2013. URL http://www.minutely.com/.
[20] Martin T. Pietrucha Richard L. Knoblauch y Marsha Nitzburg. Study compares
older and younger pedestrian walking speeds. 1997. URL http://www.usroads.
com/journals/p/rej/9710/re971001.htm.
[21] Immanuel Schweizer, Tu Darmstadt, Florian Probst, Roman Brtl, Tu Darms-
tadt, Max Mhlhuser, Tu Darmstadt, Axel Schulz, y Tu Darmstadt. Noisemap
- real-time participatory noise maps. En In Second International Workshop on
Sensing Applications on Mobile Phones. 2011.
[22] Y. Ueyama, M. Tamai, Y. Arakawa, y K. Yasumoto. Gamification-based in-
centive mechanism for participatory sensing. En Pervasive Computing and
Communications Workshops (PERCOM Workshops), 2014 IEEE International
Conference on, pags. 98–103. 2014.
[23] IdalidesJ. Vergara-Laurens, Diego Mendez-Chaves, y MiguelA. Labrador. On
the interactions between privacy-preserving, incentive, and inference mecha-
nisms in participatory sensing systems. En Network and System Security, tomo
7873 de Lecture Notes in Computer Science, pags. 614–620. Springer Berlin
Heidelberg, 2013. ISBN 978-3-642-38630-5. doi:10.1007/978-3-642-38631-2 47.
[24] I.J. Vergara-Laurens y M.A. Labrador. Preserving privacy while reducing power
consumption and information loss in lbs and participatory sensing applications.
En GLOBECOM Workshops (GC Wkshps), 2011 IEEE, pags. 1247–1252. 2011.
[25] I.J. Vergara-Laurens, D. Mendez, y M.A. Labrador. Privacy, quality of informa-
tion, and energy consumption in participatory sensing systems. En Pervasive
Computing and Communications (PerCom), pags. 199–207. 2014.
[26] Hao Wang, Yunlong Zhao, Yang Li, Kai Zhang, N. Thepvilojanapong, y Y. To-
be. An optimized directional distribution strategy of the incentive mechanism
Bibliografıa 67
in senseutil-based participatory sensing environment. En Mobile Ad-hoc and
Sensor Networks (MSN), 2013 IEEE Ninth International Conference on, pags.
67–71. 2013.
[27] Junsong Zhang, Jian Ma, Wendong Wang, y Yazhi Liu. A novel privacy pro-
tection scheme for participatory sensing with incentives. En Cloud Computing
and Intelligent Systems (CCIS), tomo 03, pags. 1017–1021. 2012.
[28] Junsong Zhang, Jian Ma, Wendong Wang, y Yazhi Liu. A novel privacy pro-
tection scheme for participatory sensing with incentives. En Cloud Computing
and Intelligent Systems (CCIS), 2012 IEEE 2nd International Conference on,
tomo 03, pags. 1017–1021. 2012.
[29] Yu Zhang y Mihaela van der Schaar. Reputation-based incentive protocols
in crowdsourcing applications. En INFOCOM, 2012 Proceedings IEEE, pags.
2140–2148. IEEE, 2012.
Recommended