Seguridad y protección de la información en la navegación WAP





                   Introducción...

A día de hoy es indiscutible la relevancia de los dispositivos móviles en nuestra vida cotidiana y en particular de los teléfonos celulares con tecnología GSM. Como todos sabemos, las últimas generaciones de terminales móviles permiten hacer uso del protocolo de aplicaciones inalámbricas (WAP). Este protocolo ha sido desarrollado por la unión de los líderes mundiales en el mercado de las telecomunicaciones sin hilos, tanto fabricantes como operadoras y proveedores de servicios.

Los terminales con soporte para WAP incorporan un micronavegador que es capaz de reconocer el lenguaje WML, que es el utilizado para representar la información que se verá en las pantallas de estos dispositivos. Por supuesto, dada la limitacion del ancho de banda en las comunicaciones via GSM, el envío de gráficos y archivos binarios en general aun no nos posibilita la navegación con efectos multimedia. No hace falta decir que la tercera generación de teléfonos móviles esta empezando a penetrar en el mercado, pero no nos vamos a centrar en eso. Para hacernos una idea, la velocidad de transmisión de datos a través de lineas GSM es de 9600 bits/s para comunicaciones orientadas a conexión y una tasa de transferencia efectiva de 100 bits/s para SMS. Tampoco hace falta comentar que las reducidas dimensiones de la pantalla de los dispositivos móviles dificultan todavía mas la visualización de imágenes durante la navegación.

De todas formas, sí es posible acceder mediante el teléfono móvil a servicios muy variados, tales como finanzas, banca a distancia, noticias, correo electrónico, acceso a determinadas bases de datos, etc. El uso de este tipo de servicios otorga un carácter altamente comprometido y confidencial a la transferencia de información, y es en esto donde vamos a centrar nuestro trabajo, ya que hay una estrecha relación entre esto y los contenidos de la asignatura SPI.

WTLS (seguridad en la capa de transporte sin hilos) proporciona los servicios básicos de seguridad, como confidencialidad, integridad, autenticación y protección contra denegación de servicio, constituyendo el equivalente inalámbrico del estándar TLS(seguridad de la capa de transporte), basado en SSL v3.0, que sirve para establecer un canal de comunicaciones seguro entre el navegador del usuario y el servidor web. WTLS incorpora nuevas características como soporte para datagramas, handshake optimizado frente a la fuerte sobrecarga de TLS o SSL y refresco dinámico de claves (las claves son invalidadas frecuentemente para frustrar el criptoanálisis). Además, este protocolo ha sido optimizado para redes portadoras con ancho de banda escaso y largos períodos de latencia.

Desgraciadamente, los pequeños procesadores de estos dispositivos móviles carecen de la potencia de cálculo para realizar lasoperaciones criptográficas posibles en redes fijas con el PC como herramienta. Un teléfono movil convencional puede tener de 32 a 64 KB de memoria, y capacidad de cálculo muy reducida. En ese caso nos encontramos ante dos caminos a seguir: o reducir el tamaño de los procesadores o desarrollar nuevas técnicas criptográficas.

En este sentido, la criptografía de curvas elípticas (ECC) puede aportar  nuevas y prometedoras soluciones para los pequeños dispositivos, ya que requieren un quinto de la memoria de los criptosistemas convencionales, a la vez que conservan su seguridad (al menos, dado nuestro conocimiento actual de las curvas elípticas).

La desventaja principal de la ECC es la incompatibilidad con productos basados en otros criptosistemas que utilicen algoritmos como el RSA, IDEA, DES, etc. Una vez mas, los informáticos nos enfrentamos al problema de los estándares.

Para que el móvil acceda a servidores de Internet, es necesaria la presencia de una pasarela WAP, perteneciente a la operadora de telecomunicaciones, que traduzca las peticiones en WAP originadas por el móvil a peticiones en HTTP que entienda el servidor web. De forma inversa, las respuestas de los servidores web en HTTP (las páginas en HTML) deben a su vez traducirse al lenguaje WML para que se representen adecuadamente en el terminal móvil.
 
 









La transmisión de datos entre el móvil y la pasarela se realiza utilizando los servicios de la capa WTLS, mientras que las comunicaciones entre la pasarela y los servidores web se aseguran mediante SSL o TLS. La transmisión segura extremo a extremo es gestionada de forma transparente y automática por la pasarela WAP. Ahora bien, nos encontramos ante una debilidad, y es que se requiere descifrar la información de WTLS a SSL y viceversa. Durante ese breve instante en que los datos se encuentran 'a pelo' en la memoria de la pasarela de la operadora se podría producir un ataque a nuestro sistema. A todo esto hay que añadir problemas de legislación en muchos lugares del mundo, donde se podria permitir la autenticación fuerte y prohibir el cifrado fuerte.
 

Criptografía de Curvas Elípticas...

Vamos a sumergirnos un poco mas en la Criptografía de Curvas Elípticas. Por el momento es una de las disciplinas más prometedoras en el campo de los cifrados asimétricos. Las curvas elípticas constituyen un formalismo matemático conocido y estudiado desde hace casi dos siglos, y presentan una serie de propiedades que da lugar a problemas difíciles. Además, con claves mucho más cortas se puede alcanzar el mismo nivel de seguridad que con otras técnicas.

ECC es un criptosistema que basa su seguridad en la dificultad del cálculo de logaritmos discretos en curvas elípticas.Para el funcionamiento de este criptosistema es necesaria la generación de una curva eliptica de la forma  para lo que se requiere escoger los parámetros b y c. Es importante mencionar que todos los puntos pertenecientes a la curva elíptica generada forman un grupo con la operación de suma definida geométricamente de la siguiente manera:

Supongamos que deseamos sumar dos puntos distintos, P y Q, pertenecientes a la curva elíptica, donde para P = <x,y> se tiene que -P = <-x,y>. Para sumar dichos puntos se traza una linea recta entre ellos y se designa como -R al tercer punto de intersección de la recta con la curva elíptica (Es demostrable que dicho punto existe y que existen sólo tres puntos de intersección). Finalmente se define R = - (-R) como la suma de los puntos seleccionados, es decir, R = P + Q.
 
 

Una vez hemos seleccionado y fijado la curva elíptica, necesitamos escoger un número primo p para la discretización de los puntos que serán usados como posibles claves del criptosistema. Los puntos que cumplan la ecuación son los puntos dentro de la curva que usará el criptosistema.

Dado los puntos fijos dentro de la curva elíptica escogida (esto lo logramos a través de los parámetros b,c y p) la clave privada de un usuario consiste en un punto P seleccionado de entre todos los posibles puntos hallados anteriormente y en un número aleatorio k seleccionado por el usuario. En contraste, la clave pública del usuario viene dada por el punto P y el punto .

La dificultad de ECC radica en obtener de la clave pública ( P y kP) la clave privada ( P y k ) pues dicho problema se reduce al cálculo de un logaritmo discreto con los puntos dentro de la curva elíptica.

Esta disminución en la longitud de la clave que se gana al usar ECC produce como resultado que los algoritmos de encriptamiento y desencriptamiento sean más rápidos, pero a costa de una menor protección contra ataques de fuerza bruta. Uno de los puntos que los expertos le imputan como debilidad a ECC es que el tiempo que lleva conocido es bastante corto en comparación con  sistemas ampliamente probados como RSA.

De todas formas, aun queda bastante camino por recorrer, y parece ser que por el momento, la mejor forma de garantizar seguridad de forma económica a los usuarios de teléfonos moviles es utilizar ECC.