Tecnologia GSM como GPS civil-militar.
Geoposicionamiento GSM independiente de la red móvil
Algunos de los últimos artículos publicados en Kriptópolis [p.ej. 1, 2, 3 y 4] han servido para poner de manifiesto el interés de muchos de nuestros lectores en conocer determinados aspectos técnicos del funcionamiento de la telefonía móvil.
Carezco de los conocimientos necesarios para abordar el tema de una forma coherente y precisa, pero afortunadamente siempre hay algún lector del sitio que posee (1) el conocimiento y (2) el deseo de compartirlo.
Como consecuencia, gracias al trabajo de un miembro del CriptoLab de la UPM (Universidad Politécnica de Madrid) que desea permanecer anónimo, y por gentileza de los responsables del propio laboratorio, Kriptópolis comienza hoy la publicación de un informe dirigido a realizar una breve introducción acerca de cómo emplear la red GSM convencional para posicionar a un usuario de la misma en un plano bidimensional a través de un terminal móvil.
Se enfocará dicho proyecto de forma teórica, estudiando posibilidades y viabilidad, y haciendo una pequeña síntesis de los métodos y tecnologías actuales, así como los recursos y datos susceptibles de ser usados que nos proporciona la red.
Se incluye además un resumen para entender la tecnología GSM, su infraestructura y los fundamentos de la red celular, para no partir de cero en la materia a tratar.
Sin más dilación, os dejo con la primera entrega de este interesante trabajo. Que lo disfrutéis…
Geoposicionamiento GSM independiente de la red móvil (I): Introducción
Por Anónimo.
Criptolab. Facultad de Informática de la Universidad Politécnica de Madrid
Introducción a la red celular
Una red de radiotelefonía celular está conformada por una extensión de territorio cubierto por un conjunto de espacios llamados células y una serie de canales de radio repartidos entre dichas células.
Una célula o estación base es la unidad geográfica de una red.
A cada célula se le asigna un conjunto de frecuencias de radio que son las que definen los canales de comunicación. Dos células adyacentes no tienen canales de comunicación comunes para evitar interferencias, y para proteger los canales comunes que usan distintas estaciones base se deja una distancia mínima de dos células de separación entre las mismas. Para llevar a cabo esta tarea, se crean grupos de siete células llamados clusters, los cuales disponen un anillo de 6 células con una séptima en el centro. A cada célula se le asigna un identificador BSIC (Base Station identity Code) (no confundir con el Cell ID que se explicará mas adelante) y de esta forma, al agrupar clusters sobre un territorio, todas aquellas células que tengan el mismo identificador podrán utilizar los mismos canales de radio evitando interferencias por el uso de canales comunes.

Podemos apreciar en la figura el cluster de 7 células (y una octava aparte) con sus identificadores asociados (F1, F2, … , F4). Es un claro ejemplo ilustrativo de cómo dos células con el mismo identificador que usan los mismos recursos de radio están físicamente separadas por dos células.
Para sincronizar el funcionamiento de los grupos de estaciones base es necesario dotar a la red de un nuevo elemento, el BSC (Base Station Controller). Al dividir la red en células, se introduce el problema de localizar a un usuario antes de poder establecer comunicación con el mismo.
En GSM se distinguen cuatro tipos diferentes de células, son las siguientes:
- Macrocélulas (Macrocells): Son células de gran tamaño (amplia cobertura) utilizadas en áreas de terreno muy grandes donde la distancia entre áreas pobladas es grande.
- Microcélulas (Microcells): Son células de escasa extensión de cobertura que se utilizan en áreas donde hay una gran densidad de población. A mayor número de células mayor número de canales disponibles, que pueden ser utilizados por más usuarios simultáneamente.
- Células selectivas (Selectived Cells): En muchas ocasiones no interesa que una célula tenga una cobertura de 360 grados, sino que interesa que tenga un alcance y un radio de acción determinado. En estos casos es cuando se usan las células selectivas. El caso más típico de uso de células de este tipo son aquellas que se disponen en las entradas de los túneles, en los cuales no tiene sentido que la célula tenga un radio de acción total (360 grados) sino un radio de acción que vaya a lo largo del túnel.
- Células Sombrilla (Umbrella Cells): Este tipo de células se utilizan en aquellos casos en los que tenemos un elevado número de células de tamaño pequeño y continuamente se están produciendo cambios (handovers) del terminal de una célula a otra. Para evitar que suceda esto lo que hacemos es agrupar conjuntos de microcélulas, de modo que aumentamos la potencia de la nueva célula formada y podemos reducir el número de handovers que se producen.
Los abonados a la red celular son móviles y por tanto itinerantes. Para comunicar estaciones móviles entre sí es necesario preestablecer ciertas bases que ayuden a identificar y localizar a cada usuario, puesto que no siempre se van a encontrar en una misma célula. Para ello es necesario dotar a cada abonado de una tarjeta de identidad (SIM, Suscriber Identify Module) que permita identificar de forma unívoca a cada cliente de la red. Asimismo es necesario dotar a la red de un centro de autenticación de clientes (AUC, AUthentication Centre) para controlar la identidad de cada abonado una vez que enciende su terminal móvil, y de una base de datos llamada (HLR, Home Location Register) que contenga el registro de los abonados locales, actualizando dicha información dinámicamente.
De esta forma, cuando un cliente enciende su móvil, el propio terminal notifica su presencia a la red, lo que implica una actualización del HLR.
Asimismo, un abonado puede conectarse mediante esta filosofía a una red de la que no es cliente cuando está fuera de la zona de cobertura de su red. Para ello la red está dotada de otra base de datos (VLR, Visitor Location Register), que almacena temporalmente información acerca de los usuarios foráneos de la red de acuerdo a la misma política que el HLR.
Para estimar la dirección del desplazamiento de un abonado en la red, las estaciones base más próximas al terminal móvil comparan la potencia de las señales que éste emite. Una tendencia a que la potencia disminuya está normalmente asociada a un alejamiento del terminal respecto de la estación base y por el contrario, un incremento de la potencia recibida se asocia a un acercamiento del terminal.
Es necesario mantener la comunicación de un abonado que atraviesa la frontera entre dos células adyacentes de forma transparente al usuario. Esto se consigue sincronizando el terminal móvil con las dos estaciones base implicadas en el proceso. Tras un cálculo que determina si la transferencia es conveniente (el usuario se desplaza hacia la dirección estimada bajo la cobertura de la siguiente célula) entonces se confirma la migración.
Introducción a la infraestructura de la red GSM
La red GSM (Global System for Mobile communications) se compone de diversos equipos:

- MS (Mobile Station): Terminal de abonado. Hace referencia al dispositivo (teléfono móvil), pero no a la identidad del suscriptor, que es facilitada por la tarjeta SIM.
- BTS (Base Transceiver Station): En castellano EB (Estación Base), también se suele abreviar como BS. Es un emisor/receptor de radio capaz de enlazar las MSs con la infraestructura fija de la red. Una estación base garantiza la cobertura radioeléctrica en una célula de la red, proporcionando el punto de entrada a la red a las MSs. Las estaciones base pueden ser controladas localmente o bien remotamente a través de su controlador de estación base.

- MSC (Mobile Switching Centre): Conmutador de red encargado de interconectar la red de telefonía convencional con la red radiotelefónica. Se encarga además de acceder al centro de autenticación para verificar derechos de los clientes, así como de participar en la gestión de movilidad de los abonados y su localización en la red.
- BSC (Base Station Controller): Controlador encargado de gestionar una o varias estaciones base. Actúa como un concentrador para el tráfico de los abonados y como un enrutador hacia la estación base destinataria en caso de tráfico proveniente de un conmutador.Por tanto, actúa como un repetidor para datos de control de las BS hacia el centro de control y mantenimiento, y además actúa como un controlador de estaciones base, permitiendo su gestión, mantenimiento e incluso almacén de información de las BS, que puede ser proporcionada al operador por demanda explícita.

Una de las funciones de gestión y control de las BS es el control de los recursos de radio de las células, asignando a cada BS las frecuencias de radio que pueden utilizar. Interviene también en la comunicación entre BS para controlar la migración de un abonado de una célula a otra.
- HLR (Home Location Register): Base de datos que contiene información relativa a los abonados de una red. Describe a su vez las opciones y servicios contratados por el abonado y aquellas opciones a las que tiene acceso. Se almacena además la última localización conocida del abonado y el estado de su terminal (fuera de servicio, encendido, en comunicación…). Para identificar a un abonado asociado a un terminal móvil se utiliza cierta información almacenada en la tarjeta SIM.
- VLR (Visitor Location Register): Base de datos asociada a un conmutador MSC que almacena la identidad de los abonados itinerantes de la red. Su funcionalidad es importante, ya que se utiliza para controlar la ubicación de un abonado.
- AUC (AUthentication Centre): Base de datos que almacena información confidencial (como los derechos de uso) de cada abonado de la red. Para autenticarse en dicha base de datos es necesario que el abonado acceda a su tarjeta SIM (mediante su código PIN) para que ésta, mediante un protocolo de petición-respuesta, sea capaz de dar por válida la identidad del usuario en la red, momento en el cual no se deniega el acceso a la red y se consulta al HLR para conocer las opciones y servicios con los que el usario puede contar.
Se ha de dejar constancia de las agrupaciones de los diferentes elementos de la arquitectura de la red GSM:
- BSS (Base Station Subsystem): Conjunto constituido por un conjunto de BSs y su controlador BSC.
- NSS (Network Station Subsystem): Conjunto formado por el MSC, el AUC y los V/HLR.
Todos estos elementos se comuncian mediante interfaces de red, que soportan el diálogo entre los diferentes equipos y permiten el correcto interfuncionamiento de la red.
La meta de la localización vía radio de un terminal móvil es posicionar al mismo en el plano con cierto grado de precisión para saber con exactitud dónde se ubica .
Para ello se pretende emplear una red radioeléctrica que pueda facilitar por medio de ciertos equipos de su infraestructura información suficiente para realizar cálculos que lleven a obtener las coordenadas del terminal implicado.
A la hora de aplicar diversos métodos sobre la red GSM hemos de tener en cuenta que la precisión de las mediciones viene determinada por el radio de cobertura de las células que intentan localizar el terminal móvil. En las ciudades, una BS puede tener hasta un radio de cobertura de unos 100 metros, lo que evidentemente reduce sensiblemente el margen de error de la medición. En el caso de las zonas rurales, con BS que dan cobertura a un radio de hasta 100 kilómetros, la precisión de la medición puede dar mayor error.

En la figura se aprecia que la solución vía satélite del GPS o el AGPS (GPS asistido) es con claridad la más precisa y no está condicionada por el entorno urbano del usuario (pese a sí estar condicionada por las condiciones climatológicas). Es capaz de llegar a una precisión de unos 5 metros en el mejor caso y en pésimas condiciones el error es mayor a 100 metros.
Por otra parte, en la figura están representadas las soluciones AoA, EOTD, TDOA que se estudiarán más adelante. Podemos observar como en estos casos la precisión del resultado está condicionada por el entorno urbano, siendo dicha precisión directamente proporcional a la densidad celular del entorno. Podemos ver cómo, por ese importante condicionante, la precisión de esas técnicas está lejos de competir con la del GPS, dando un error mínimo de 50 metros y máximo de más de 5km.
Asimismo, la densidad celular es también influyente en el posicionamiento por identificador de célula que estudiaremos más adelante. La precisión de este método es sencillamente inaceptable, al ser del orden de 100 m en el mejor caso y de varios km (incluso 100 km) en peores condiciones. Por ello descartamos dicha solución para ciertas aplicaciones que requieran de mayor precisión, aunque veremos que el CellID es útil para ser combinado con otras técnicas.
A continuación se detallan diversas soluciones para el problema de posicionamiento de un terminal móvil.
1. Mediciones básicas
Se detallan a continuación diversos métodos para estimar la posición de un punto emisor de radio basándose en técnicas y procedimientos de medición físicos de parámetros intrínsecos a la recepción de una señal radioeléctrica:
- TA (Timing Advance): Procedimiento por el cual una estación base es capaz de calcular la distancia a la que se encuentra una MS del propio nodo (o viceversa).

Para ello se miden los retardos de propagación de las señales radioeléctricas que intervienen en la comunicación entre BS-MS. Sabiendo que dichas señales viajan a una velocidad cercana a la de la luz podemos estimar (con mala precisión) dicha distancia, para trazar una circunferencia sobre la cual se ubicaría el MS.
- TDOA (Time Difference Of Arrival): Método para estimar la diferencia entre los tiempos de llegada de una misma señal radioeléctrica a un conjunto de antenas receptoras. No es necesario en este caso conocer los tiempos de llegada; tan sólo basta con conocer la diferencia de dichos tiempos. Para ello partimos del principio que defiende que debido a la diferencia de distancias que existe entre las antenas respecto al punto de medición, los tiempos de retardo de las señales captadas por el terminal emisor son diversos.Para calcular dichas diferencias de tiempo, una de las técnicas aplicables consiste en medir las diferencias de fase de la señal en cada una de las antenas receptoras.
- TOA (Time Of Arrival): Magnitud que representa el tiempo absoluto que tarda en llegar una señal de radio de un origen a su destino.
- AoA (Angle of Arrival): Método para determinar el ángulo de llegada de una señal a una antena receptora. Se basa en mediciones TDOA capturadas en diversas antenas.

2. Técnicas básicas de localización
Con los parámetros que somos capaces ya de medir, podemos emplear diversas técnicas clásicas para detectar de dónde proviene una señal de radio, en nuestro caso, la que emite un terminal móvil GSM.
- Trilateración: Técnica que popularmente suele confundirse con la triangulación. A diferencia de la triangulación (la cual usa ángulos), la trilateración emplea tan sólo distancias para estimar la posición de un terminal móvil en un plano bidimensional.

Para llevar a cabo esta tarea, se calcula la distancia a la que se encuentra un terminal móvil por parte de al menos 3 antenas, las cuales trazan circunferencias sobre las que se encuentra el punto de medición. Dos circunferencias que interseccionan lo hacen en uno o dos puntos; un tercer nodo describe una tercera circunferencia que determina el punto donde se encuentra el terminal móvil.
- Triangulación: Esta técnica hace uso de varios nodos fijos cuya posición es conocida. Cada nodo fijo ha de ser capaz de determinar la dirección (ángulo) en la que se encuentra el punto a determinar.

Para llevar a cabo esta tarea se emplea una antena direccional capaz de captar las emisiones radioeléctricas que se emiten en puntos distantes siempre en la dirección a la que se oriente dicha antena. Si captamos con una antena direccional la señal que emite el teléfono móvil a localizar, sabremos la dirección sobre la que se encuentra respecto al nodo de referencia, aunque no podremos determinar por este método la distancia a la que se encuentra. Para ello se emplea una segunda antena direccional ubicada a una distancia conocida del primer nodo. Dicha antena determina de nuevo la dirección relativa sobre la que se encuentra el punto a localizar. Conociendo las dos direcciones relativas a ambos nodos en las que se encuentra el móvil a posicionar podemos trazar dos rectas (con origen en dichos nodos) que interseccionarían en el emisor (terminal móvil). Sendas rectas junto con la que une los dos nodos que intervienen en el proceso conforman los lados de un triángulo. La distancia entre los nodos es un parámetro conocido, por lo que determina de por sí la longitud de uno de los lados del triángulo. Se conocen también los ángulos contiguos a dicho lado, por lo que aplicando simples operaciones trigonométricas se es capaz de calcular la distancia de los nodos al punto incógnita y esto implica automáticamente la posibilidad de posicionar en el plano la estación móvil objetivo. Si dicha estación móvil estuviera justo en la recta de unión de las dos estaciones base que intervienen en la medición, el resultado no sería concluyente y habría que emplear una tercera estación para obtener los resultados deseados.
Podemos realizar una triangulación en vez de con una antena direccional, con un conjunto de antenas capaces de determinar diferentes TDOAs junto con un AoA para cada antena y así estimar las direcciones.
- Multilateración: La multilateración, también llamada posicionamiento hiperbólico, es una técnica que emplea la magnitud TDOA para el posicionamiento tridimensional de una estación móvil mediante un mínimo de 4 antenas. Conociendo la posición de 2 antenas (las cuales ya no necesitan ser unidireccionales) y conociendo el TDOA de una señal proveniente de la MS a localizar, el problema de búsqueda del punto emisor se reduce a localizar al mismo en el interior de un hiperboloide de dos hojas.Añadiendo un tercer nodo de medición se obtiene una nueva diferencia de tiempos de llegada, lo que genera un nuevo hiperboloide que intersecciona con el anterior, reduciendo el problema a una curva en la superficie de una de las dos hojas del hiperboloide.Si añadimos una cuarta antena, obtenemos un nuevo TDOA y generamos un nuevo hiperboloide. Dicho hiperboloide intersecciona con los otros dos (o con la curva generada por la intersección de los dos primeros hiperboloides) en un único punto común, que es el punto a determinar. En este caso, se da también la coordenada de altura del punto de medición.
En este apartado se pretende mencionar ciertas soluciones para localizar un terminal móvil que proveen los operadores comerciales de la red GSM.
En lo que respecta a nuestro estudio, no son las soluciones que andamos buscando, puesto que no sólo no garantizan privacidad y confidencialidad acerca de nuestra posición, sino que dependen de los servicios que tengamos contratados y por lo general, si queremos usarlos bajo demanda, necesitaremos efectuar un pago por dichos servicios.
Como contrapartida presentan la ventaja de que no son servicios intrusivos al terminal móvil; es decir, no requieren de software añadido ni de cualquier tipo de modificación del terminal (ya sea hardware o del firmware).
También son soluciones aplicables por parte de la operadora u otras entidades con ciertos fines comerciales y de marketing, como pudiera ser el envío de mensajes SMS publicitarios cuando un usuario de la red móvil pase por cierta zona geográfica. Ésta es la filosofía sobre la que se basa la emergente tecnología llamada LBS (Location Based Services).
Otros fines pudieran estar más orientados al control demográfico. Ejemplos de propuestas basadas en esta filosofía pudieran ser mediciones de desplazamientos (para periodos vacacionales etc…), control de tráfico en carreteras…
Además, existe la posibilidad de localizar en el momento de recepción de una comunicación vía GSM la proveniencia geográfica de la misma, aspecto clave en ocasiones para presentar pruebas ante un juez acerca de algún asunto de carácter legal.
Existe cierta paranoia entre la población ante el desconocimiento de estas tecnologías y la ausencia de transparencia por parte de los operadores. Actualmente la ley ampara el derecho a la privacidad de los ciudadanos y esto implica que sin demanda explícita de un propio usuario, dicha tecnología no puede ser empleada para localizar a los mismos salvo por orden judicial (o en caso de una llamada de emergencia). Pese a todo, habría que revisar y contemplar los contratos que se firman a la hora de contratar una línea de abonado y observar si existe algún “vacío” al respecto que pueda pasar desapercibido por un abonado, otorgando así un inconsciente consentimiento que autorice la posibilidad de que un operador de telefonía móvil pueda realizar seguimientos etc… con fines que puedan invadir la privacidad de la entidad implicada.
Se muestra a continuación un contrato real y actualizado de una de las 3 importantes operadoras de telefonía móvil en España (llamémosla *). Se resaltan en negrita los puntos que conciernen sobre el tema a tratar:
“En cumplimiento de lo dispuesto en la Ley Orgánica de Protección de Datos de carácter personal, el Cliente queda informado de que se incorporan al correspondiente fichero titularidad y responsabilidad de * sus datos personales a los que * tenga acceso como consecuencia de la relación contractual, consultas, transacciones, solicitud de contratos, contratación de productos y servicios de telecomunicaciones, comunicaciones electrónicas, de valor añadido o contenidos que tengan lugar por cualquier medio. A tal efecto, * llevará a cabo un tratamiento automatizado de dichos datos con la finalidad de su utilización en relación con el desenvolvimiento del contrato, la oferta y contratación con el Cliente de los productos y servicios de *.”
Podemos ver que, en términos legales, la información de la ubicación del cliente (salvo la existencia de, como he citado previamente, algún posible vacío contractual relativo a ese aspecto) queda protegida de posibles maniobras de seguimiento y/o espionaje por parte del operador, exceptuando el caso en que el cliente demande los servicios de posicionamiento, momento en el cual toda la información pasa a ser almacenada y potencialmente explotada por la operadora.
Asimismo, el usuario tiene derecho a solicitar que algunos de sus datos no sean procesados y/o analizados con fines comerciales.
Técnicas de geoposicionamiento del operador
- CGI (Cell Global Identity): También denominado CID (Cell ID). Usa la información del HLR para posicionar en un área geográfica al usuario. La precisión es mala, teniendo en cuenta que simplemente sabemos la zona de cobertura sobre la que se encuentra asociado el terminal móvil. Por tanto la precisión de la localización es de un error tan grande como el radio de cobertura de la célula.

- CGI-TA: Combina las técnicas Timing Advance junto con CGI. Esta técnica también es conocida por E-CID (Enhanced CID). Ofrece una mala precisión en el posicionamiento y está directamente vinculado con la extensión de cobertura de la célula, cometiendo errores de hasta varios km en zonas rurales y unos 10 metros en el mejor de los casos cuando la estación base tiene una cobertura muy local. Esta tecnología no podría ser usada para posicionamiento en tiempo real, navegación… etc, pero en cambio es útil cuando un abonado desea información acerca de la zona geográfica en la que se encuentra, ya que no se requiere de una máxima precisión. Por ello es útil para informar a los usuarios acerca de previsiones meteorológicas locales, restaurantes o gasolineras cercanas etc…
- TDOA: Explicado previamente.
- A-GPS (Assisted Global Positioning System): No profundizaremos en esta solución debido a que se basa en una implementación independiente de la red GSM. En este caso, el operador de la red móvil ofrece un servicio de posicionamiento del usuario basándose en la tecnología GPS, de forma que aproximadamente cada 200-400Km de cobertura bajo estaciones base se ubique un dispositivo auxiliar de asistencia GPS que puedan usar bajo demanda los abonados cuyo terminal móvil lleve integrado un receptor GPS. Esta solución permitiría acelerar el proceso estimado de cálculo de posicionamiento por un GPS, mejorando los tiempos de 45-20 segundos a unos 1-8 segundos y sin problemas de condicionamiento meteorológico.

Nuestro objetivo es lograr que el usuario de un terminal móvil sea capaz de posicionarse en el plano sin que la red, su proveedor y los operarios del mismo tengan constancia de ello. Se pretende que el usuario pueda realizar esta tarea desde su propio terminal móvil de forma cómoda, barata y sencilla, sin tener que cargar con pesadas antenas u otros dispositivos o tener que comprar caros terminales que integren GPS.
Técnicas de posicionamiento
Existen en la práctica diversas técnicas para posicionar un terminal móvil sin la intervención directa del operador de la red. Por lo general, son técnicas basadas en los principios de geolocalización antes descritos. A la hora de aplicar dichos procedimientos hemos de tener en cuenta varias limitaciones intrínsecas al dispositivo sobre el que estamos trabajando; éstas serían el número de antenas disponibles, procesamiento y almacenamiento limitados y sobre todo los datos de la red a los que se tiene acceso (sólo los que pueda proveer el teléfono móvil).
Podemos considerar las siguientes propuestas:
- CGI/CID: Análogo al método anteriormente explicado con la salvedad de que en esta ocasión es la MS la encargada de llevar a cabo la tarea. Por tanto, es el terminal móvil quien recibe el identificador de la BS. Si el usuario dispone de un mapa donde figuren todas las BSs de una región con su identificador asociado (el cual es único), entonces puede saber que está ubicado bajo la zona geográfica de cobertura de la estación base. Esta información es totalmente inútil si queremos posicionar un terminal con exactitud, pero sirve como aproximación y base sobre la que partir con diferentes mejoras.

- CGI-TA: El terminal móvil recibe el identificador de la estación base a la que se encuentra asociado. Teniendo en cuenta dicho identificador es posible posicionar al terminal en el plano con el margen de error igual al radio de la cobertura de la estación; es decir, varios km en zonas rurales y unos 100-500 metros en zonas urbanas con alta densidad de población.

Dicha solución no es válida tal y como hemos explicado, ya que tan sólo conociendo la posición de la estación asociada no sabemos más que aproximadamente dónde nos encontramos, pero tampoco sabemos la posición relativa a la que nos encontramos respecto la BS. Como este margen de error no es suficiente, necesitamos estudiar el parámetro Timing Advance, que representaría de forma aproximada la distancia a la que el terminal se encuentra de dicha estación base. Pese a todo seguiríamos sin saber la dirección sobre la que se encuentra la BS. Por tanto, el ID de la célula define geográficamente la zona y el TA define la distancia aproximada a la célula. El terminal móvil puede ubicarse por tanto en una circunferencia alrededor de la BS, lo cual no es suficiente ya que no tiene la precisión requerida.
- E-OTD (Enhanced Observed Time Difference): Este método se basa en el mismo principio que TDOA (Time Difference Of Arrival), salvo que en lugar de que las diferencias de tiempos de llegada de las señales sean calculadas por el operador de la red GSM, en este caso es el terminal móvil el encargado de calcular dichos valores TDOA provenientes de diversas estaciones base.A partir de estos valores, y en conjunción con la técnica CGI-TA, podríamos ser capaces de localizar con relativa precisión nuestra ubicación en el plano.

Para que esta tecnología funcione de forma eficaz la MS ha de incluir esta tecnología, la cual está actualmente en desarrollo por Nokia, para localizar la proveniencia de las llamadas de emergencia. En el año 2006 fue presentada como una alternativa útil para el funcionamiento de los LBS (Location Based Services) y en la actualidad presenta un margen de error de 50m en el mejor caso y 100m en el peor.
- Parametrización de zona geográfica: La aplicación se basa en la contrastación de ciertos parámetros únicos para una región geográfica (previamente medidos y almacenados en una base de datos) con los que se están tomando en un instante determinado en el terminal móvil. Para el buen funcionamiento de este método, bajo una región geográfica de interés se han de tomar todas las mediciones que la red GSM pueda proporcionar (CellID, TA, potencia…). De esta manera se genera una base de datos que contiene coordenadas expresadas en latitud y longitud con la precisión que deseemos (a mayor precisión, mayor número de coordenadas con sus mediciones) relativas a la zona a estudio. Una vez el usuario del terminal móvil inicie la aplicación de geoposicionamiento, el sistema comprueba a qué coordenada se parece mas la medición actual y por tanto devuelve la coordenada aproximada si la medición actual es coincidente con la almacenada, o bien interpola la coordenada teniendo en cuenta las registradas en la proximidad.La dificultad de este método estriba en la generación de la base de datos y el tamaño de la misma, el cual puede exceder la capacidad de almacenamiento de un terminal móvil.
- Parametrización de zona geográfica asistida: Podemos dar un giro a la aplicación anterior, creando un servidor que almacene dicha parametrización geográfica. El problema en este caso residiría en cómo comunciar la MS con dicho servidor, ya que tendríamos que usar algún mecanismo de comunicación accesible desde el propio terminal, es decir, habría que enviar las mediciones capturadas vía, por ejemplo, un SMS. La información llegaría al servidor, el cual calcularía las coordenadas geográficas del terminal y devolvería la posición al mismo a través de otro SMS. Dicha solución ahorra cálculos y capacidad de almacenamiento al terminal móvil (evitando los condicionantes de capacidad de memoria del mismo y procesamiento del terminal). En cambio la solución dejaría de ser gratuita.
Análisis de propuestas
Bajo este apartado se pretende realizar un breve análisis de las soluciones actuales, considerando ventajas e inconvenientes de las mismas, así como estudiando brevemente su viabilidad y aquellas dificultades que podrían manifestar la imposibilidad de llevar a cabo un proyecto de esta índole a la práctica.
La solución independiente del operador de la red GSM implica varias ventajas:
- Independencia de los servicios del operador: Un usuario podría usar este servicio independientemente de si su operador de telefonía lo ofrece.
- Independencia del operador contratado: En la actualidad, los tres proveedores de telefonía móvil dominantes en España hacen uso de la misma infraestructura física de antenas y células por lo que, al ser nuestra propuesta una solución independiente de los datos internos de cada operador (HLR, AUC etc…), funcionaría de forma idéntica independientemente del operador que el usuario haya contratado.
- Privacidad respecto al operador: Hemos comentado que el operador no está autorizado a localizar -salvo para el buen funcionamiento del HLR- a un usuario. Si el usuario utiliza los servicios de localización, la información de su posición exacta ya sí puede ser usada por el operador. Como algunos usuarios podrían no querer eso, pueden notificar su deseo al proveedor de servicios rechazando esa política; pese a todo, se podría contar con una alternativa mucho más fiable en términos de privacidad. En este caso nadie, salvo el propio usuario, tendría constancia de que se está usando la red GSM con fines de geoposicionamiento y toda la información relativa a su ubicación no sería almacenada, procesada o tratada por ninguna entidad ajena.
- Solución gratuita: El operador de telefonía móvil podría proveer al usuario de servicios de posicionamiento, pero el usuario tendría que pagar por ellos. En este caso la solución independiente del operador presentaría una ventaja para el usuario, ya que la solución propuesta no tendría un coste asociado ni por uso ni por opción de uso.
- Uso en tiempo real: Un usuario podría usar el sistema de posicionamiento de forma continua (similar a GPS) y no de forma tan poco interactiva como ofrecen en la actualidad los operadores.
Por contrapartida, se presentan otros inconvenientes:
- Modificación del terminal móvil: Para que un usuario final pudiera contar con este servicio tendría que incorporar alguna modificación a su terminal. En ese sentido lo más apropiado sería dotar de una sencilla e intuitiva aplicación al teléfono móvil, para lo cual un requisito de compatibilidad sería que el terminal móvil soportase Symbian o Java.
- Imprecisión de los datos: El sistema de posicionamiento podría dar información con un mínimo error inaceptable.
- Dependencia de la infraestructura del operador: Pese a querer buscar una solución independiente del operador, el sistema de posicionamiento GSM independiente del proovedor de servicios de telefonía hace uso de la infraestructura de la red GSM y una clara desventaja es que no tenemos el control sobre la misma y los posibles cambios que pudieran producirse en ella (como la reasignación de CellIDs, eliminación o inserción de nuevas células etc…).
Finalmente, se exponen posibles impedimentos que dificultarían la realización del proyecto:
- Insuficiencia o inexactitud de información en el terminal móvil: El terminal móvil podría carecer de la información suficiente necesaria -que es administrada por las estaciones base cercanas- como para realizar un posicionamiento adecuado. Asimismo podría darse el caso de que la información accesible pudiera ser condicionada por agentes externos (cobertura, clima…) y el resutado del posicionamiento ser por tanto incorrecto.
- Desconocimiento de la posición geográfica de las estaciones base de una región: Para llevar a cabo el proyecto se necesita conocer la distribución de celdas y los identificadores de las mismas. Dicha información no es libre y tiene acceso restringido. La única vía (legal) posible para hacer un mapa de los nodos de una región es la detección de los mismos mediante un conjunto de antenas y aplicando técnicas usadas para detectar estaciones de radio piratas (como las citadas AoA etc…).
Especificaciones de las propuestas
El proyecto se basaría en el diseño de una aplicación software con las siguientes características:
- Utilidad de geoposicionamiento del terminal móvil del usuario en el plano 2D: Aplicación capaz de posicionar a un usuario de la red móvil de forma transparente a la misma. El objetivo principal es obtener unas coordenadas de latitud y longitud, pero se podría por extensión introducir dichos datos en un mapa para presentar un resultado más gráfico al usuario final.
- Utilidad de uso del terminal móvil como brújula digital: Teniendo en cuenta la posibilidad de posicionamiento geográfico, sería también interesante poder utilizar las mediciones obtenidas para ubicar al usuario de la aplicación la ubicación de los puntos cardinales de forma interactiva (o en tiempo real, aunque podría ser más complicado).
- Precisión de mediciones aceptable: Se requiere un sistema capaz de competir con alternativas como GPS en precisión. Desearíamos una precisión de 5 metros en el mejor caso y 100 metros en el peor.
- Sencillez de manejo y claridad mostrando la información: Se pretende que la aplicación final sea sencilla de usar e intuitiva. Asimismo se pretende que la información devuelta sea clara y el usuario no necesite grandes conocimientos de la red móvil o matemáticos para interpretar los mismos.
- Compatibilidad máxima con terminales móviles: La aplicación final debería poder funcionar bajo cualquier tipo de móvil capaz de soportar el entorno para el que la aplicación haya sido programada. De esta forma, usando APIs genéricos para una plataforma, garantizamos gran compatibilidad.
- Optimización del uso de los recursos del móvil por parte de la aplicación: Debería de optimizarse el uso de los recursos de los que dispone el móvil, siendo la batería, el procesamiento y la memoria aspectos claves, y el cuello de botella que condiciona las prestaciones de nuestra aplicación.
Se requeriría el uso de un teléfono móvil con soporte para aplicaciones de terceros, es decir, una MS capaz de ser ampliada con software de terceros (ajeno al fabricante). En la actualidad la gran mayoría de los teléfonos móviles en uso, y prácticamente la totalidad de los teléfonos comerciales modernos que el mercado distribuye, presentan estas características. Las plataformas más extendidas y relevantes (omitiendo SSOOs de móviles/PDA, como Windows Mobile) son Java y Symbian, las cuales ofrecen un amplio abanico de posibilidades para el desarrollo de aplicaciones de usuario.
Teniendo en cuenta la posibilidad de crear, instalar y usar una aplicación propia, el siguiente requisito de nuestro proyecto es que pueda funcionar correctamente y de forma eficiente y rápida aprovechando las limitaciones del terminal, es decir, escasa memoria y una capacidad de procesamiento muy reducida.
En este apartado pretendemos ver de forma empírica todos aquellos datos e información presentes en un determinado instante en el teléfono móvil del usuario. De esta forma podemos, no sólo conocer el formato de dicha información, sino deducir los métodos posibles de geoposicionamiento vía GSM desde el terminal de usuario.
Para lograr capturar esta información necesitamos un terminal móvil con un software específico. Hemos decidido emplear el Netmonitor de Nokia, incluido como funcionalidad oculta en ciertos terminales. La forma de activar esta funcionalidad oculta pasa por modificar el firmware del teléfono usado para la monitorización, activando así un menú para acceder a la aplicación Netmonitor.
Asimismo, emplearemos una aplicación Symbian gratuita llamada CellTrack.
Información residente en el terminal de usuario
El terminal móvil de un usuario necesita para su buen funcionamiento cierta información de la red celular que le permita entre otras cosas hacer su acto de presencia, login etc…
Parte de esta información está relacionada con la localización geográfica del terminal, y dicha información, pese a ser una pequeña parte de toda la información que el terminal tiene, es la que detallamos a continuación, puesto que puede sernos útil para nuestros propósitos:
- MCC (Mobile Country Code): Es un dato que hace referencia al país en el que se encuentra el usuario en el instante de la medición (o para ser mas exactos, el país en el que se ubica la estación base a la que el usuario está asociado en ese instante). El identificador MCC es un número de 3 dígitos decimales y es único para cada país en el mundo.Podemos ver a continuación unos ejemplos:

- MNC (Mobile Network Code): Identificador del operador de red. Es único para cada operador dentro de su país, lo que quiere decir que mismos identificadores pueden repetirse fuera del territorio nacional. Por cada operador, se asigna dicho identificador, el cual está compuesto por dos dígitos decimales. Asimismo, un operador puede tener asignados varios MNCs.A continuación se muestran los MNCs de las tres operadoras de telefonía móvil que hay operativas en España en la actualidad.

- LAC (Location Area Code): Código identificador de área. A aquellas regiones con cobertura GSM se les asigna un código LAC único dentro de cada país. Dicho código está representado por 4 dígitos decimales y hace referencia a una región más o menos extensa de territorio. Los 4 dígitos decimales tienen un significado, determinando la comunidad autónoma, la región y la localidad.
- Cell ID Identificador de célula. Es un número de entre 1 y 5 dígitos decimales que identifica de forma unívoca a una célula dentro de un territorio nacional. Cada dígito tiene un significado propio de los operadores, pero dicha información para la red móvil española no está bien documentada o bien no es de libre acceso.
- Células vecinas: El teléfono móvil almacena por orden las 7 células más (teóricamente) cercanas al terminal. Dicho criterio de cercanía se basa en la potencia de la señal recibida por cada BS.
Por tanto, la técnica CGI es aplicable con sencillez gracias al CellID, la técnica CGI-TA se resuelve con la información anterior más el Timing Advance.
Para aplicar técnicas de geoposicionamiento básicas (trilateración, triangulación) se podrían usar los datos de las potencias de las 7 células más próximas, aunque dichas técnicas son muy complicadas de aplicar debido a que sólo existe un punto de referencia para triangular (el del móvil) y no 2 ó 3, como hemos visto que eran necesario.
Podemos monitorizar la red móvil para contrastar la información recibida en el terminal y poder comprobar empíricamente que realmente se reciben los parámetros y datos que se comentan a continuación. Asimismo, la única forma de obtener al menos los identificadores de célula y la ubicación de las estaciones base es mediante la monitorización de la red y parametrización geográfica.
Monitorización con NetMonitor y CellTrack
Activando a través de un cable F-BUS la opción oculta del menú Netmonitor de terminales Nokia antiguos, pasamos a continuación a realizar ciertas mediciones para estudiar de forma práctica la red GSM.

En concreto vamos a estudiar aquellos datos del Netmonitor relativos a la localización del terminal.
Pasemos a analizar la página parámetros de la red del menú netmonitor:

- CC (Country Code): Es el valor anteriormente descrito como MCC. Podemos ver que, estando en España, el código es 214.
- NC (Network Code): Código de la red, es el MNC antes descrito. En este caso la SIM es del operador español de telefonía móvil Movistar (07).
- LACs: Código del área en el que nos encontramos ahora mismo, es decir, Bohadilla del Monte, Madrid. En este caso el LAC vale 2813.
- CH (Channel): Canal actual.
- CID (Cell IDentifier): Identificador de la célula actual. En este caso 3053.
Con estos datos, podríamos recorrer una localidad geográfica armados con un GPS y así describir un mapa de células para poder aplicar la técnica CGI-TA.
Hemos podido comprobar que pese a que los tres operadores de telefonía dominantes en España comparten la infraestructura básica de la red celular (es decir, cada célula y -por tanto sus antenas- puede ser contratada por cada uno de los 3 operadores) en cambio devuelven para una misma célula información distinta para cada caso, siendo el único campo que no varía el MCC (214).
Como es lógico el MNC cambia, pero contra lo que el autor de este documento esperaba, los operadores no presentan un código LAC común para una región y lo mismo ocurre con el CID. Por los experimentos realizados, parece que esto ocurre ciertamente en la realidad y podemos observar que si a un terminal móvil libre ubicado en el territorio español y permaneciendo en una región se le introducen tarjetas de los tres operadores, comprobando que se conecta a la misma estación base, se reciben LACs y CIDs distintos por cada operador.
Cabe hacer constar que todos los parámetros anteriormente descritos, llegan al terminal móvil pese a que éste no llegue a autenticarse contra el AUC del operador. Por tanto, en estos casos el terminal interpreta que su funcionamiento está limitado y ofrece un nivel de cobertura nulo, lo cual puede ocurrir al monitorizar la red (por ejemplo) con tarjetas SIM dadas de baja o no funcionales, como las que han sido las empleadas para realizar este informe. Podemos comprobar que el hecho de que no se use una SIM con contrato de servicios no inhibe al móvil de su funcionamiento habitual y éste se “conecta” a la BS cuya señal es mas intensa independiente del operador, momento tras el cual la SIM trata de autenticarse.
En estas capturas obtenemos la comprobación empírica de que cada operador emplea sus propios códigos LAC y CellID, dicha monitorización fue realizada desde el mismo punto geográfico que para el caso de Movistar, conectándose el móvil a la misma célula en los tres casos.

Para la captura que muestra el MNC = 01, el operador es Vodafone y para la captura que muestra el MNC = 03, es Orange.
Lo siguiente es capturar los parámetros Timing Advance y el parámetro RxL (Reception Level) del terminal. Con ellos sabremos la distancia a la que nos encontramos de la estación base y el nivel de señal recibido en dBm. Para calcular la distancia de forma aproximada, basta con multiplicar el valor TA por 0.547. El resultado se expresa en kilómetros.
La pantalla de netmonitor anterior muestra por filas los valores indicados, estudiaremos los que hacen referencia al TA y RxL.

Para contrastar si el valor TA tiene sentido tenemos que observar el valor RxL. Dicho valor se representa en valor negativo, por lo que un valor alto del RxL significa bajo nivel de señal mientras que un nivel aceptable -que muestra cierta cercanía a la BS- se representaría por 35, siendo el valor 0 un valor que indica gran proximidad a la BS.
En el caso de que TA sea igual a cero, esto implica que la distancia a la que nos encontramos de la BS es de 0-550m.

Podemos observar que en este caso, el valor de TA es 2, lo que implica que nos encontramos a una distancia estimada de 2*0.547 km de la BS, es decir, a aproximadamente 1 Km de distancia.
Podemos comprobarlo:

El valor RxL capturado es 0, lo cual confirma la gran proximidad a la BS (ubicándonos ademas en un lugar elevado con visión directa de la antena).
Pasemos a comentar una forma de monitorizar los parámetros de información celular de la red GSM usando terminales móviles más modernos, los cuales no son susceptibles de entrar en modo monitor o dicha operación no es trivial.
Para ello lo más sencillo es emplear alguna aplicación symbian o java que tras instalarla en el terminal nos facilite dicha información recogiendo los datos necesarios gracias al API del sistema operativo del teléfono.
Una de estas aplicaciones es el programa gratuito de Axel Fischer llamado CellTrack para Symbian. Este programa resulta interesante, ya que entre toda su funcionalidad es capaz de facilitarnos el MNC el MCC, el LAC y el CID de la célula a la que estemos conectados y guardar la información en logs.
Las pruebas realizadas no han resultado concluyentes ya que al parecer el API del teléfono móvil devuelve valores distintos del Cell ID para tarjetas del mismo operador cuyo terminal está conectado a la misma célula. Lo mismo ocurre con el LAC.
Asimismo Celltrack devuelve el CellID, tanto en decimal como en hexadecimal. Tal vez esto sea debido al formato de representación, pero lo lo llamativo es que el LAC sí es distinto y no debería serlo.
Observemos las capturas:

Por tanto la conclusión a la que llegamos es que probablemente los valores que devuelve el API del teléfono deben tener distinto formato o bien han sido expresados en distinto formato. En el caso de querer realizar una parametrización geográfica de una región, pese a la calidad de netmonitor, deberíamos usar aplicaciones como la que hemos usado ya que hacen uso del API del teléfono.
Podemos observar como el CellID tiene en ambos monitores una parte común, en concreto 4 dígitos decimales (en este caso 0693), por lo que se deduce que simplemente la representación de la información en el interfaz es ligeramente distinta.
Para el LAC, en cambio, no se ha encontrado ningún patrón. No es lógica esa divergencia de valores, y al desconocer la implementación interna de ambos monitores no podemos sacar grandes conclusiones.
Independientemente de la diferencia de valores entre Netmonitor y CellTrack, la decisión de qué aplicación usar para generar una base de datos (con los valores MCC, MNC, LAC, CID y latitud y longitud de la BS) para aplicar CGI-TA es irrelevante obviamente mientras se use sólo una de las dos aplicaciones. Teóricamente el uso de aplicaciones como CellTrack presenta varias ventajas, como por ejemplo la facilidad de hacer logs en lugar de tener que apuntar a mano los valores. También contamos con terminales más modernos capaces de integrar GPS para facilitar con la transcripción de coordenadas e incluso podemos usar el bluetooth para transferir las mediciones. Asimismo, si se quisiera realizar un proyecto distribuido para que la gente aportase desinteresadamente los datos de las células de su localidad o barrio, es más factible emplear aplicaciones propias o de libre distribución que teléfonos antiguos más difíciles de encontrar, en cuyo caso habría que emplear los valores que facilita el API.
Conclusiones
Para finalizar este informe, pretendo hacer una serie de valoraciones personales y observaciones que me parecen interesantes.
Cabe destacar que todo este trabajo es meramente académico y fruto de la documentación e investigación. He tratado en la medida de lo posible de dar la información más correcta y contrastada que he podido, pero todo lo escrito anteriormente no debería ser tomado como una “verdad absoluta” sino como una lectura entretenida para adoptar ciertas bases y conocimientos al lector y alimentar su curiosidad o embarcarle en un proyecto real relacionado con el tema que se ha tratado.
Sobre privacidad
Existen servicios comerciales por parte de las operadoras de telefonía móvil capaces de localizar al usuario con peor precisión que el GPS. Asimismo, en su política de voraz expansión, Google también ofrece este servicio.
Las operadoras ofrecen dicho servicio con previo pago del mismo, aunque es posible que existan ofertas u otras opciones de las que no estoy documentado en las que dicho servicio sea incluso gratuito.
Respecto a Google, la aplicación es gratuita pero para su uso es necesaria una conexión vía GPRS, por lo que se está pagando al operador por hacer uso de la aplicación.
Con todo esto, aclaro que no pretendo criticar ni juzgar las políticas de ninguna empresa y recuerdo que por el momento tenemos libertad para elegir qué servicios usar y en qué momento, así como de elegir quién queremos que nos los facilite. Recomiendo encarecidamente que aquellas personas que quieran defender a toda costa su información personal y datos privados se documenten en la medida de lo posible antes de usar los servicios de posicionamiento de cualquier empresa que los facilite.
Hoy en día no es ilógico pensar que la información de nuestra ubicación, junto con la de cientos de miles de usuarios, pueda ser empleada con fines de marketing por parte de los operadores, o incluso que les sirva para mejorar sus servicios (por ejemplo ampliando el número de células en zonas de alta densidad de población). En relación a nuestra privacidad, me atrevo a decir (siempre con cierto grado de inseguridad) que es descabellado pensar que se estén realizando de forma automatizada estudios de marketing sobre cada individuo en concreto o recopilación intensiva de información de cada usuario dentro de la legalidad y pese a que es cierto que siempre existe esa posibilidad.
Pese a todo, los operadores de telefonía móvil disponen de la información y tecnología suficiente como para realizar un seguimiento activo de los usuarios si se lo propusieran. En la actualidad, todos los operadores almacenan información relativa al posicionamiento de un usuario, incluyendo sus datos personales si el usuario es de contrato. Sin ánimo de ser sensacionalista aclaro que no hay que alarmarse, ya que si los operadores no tuvieran dicha información no podría funcionar correctamente la red celular y que en principio dicha información está debidamente protegida, y la precisión de nuestra localización se reduce -como explicaba previamente- a saber “solamente” en que célula se encuentra el usuario.
Por tanto, si bien desconocemos si toda esta información es utilizada para hacer estudios demográficos, marketing etc… al menos (insisto) cabe esa posibilidad en el futuro, de ahí los emergentes Location Based Services.
En un futuro, es posible que los LBSs sean frecuentes y cotidianos; y aunque en la actualidad nuestra información personal está protegida, deberíamos tomar conciencia de hasta dónde pueden llegar ciertas empresas y mantenernos informados en la medida de lo posible.
Sobre soluciones
Hemos podido analizar posibles soluciones de geoposicionamiento que permitan desvincularnos de los servicios y costes de las grandes empresas. La conclusión a la que puedo llegar es que hemos de tener en cuenta que las soluciones planteadas escapan a nuestro control, en el sentido de que usan información de la que no sólo no disponemos, sino que además puede ser modificada en cualquier instante sin nuestro conocimiento. Además, dichas soluciones no llegan a alcanzar una precisión realmente aceptable pese a que siempre podríamos usarlas para consultar lugares de interés cercanos etc… y otras funciones pero nunca para navegación fiable.
Por tanto, considero que ante el abaratamiento de los receptores GPS y la inminente fusión de los mismos con los terminales móviles, dicha solución es las más barata (sólo el coste del terminal), precisa y que por el momento asegura la privacidad de los clientes.
Existen proyectos destinados a crear mapas de células internacionales, pero la información de la que se dispone actualmente no sólo no es del todo fiable y precisa sino que puede estar desactualizada y desde luego, es totalmente insuficiente.
Bibliografía y referencias
Este artículo ha sido realizado recopilando, contrastando y ampliando información de diversas fuentes.
Cito a continuación las más relevantes e importantes, como:
GSM y servicios de localización:
http://es.wikipedia.org/wiki/Localizaci%C3%B3n_GSM
http://en.wikipedia.org/wiki/GSM_localization
http://en.wikipedia.org/wiki/Mobility_management
http://www.wirelessdevnet.com/channels/lbs/features/mobilepo…
http://janus.liebregts.nl/cellid/index_en.html
http://www.google.com/gmm/mylocation.html?hl=es
http://www.activexperts.com/activsms/networkcodes/
http://www.tempos21.com/web/files/productos/Lbroker.pdf
http://www.cs.toronto.edu/~walex/papers/chen2006practical.pd…
Comunicaciones móviles GSM
Autores: Hernando Rábanos, José María
GSM switching, services and protocols 2 ed
Autor: Eberspächer, Jörg
CellTrack:
http://afischer-online.de/sos/celltrack/
Netmonitor:
http://home.iprimus.com.au/cridland/
http://www.gsmspain.com/info_tecnica/netmonitor/displays_1-1…
http://www.nobbi.com/monitor/index_en.htm
Operadores:
http://www.vodafone.es/
http://www.movistar.es/
http://www.orange.es/
Agradecimientos
Este trabajo no hubiera sido posible en su totalidad sin la colaboración de ciertas personas y/o organismos a los que quiero agradecer:
- Depósito de móviles de Cruz Roja: Por la cesión de varios terminales Nokia 8210 con fines académicos.
http://www.donatumovil.org/ - El phreaker FCA00000: Por el interés prestado al facilitarme ciertas referencias de forma desinteresada.
- El servicio de préstamo bibliotecario de la UPM: Por su gran servicio y magnífico catálogo de publicaciones.
- Criptolab de la UPM y su responsable Jorge Dávila: Por facilitar los medios y sugerir la idea de este artículo.
http://tirnanog.ls.fi.upm.es/ - Kriptópolis: Por su labor informativa y divulgativa.
http://www.kriptopolis.org/