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 
Monitoramento de Pacientes em UTI  
   (08) 

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).

           Neste contexto, observa-se uma estrutura orientada a objetos, onde não importa como os serviços são implementados, mas como são oferecidos. A arquitetura WAP separa as interfaces de serviço dos protocolos que os provêem, obtendo-se com isso liberdade na escolha do protocolo mais apropriado. Serviços podem ser providos por mais de um protocolo, então, há mais do que uma configuração possível da pilha de protocolos, a qual baseia-se nos componentes da arquitetura (WAP, 2001).

  FIGURA 4.4 A arquitetura WAP e seus componentes (WAP, 2002)

              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: 

               Além destas camadas, presentes na arquitetura WAP, na versão 2.0 foram introduzidas outras com suporte aos protocolos Internet quando o IP está disponível no dispositivo móvel, que é o caso das redes sem fio de alta velocidade (2.5G e 3G). Logo abaixo, as camadas agregadas ao modelo para prover suporte ao protocolo IP (WAP, 2001 e 2002):

     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:

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.

               O WAP possui o protocolo de transação WTP que disponibiliza um serviço de datagrama confiável, com características úteis do TCP tradicional, mas sem o comportamento inadequado para a maioria das redes sem fio. O TCP é um protocolo de transporte pesado devido ao método de estabelecimento de conexão (handshake) e de tratamento da ordenação de pacotes (TANEMBAUM, 1997).

               No WAP só há uma rota possível entre o proxy e o dispositivo portátil, fazendo com que o WTP possa eliminar os controles do TCP/IP. O WTP também assume não ser necessária uma pilha TCP no dispositivo portátil, vindo a otimizar a largura de banda e reduzir o processamento e o uso da memória (HENKEL, 2001).

               No modelo da WEB, TCP e IP são protocolos da camada de transporte e de rede, respectivamente, que fornecem comunicação ponta a ponta. No WAP, entre o dispositivo e o gateway usa-se uma pilha WDP-WTP-WSP e o TCP/IP é usado entre o gateway e o servidor de origem.

               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.

               Os navegadores da WWW oferecem suporte a vários formatos de imagem e multimídia, através de plug-ins. Embora a pilha de protocolos WAP não esteja restrita ao tipo de conteúdo a ser transportado através da rede, há restrições devido às limitações dos dispositivos e largura de banda disponível.

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.

      Neste ambiente encontram-se os navegadores, responsáveis por efetuar solicitações aos servidores provedores de serviços Internet (ISP – internet service providers). Os servidores são computadores que, entre outras atividades, hospedam páginas HTML ou produzem-nas dinamicamente no momento da solicitação (por meio de ASP ou PHP, por ex.).

      Segundo AREHART (2001), a comunicação é constituída basicamente da troca de solicitações entre clientes e servidores como descrito a seguir: 

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.

      A transação não necessariamente ocorre como o enunciado acima, podendo englobar um servidor intermediário ou proxy, através do qual o conteúdo é recuperado pelo navegador. Este é o cenário adotado pelo WAP, pois o gateway possui alguma funcionalidade de proxy (CABRAL, 2000). Neste ínterim: 

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.

 

 

  FIGURA 4.5 O modelo WAP de pedidos (AREHART, 2001)

 

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: 

     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.

      A cada sessão estabelecida o servidor gera um certificado contendo uma chave e a envia ao cliente, o qual gera também outra chave, que passará a ser a única, e a envia num pacote ao provedor. Somente cliente e servidor estarão aptos a entender o conteúdo da informação. Para prover integridade é criada uma “união digital” através de funções de hash, (SHA ou MD5) em cada mensagem. 

     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.

      Segundo CABRAL (2000), o WTLS possui como características a integridade de dados, privacidade, autenticação e proteção contra ataques de denial-of-service, o que assegura uma conexão entre duas aplicações enquanto esta existir.

     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.

      O gerenciamento de conexões permite ao cliente conectar-se ao servidor e negociar o protocolo a ser utilizado. O estabelecimento de conexões seguras é realizado através de uma seqüência de passos completa ou otimizada, onde cliente ou servidor pode não aceitar os parâmetros propostos e interromper a negociação. No entanto, a não execução de todos os passos necessários devido à otimização, pode comprometer a segurança.

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.

      Em se tratando do ambiente WAP, como foi dito anteriormente, o gateway representa um problema de segurança em potencial. Os protocolos SSL e WTLS não são diretamente compatíveis, fazendo com que o gateway intervenha, descriptografe os dados provenientes do servidor (SSL) e criptografe novamente antes de passar os dados para o dispositivo WAP (WTLS).

      Dentro do gateway, mesmo que momentaneamente, os dados não estão protegidos. Como este dispositivo é operado geralmente por uma operadora de telefonia celular, a segurança depende da vulnerabilidade e idoneidade desta.

      Os principais desenvolvedores WAP estão tentando achar soluções para este problema. Tentou-se a implementação do gateway em servidores WAP ou WWW, porém esta abordagem verificou-se inviável devido a ser específica de cada servidor e o firewall não permitiria que fossem utilizados gateways que não fossem os da operadora.

      Não obstante, há também o problema da autenticação entre as partes. Por se tratar de domínios tecnológicos diferentes, deve-se ter autenticações relativas a cada um, pois o dispositivo móvel é autenticado junto ao gateway WAP, enquanto este eventualmente autentica o servidor.

      Na autenticação do usuário normalmente utiliza-se um conjunto de chaves integradas com a própria autenticação do servidor WEB, mas poderia ser usado um sistema de chave pública como a PKI (public key infrastructure), compatível com SSL, onde não existe uma troca de chaves secretas entre os participantes da transmissão, sendo uma forma mais segura.

      De tudo que foi dito, conclui-se que para realizar uma transação WAP segura, deve-se utilizar criptografia nos níveis de aplicação e transporte, autenticação digital através de PKI, certificação digital, firewall e gateway com implementação de segurança.

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.

                 A despeito destas definições, o essencial é que como um dispositivo WAP não suporta o carregamento de uma página, este utiliza a linguagem WML que foi projetada tendo em vista restrições como esta. A linguagem é realmente baseada em um subconjunto do HDML, com algumas alterações e inclusões de novos elementos.

               Documentos em WML são divididos em um conjunto de unidades chamadas de card, as quais podem ser agrupadas em um ou vários documentos (decks). Na tela dos dispositivos aparece um card por vez, com tags de marcações habilitando ao usuário entrar com informações, fazer escolhas e mover-se entre um card e outro.

               Os decks podem ser arquivos estáticos ou gerados dinamicamente que são baixados no navegador conforme sejam necessários. A apresentação do conteúdo varia de dispositivo para dispositivo, uma vez que apresentam interfaces diferentes[4]. Somado a isto, existe o fato de que um erro no documento deve resultar em um erro no navegador.

               A linguagem WML possui características que incluem:

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].

     Trata-se de uma linguagem fracamente tipada, isto é, variáveis não são formalmente definidas e seus tipos podem variar durante o ciclo de vida. A própria linguagem tenta converter automaticamente entre os tipos suportados (lógico, inteiro, ponto flutuante, cadeia de caracteres e inválido). Portanto, é importante monitorar o uso de variáveis.

      WMLScript contem todas as construções básicas exigidas para qualquer linguagem de computador, como seleção e repetição. Suporta várias categorias de operações: atribuições, aritméticas, lógicas e comparações. Recursos de tratamento de erros são limitados, podendo ser agregados através de verificação de tipo e intervalo nos valores retornados das funções.

       Apresenta um conjunto de bibliotecas padrão fornecido como parte do interpretador e residentes no navegador, economizando tempo de transferência. As funções de biblioteca podem ser usadas para manipular o micronavegador e futuramente pode ser que permitam que aplicativos de telefonia sejam executados usando WMLScript.

        Para utilização do WMLScript deve-se verificar se o navegador provê suporte, se os tipos MIME foram configurados no servidor WEB e se o gateway aceita esta linguagem ou só a manipulará compilada.


[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).

 

Anterior                               Home WirelessBR                              Próxima