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 (6)

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.

6.2.1 Protocolo TCP

O protocolo TCP é utilizado na comunicação entre computadores de uma rede internet. Através dele, pode-se obter um serviço confiável, ou seja, que os dados sejam transmitidos integralmente para os destinos corretos.
Para que seja possível identificar a que serviço um determinado datagrama pertence, o TCP utiliza o conceito de "portas". Determinada a porta, toda a comunicação com a aplicação é realizada e endereçada através dela. Uma porta é a representação numérica de um serviço internet.
As principais funções do TCP são [TAN94]:
 transferência de dados - transmissão de dados em blocos (datagramas) e em modo full-duplex (envio e recebimento simultâneos);
 transferência de dados urgentes - transmite primeiro datagramas que contenham sinalização de urgência;
 estabelecimento e liberação de conexão;
 segmentação - O TCP pode dividir os dados a serem transmitidos em pequenos
blocos (datagramas) que são identificados para, no host destino, serem agrupados novamente.
 controle de fluxo - o TCP é capaz de adaptar a transmissão dos datagramas às condições de transmissões (velocidade , tráfego ...) entre os sistemas envolvidos.
 controle de erros - como visto na segmentação, os datagramas são identificados 
antes de serem transmitidos. Além disso é adicionado o checksum, um número 
utilizado para verificar e corrigir erros na transmissão.

6.2.2 Protocolo IP

O IP é o protocolo responsável por definir o caminho que um pacote de dados deverá percorrer do host origem ao host destino, passando por uma ou várias redes. Ao contrário do TCP, o protocolo IP é chamado de Protocolo não-orientado a conexão, o que significa que não há nenhuma verificação de erro na transferência, ele apenas roteia os pacotes pela rede.

6.2.3 Limitações do Protocolo

Embora os protocolos do TCP/IP viabilizem a Internet e ofereçam valiosos serviços, existem algumas imperfeições, como por exemplo a questão da segurança. Quando uma empresa conecta sua rede na Internet sem as defesas, qualquer computador na rede interna com TCP/IP pode (teoricamente) ser acessado por qualquer usuário da Internet, o que representa um risco altíssimo para a segurança das informações e até mesmo para a continuidade dos serviços.
Muitos dos problemas atuais de segurança da transmissão de dados pela Internet estão relacionados com o fato de que o protocolo TCP/IP na sua forma atual (IPv4) não foi projetado para ser seguro, e é sujeito a uma série de ataques. Como conseqüência, vários serviços da Internet que são baseados no TCP/IP, como o TELNET, o FTP e o E-Mail (SMTP) também não são seguros, pois utilizam mensagens que são transportadas pelo TCP/IP em cleartext e portanto são vulneráveis a ataques passivos (como captura de tráfego através de sniffers) ou ataques ativos como "roubo" de sessões, sequence guessing, etc.
Além da questão da segurança, há um outro problema em relação à versão atual do TCP/IP.
Com o campo de endereços dos pacotes limitados em 4 bytes (32 bits), espera-se que a Internet fique sem novos endereços dentro de alguns anos, o que poderá ter conseqüências extremamente sérias

6.2.4 A próxima versão do TCP/IP - IPv6

Para resolver as limitações do IPv4, está sendo desenvolvida uma nova versão do TCP/IP, o IPv6 (ou IPSec). Neste novo protocolo, a segurança é um pré-requisito. O IPSec oferecerá serviços de autenticação de usuários e garantia de confidencialidade e de integridade dos dados através de criptografia. O IPSec também está sendo projetado para resolver a questão dos endereços IP, pois o novo tamanho do campo de endereços passa para 16 bytes (128 bits), o que permitirá a expansão da Internet sem problemas. Devido à imensa base instalada de hosts e roteadores compatíveis com o IPv4, o IPv6 está sendo desenvolvido de forma que seja possível uma migração gradual para o novo protocolo. O novo endereço IP contará com 16 octetos [ROS99].

6.3 Comparação entre o modelo OSI e o protocolo WAP

Como pode ser observado na figura 6.9, a principal diferença entre as duas arquiteturas está no número de camadas, enquanto no modelo RM-OSI, são definidas 7 camadas, no protocolo WAP são definidas 5, além da camada portadora, que funciona independente das demais.
No modelo OSI são formalmente definidos os serviços de cada camada, a interface utilizada pelas camadas adjacentes para a troca de informações e o protocolo de comunicação que define as regras de comunicação para cada uma destas.
Alguns dos serviços definidos no RM-OSI são opcionais [SOA95], como exemplo, os níveis de enlace, rede e transporte podem oferecer serviços orientados a conexão (circuito virtual) ou não orientados à conexão (datagrama). Estas características são conseqüência do tratamento dado pela ISO na criação do modelo o qual se propõem a tratar todos os aspectos da interconexão aberta de sistemas.
No protocolo WAP, os serviços de nível de rede OSI relativos à interconexão de redes distintas são implementados de forma independente, pois a camada de transporte WDP funciona independentemente da rede wireless utilizada. Acima da camada de transporte o protocolo WAP oferece as camadas de segurança, transação, sessão e aplicação.

FIGURA 6.9 - COMPARAÇÃO ENTRE AS CAMADAS DO MODELO OSI E PROTOCOLO WAP

O nível de sessão descrito no modelo OSI fornece mecanismos que permitem estruturar os circuitos oferecidos pelo nível de transporte, no protocolo WAP este mecanismo é oferecido através de dois serviços, o primeiro orientado a conexão, que opera sobre o protocolo de transação e o segundo, não orientado a conexão que opera sobre a camada de datagramas. No protocolo WAP, existe uma camada que trata especificamente de segurança, esta camada é opcional no modelo OSI, é utilizada para disponibilizar serviços de criptografia, necessários ao serviço de transporte seguro, requerido por muitas aplicações.

6.4 Protocolos utilizados na WWW x Protocolo WAP

A pilha de protocolos WAP consiste em cinco camadas, que possuem correspondência com os protocolos utilizados na internet, conforme demonstrado na figura 6.10.
Na pilha de protocolos WAP a aplicação é isolada das operadoras, tornando possível que as aplicações sejam executadas, independentemente do serviço de transporte utilizado.

FIGURA 6.10 - COMPARAÇÃO DAS ARQUITETURAS WWW E WAP

A pilha de protocolo definida no WAP aperfeiçoa os padrões de protocolos WWW, como HTTP, para utilização de baixa largura de banda, condições de alta latência que freqüentemente são encontradas em redes wireless. Um número crescente de camadas de sessão, transação, segurança e transporte promovem uma melhor funcionalidade ao HTTP no ambiente de rede wireless.
Aqui estão alguns exemplos destas melhorias [WAP98]:
Os textos de cabeçalho do HTTP são traduzidos em código binário (bytecode) o que reduz significativamente a quantidade de dados que devem ser transmitidos na interface aérea.
Um protocolo leve de restabelecimento de sessão é definido para permitir que sessões possam ser suspensas e retomadas sem o overhead de estabelecimento inicial. Isto permite suspender uma sessão enquanto espera um recurso de rede, minimizando a utilização da bateria.
O WAP possui um Protocolo de Transação wireless (WTP) que disponibiliza um serviço de datagrama confiável, com muitas características úteis do protocolo TCP tradicional, mas sem o comportamento que o faz inadequado nas redes wireless. Por exemplo, TCP transmite uma grande quantidade de informação para cada transação de pedido e resposta, incluindo informações necessárias ao controle de entrega de pacote fora de ordem. No WAP só há uma rota possível entre o proxy WAP e o dispositivo portátil, então não há nenhuma necessidade de controle desta situação. O WTP elimina esta informação desnecessária e reduz a quantia de informação para cada transação de pedido e resposta. Este é um exemplo da otimização que o WTP promove.
A solução WTP do WAP também menciona que não é necessária uma pilha TCP no telefone, permitindo a redução significativa de processamento e memória no dispositivo portátil.
As melhorias feitas na pilha de protocolo WAP significaram uma economia na largura de banda wireless. A figura 6.11 demonstra a comparação entre o número de pacotes necessários em um processo utilizando um browser convencional HTTP 1.0 e um WAP browser. O protocolo WAP utiliza menos da metade do número de pacotes necessários para disponibilizar um conteúdo com protocolos HTTP/TCP/IP. Esta melhoria é essencial para melhor utilização da largura de banda que é limitada nas redes wireless

FIGURA 6.11 - CONSERVAÇÃO DE LARGURA DE BANDA NO PROTOCOLO WAP

6.4.1 Comparação do funcionamento WAP x WWW

Fornecer serviços de Internet em uma rede wireless representa novos desafios para todos os envolvidos nessa atividade. O mercado é diferente e os consumidores têm novas necessidades e expectativas. A rede wireless tem menor largura de banda e algumas dificuldades de comunicação. Os dispositivos utilizados também são diferentes, principalmente por terem menos memória, menor poder de processamento, uma tela menor e recursos de entrada de dados limitados.
Atualmente a Internet é amplamente utilizada. Muitas pessoas a utilizam para encontrar informação de todos os tipos. Exemplos de serviços disponíveis são acesso ao banco, compras e troca de informações com pessoas que têm os mesmos interesses.
Ainda que esses serviços e até algumas aplicações sejam diferentes, o processo é o mesmo.
Na WWW convencional encontram-se clientes e servidores, conforme demonstrado na figura 6.12. Clientes são os navegadores (browsers) e os servidores (servers) são os computadores dos provedores de serviços de Internet (ISP - "Internet Service Providers").
Estes servidores, entre outras atividades, hospedam páginas estáticas de HTML ou produzem páginas resultantes de aplicações dinâmicas construídas no momento em que são solicitadas ("on the fly").

FIGURA 6.12 - MODELO DE COMUNICAÇÃO WWW

A comunicação entre clientes e servidores é constituída basicamente de troca de "solicitações". O WAP gateway pode ser visto como um "conversor de solicitações".
1. O usuário inicializará o browser e especificará uma URL (digitará um endereço no campo apropriado)
2. O browser analisará o endereço e enviará uma solicitação para o servidor utilizando o protocolo HTTP (protocolo para internet)
3. O servidor analisará a solicitação. Se for uma página comum, estática, ela será localizada; se for uma aplicação dinâmica (por exemplo, uma consulta a um banco de dados) o programa correspondente será disparado e uma página de resposta será gerada (isto poderá ocorrer no próprio servidor do provedor ou em qualquer outro da rede)
4. O servidor colocará um cabeçalho HTTP na página resposta e enviará de volta ao browser
5. O browser analisará e exibirá o resultado na tela do micro.

Ao utilizarmos WAP, haverá um cenário mais complexo, conforme figura 6.13.

FIGURA 6.13 - MODELO DE COMUNICAÇÃO WAP

1. O usuário utilizará um aparelho WAP para solicitar o endereço (escolhendo um item em um menu, por exemplo). 2. O WAP browser do celular analisará e enviará a solicitação ao servidor WAP (WAP gateway). Neste trecho da transmissão será utilizado o protocolo WAP e não o HTTP.
3. O WAP gateway analisará e "converterá" o protocolo WAP em HTTP; a solicitação será então enviada a um Servidor Web comum, presente na rede. 
4. O servidor do destino fará seu trabalho, como visto anteriormente e enviará a resposta (com protocolo HTTP) ao WAP gateway .
5. O servidor WAP analisará o que recebeu, validará o código WML, removerá o cabeçalho HTTP, acrescentará o cabeçalho WAP e enviará ao dispositivo WAP.
6. O WAP browser analisará e exibirá o resultado em sua tela.

6.4.2 Comparativo de Segurança WWW x WAP

Segurança é sempre uma questão importante, principalmente quando se pensa em utilizar WAP para aplicações e serviços como acesso a dados bancários ou mesmo transações comerciais, no chamado m-commerce. Os usuários precisam sentir-se seguros para começarem a acessar os serviços disponíveis.
Atualmente, na WWW uma conexão segura entre o cliente e o servidor de aplicações é necessária. A especificação WAP garante que um protocolo de segurança estará disponível para essas transações.
Uma das tarefas do WAP gateway é converter os protocolos WAP para protocolos internet e vice-versa.
Para ser extensível, flexível e escalável, os protocolos WAP foram criados sob uma arquitetura em camadas. Cada camada da pilha de protocolos especifica uma interface bem definida com a camada superior.
Após isso, a solicitação é convertida para protocolos da internet. Como pode ser observado na figura 6.14, a solicitação é segura desde o dispositivo WAP até o gateway.
Entretanto, entre as camadas de segurança WAP e as camadas TLS-SSL da Internet a informação não é criptografada.

FIGURA 6.14 - MODELO DE CONVERSÃO DE PROTOCOLOS

Isso significa que a pessoa que administrar o WAP gateway poderá ter acesso às informações, o que torna ainda mais importante o controle do acesso físico ao WAP gateway. Mesmo assim, aplicações WAP são seguras, pois o protocolo WTLS implementa opções para autenticação e criptografia otimizados para o uso em ambientes Wireless.

Anterior                Home WirelessBR                 Próxima