viernes, 10 de mayo de 2013

Tarea 6: Geolocalización

Para esta semana se pidió utilizar el algoritmo de geolocalización por triangulación para encontrar la localización de un punto receptor entre tres transmisores.

Esto lo realicé mediante una simulación gráfica, en Python. En la simulación, los receptores suponen ser 3 antenas fijas con posición conocida, y del receptor solo se conoce la señal que obtiene de dichos transmisores, que está medida en función de su distancia a los transmisores. 

Pero para simular el desplazamiento de la señal, esta distancia no se calcula directamente con la fórmula para distancias entre dos puntos, sino que se expande el área del círculo hasta detectar un receptor, es decir cuando la circunferencia toque el punto.

La arquitectura de la simulación se ve así:



En este caso, todas las posiciones se miden en referencia a pixeles de la ventana, por lo cual los transmisores están localizados como sigue:
  •     Rojo: 263, 485
  •     Verde = 708, 393
  •     Azul = 512, 81
En base a estas coordenadas, al dar click en una parte de la pantalla, se busca calcular la posición en la cual se dio click, utilizando el algoritmo básico de trilateración.

Éste algoritmo calcula tres coordenadas $x, y, z$ de un punto que es la intersección entre tres círculos, que en este caso son las señales de los transmisores. Cabe destacar que dependiendo de la posición donde se de click, y dependiendo de las señales máximas de las antenas, es posible que un punto no pueda ser calculado de forma exacta, porque solo dos transmisores están al alcance.

Si solo un transmisor esta a alcance, la posición no se puede calcular correctamente.

Aquí algunos ejemplos:


Al alcance de tres transmisores:



En este caso el receptor se encuentra cerca de la mitad de la ventana, por lo que está en buen alcance con los tres transmisores. Calculando con 3 transmisores los resultados son exactos, proporcionando las mismas coordenadas donde se coloco el receptor.

Al alcance de dos transmisores:



Como se puede observar, el receptor (con el icono del smartphone) esta fuera de alcance del transmisor número 2 (verde). Por lo tanto solo se puede calcular su posición usando el transmisor 1 y 3, lo cual es hecho con un ligero error. La captura de la terminal muestra que el verdadero punto fue 198, 180, mientras que el detectado usando dos transmisores fue: 191.99999619, 216.99999619.

Al alcance de uno o ningún transmisor



Al alcance de un receptor como se puede observar aquí, estando el receptor localizado al pie de un transmisor y por lo tanto fuera del alcance de los otros dos, es imposible calcular el punto, por lo cual el programa imprime que no existe una solución para determinar la posición de ese receptor.




En este caso el receptor está en una esquina, opuesta a los otros 3 transmisores, por lo que no existen suficientes datos para poder calcular su posición.

Ejemplo de animación:


Código:

Referencias:

jueves, 9 de mayo de 2013

Investigación: Comunicaciones satelitales

A continuación, se presenta una investigación realizada para el Laboratorio de Redes de Telecomunicaciones, acerca de las comunicaciones satelitales, sus aplicaciones, y algunos detalles de seguridad de las mismas como mecanismos para interceptar las comunicaciones y los métodos usados para protegerlas.

1. Aplicaciones

Las comunicaciones satelitales tienen una gran cantidad de aplicaciones en diferentes áreas. Algunas de las principales aplicaciones para las comunicaciones satelitales son:
  1. Navegación
  2. Telecomunicaciones
  3. Clima
  4. Observación de la Tierra
1.1 Navegación satelital

Un satélite de navegación, es un satélite artificial estacionado en el espacio para el propósito de la navegación. Consiste en un sistema de posicionamiento por radio que incluye una o más constelaciones de satélites, aumentadas como sea necesario para soportar la operación necesaria y que provee posicionamiento, velocidad e información del tiempo en tres dimensiones las 24 horas a usuarios equipados correctamente sobre, o cerca de la superficie de la tierra.

Un sistema de navegación satelital provee a los usuarios con suficiente precisión e integridad de información para ser usado en aplicaciones de navegación críticas. El sistema GPS es el primer elemento clave del sistema de navegación satelital ampliamente disponible para ciudadanos. 

1.2 Telecomunicaciones

Un satélite de telecomunicaciones es un tipo de satélite artificial estacionado en el espacio para el propósito de establecer comunicaciones de radio, televisión, telefonía, etc.

Los satélites de telecomunicación modernos usan órbitas geosíncronas, órbitas Molniya u órbitas de baja altitud.
  • Órbitas geostacionarias. La órbita geoestacionaria es útil para las aplicaciones de telecomunicación debido a su antena localizada en el suelo, la cual debe estar dirigida hacia el satélite, y puede operar efectivamente sin la necesidad de equipo caro usado para rastrear el movimiento del satélite. Especialmente usada para aplicaciones que requieren una gran cantidad de antenas en el suelo (como distribución directa de señal TV), donde los ahorros en el equipo de suelo pueden hacer más que justificar el costo extra y complejidad de enviar un satélite a la relativamente alta órbita geoestacionaria.
  • Órbita Molniya. Las órbitas Molniya pueden ser una solución atractiva en algunos casos. La órbita Molniya es altamente inclinada, garantizando una buena elevación sobre una posición selecta durante la posición norte de la órbita. Esta diseñada para que los satélites pasen la mayor cantidad de tiempo sobre las latitudes al norte, durante las cuales su huella en el suelo se mueve ligeramente. Su periodo es de medio día, así que el satélite esté disponible para operación sobre la región objetivo por ocho horas cada segunda revolución. En este sentido una constelación de tres satélites Molniya (más repuestos en órbita) pueden proporcionar cobertura ininterrumpida.Son satélites que siguen está órbita son típicamente usados para telefonía y servicios de televisión. Otra aplicación para ellos es para sistemas de radio móviles.
Las aplicaciones de los satélites de telecomunicaciones, incluyen lo siguiente.


Telefonía


La primera y probablemente más importante aplicación para los satélites de telecomunicaciónes la capacidad de telefonía internacional. Teléfonos de punto fijo relevan llamadas a una estación en la tierra, donde son transmitidas a un satélite geoestacionario. Un camino análogo es seguido entonces con el enlace descendente. 

Telefonía portátil (como celulares) usados en áreas urbanas no hacen uso de comunicaciones satelitales, sino tienen acceso a una constelación de estaciones receptoras y transmisoras en el suelo.


Televisión y radio

Existen dos tipos de satelites usados para televisión y radio:
  • DBS (Direct Broadcast Satellite): DBS ser refiere a emisiones de televisión satelital para recepción en los hogares, llamada también señal directa a casa. Cubre tanto televisión análoga y digital, como recepción de radio, y es frecuentemente extendida a otros servicios proporcionados en los sistemas de televisión modernos como video en demanda. Un servicio DBS usualmente consiste en un servicio comercial o un grupo de canales gratuitos disponibles desde una posición orbital, apuntando a un país.
  • FSS (Fixed Service Satellite): FSS es la clasificación oficial para satélites de comunicaciones geoestacionarios usados para emitir feeds de televisión, redes y estaciones de radio, además de telefonía y comunicaciones de datos. 
Tecnología de Satélites Móvil

Inicialmente disponible para emisión a receptores de televisión estacionarios, las aplicaciones de transmisión directa móviles hicieron su aparición con la llegada de dos sistemas de radio satelital: Sirius y XM Satellite Radio Holdings. Usando tecnología GPS como una referencia, las antenas son populares con los dueños de vehículos recreacionales.

Radio amateur

Los operadores amateur tienen acceso a los satélites OSCAR que están diseñados específicamente para cargar con tráfico de radio amateur. La mayoría de dichos satélites operan como repetidores en el espacio, y generalmente son accesados por amateurs equipados con equipo de radio UHF o VHF y antenas altamente direccionales. Debido a las limitaciones del equipo con que cuentan las personas dedicadas al radio amateur, la mayoría de los satélites son enviados a órbitas bajas.

Satélites de banda ancha

En años recientes, la tecnología de satélites de telecomunicaciones ha sido usada como medio para conectarse a Internet mediante conexiones de datos vía banda ancha. Esto es muy útil para usuarios localizados en áreas muy remotas, donde no tienen acceso a cableado de banda ancha.

1.3 Clima

La predicción del clima utiliza una variedad de observaciones para analizar el estado actual de la atmósfera. Desde el lanzamiento del primer satélite de clima en 1960, ha sido posible realizar observaciones globales, hasta en las áreas más remotas.

Imágenes satelitales (visibles, infrarrojo y microondas)

La forma más básica de imágenes satelitales proporciona fotos de las condiciones actuales de las nubes. Esto es una vista familiar en los pronósticos del tiempo en TV. Sin embargo, las imágenes satelitales pueden atravesar varios tipos de procesamiento cuantitativo para obtener información sobre variables meteorológicas importantes como la velocidad del viento, dirección, altura de las nubes, temperatura de la superficie, cubierta de hielo marino, cubierta de vegetación, precipitación, etc.

Originalmente, las imágenes satelitales eran tratadas como fotos cualitativas, las cuales eran manualmente observadas e interpretadas por meteorólogos. Hoy en día, las imágenes satelitales tienen que pasar por manipulación matemática y pueden proporcionar un análisis cualitativo de la temperatura atmosférica, humedad, movimiento y otras variables meteorológicas. 

Dos tipos de satelite que vienen equipados con instrumentos para obtener imágenes sobre el clima en la tierra, son:
  • Orbitadores polares posicionados a 900 Km sobre la superficie de la tierra, en una órbita síncrona con el Sol, lo que significa que ven el mismo lugar de la Tierra al mismo tiempo cada día. Hacen alrededor de 14 órbitas por día y pueden ver todas las partes de la atmósfera por lo menos 2 veces diarias. Aunque su resolución temporal es limitada, tienen una alta resolución espacial (típicamente alrededor de 1 Km entre pixeles) ya que están relativamente cerca a la superficie de la Tierra.
  • Satélites geoestacionarios posicionados a 36, 000 Km sobre el ecuador en una órbita geoestacionaria, lo que significa que siempre están fijos sobre una parte de la Tierra. Escanean continuamente (con una resolución temporal de 15-30 minutos), pero tienen una resolución espacial limitada (típicamente de 3-10 Km entre pixeles).
Diferentes instrumentos escanean en diferentes bandas de longitud de onda, y proveen diferente información sobre la atmósfera:
  • Radiación Infrarroja, particularmente alrededor de 12.5 µm, y proporciona información sobre la temperatura de los cuerpos emisores de calor, como nubes o la superficie en regiones libres de nubes. Las imágenes infrarrojas son particularmente buenas para observar nubes y estas imágenes pueden ser producidas de noche.
  • Radiación de vapor de agua, centrada alrededor de 6.7 µm, mide la radiación en la banda de absorción de agua-vapor. Estas imágenes son buenas para observar las distribuciones de vapor en áreas libres de nubes, y para observar nubes. 
  • Radiación visible, producida en una banda de longitud de onda alrededor de 0.5-0.9 µm, muestra nubes pero solo si están reflejadas por la luz del Sol, por lo que no se producen imágenes en la noche.
1.4 Observación de la Tierra

El entendimiento y análisis de las condiciones globales del ambiente es escencial para garantizar nuestra seguridad y calidad de vida. Sobre otras cosas es necesario poder localizar desastres ambientales de una forma rápida, además de monitorear los recursos de la Tierra. Para este propósito, diversos satélites de observación de la tierra están en órbita. 

Los datos recolectados por estos satélites nos permiten entender los procesos e interacciones entre las masas de tierra, océanos y la atmósfera

La utilidad de dichos datos tiene sus aplicaciones en campos como: agricultura, silvicultura, geología, manejo de riesgos, cartografía, cuidado del ambiente y defensa y seguridad nacional.

2. Mecanismos para interceptar comunicaciones satelitales

Una preocupación en las comunicaciones satelitales reside en la intercepción y mal uso de los enlaces en tierra de los sistemas satelitales. En las comunicaciones satelitales convencionales con enlaces ascendentes y descendentes, el satélite utiliza una antena conectada a un receptor y un transmisor, que típicamente son dispositivos separados. Estos dispositivos están además conectados al comando interno del satélite y al sistema de manejo de datos que opera todos los otros mecanismos del satélite para operar en el espacio.

En su típica operación en órbita, una señal es generada en el satélite cuando se encuentra en órbita. Esta señal es una función de su misión e intención; por ejemplo un típico satélite de comunicaciones donde una señal es recibida por el receptor desde una estación en el suelo transmitiendo, alimentando a la computadora del satélite, y relevando a la unidad transmisora. El transmisor aplica la señal a la antena, la cual proyecta la señal a otro receptor en la estación en el suelo. 

La preocupación en este proceso se encuentra en la prevención potencial o mal uso de la comunicación.  Mensajes enviados por estos enlaces son cruciales o urgentes, especialmente para comunicaciones enviadas por un enlace dedicado para empleados de corporaciones o gobierno en el mundo. Fuerzas que oponen a estos usuarios tienen maneras de interrumpir la comunicación y ganar ventaja en competición con aquellos a los que el mensaje era destinado. Las dos formas principales para la interrupción o intercepción son:  Acción preventiva, malversacion e intercepción de señal.

2.1 Acción Preventiva

Involucra la introducción de obstáculos deliberados o acciones tomadas para prevenir que el mensaje continué a su destino. Típicamente, estas medidas son solo empleadas en tiempos con hostilidades abiertas y con el objetivo de eliminar los recursos de los enemigos. Aunque esto puede ser combatido usando modulaciones secuenciadas en una tasa de transmisión de datos, es una forma efectiva de prevenir que cualquier señal sea recibida en un host determinado. 

2.2 Malversación

Este concepto típicamente plantea una alta preocupación en comparación con el anterior debido a su naturaleza. Debido a que los métodos de ejecución son pasivos e indetectables, pueden ser empleados como formas efectivas de recolectar inteligencia. Estos métodos son considerables al "wire-tapping", permitiendo al agresor obtener información sobre su blanco y usarlo a su ventaja.

Este concepto es aplicado a la tecnología satelital en el sentido que los códigos de encriptación empleados para una comunicación dada pueden ser violados, ya sea por un informante en cubierto o por esfuerzos para romper el código. El resultado de estos esfuerzos es que la fuerza hostil gana control del satélite, su información y capacidades.

2.3 Intercepción de la Señal

Otro método mucho menos caro y demandante es la intercepción de señal a nivel de tierra. Este método depende mucho de una transmisión de señal ampliamente desde el satélite objetivo en órbita. Después de la transmisión de la señal (usualmente predictible como una función de su posición y tiempo) una fuerza hostil puede emplear una estación en la tierra o puesto de escucha dentro del rango de la comunicación.

Aunque depende totalmente en el uso que da el usuario a la comunicación, es una forma efectiva e indetectable para recolectar inteligencia y ganar ventaja en contra del blanco.

3. Protección de comunicaciones satelitales

Los métodos principales para combatir las amenazas mencionadas previamente caen en tres categorías: capacidad de evasión, alteración del haz de comunicación.

3. 1 Capacidad de Evasión

Es la capacidad de cambiar el curso del satélite para evitar cualquier interrupción en su operación. Este método puede parecer simple y altamente inefectivo, pero requiere una mayor coordinación comparado con los otros dos. En general, los satélites siguen su órbita en un patrón predecible definido por su misión. Esta predictibilidad causa el más alto grado de vulnerabilidad. La habilidad para alterar su curso de una situación hostil frecuentemente desviaría fallas en seguridad. 

3. 2 Alteración del haz de comunicaciones

Es la más simple y mas fácilmente empleada solución para evadir intercepciones, además de prevenir la detección del satélite mismo. Este concepto requiere de un transmisor adaptable capaz de transmitir señales de alta resistencia con un ancho del haz mínimo para no dar oportunidad a tanto sistemas de intercepción pasivos como activos. 

Una transmisión con un ancho del haz minimizado sería apuntado a una estación receptora específica, y evitaría cualquier comunicación adicional. La desventaja principal de este sistema es que requiere coordinar una sincronización con la órbita del satélite asumiendo una órbita regular del mismo con respecto al receptor en la Tierra. Esta operación, aunque convencionalmente empleada en satélites con una misión específica, utiliza mucho poder de cómputo en el satélite.

La encriptación de los datos durante la transferencia es otro método para alterar las características del haz. Mientras esto no tiene efecto en la dimensión física del área de transmisión, provee un impedimiento en contra de usuarios no deseados utilizando equipo de intercepción de señal. Este es además el método más barato y más comúnmente usado. La ventaja inherente es que, la encriptación puede ser rota de alguna manera, y el usuario puede no darse cuenta que la comunicación ha sido interceptada.

4. Conclusión

La seguridad en las comunicaciones satelitales es de gran importancia por las aplicaciones que éstos tienen en algunas áreas importantes de telecomunicaciones. Es posible imaginar que no hay daño real hecho cuando una comunicación con un satélite que monitorea el clima, o un satélite que toma fotografías del planeta es interceptado, debido a que la información no puede realmente comprometer a nadie de ninguna manera.

Pero cuando pensamos en telefonía, servicios de Internet, televisión y radio, la intercepción de este tipo de señales es un asunto grave que debe ser vigilado, por lo cual la seguridad de la encriptación u otros métodos es altamente importante en las comunicaciones satelitales

Referencias:

miércoles, 8 de mayo de 2013

Hamming Code

For this week, we were assigned to implement a block code of our own choice, and simulate the error fixing properties of the code in a transmission through a noisy channel. I chose the Hamming Code (7, 4).

The Hamming code is a linear error correcting code, in this case being (7, 4), because it encodes 4 bits of data into 7 bits, adding 3 parity bits. This Hamming code can correct any single-bit errors, or detect all single-bit and two-bit errors (but cannot correct them). This is because the minimal Hamming distance between any two correct codewords is 3, and received words can be correctly decoded if they are at distance at most one from the codeword transmitted by the sender.

Explanation

For encoding, I used the following matrix:


Now, as mentioned, the Hamming (7, 4) code encodes 4 bits into 7 bits, this results from a matrix multiplication between the 4 bits of data (turning them into a four length vector) and $G$. So to obtain the encoded 7 bits of data, a matrix multiplication is done, and the result is:






In this example, "1001" encoded results into "1001100". Now imagine this message is sent through a noisy channel, and reaches it's destination without any noise. To check for errors, first the received message (y) is transposed and multiplied, but now with the decode matrix:





The zero's vector tells us the received word was valid, and so no error fixing is needed.

But let's imagine that the received word suffered a single bit error, and ended like "1101100". Then the previous process would end like:



The result vector now is 010, which is binary for 2. The position (array-wise, starting from 1 at the left) of the error bit. Fixing that bit the message would be again "1001100" which would verify correctly.

Experiment

To test a little this hamming code algorithm, I created a small Python script to run an experiment on random 4 bit sequences, adding a certain noise to them, depending on some parameters. The parameters are:
  • Noise of the channel: A percentage, denoting the probability of a certain bit to change into it's opposite.
  • Number of noisy bits: The maximum number of bits that can be modified because of the noise.
  • Number of samples: How many times the experiment will run.
By default, the noise is generated at only 1 bit, which for the explanation of the algorithm we can already tell that every error that is presented is gong to be fixed, because the algorithm is designed to do so.

First



As the number of bits with noise was 1, it is expected that the graph will be a simple straight line, as every word with a single bit noise is fixed right away. Also we can see that the noise is generated correctly to the probability, as roughly half of the samples contained and error (and were fixed).

Second


In this case, 2 bits can have an error, and the probability of the error is bigger. Again, all the one bit errors are fixed, and the rest are just detected, but cannot be fixed, so they count towards the not fixed messages.

Code:


Reference:

Laboratorio 9: Detección de Esquinas

Para esta semana, lo encargado fue detectar esquinas en imágenes utilizando el método de diferencia de filtro mediano para la parte básica, y en base a esas esquinas y utilizando bordes, realizar un seguimiento en cierto orden de las esquinas, trazando líneas para corroborar que en verdad se tratan de esquinas de algún objeto.

El procedimiento es bastante simple, y se explicará usando la siguiente imagen:

Primero, se aplica el filtro mediano a la imagen. El filtro mediano es parecido al de promedios, se procesan pixeles alrededor de uno determinado y se hacen cálculos con todos, en este caso se busca encontrar el mediano o la mediana de ellos. Como seguramente recordemos, la mediana es el valor que se encuentre exactamente en la mitad de una lista o secuencia de números. Igual que el filtro promedio, requerimos una especie de "ventana" o caja de cierto tamaño, que centrándola en el pixel actual dictará cuales a su alrededor se incluirán en el cálculo de la mediana. Entonces si se tuviera una imagen de 3x3 pixeles, y calculamos la mediana usando una ventana de 3x3 cuando el pixel actual es el del centro:

Pixel actual = Pixel[1, 1] = 40

90    150    20 
255    40    150
210    125    9
Los valores que tomaríamos en cuenta serían:

[90 150 20 255 40 150 210 125 9]

Ordenados:

[9 20 40 90 125 150 15 210 255]

Donde el valor de la mediana es entonces 125, que sustituirá el valor actual del pixel en una copia de la imagen o una nueva (no se reemplaza la misma, todos estos cálculos se hacen con los valores originales). Asumiendo que no existiera un valor exactamente a la mitad, se tomarían los 2 a la mitad y se calcula su promedio.

Esto nos arroja una imagen ligeramente diferente, que a simple vista no se podría observar, pero las puntas o esquinas de las figuras están cortadas. En imágenes más comunes y coloridas el efecto sería similar al de un smooth o suavizado.
Ahora, para obtener las esquinas, se obtiene la diferencia entre la imagen original y la obtenida con el filtro mediano. Esto corresponde a una simple resta entre los pixeles de la original menos los pixeles en la filtrada (posición - posición). Después se normalizan los valores a un rango entre el mayor y menor de los pixeles y se binariza (el proceso es similar al descrito en este post). El resultado de hacer lo anterior con este ejemplo:


Siendo la imagen anterior efectivamente las esquinas de las figuras. 

Lo siguiente después de haber obtenido las esquinas es realizar un recorrido a través de ellas (wire-frame). Esto es mucho más sencillo si sabemos que estas esquinas están dentro de los bordes de la figura, y ya que existen métodos para obtener los bordes (como este), podemos obtener las coordenadas de ellos fácilmente.

Los bordes de la figura original obtenidos serían:


Obtiene tanto bordes internos como externos, pero no es problema debido a que alguno de ambos esta incluido en las esquinas. Ahora, lo que se hace es distinguir los bordes por separado, es decir buscar un pixel blanco en esta imagen anterior, y almacenar todos sus pixeles vecinos blancos en una lista (algo como recorrido BFS sirve perfectamente). De esta forma discriminamos todos los bordes uno de otro.

Ya separados, buscamos pixel por pixel en cada borde por separado, y los comparamos con las esquinas. Si encontramos equivalencias, todas las equivalencias encontradas dentro de un mismo borde corresponden a esquinas de la misma figura, y las almacenamos igualmente en listas por separado. 

Con lo anterior debería ser posible trazar líneas de esquina a esquina que cubran la figura, pero existe un problema. En el caso del recorrido BFS, este se hace de una forma expansiva, no sigue un orden, por lo cual al comparar puntos del borde con puntos de esquinas, al agregarlos a una lista no estarán ordenados y podría pasar algo como:

Debido al ordenamiento de las esquinas, el cuadrado-rectángulo no fue enmarcado correctamente.

Para arreglar esto, antes de dibujar las líneas se ordenan los puntos de cierta forma, ya sea siguiendo las manecillas del reloj o en contra. Esto se hace calculando un punto central entre ellos, y calculando para cada uno su ángulo con respecto a el centro. De esta manera ordenamos los puntos en base a estos ángulos, y trazamos líneas en orden. El resultado es:
Los colores dictan el orden. Rojo fue la primera línea trazada, verde la segunda, azul la tercera, y celeste la cuarta. El encuadramiento es correcto ahora, y podemos determinar el orden de las esquinas (y por consiguiente las líneas trazadas entre ellas).

Otro ejemplo:


Por alguna razón los cruces con diagonales no son detectados correctamente, por lo que las esquinas no aparecen y solo se traza una línea diagonal en dichas figuras. Pero en los cruces entre líneas verticales y horizontales las esquinas se detectan correctamente.

Código:


martes, 7 de mayo de 2013

Puntos Extra: Satélites en órbita


Infographic: Seguridad en redes de telefonía móviles


Resumen: A Privacy Awareness System for Ubiquitous Computing Environments


A Privacy Awareness System for Ubiquitous Computing Environments

Marc Langheinrich

Institute of Information Systems, ETH Zurich
8092 Zurich, Switzerland
www.inf.ethz.ch/˜langhei


Introducción

El paper presenta un sistema de privacidad consciente, dedicado a los ambientes de cómputo obicuo que permite a los recolectores de datos tanto anunciar como implementar políticas de uso de datos,  además de proveer a los usuarios con medios técnicos para hacer un seguimiento de su información personal, como es almacenada, usada, y posiblemente removida del sistema. El sistema no sería capaz de garantizar la privacidad, pero debería crear un sentido de responsabilidad en un mundo de servicios invisibles al usuario.

Motivación

Se debería de abandonar la privacidad como la conocemos, y (potencialmente) hacer que todos vean todo en cualquier tiempo?, o deberíamos intentar mucho más encontrar los medios tecnológicos para garantizar que nuestra información permanezca privada mediante encriptación de alta calidad y tecnología de anonimización?.

El sistema de privacidad consciente presentado en el paper, apunta a dar un balance razonable entre estos dos acercamientos. Sigue un principio fundamental usado en sociedades democráticas actualmente: dar a las personas la habilidad de respetar la seguridad de otras personas, propiedad o privacidad, y confiar en las normas sociales correspondientes y leyes para crear una expectativa razonable de que las personas seguirán dichas reglas.

Ejemplos para esto sería el tráfico por la carretera (donde no se regula directamente como maneja alguien pero se castiga a aquellos que fallan en seguir las reglas) o el puesto de periódicos local (donde puede ser posible tomar un periódico simplemente sin pagar, pero se puede confiar en la aplicación de la ley para atrapar al ladrón eventualmente). Las señales de tráfico y el sistema monetario en estos casos son los mecanismos que permiten a las personas respetar la seguridad y propiedad de otras personas, y aún así no garantizan que son usados propiamente.

Similarmente, el sistema propuesto provee una colección y herramientas de procesamiento que permiten los colectores y procesadores de datos comunicar sus detalles, y ayudar a mantener las promesas. 

Principios Generales

La imagen muestra un ejemplo del sistema en operación. 


Al entrar al ambiente obicuo con un número de servicios disponibles (aquí una impresora y un sistema de rastreo utilizando una cámara) un señalador de privacidad (1) anuncia la recolección de datos de cada servicio y sus políticas usando un canal de comunicación inalámbica como Bluetooth o IrDA. Para ahorrar energía, el asistente de privacidad móvil (2) que el usuario carga delega la información de ello al proxy de privacidad personal del usuario, que reside en algún lugar del Internet (3), que hace contacto con los proxys en sus direcciones anunciadas (4) y consulta sus políticas de privacidad. 
Después de comparar esas políticas de privacidad con las preferencias del usuario, el proxy de usuario decide declinar el uso del sistema de rastreo, que resulta en la deshabilitación de el sistema de rastreo en la cámara de video.

En el diseño de la arquitectura general de éste sistema de privacidad consciente, se siguieron seis principios: aviso, elección y consentimiento, proximidad y localidad, anonimidad y seudonimia, seguridad y acceso y salida. La anonimidad, seunonimia y seguridad (comunicación segura y acceso) son herramientas útiles siendo partes que dan apoyo a la infraestructura, pero no se deben tomar como soluciones asoladas. Por lo tanto se toman más en cuenta las demás 4:
  • Aviso: Dado un ambiente obicuo donde frecuentemente es difícil para los usuarios darse cuenta que la recolección de datos está siendo llevada a cabo, no es solamente necesario usar un mecanismo para declarar las prácticas de recolección de datos (políticas de privacidad), sino también pensar en formas eficientes de comunicar estos con los usuarios (avisos de políticas).
  • Elección y consentimiento: Para dar a los usuarios una verdadera elección, se debe dar al usuario un mecanismo de selección (términos de privacidad) para que los usuarios indiquen que servicios prefieren.
  • Proximidad y localidad: El sistema debe soportar mecanismos para codificar y usar información de la localidad para reforzar las restricciones de acceso basados en la localización de la persona deseando usar los datos.
  • Acceso y Salida: El sistema debe proveer una forma para que los usuarios accedan a su información personal de una forma simple, mediante interfaces estandarizadas. Los usuarios deben ser informados del uso de su información una vez que esta sea almacenada.

Políticas de Privacidad legibles por computadora

Dentro de "Platform for Privacy Preferences Project (P3P), el World Wide Web Consortium (W3C) recientemente finalizo trabajo que permite la codificación de políticas de privacidad en XML, permitiendo a procesos automatizados leer las políticas y tomar acciones sobre ellas. 

El ejemplo siguiente contiene un ejemplo abreviado de una política de privacidad P3P. Contiene elementos para describir, por ejemplo, quien recolecta la información (línea 2) que información se está siendo recolectada (líneas 15-18), para quién (línea 13) y por qué (línea 12).


Crítica:

El sistema de privacidad consciente propuesto presenta una nueva alternativa para seguir al momento de pensar en la privacidad y seguridad de la información de los usuarios en ambientes de cómputo obicuo.

Menciona un punto muy importante que es el de la invisibilidad de estos sistemas, es decir la forma en la que funcionan sin que el usuario en verdad se de cuenta, y como esto podría afectar en la privacidad del usuario de manera que los sensores y otros dispositivos como cámaras utilizan información del usuario o su actividad para funcionar. 

Además define una arquitectura general a seguir, aplicable a todo tipo de proyectos en ambientes obicuos para seguir una serie de "pasos" estandarizados al momento de manejar los datos e información del usuario, y como el uso de esta información se le informa al usuario para que el pueda decidir cuales funciones acepta que utilicen sus datos y cuales no.

Referencia: