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 |
|
Pesquisa
e Projeto de uma Aplicação em Computação Móvel para |
||
Autora: Líliam Carla Gaiotto Maluta |
Esta página contém figuras grandes. Aguarde a carga se a conexão estiver lenta.
4.1.2 Servidor de Aplicativos WAP
Servidores de conteúdo/aplicativos WAP diferem de servidores da WEB apenas no conteúdo armazenado e recuperado pelo cliente, relativos ao ambiente em que se encontram. Enquanto o servidor WEB oferece suporte a arquivos como HTML, multimídia e outros tipos de imagens, o servidor de aplicativos WAP armazena arquivos WML.
Um servidor WEB pode conter aplicativos WAP, bastando para isso, incluir tipos mime[2] de arquivos WAP em sua configuração. Os navegadores dos dispositivos móveis precisam ser informados do tipo de dados contidos em um determinado arquivo, para que este possa ser visualizado corretamente.
4.1.3 Pilha de protocolos
A tecnologia WAP, assim como a TCP/IP, apresenta uma estrutura em camadas formando uma pilha de protocolos. Cada camada tem funcionalidade específica, é responsável por prover serviços, através de suas interfaces, à camada superior e às outras aplicações externas (JUNIOR, 2000).
Segue abaixo, uma relação das camadas do protocolo WAP (WAP, 2001, AREHART,
2001) que se destinam a redes sem fio de pequena largura de banda e alta latência:
WAE-Wireless Application Environment - Responsável por estabelecer um ambiente interativo, onde operadoras e prestadores de serviços podem construir aplicações que alcancem grande número de plataformas sem fio. Inclui um micro-navegador com WML (linguagem de marcação sem fio), WMLScript (linguagem de script de cliente), WTA (aplicação de telefonia sem fio) e interfaces com suporte para texto e imagens;
WSP - Wireless Session Protocol - Fornece funcionalidade HTTP 1.1 e provê à camada de aplicação um serviço de sessão com conexão, que opera sobre o protocolo da camada de transação, e ao serviço sem conexão que opera sobre o serviço de transporte de datagramas (seguro ou não);
WTP - Wireless Transactional Protocol - Controla o envio/recepção de mensagens, oferecendo suporte a transações e acrescentando confiança ao serviço de datagrama provido pela WDP, pois libera a camada superior de retransmissões e reconhecimentos normalmente necessários a este serviço;
WTLS - Wireless Transport Layer Security - Fornece integridade de dados, privacidade, autenticação e proteção contra ataque e serviços não-autorizados;
WDP - Wireless Datagram Protocol - Oferece uma forma consistente de transmissão de pacotes das camadas superiores, por meio de pontos de acesso ao serviço de transporte (TSAP), permitindo às aplicações trabalharem de forma transparente sobre os diferentes serviços das portadoras existentes, através da adaptação à portadora tal como: GSM, SMS, USSD, CDMA, iDEM, CDPD, PDC-P, Flex, entre outros.
Wireless
Profiled HTTP (WP-HTTP)
- Trata-se de um HTTP melhorado para ambientes sem fio e interoperável
com HTTP/1.1. Suporta compressão de mensagens de resposta e tunelamento;
Transport
Layer Security (TLS)
- Pretende permitir transações seguras, utilizando-se de cifras,
certificados, assinaturas e retomada de sessão, bem como suporte a
segurança fim a fim;
Wireless
Profiled TCP (WP-TCP)
- Provê conexão orientada a serviços, sendo otimizada para ambientes
sem fio e interoperável com as implementações TCP da Internet.
Ambas as pilhas, referentes aos dois grupos de camadas descritos acima, são suportadas no WAP 2.0 e provêem serviços similares em cada ambiente de aplicação. Espera-se que um ambiente de aplicação comum possa operar sobre o conjunto destas a fim de que um dispositivo com suporte a ambas consiga alternar o uso conforme seu deslocamento entre áreas de cobertura diferentes.
Além do que foi exposto até aqui, WAP 2.0 acrescenta características
que vem expandir ainda mais a capacidade dos dispositivos sem fio e a
habilidade de prover aplicações e serviços. Entre estas estão as listadas
abaixo:
WAP
push e
Wireless Telephony Application (WTA),
descritos no decorrer deste capítulo;
User
Agent Profile (UAProf) -
Apresenta um mecanismo para descrição das capacidades dos clientes e
preferências dos usuários;
External
Functionality Interface (EFI) -
Especifica a interface entre WAE e componentes. Pode ser usada para
definir interfaces para acesso a determinados dispositivos externos (smart
cards, GPS, dispositivos da área da Saúde e câmeras digitais);
Persistent
Storage Interface - Estabelece
um conjunto padrão de serviços de armazenamento acoplados a uma
interface, responsável por organizar, acessar, armazenar e recuperar
dados nos dispositivos;
Data
Synchronization -
WAP 2.0 adota a linguagem SyncML como solução à sincronização, devido
ao suporte a mensagens sobre WSP e HTTP/1.1;
Multimedia
Messaging Service (MMS) - Permite
a entrega de diversos tipos de conteúdo, como SMS
ou e-mail. Somado ao uso de Push e UAProf, capacita-se a executar notificações
que desencadeiem serviços de adaptação, responsáveis por estruturar os
conteúdo enviado ao receptor num formato adequado;
Provisioning
- Provê um padrão
de como prover clientes com informações necessárias à operação em
redes sem fio;
Pictogram
- Permite o uso de
imagens minúsculas, capazes de transmitir conceitos de forma eficiente,
utilizando pequenas áreas.
4.1.4 Comparação entre o Modelo da WEB e WAP
As pilhas de protocolos definidas no WAP aperfeiçoam os protocolos padrão da WEB, como o HTTP, proporcionando melhor funcionalidade para ambientes de rede sem fio. Os cabeçalhos do HTTP, em formato de texto, são traduzidos para código binário (WSP) reduzindo a quantidade de dados transmitidos via interface aérea. É definido também suporte ao restabelecimento de sessão, que permite retomar ou suspender sessões sem o overhead de estabelecimento inicial.
Os scripts escritos em WMLScript do lado cliente ficam em um arquivo no servidor de origem. Quando há um pedido de recurso, o script é distribuído ao gateway e transportado ao agente de usuário no dispositivo WAP, que deve interpretar os bytecodes em uma máquina virtual, como Java, por exemplo. No modelo da Internet, os scripts são incorporados ao código-fonte antes de serem interpretados pelo navegador.
4.1.4.1
Funcionamento WAP x WWW
A Internet tem sido amplamente utilizada na busca de informações e serviços como o acesso à banco, e-commerce, educação à distância, envio e recebimento de mensagens, trabalhos colaborativos, etc. Ainda que estes serviços e aplicações apresentem diferenças, o processo de execução é o mesmo.
1. o usuário introduz a URL (endereço) de um site no navegador, ou clica em
um vínculo (link);
2. o
navegador analisa o endereço e envia uma solicitação ao servidor usando
o protocolo HTTP;
3. o
servidor analisa a solicitação, localiza a página ou dispara um
aplicativo para gerá-la;
4. o
servidor coloca um cabeçalho HTTP na página de resposta e a envia de
volta;
5. o
navegador analisa o resultado e exibe-o na tela do computador.
1. o
usuário móvel escolhe um URL digitando-o ou escolhendo um link em um
baralho WML;
2. o
navegador WAP analisa e envia um pedido WSP ao gateway WAP;
3. o
gateway transforma o pedido em HTTP, analisa-o e decide se um
pedido HTTP precisa ser
enviado ao servidor de origem para recuperar o
conteúdo;
4. um
pedido HTTP ou HTTPs (seguro) é enviado ao servidor de origem com os cabeçalhos
de
entidade e textuais se houver;
5. o
servidor de origem retorna conteúdo estático (WML, HTML) ou dinâmico
através de scripts
CGI/ASP/JSP ou outro.
6. uma
resposta HTTP é enviada de volta ao gateway WAP;
7. o
gateway realiza a conversão inversa (HTTP-WSP), codificação WML,
compilação WMLScript
e conversão HTML-WML se necessário;
8. a
resposta WSP é enviada ao terminal móvel;
9. o
navegador WAP analisa e exibe o resultado em sua tela.
Estas etapas podem ser visualizadas na figura 4.5.
4.2 Segurança
A segurança tem sido, e permanece sendo, uma das maiores preocupações
dos usuários da internet e dos vendedores e provedores de serviço que
desejam usá-la como um canal para o mercado. Até que ponto o acesso é
seguro e livre de intrusos?
Quando se trata da efetivação de negócios na Internet através de
celulares, PDAs ou pagers, esta questão é mais complexa do que no
modelo convencional, pois além de garantir privacidade e confiabilidade,
deve-se permitir qualidade nas operações realizadas.
Mas o que é segurança? Permitir que pessoas estranhas não tenham acesso aos
dados pessoais e senhas? Segurança é um conceito utilizado freqüentemente
com pouco rigor e conceitos equivocados. Como ponto de partida, pode-se tomar
como parâmetro a arquitetura de segurança do modelo de referencia OSI (TANEMBAUM,
1997), a qual adota serviços como os listados a seguir:
Autenticação: é a certificação
de que as partes envolvidas na comunicação são quem dizem ser. Este
processo tem a finalidade de detectar o ataque spoofing, onde um
indivíduo tenta ocultar sua identidade e assumir a de outro para obter
vantagens ilícitas;
Integridade: objetiva
garantir que mensagens não foram adulteradas durante a transmissão. Se
houve alteração, o sistema de segurança deve ter um método de
descobrir e informar o ocorrido;
Não repúdio: implementa
mecanismos para que impossibilite a negação da participação ou da não
ocorrência de uma transação, por parte dos participantes. Ou seja,
houve a transação, mas o participante nega sua existência ou participação
na mesma. Isto requer mecanismos de autenticação;
Privacidade: pressupondo-se que
a comunicação seja interceptada, deve-se garantir que a informação não
seja entendida ou usada por terceiros. Normalmente, utiliza-se
criptografia;
Autorização: determina se um
indivíduo tem o direito de executar determinada ação, em determinado
instante;
A segurança no WAP é implementada com base no modelo da Internet, permitindo
a utilização de um modelo flexível, onde a comunicação é feita
diretamente pelo protocolo da camada de transporte. Contudo, a segurança é
altamente dependente do gateway, devido ao mesmo intermediar a
transmissão e descriptografar os dados.
Diante destes aspectos percebe-se a necessidade da existência de uma forma segura para processar transações. Elementos de segurança utilizados na Internet e no WAP foram testados, apresentaram falhas e chegou-se a um modelo de ambiente wireless relativamente seguro. A segurança é fornecida em vários níveis e vários protocolos são envolvidos no esquema, os quais são relatados em seguida.
4.2.1
SSL (Secure Sockets Layer)
É um protocolo normalmente utilizado na Internet, que dispõe de um nível
seguro de transporte entre o TCP e as aplicações que se utilizam dele.
DENEGA[3]
, apud HENKEL (2001), define o SSL como sendo “um protocolo de segurança
desenvolvido pela Netscape Communications que tem por finalidade
compensar a falta de proteção de dados na Internet, podendo ser utilizado em
vários serviços como WEB, FTP, Gopher, etc”.
O SSL fornece um canal de comunicação seguro entre um cliente e um servidor, de uma extremidade à outra, onde os dados são criptografados e não podem ser descriptografados por nenhum nó intermediário. O método de criptografia utilizado é o RSA.
O SSL além de ser bastante utilizado na WWW é também utilizado no WAP, mas somente na comunicação entre servidor e o gateway WAP. Entre o dispositivo móvel e o gateway utiliza-se um sistema chamado WTLS, baseado no TLS, porem desenvolvido especificamente para ambientes sem fio.
4.2.2
WTLS (Wireless Transport Layer Security)
Baseado no padrão TLS (Transport Layer Security), uma edição melhorada do protocolo SSL, o WTLS foi desenvolvido para trabalhar com pacotes de dados em uma rede com restrição de banda e alta latência, além de outras limitações inerentes ao meio de transporte sem fio.
O WTLS utiliza um protocolo de handshake otimizado e um gerenciamento de conexão mais detalhado que o do TLS. O protocolo de handshake permite a concordância entre as partes envolvidas sobre os parâmetros de segurança, autenticação e condições em que serão emitidos alertas de erro. Há também, neste processo, um protocolo de gravação que recebe as mensagens a serem transmitidas, comprime quando necessário, criptografa e envia.
4.2.3 Falhas de segurança
A tecnologia WAP utiliza não somente o ambiente wireless, como também o meio físico utilizado na WWW, por isso, deve-se ater às já conhecidas falhas deste ambiente que são os vírus, worms, cavalos de tróia, hackers, snifers, etc.
4.3 WML
Segundo AREHART et al (2001), a WML (wireless markup language) é uma linguagem XML (extended markup language) definida por uma DTD (definição de tipo de documento). Já JUNIOR (2000) a define como uma linguagem de marcação que objetiva ser usada na especificação de conteúdo e interface para dispositivos de banda estreita, incluindo celulares e pagers.
pilha de histórico e navegação;
suporte a texto e imagem;
suporte à entrada de dados do usuário através de elementos de entrada (interação homem-dispositivo);
suporte internacional: o conjunto de caracteres da WML é do tipo unicode, que usa 16 bits para representar cada caractere;
independência de MMI (man-machine interface) devido à especificação abstrata do layout e da apresentação do WML, permitindo aos fabricantes controlarem o projeto da interface;
otimização para banda estreita obtida evitando-se conexões com o servidor de origem, por meio de validação de entrada do usuário no lado cliente através de WMLScript, de múltiplas interações em uma única transferência de rede (deck) e passagem de variáveis a um contexto subseqüente;
gerenciamento de estado e contexto: variáveis podem ser incluídas no código WML para controlar informações ocultas e manipular a entrada do usuário.
4.4 WMLScript
É uma linguagem de script leve e procedural baseada no ECMAScript, um subconjunto do JavaScript, refinado para wireless. O WMLScript provê inteligência ao cliente, colabora com a WML realçando as facilidades de navegação e apresentação, valida completamente a entrada do usuário e reduz viagens freqüentes ao servidor.
WMLScript não fica dentro da marcação do código WML, sendo um arquivo separado e chamado pelos cards através de links para visualização. Todo código é feito com uso de funções[5].
[2] MIME (multipurpose internet mail extensions) é uma especificação para o formato de dados que podem ser enviados pela Internet. Quando o servidor envia dados em resposta a um pedido recebido, envia um tipo mime junto para indicar que tipo de dados está entregando e assim possam ser publicados.
[3] DENEGA, Marcos Antonio. WAP: tecnologia sem fio. São Paulo: Berkeley Brasil, 2000. 214 p.
[4] Existem pesquisas sendo realizadas visando a adaptação automática através de modelos, como em MESSIAS e NETO (2001).
[5] Pedaços de código que encapsulam um processo (seqüência de passos).