WAP

 

Protocolo WAP

 

     El Protocolo de Aplicaciones Inalámbricas surge como la combinación de dos tecnologías de amplio crecimiento y difusión durante los últimos años: Las Comunicaciones Inalámbricas e Internet. Mas allá de la posibilidad de acceder a los servicios de información contenidos en Internet, el protocolo pretende proveer de servicios avanzados adicionales como, por ejemplo, el desvío de llamadas inteligente, en el cual se proporcione una interfaz al usuario en el cual se le pregunte la acción que desea realizar: aceptar la llamada, desviarla a otra persona, desviarla a un buzón vocal, etc.

    Para ello, se parte de una arquitectura basada en la arquitectura definida para el World Wide Web (WWW), pero adaptada a los nuevos requisitos del sistema.

 

    De esta forma, en el terminal inalámbrico existiría un “micro navegador" encargado de la coordinación con la pasarela, a la cual la realiza peticiones de información que son adecuadamente tratadas y redirigidas al servidor de información adecuado. Una vez procesada la petición de información en el servidor, se envía esta información a la pasarela que de nuevo procesa adecuadamente para enviarlo al terminal inalámbrico.

Para conseguir consistencia en la comunicación entre el terminal móvil y los servidores de red que proporcionan la información, WAP define un conjunto de componentes estándar:

 

* Un modelo de nombres estándar. Se utilizan las URIs definidas en WWW para identificar los recursos locales del dispositivo (tales como funciones de control de llamada) y las URLs (también definidas en el WWW) para identificar el contenido WAP en los servidores de información.

* Un formato de contenido estándar, basado en la tecnología WWW.

* Unos protocolos de comunicación estándares, que permitan la comunicación del micro navegador del terminal móvil con el servidor Web en red.

 

 

     Nuestro terminal móvil tiene dos posibilidades de conexión: a un proxy WAP, o a un servidor WTA. El primero de ellos, el  proxy WAP traduce las peticiones WAP a peticiones Web, de forma que el cliente WAP (el terminal inalámbrico) pueda realizar peticiones de información al servidor Web. Adicionalmente, este proxy codifica las respuestas del servidor Web en un formato binario compacto, que es interpretable por el cliente. Por otra parte, el segundo de ellos, el Servidor WTA está pensado para proporcionar acceso WAP a las facilidades proporcionadas por la infraestructura de telecomunicaciones del proveedor de conexiones de red.

 

Componentes de la Arquitectura WAP

 

      Una vez introducido el sistema, vamos a ver la arquitectura que le da consistencia. La arquitectura WAP está pensada para proporcionar un “entorno escalable y extensible para el desarrollo de aplicaciones para dispositivos de comunicación móvil”. Para ello, se define una estructura en capas, en la cual cada capa es accesible por la capa superior así como por otros servicios y aplicaciones a través de un conjunto de interfaces muy bien definidos y especificados. 

 

 

Capa de Aplicación (WAE)

 

   El Entorno Inalámbrico de Aplicación (WAE) es un entorno de aplicación de propósito general basado en la combinación del World Wide Web y tecnologías de Comunicaciones Móviles.

Este entorno incluye un micro navegador, del cual ya hemos hablado anteriormente, que posee las siguientes funcionalidades:

 

* Un lenguaje denominado WML, similar al HTML, pero optimizado para su uso en terminales móviles.

* Un lenguaje denominado WMLScript, similar al JavaScript (esto es, un lenguaje para su uso en forma de Script)

*  Un conjunto de formatos de contenido, que son un conjunto de formatos de datos bien definidos entre los que se encuentran imágenes, entradas en la agenda de teléfonos e información de calendario.

 

Capa de Sesión (WSP)

 

     El Protocolo Inalámbrico de Sesión (WSP) proporciona a la Capa de Aplicación de WAP interfaz con dos servicios de sesión: Un servicio orientado a conexión que funciona por encima de la Capa de Transacciones y un servicio no orientado a conexión que funciona por encima de la Capa de Transporte (y que proporciona servicio de datagramas seguro o servicio de datagramas no seguro)

   Actualmente, esta capa consiste en servicios adaptados a aplicaciones basadas en la navegación Web, proporcionando las siguientes funcionalidades:

* Semántica y funcionalidades del HTTP/1.1 en una codificación compacta.

* Negociación de las características del Protocolo.

* Suspensión de la Sesión y reanudación de la misma con cambio de sesión.

 

Capa de Transacciones (WTP)

 

    El Protocolo Inalámbrico de Transacción (WTP) funciona por encima de un servicio de datagramas, tanto seguros como no seguros, proporcionando las siguientes funcionalidades:

* Tres clases de servicio de transacciones:

* Peticiones inseguras de un solo camino.

* Peticiones seguras de un solo camino.

* Transacciones seguras de dos caminos (petición-respuesta)

* Seguridad usuario-a-usuario opcional.

* Transacciones asíncronas.

 

Capa de Seguridad (WTLS)

  

    La Capa Inalámbrica de Seguridad de Transporte (WTLS) es un protocolo basado en el estándar SSL, utilizado en el entorno Web para la proporción de seguridad en la realización de transferencias de datos. Este protocolo ha sido especialmente diseñado para los protocolos de transporte de WAP y optimizado para ser utilizado en canales de comunicación de banda estrecha. Para este protocolo se han definido las siguientes características:

* Integridad de los datos. Este protocolo asegura que los datos intercambiados entre el terminal y un servidor de aplicaciones no ha sido modificada y no es información corrupta.

* Privacidad de los datos. Este protocolo asegura que la información intercambiada entre el terminal y un servidor de aplicaciones no puede ser entendida por terceras partes que puedan interceptar el flujo de datos.

* Autentificación. Este protocolo contiene servicios para establecer la autenticidad del terminal y del servidor de aplicaciones.

 

   Adicionalmente, el WTLS puede ser utilizado para la realización de comunicación segura entre terminales, por ejemplo en el caso de operaciones de comercio electrónico entre terminales móviles.

 

Capa de Transporte (WDP)

 

    El Protocolo Inalámbrico de Datagramas (WDP) proporciona un servicio fiable a los protocolos de las capas superiores de WAP y permite la comunicación de forma transparente sobre los protocolos portadores válidos.

   Debido a que este protocolo proporciona un interfaz común a los protocolos de las capas superiores, las capas de Seguridad, Sesión y Aplicación pueden trabajar independientemente de la red inalámbrica que dé soporte al sistema.

 

 

  El Entorno Inalámbrico de Aplicaciones

    El objetivo del Entorno Inalámbrico de Aplicaciones es construir un entorno de aplicación de propósito general, basado fundamentalmente en la filosofía y tecnología del World Wide Web (WWW). Principalmente, se pretende establecer un entorno que permita a los operadores y proveedores de servicios construir aplicaciones y servicios que puedan utilizarse en una amplia variedad de plataformas inalámbricas de forma útil y eficiente.

     De esta forma, la arquitectura del Entorno Inalámbrico de Aplicaciones (en adelante WAE) está enfocado principalmente sobre los aspectos del cliente de la arquitectura del sistema de WAP, esto es, de los puntos relacionados con los agentes de usuario. Esto es debido a que la parte que más interesa de la arquitectura es aquella que afecta principalmente a los terminales móviles, esto es, a aquellos puntos en los cuales van a estar ejecutándose los diversos agentes de usuario.

    Si volvemos sobre la Figura 1, vemos que entre los agentes de usuario localizados en el cliente (en el terminal móvil) y los servidores de información se define un nuevo elemento: Las Pasarelas. Su función es codificar y decodificar la información intercambiada con el cliente, para así minimizar la cantidad de datos radiados, así como minimizar el proceso de la información por parte del cliente.

 

* Los Agentes de Usuario, que incluye aquellos elementos como navegadores, agendas telefónicas, editores de mensajes, etc.

* Los Servicios y Formatos, que incluyen todos aquellos elementos y formatos comunes, accesibles a los Agentes de Usuario, tales como WML, WMLScript, formatos de imagen, etc.

   Como se puede ver en la Figura, dentro de WAE se separan Servicios de Agentes de Usuario, lo que proporciona flexibilidad para combinar varios Servicios dentro de un único Agente de Usuario, o para distribuir los Servicios entre varios Agentes de Usuario.

Los dos Agentes de Usuario más importantes son el Agente de Usuario para WML y el Agente de Usuario para WTA.

    El Agente de Usuario para WML es el Agente de Usuario fundamental en la arquitectura del Entorno Inalámbrico de Aplicación. A pesar de su importancia, este Agente de Usuario no está definido formalmente dentro de esta arquitectura, ya que sus características y capacidades se dejan en manos de los encargados de su implementación. El único requisito de funcionalidad que debe cumplir este Agente de Usuario, es el proporcionar un sistema intérprete a los lenguajes WML y WMLScript, de forma que se permita la navegación desde el terminal móvil.

   Por otra parte, el Agente de Usuario para WTA permite a los autores acceder e interactuar con las características de los teléfonos móviles (p. e. Control de Llamada), así como otras aplicaciones supuestas en los teléfonos, tales como agendas de teléfono y aplicaciones de calendario.

 

El Protocolo Inalámbrico de Sesión

 

     El Protocolo Inalámbrico de Sesión constituye la capa que se sitúa por debajo de la capa de Aplicación, proporcionando la capacidad necesaria para:

* Establecer una conexión fiable entre el cliente y el servidor, y liberar esta conexión de una forma ordenada.

* Ponerse de acuerdo en un nivel común de funcionalidades del protocolo, a través de la negociación de las posibilidades.

* Intercambiar contenido entre el cliente y el servidor utilizando codificación compacta.

* Suspender y recuperar la sesión.

Hoy por hoy, este protocolo ha sido definido únicamente para el caso de la navegación, definiéndose como WSP/B. Esta implementación está realizada para el establecimiento de una conexión sobre la base de un protocolo compatible con HTTP1.1.

De esta forma, se han definido un conjunto de primitivas de servicio para permitir la comunicación entre la capa de sesión integrada dentro del equipo cliente y la capa de sesión integrada en el equipo servidor. 

 

 

El Protocolo Inalámbrico de Transacción

   El Protocolo Inalámbrico de Transacción se establece para proporcionar los servicios necesarios que soporten aplicaciones de “navegación” (del tipo petición/respuesta). Es a este dúo petición/respuesta, lo que vamos a denominar como transacción. Este protocolo se sitúa por encima del Protocolo Inalámbrico de Datagramas y, de forma opcional, de la Capa Inalámbrica de Seguridad de Transporte, que serán estudiados posteriormente.

Las características de este protocolo son:

* Proporciona tres clases de servicios de transacción:

* Clase 0: mensaje de solicitud no seguro, sin mensaje de resultado.

* Clase 1: mensaje de solicitud seguro, sin mensaje de resultado.

* Clase 2: mensaje de solicitud seguro, con, exactamente, un mensaje de resultado seguro.

* La seguridad se consigue a través del uso de identificadores únicos de transacción, asentimientos, eliminación de duplicados y retransmisiones.

* Seguridad opcional usuario a usuario.

* De forma opcional, el último asentimiento de la transacción puede contener algún tipo de información adicional relacionada con la transacción, como medidas de prestaciones, etc.

* Se proporcionan mecanismos para minimizar el número de transacciones que se reenvían como resultado de paquetes duplicados.

* Se permiten las transacciones asíncronas.

 

   Dentro de este protocolo se distinguen dos tipos de mensajes: mensajes de datos y mensajes de control. Los mensajes de datos transportan únicamente datos de usuario, mientras que los mensajes de control se utilizan para los asentimientos, informes de error, etc. pero sin transportar datos de usuario.

* Retransmisión hasta el asentimiento.

Esta característica se utiliza para la transferencia fiable de datos desde un proveedor WTP a otro, en caso que haya pérdida de paquetes. A modo de comentario, dejar claro que para reducir lo máximo posible el número de paquetes que se transmiten, este protocolo utiliza asentimiento explícito siempre que sea posible.

* Asentimiento de usuario.

El Asentimiento de Usuario permite al usuario de este protocolo, confirmar cada mensaje recibido por el proveedor WTP.

* Información en el Último Asentimiento.

   Se permite, así pues, enviar información en el último, y únicamente en el último, asentimiento de una transacción. De esta forma, se puede enviar, por ejemplo, información del rendimiento proporcionado por el sistema durante la transacción realizada, etc.

* Concatenación y Separación.

Podemos definir concatenación como el proceso de trasmitir múltiples Unidades de Datos del Protocolo (PDU) de WTP en una Unidad de Datos del Servicio (SDU) de la red portadora.

Por el contrario, separación es el proceso de separar múltiples PDUs de un único SDU (esto es, el proceso inverso al anterior).

El objetivo de estos sistemas es proveer eficiencia en la transmisión inalámbrica, al requerirse un menor número de transmisiones.

* Transacciones Asíncronas.

    Para un correcto funcionamiento del protocolo, múltiples transacciones deben ser procesadas de forma asíncrona, debe ser capaz de iniciar múltiples transacciones antes que reciba la respuesta a la primera transacción.

* Identificador de la Transacción.

    Cada transacción está identificada de forma única por los pares de direcciones de los sockets (Dirección fuente, puerto fuente, dirección destino y puerto destino) y por el Identificador de Transacción (TID), el cual se incrementa para cada una de las transacciones iniciadas. Este número es de 16 bits, utilizándose el bit de mayor orden para indicar la dirección.

* Segmentación y re-ensamblado. (opcional)

     Si la longitud del mensaje supera la Unidad Máxima de Transferencia (MTU), el mensaje puede ser segmentado por el WTP y enviado en múltiples paquetes. Cuando esta operación se realiza, estos paquetes pueden ser enviados y asentidos en grupos. De esta forma, el emisor puede realizar control de flujo cambiando el tamaño de los grupos de mensajes dependiendo de las características de la red.

 

La Capa Inalámbrica de Seguridad de Transporte

 

    La Capa Inalámbrica de Seguridad de Transporte (en adelante WTLS), constituye una capa modular, que depende del nivel de seguridad requerido por una determinada aplicación. Esta capa proporciona a las capas de nivel superior de WAP de una interfaz de servicio de transporte seguro, que lo resguarde de una interfaz de transporte inferior.

    El principal objetivo de esta capa es proporcionar privacidad, integridad de datos y autentificación entre dos aplicaciones que se comuniquen. Adicionalmente, la WTLS proporciona una interfaz para el manejo de conexiones seguras.

 

El Protocolo Inalámbrico de Datagramas

 

   El Protocolo Inalámbrico de Datagramas (en adelante WDP) ofrece un servicio consistente al protocolo (Seguridad, Transacción y Sesión) de la capa superior de WAP, comunicándose de forma transparente sobre uno de los servicios portadores disponibles.

   Este protocolo ofrece servicios a los protocolos superiores del estilo a direccionamiento por numero de puerto, segmentación y re-ensamblado opcional y detección de errores opcional, de forma que se permite a las aplicaciones de usuario funcionar de forma transparente sobre distintos servicios portadores disponibles.

 

EL MEDIO AÉREO: GSM

 

     Aunque WAP fue diseñado para utilizar cualquier tecnología móvil existente en la actualidad, la más utilizada por WAP en nuestro entorno es GSM. GSM es una tecnología digital de acceso aéreo que incluye mecanismos de cifrado de la comunicación entre el terminal móvil y la BSC (estación base). No es misión del presente artículo describir el funcionamiento de GSM, pero debe señalarse que durante el último año han surgido serias dudas sobre la fortaleza de los algoritmos utilizados [CEA99].

    Se considera comúnmente que los mecanismos de cifrado de GSM no son suficientes para garantizar la seguridad de cualquier transacción conducida mediante WAP, debido no sólo a la debilidad de los algoritmos como a la porción de camino protegidas (exclusivamente desde el terminal móvil a la BTS).

WTLS

    Como ya es conocido, WAP se articula como una arquitectura en capas en la que la capa de transporte se denomina WDP (Wireless Datagram Protocol) [WAP99a]. Sobre esa capa de transporte se sitúa una capa opcional de seguridad, denominada WTLS, Wireless Transport Layer Security.

     Del mismo modo que en el mundo TCP/IP se ha consolidado un estándar de facto, el ya citado SSL (Secure Sockets Layer) o su evolución, TLS (Transport Layer Security) [DIE99], como capa de seguridad entre los protocolos de aplicación (HTTP, FTP, SMTP…) y la capa de transporte, la especificación WAP ha definido WTLS. Este protocolo se ha diseñado siguiendo una serie de criterios:

·        WTLS debe soportar datagramas.

·         Debe soportar portadoras de ancho de banda variopinto.

·        Debe soportar periodos de latencia potencialmente largos.

·        La capacidad de memoria y procesamiento de los terminales puede ser pequeña.

 

    En definitiva, TLS y WTLS son protocolos equivalentes (en múltiples partes de la especificación de WTLS se copia literalmente la de TLS), siendo patente que la intención de los autores del protocolo fue coger TLS y añadir soporte a datagramas, optimizar el tamaño de los paquetes transmitidos y seleccionar algoritmos rápidos entre los permitidos.

     En cuanto a su estructura, tanto SSL-TLS como WTLS incluyen una fase de handshake en la que se negocian los algoritmos utilizados, se intercambian claves y se verifican certificados, seguida de una fase de registro (en la que garantiza también la integridad de los mensajes intercambiados). Del mismo modo que con SSL-TLS, se han definido las siguientes características:

·        Integridad de los datos. Se asegura que los datos intercambiados entre el terminal y la pasarela WAP no han sido modificados.

·        Confidencialidad de los datos. Se asegura que la información intercambiada entre el terminal y la pasarela WAP no puede ser entendida por terceras partes que puedan interceptar el flujo de datos.

·        Autenticación. El protocolo contiene servicios para autenticar el terminal y la pasarela WAP.

 

Las implementaciones de WTLS pueden soportar diferentes características, definiéndose las siguientes clases [CHR00]:

·        Clase 1: clase básica en la que no existe autenticación ni de cliente (terminal WAP) ni de pasarela WAP.

·        Clase 2: lo mismo que la clase 1, pero añadiendo autenticación de la pasarela WAP (este nivel es el equivalente al implementado usualmente con SSL en Internet). El único terminal WAP que lo soporta actualmente es el Nokia 7110.

·        Clase 3: igual que la clase 2, pero añadiendo autenticación de terminal WAP. En la actualidad no existe ningún terminal WAP que soporte la clase 3.

 

 

El resumen de características es el siguiente:

Características

Clase 1

Clase 2

Clase 3

Intercambio de clave

Obligatorio

Obl.

Obl.

Certificados de servidor

Opcional

Obl

Obl

Certificados de cliente

Opc.

Opc

Obl

Compresión

-

Opc.

Opc.

Cifrado

Obl

Obl.

Obl

MAC

Obl.

Obl

Obl

Interfaz con tarjeta inteligente

-

Opc.

Opc

Entre las diferencias que existen entre SSL-TLS y WTLS, las más significativas son:

·        La negociación se hace sobre datagramas WDP (equivalentes a los datagramas de UDP), no sobre conexiones fiables TCP, puesto que no existe TCP en WAP.

·         Se permite una autenticación basada en un secreto compartido. Esto permite que los terminales WAP puedan prescindir de hardware criptográfico.

·        Existen mecanismos de negociación optimizados para mejorar el tiempo de transacción segura en los que el servidor busca el certificado del cliente por su cuenta (por ejemplo, consultando en un servicio de directorio) sin esperar que tal certificado viaje a través de la red móvil.

 

 

     Criptográficamente las innovaciones son mínimas. La más significativa es que admite la utilización de algoritmos criptográficos basados en curvas elípticas, que ofrecen ventajas en cuanto a memoria y prestaciones. Por lo demás, sigue soportanto los algoritmos ya conocidos: DH y RSA para intercambio de claves, RC5, DES, 3DES e IDEA para cifrado simétrico y MD5 y SHA para generación de MACs. Además, la especificación permite el uso de certificados X.509v3, pero también certificados WTLS (X.509 optimizados para reducir el tamaño) y X9.68 (certificados basados en algoritmos de curvas elípticas).

    Podemos concluir que WTLS no es más que TLS (o SSL) modificado para permitir la utilización de terminales WAP como agentes de usuario. Si bien estas modificaciones lo hacen también más vulnerable (a tenor de los primeros análisis [SAA99] o [JOR99]), es de prever que posteriores versiones del protocolo lo hagan más fiable y una herramienta totalmente eficaz de seguridad de transporte en el tramo entre el terminal y la pasarela.

 

Conclusiones

 

     El Protocolo de Aplicaciones Inalámbricas surge como la combinación de dos tecnologías de amplio crecimiento y difusión durante los últimos años: Las Comunicaciones Inalámbricas e Internet. Mas allá de la posibilidad de acceder a los servicios de información contenidos en Internet, el protocolo pretende proveer de servicios avanzados adicionales como, por ejemplo, el desvío de llamadas inteligente, en el cual se proporcione una interfaz al usuario en el cual se le pregunte la acción que desea realizar: aceptar la llamada, desviarla a otra persona, desviarla a un buzón vocal, etc.

 

 

Bibliografía

 

EL PROTOCOLO INALÁMBRICO DE APLICACIONES (WAP)

http://www.ictnet.es/esp/comunidades/movil/recom/wap.doc

 

 

 

 

 

 

 

1

Hosted by www.Geocities.ws

1