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.