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.