WirelessBR

WirelessBr é um site brasileiro, independente, sem vínculos com empresas ou organizações, sem finalidade  comercial,  feito por voluntários, para divulgação de tecnologia em telecomunicações 

Segurança em Transações e Aplicações WAP (3)

Autores: Jorge Luis Morales Cabral  e  Leonardo Mascarenhas Leite 

Esta página contém muitas figuras grandes. Aguarde a carga se a conexão estiver lenta.

4 Arquitetura WAP

A principal característica do padrão WAP é a utilização de vários protocolos já existentes na internet, como os de comunicação TCP/IP e UDP/IP, os de "conversão" de linguagem XML e HTML, os de programação como CGI, Perl e ASP, os de comunicação HTTP, e protocolos de  segurança SSL [WAP98].
A arquitetura WAP obedece à estrutura demonstrada na figura 4.1.

FIGURA 4.1 - ARQUITETURA WAP

O modelo de programação do WAP é similar ao modelo WWW, como visto anteriormente. Isto provê vários benefícios à comunidade de desenvolvimento, incluindo a familiarização com o modelo existente, a confiabilidade de uma arquitetura testada e a possibilidade de utilização de ferramentas existentes (como servidores Web, editores XML, etc).
Entretanto, otimizações e extensões foram realizadas de forma a adaptar este modelo a realidade de ambientes móveis. Sempre que possível os padrões existentes foram adotados ou utilizados como base para desenvolvimento da tecnologia WAP.
O conteúdo e as aplicações WAP foram especificadas através de um conjunto de formatos bem conhecido, baseado nos conteúdos utilizados na WWW tradicional. Os dados são transportados utilizando um conjunto de protocolos de comunicação baseados nos protocolos utilizados na internet e o micro-browser de um dispositivo móvel foi especificado de forma análoga ao browser WWW.
O browser interpreta e exibe conteúdo desenvolvido para o ambiente WAP. Esse conteúdo é criado através da linguagem WML (Wireless Markup Language ou Linguagem de Marcação Wireless). A WML é semelhante a HTML que é usada na criação de páginas da WWW. Mas, ao contrário da linguagem HTML, a linguagem WML foi criada para atender às necessidades dos dispositivos e redes wireless
Para acrescentar recursos dinâmicos às aplicações WML, utiliza-se a linguagem WMLScript, uma linguagem semelhante a JavaScript. Tanto WML como WMLScript são adaptadas e otimizadas para utilização em ambiente wireless.
Na WWW, os sites (locais) são constituídos de páginas. Páginas são arquivos com extensão .html. A primeira página de um site é a Home page. Na rede wireless o mini-site é chamado de deck (maço, grupo ou conjunto) e a mini-page é chamada de card. Deck, um arquivo com extensão .wml. Card é o conteúdo de uma única mini- tela. Um site é um conjunto de pages. Um deck é um conjunto de cards. Mas as telas dos celulares estão crescendo, já podem ser roladas, os PDA's têm mini-telas "gigantes" e o jargão que vai se firmando já era esperado: mini-sites ou "WAP sites", mini-pages ou "WAP pages", "WAP phones'' (celulares WAP), WAP browsers, etc. No entanto, no código da linguagem WML os textos das WAP pages estão contidos entre as tags <card> e </card> e isto não vai mudar.
O WAP definiu um conjunto de componentes padronizados que permitem a comunicação entre terminais móveis e servidores de rede, incluindo [WAP98]:
 modelo de Nomenclatura Padrão - O padrão WWW de URLs foi utilizado para identificar o conteúdo WAP nos servidores de origem. Outro padrão WWW, o URI, foi utilizado para identificar recursos locais num dispositivo, como funções de controle de chamadas;
 tipagem de Conteúdo - Todos os conteúdos WAP possuem um tipo de conteúdo específico, consistente com o modelo WWW;
 formato de Conteúdo Padrão - O formato de conteúdo WAP é baseado na tecnologia WWW e inclui marcações de visualização, informação de agenda, cartões de visita, imagens e linguagem de script;
 protocolos de Comunicação Padrão - Os protocolos WAP permitem a transmissão de pedidos do browser para o servidor de rede WWW.

4.1 WAP gateway

O WAP gateway (também conhecido por WAP Proxy) é um software que basicamente aliza uma conexão entre o cliente (dispositivo móvel) e o servidor (HTTP Server, HTTP Proxy etc.).
O WAP gateway possui as seguintes funcionalidades [PHO99]:
 gateway de protocolo - o gateway de protocolo traduz pedidos do protocolo WAP ao protocolo WWW (HTTP e TCP/IP);
 codificadores e Decodificadores de conteúdo - o codificador de conteúdo traduz o 
conteúdo da Wap para um formato de código compactado (bytecode), com a intenção de reduzir o tamanho e o número de pacotes que trafegam na rede de dados wireless;
A infra-estrutura criada, certifica que os usuários de terminais móveis possam navegar por uma grande variedade de aplicações e conteúdo WAP, certifica também que o autor da aplicação tenha condições de criar serviços de conteúdo que sirvam a uma grande base de terminais.
Devido ao WAP gateway, os conteúdos e aplicações são hospedados em servidores WWW e podem ser desenvolvidos utilizando aplicações WWW como CGI scripts, conforme figura 4.2.

FIGURA 4.2 - FUNCIONALIDADE DO WAP GATEWAY

O WAP gateway diminui o tempo de resposta do dispositivo portátil, agregando dados de diferentes servidores na WWW e guardando informações freqüentemente acessadas. O WAP gateway também pode se conectar a bancos de dados de assinantes e utilizar informações da rede wireless, tais como informação de localização, para personalizar as páginas WML de acordo com o usuário. Tal servidor pode ser utilizado para facilitar soluções end-to-end de segurança ou aplicações que requerem um melhor controle de acesso ou resposta, como o WTA.

4.1.1 Influência da Tecnologia Proxy

A especificação WAP utiliza o padrão de tecnologia proxy, existente na WWW para conectar o domínio wireless com a WWW [PHO99]. Utilizando os recursos de computação no WAP gateway , a arquitetura WAP permite que os dispositivos portáteis sejam simples e baratos. Por exemplo, um WAP gateway vai tipicamente acessar todos os servidores DNS para resolver os nomes de domínios usados nas URLs, assim assumindo, esta tarefa computacional dos dispositivos portáteis, conforme demonstrado na figura 4.3.

FIGURA 4.3 - ACESSO AOS SERVIDORES ATRAVÉS DO WAP PROXY

O WAP gateway também pode ser utilizado para disponibilizar serviços aos assinantes e proporcionar ao operador de rede um ponto de controle para administrar as fraudes e a utilização dos serviços, conforme Figura 4.4.

FIGURA 4.4 - ARQUITETURA WAP PROXY

4.1.2 A transmissão de Dados

O padrão WAP define um ambiente de aplicações e protocolos de aplicações. Ele também define a tecnologia conhecida como WTA (Wireless Telephony Application ou Aplicações em Telefonia Wireless).
A finalidade de WTA é fornecer meios para criar serviços de telefonia (voz) utilizando WAP. A interface entre as funções relacionadas à telefonia no dispositivo WAP  é chamada de WTAI (Wireless Telephony Application Interface ou Interface para Aplicações de Telefonia Wireless).
Quando o WAP browser é utilizado para solicitar informação, o pedido da URL é enviado utilizando os protocolos WAP. Esse pedido é enviado através da rede wireless para o WAP gateway . O gateway permite aos usuários da rede wireless conectarem-se à Internet.
Quando a solicitação recebida é decodificada, o gateway executa algumas tarefas, então a solicitação decodificada é convertida do protocolo WSP (no padrão WAP) para o protocolo da internet HTTP. A seguir, o que acontece é o envio dessa requisição para o Web Server através da Internet. O Web Server recebe, lê a requisição e retorna uma resposta com conteúdo WML para o WAP gateway .
O WAP gateway recebe o conteúdo WML do Servidor Web e o converte para o padrão bytecode do WAP, codificando a informação para um formato binário de forma que possa ser utilizada menor largura de banda.
O conteúdo codificado é criptografado e enviado através da rede wireless para o WAP browser. O browser recebe a resposta do WAP gateway e a exibe na tela do dispositivo WAP conforme figura 4.41.

FIGURA 4.41 - REQUISIÇÃO E RESPOSTA DE CONTEÚDO WAP

4.2 Pilha de Protocolos

Apesar de ser visto como um protocolo, na verdade o WAP é uma pilha composta por cinco (05) protocolos independentes, organizados em um ambiente escalável e extensível para o desenvolvimento de aplicações direcionadas a utilização em dispositivos móveis. Isto foi alcançado através da construção de uma pilha de protocolos dividida em camadas, conforme figura 4.5.

FIGURA 4.5 – PILHA DE PROTOCOLOS WAP

A divisão em camadas permite que outros serviços e aplicações utilizem as características da pilha WAP através de um conjunto de interfaces bem definidas.
Aplicações externas podem, desta forma, acessar as camadas Session, Transaction, Security e Transport diretamente [WAP98]. A pilha de protocolos isola a aplicação das operadoras. Isto torna possível que as aplicações sejam executadas, independentemente do serviço de transporte utilizado.

4.2.1 Camada de Aplicação – Wireless Application Environment (WAE)

O WAE é a camada responsável por estabelecer um ambiente interativo onde operadoras e prestadores de serviços poderão construir aplicações que alcançarão um grande número de plataformas sem fio de uma maneira eficiente. O WAE inclui um ambiente de micro-browser contendo as seguintes funcionalidades:
 Wireless Markup Language (WML), uma linguagem de marcação leve, similar ao HTML, mas otimizada para utilização em dispositivos móveis;
 WMLScript, uma linguagem de script leve, similar ao JavaScript;
 serviços de telefonia e interfaces de programação: Wireless Telephony Application (WTA, WTAI);
 um conjunto de formatos de dados bem definidos, incluindo imagens, registros de agenda de telefones e de compromissos.
O WAE assume a existência de funcionalidades de gateway responsáveis pela codificação dos dados transferidos para o cliente móvel. O objetivo da codificação dos dados é minimizar o tamanho desses dados enviados por ar, e a utilização de recursos necessário para o cliente processar esses dados. A funcionalidade do gateway pode ser adicionada a servidores já existentes ou colocada em gateways dedicados, como mostra a figura 4.6.

FIGURA 4.6 - MODELO LÓGICO WAE

O resultado da arquitetura WAE, será um modelo que oferece as seguintes vantagens:  tira vantagem dos padrões, tecnologia e infra-estrutura desenvolvidas para a internet;
 disponibiliza Serviços de Rede Móvel avançados ao usuário, através de serviços de telefonia controlados pelo operador da rede;
 fornece uma área de trabalho extensa para a construção de serviços wireless.

4.2.2 Camada de Sessão – Wireless Session Protocol (WSP)

O WSP disponibiliza para a camada de aplicação do WAP com uma interface consistente para dois serviços de sessão. O primeiro é o serviço orientado a conexão, que opera sobre o protocolo de transação WTP. O segundo é o serviço não orientado a conexão, que opera sobre o serviço de datagrama seguro ou não (WDP).
O WSP atualmente consiste em serviços adequados para aplicações de browsing (WSP/B) que oferece as seguintes funcionalidades:
 funcionalidades e semântica do HTTP/1.1 através de uma codificação compacta;
 estado de sessão de longa vida;
 suspensão e retomada de sessões;
 facilidades na utilização de tecnologia push;
 protocolo para negociação de capacidades.
Os protocolos da família WSP são otimizados para uma banda de conexão baixa, com latência relativamente longa. WSP/B foi projetado para permitir que um proxy WAP conecte um cliente WSP/B a um servidor HTTP comum.

4.2.3 Camada de Transação – Wireless Transaction Protocol (WTP)

O WTP é executado no topo de um serviço de datagramas, provendo um protocolo orientado a conexão leve, utilizado em dispositivos móveis, como telefones celulares. O WTP opera eficientemente sobre datagramas, disponibilizando os seguintes serviços:
 três classes de serviços de transação;
Requisições one-way (pedidos) não confiáveis
Requisições one-way (pedidos) confiáveis
Requisições two-way (pedidos e respostas) confiáveis.
 confiabilidade opcional user-to-user - O usuário ativa a confirmação a cada mensagem
recebida;
 concatenação de PDU e reconhecimento do atraso para reduzir o número de mensagens
enviadas;
 transações Assíncronas.

4.2.4 Camada de Segurança – Wireless Transport Layer Security (WTLS)

O WTLS é um protocolo de segurança baseado no protocolo TLS (Transport Layer Security), também conhecido como Security Sockets Layer (SSL).
O WTLS disponibiliza os seguintes serviços:
 integridade de Dados - O WTLS contém dispositivos que asseguram que os dados
transmitidos entre o terminal e um servidor de aplicações não foram modificados ou corrompidos;
 privacidade - WTLS contém dispositivos que asseguram que os dados transmitidos entre o terminal e o servidor de aplicações não podem ser compreendidos por ninguém que tenha interceptado o fluxo de dados;
 autenticação - permite facilidades que estabeleçam a autenticidade do terminal e do servidor de aplicações;
 detecção e rejeição de dados incorretamente enviados.

4.2.5 Camada de Transporte – Wireless Datagram Protocol (WDP)

O WDP opera sobre os serviços dos portadores de dados disponíveis nos diferentes tipos de redes. Como um serviço geral de transporte de dados, o WDP oferece uma forma consistente de transmissão de pacotes das camadas superiores da pilha WAP. Desta forma, as camadas de Segurança, Sessão e Aplicação podem funcionar independentemente da rede sem fio utilizada, como está demonstrado na figura 4.7.

FIGURA 4.7 - CAMADA WDP

O WDP oferece um serviço consistente no Ponto de acesso ao Serviço de Transporte (TSAP) ao protocolo de nível superior do WAP. Esta consistência de serviços permite às aplicações trabalharem de forma transparente sobre os diferentes serviços portadores (bearer services) disponíveis. A variação de níveis entre cada um dos serviços portadores ilustra a diferença nas funções fornecidas através dos portadores e conseqüentemente a diferença no protocolo WDP necessária para operar sobre esses portadores para poder manter a mesma oferta de serviço no Ponto de acesso ao Serviço de Transporte. Isto é conseguido através da adaptação ao portador. O WDP pode ser mapeado para diferentes portadores, com características diferentes. Para otimizar o protocolo com respeito à utilização de memória e eficiência da transmissão de rádio, o desempenho do protocolo sobre cada portador pode variar. Contudo, as primitivas de serviço do protocolo WDP permanecerão as mesmas, mantendo uma interface consistente para as camadas superiores.

4.3 Camada de Rede – Portadoras

A camada de protocolos WAP foi projetada para operar sobre uma variedade de serviços de portadoras, incluindo short message (SMS), circuit-switched data (CSD) e pacotes de dados. Cada uma das portadoras oferece um nível de qualidade de serviço diferente em relação à velocidade de transmissão, taxa de erros e atrasos. A rede portadora é responsável pelo encaminhamento de datagramas até ao dispositivo destino. O endereçamento varia conforme o tipo de rede portadora (endereços IP ou números de telefone). Algumas redes utilizam alocação dinâmica de endereços, e é necessário utilizar um servidor para encontrar o endereço atual de um certo dispositivo. Os endereços de rede dentro da pilha WAP podem incluir o tipo de portadora e o endereço (ex.: IP; 123.456.789.123). Os protocolos WAP foram projetados de forma a compensar ou tolerar estas diferenças.

4.3.1 Independência do Portador

Para o melhor endereçamento das necessidades da possível população de usuários final, o protocolo de aplicação wireless é projetado para otimizar o trabalho com todas as interfaces aéreas. Este princípio permite que um número maior de provedores de serviço, pesquisadores de software e fabricantes de dispositivos portáteis se beneficiem com uma única especificação.
Provedores de Serviços podem implementar uma solução comum através das próprias redes, de forma que todo assinante tenha a melhor satisfação possível dos usuários em cada rede. Aplicações podem ser desenvolvidas utilizando um padrão que trabalhará  sobre uma variedade de redes. Fabricantes de dispositivos portáteis podem utilizar o mesmo software em todas as linhas de produto, reduzindo o tempo de desenvolvimento e simplificando o suporte.
A Interface aérea sendo independente também torna mais fácil a extensão da especificação. Como interfaces aéreas ficam mais sofisticadas, os serviços, que eles disponibilizarem poderá ser projetado para obedecer à especificação WAP, encorajando a utilização de um padrão para todas as redes.
Apesar do WAP ser independente do ambiente portador, o ambiente mais utilizado é o GSM, devido a sua grande aceitação. Por este motivo será realizada uma breve descrição sobre seu funcionamento no capítulo que trata de telefonia celular.

 

Anterior                Home WirelessBR                 Próxima