2005, Edgard Jamhour
Mobile IP
Edgard Jamhour
PUC-PR
2005, Edgard Jamhour
Conteúdo
• Motivação para o Mobile IP
• Mobile IP
• Arquitetura de Implementação
• Aplicações
• ANEXO: WAP
2005, Edgard Jamhour
Problema
BSS: Base Station
System
Foreign Network
Cell
BSS: Base Station
System
Home Network
Cell
INTERNET
10.0.0.1
10.0.0.X255.255.255.0
10.0.1.X255.255.255.010.0.1.1
2005, Edgard Jamhour
Terminologia
• Home Network (Rede Nativa)– Rede original, onde o celular se autentica e recebe seu
endereço IP.
• Foreign Network (Rede Estrangeira)– Qualquer outra rede para onde o usuário se move, e é
atendido por uma célula conectada a um roteador diferente da Home Network.
2005, Edgard Jamhour
Mudança de IP
• O que acontece quando o celular muda de IP?– As conexões TCP são rompidas– As comunicações UDP ficam sem resposta.– Os celulares não podem ser mais localizados pelo IP.
INTERNET
?10.0.0.1
10.0.1.1
request request
replyreply
1024 80
200.0.0.1
2005, Edgard Jamhour
Solução
• O celular passa a ter dois endereços IP:
– Um endereço IP fixo, denominado Home Address (HA).• Este endereço não muda, mesmo que o usuário seja atendido
por uma célula conectada a outra rede física.
– Um endereço IP dinâmico, denominado Care-Of-Address (COA).
• Este endereço muda todas as vezes que o usuário muda de rede física.
2005, Edgard Jamhour
Visão Geral da Arquitetura Mobile IP
WAP/UDP/IP
TCP or UDP/IP
TCP or UDP/IP
BSS: Base Station
System
WAP Gateway
Internet
Non-Mobile Host
BSS: Base Station
System Mobile device
at home position
Mobile device at foreign position
Foreign Agent
(Router)
Home Agent
(Router)
Firewall NAT Router
ISP router
Foreign Network
Home Network
RF link
Tunnel
Cell
Non-WAP applicatios such as Windows-CE or Java
Tethered application. The cellular device is used as a modem.
WAP application. All data is transmitted and interpreted by a
microbrowser.
WAP/IP HTTP/TCP/IP
PPP
2005, Edgard Jamhour
Roteadores
• A arquitetura mobile IP define que a comunicação entre o nó móvel e a Internet é mediada por dois roteadores:– Home Agent
• Roteador da Rede Nativa do celular.• Efetua todo o processo de autenticação do celular.• Redireciona todos os pacotes recebidos da Internet para o
Foreign Agent.
– Foreign Agent• Roteador da Rede Estrangeira, onde o celular se encontra no
momento.• Encaminha os pacotes recebidos do Home Agente até o celular.
2005, Edgard Jamhour
Home e Foreign Agent
• Home Agent– Comunicação com a Internet
• Foreign Agent– Comunicação com o Celular
INTERNET
S_IP
FA HA
FA
10.0.1.1COA
10.0.2.1COA
10.0.0.1HA
Os hosts da Internet enxergam o celular apenas pelo Home
Address
HA S_IP DADOS
HAS_IP DADOS
2005, Edgard Jamhour
Tunelamento
• O dispositivo móvel pode receber dois tipos de endereços COA:
• COA– Todos os dispositivos móveis numa rede estrangeira
compartilham o endereço IP do FA
• COA Co-Localizado:– O dispositivo móvel recebe o endereço IP via DHCP.– Os dispositivos móveis possuem endereços IP
diferentes.
2005, Edgard Jamhour
Tunelamento
• Todas as vezes que o celular muda de IP, ele registra seu novo COA junto ao Home Agent.
• O HA redireciona os pacotes vindos da Internet para a rede estrangeira onde o NM está registrado no momento.
HA
COACOAHA TABELA INTERNA
COA HA
2005, Edgard Jamhour
Tunelamento (COA com DHCP)
HA
COA(endereço do celular na rede estrangeira)
MH(endereço do celular na rede nativa)
IP_S
IP_S IP_MH1 DADOS
IP_S IP_MH1 DADOSHA COA1
COA=
MH
FA
COA2
COA1
IP_S IP_MH2 DADOSHA COA2
IP_S IP_MH2 DADOS
2005, Edgard Jamhour
Tunelamento (COA sem DHCP)
HA
COA(endereço do celular na rede estrangeira)
MH(endereço do celular na rede nativa)
IP_S
IP_S IP_MH1 DADOS
IP_S IP_MH1 DADOSHA FA
COA=
FA
FA
FA
FA
IP_S IP_MH2 DADOSHA COA2
IP_S IP_MH2 DADOS
2005, Edgard Jamhour
Tunelamento do Care-of Address
2005, Edgard Jamhour
Mecanismos do Mobile IP
• Mobile IP compreende três mecanismos separados:
– Descoberta do novo endereço IP na rede estrangeira: care-of address (COA)
– Registro do care-of-address (COA)
– Tunelamento do care-of-address (COA)
2005, Edgard Jamhour
Discovering the Care-of Address
• O processo de discovery é baseado no protocolo Router Advertisement, especificado na RFC 1256. – HA e FA enviam mensagens em broadcast em
intervalores regulares (1 ou mais segundos) denominadas:
• agent advertisements
• Se um celular não quiser esperar pelo aviso periódico:– ele envia uma solicitação em broadcast ou multicast e
será respondido pelo HA ou FA que receber a solicitação.
2005, Edgard Jamhour
Agent Advertisement
BSS:
WAP Gateway
Internet
BSS:
ForeignAgent
HomeAgent
Firewall NAT Router
ISP router
Foreign Network
Home Network
Tunnel
Cell
Agent AdvertisementRota e IP
Agent AdvertisementRota e IP
2005, Edgard Jamhour
Anúncios de Agente
• Mensagens ICMP com extensões:
Tipo Tamanho Número Seqüencial
Tempo de Vida do Registro R B H F M G V Reservado
Zero ou Mais Endereços Care of ...
2005, Edgard Jamhour
Descrição dos Campos
• Tipo: – 16
• Tamanho: – 6+[4*N]: N é o número de endereços COA.
• Numero Seqüencial: – Numero de anúncios enviados pelo agente desde que foi
inicializado.
• Tempo de Vida do Registro:– Tempo máximo de mapeamento com o COA que este
roteador aceita.
2005, Edgard Jamhour
Descrição dos Campos
• Bits de Controle:– R: Registro Obrigatório via agente estrangeiro– B: Ocupado– H: Agente Inicial– F: Agente Estrangeiro– M: Encapsulamento Mínimo– G: Encapsulamento GRE– V: Compressão de Cabeçalho
• Endereços COA:– Endereços anunciados pelo Agente.
2005, Edgard Jamhour
Funções do Agent Advertisement
• Permite ao celular:1. Encontrar o Home Agent (HA) e o Foreign Agent (FA).
• Saber se o agente é o HA ou o FA, e conseqüentemente se ele está na sua rede nativa ou estrangeira .
2. Descobrir um ou mais endereços care-of addresses disponíveis.
3. Descobrir características especiais providas pelo FA• Exemplo: técnicas de encapsulamento alternativas.
4. Determinar o seu identificador de rede e o estado do seu link com a Internet.
2005, Edgard Jamhour
Mudança de Care Of Address
• O celular pode solicitar um novo COA através de uma mensagem denominada agent solicitation.
HA O celular sabe que está em sua rede, pois recebe mensagens constantes do roteador.
Quando ele pare de receber as mensagens da rede antiga, ele passa a aceitar as mensagens da nova rede.
Ele pode aguardar a oferta de um COA ou solicitar uma através da mensagem agent solicitation.
FA
FA
HA
FA
2005, Edgard Jamhour
Registro do Care-of Address
• Uma vez que o celular possui um novo COA, ele precisa informar o seu Home Agent.
• O processo de registro acontece com o celular enviando, através do FA, uma mensagem para o seu HA com as informações do seu novo COA.
• Quando o HA recebe a requisição, ele valida o pedido, atualiza suas informações de roteamento e envia uma confirmação para o celular.
2005, Edgard Jamhour
Solicitação de Registro
• Mensagem UDP enviada a porta 434:
Tipo Tempo de VidaS B D M G V rsv
Endereço Inicial
Agente Inicial
Endereço COA
Identificação
Extensões
2005, Edgard Jamhour
Descrição dos Campos
• Tipo: 1
• Bits de Controle:– S: ligações simultâneas (múltiplos COA)
– B: datagramas de broadcast
– D: desencapsulamento pelo nó móvel
– M: encapsulamento mínimo
– G: encapsulamento GRE
– V: compressão Van Jacobson
• Tempo de Vida: – tempo para manter o registro em segundos.
• Identificação:– Número de 64 bits construído pelo nó móvel para correspondência entre o
pedido de registro e a resposta.
2005, Edgard Jamhour
Operação de Registro
• FA = Foreign Agent, HA = home address, e MH = Mobile Host (celular).
2005, Edgard Jamhour
Autenticação
• Quando um HA aceita um pedido de registro, ele associa o novo COA com o Home-Address do celular. – Esta associação é mantida até que o período de validade da
associação expira (registration lifetime).
• O triplex que contém o Home Address, Care-of Address, e Registration Lifetime é denominado:– Binding for the mobile node
– Ou mobile authentication triplets
• O pedido de registro é denominado:– Binding Update.
2005, Edgard Jamhour
Operação de Registro
HA
Binding Update
Binding Acknowledgment
HA
Binding Update
Binding Acknowledgment
Quando o celular sai de sua rede nativa, ele informa ao Home Agent, que deve validar o seu novo endereço, para que seja feito o redirecionamento até a sua nova posição.
Quando o celular retorna a sua rede nativa, ele deve informar ao seu Home Agent igualmente, para que o redirecionamento seja cancelado.
Redeestrangeira
Redenativa
Redeestrangeira
Redenativa
2005, Edgard Jamhour
Resposta de Registro
• Mensagem UDP enviada a porta 434:
Tipo Tempo de Vida
Endereço Inicial
Agente Inicial
Identificação
Extensões
Código
2005, Edgard Jamhour
Descrição dos Campos
• Tipo: 3
• Código:– 0: Registro Aceito– 1: Registro Aceito mas ligações simultâneas não
suportadas.– 64-68: Registro negado pelo FA.– 128-136: Registro negado pelo HA.
• Tempo de Vida: – tempo de validade do registro concedido pelo FA ou HA
em segundos.
2005, Edgard Jamhour
Segurança na Autenticação
• O Home Agent deve ter certeza que o binding update foi enviado pelo celular proprietário do Home Address
• Cada celular e Home Agent devem compartilhar uma “Associação de Segurança” – AS
• A assinatura digitar é gerada utilizando a estratégia HMAC, utilizando o MD5, sobre a mensagem de binding update.
2005, Edgard Jamhour
Autenticação do Binding Update
HA
O Home Agent mantém o registro de várias associações de segurança, uma para cada celular. A associação de segurança indica como validar uma assinatura digital (chave compartilhada).
O celular gera a assinatura digital utilizando a chave que apenas ele e o Home Agent conhecem.Um parâmetro denominado SPI (Security Parameter Index) é enviado junto com o binding update para indicar ao Home Agent qual SA deve ser utilizado para validar a assinatura.
SA1
SA2
SA3SA1
HA
Binding Update
Binding Acknowledgment
SA1
SA2
SA3SA1
SPI1 Assinatura DigitalCOA, HA, lifetime
2005, Edgard Jamhour
Cópia de Binding Update
• A assinatura digital contém um timestamp ou um código randômico para evitar a reutilização de mensagens de Binding Update.
HA
Binding Update Assinatura Digital
Cópia
Registro Falso
2005, Edgard Jamhour
Foreign Agent e Período de Registro
• O Foreign Agent pode limitar o período de validade do registro para um valor configurável.– … incluído nas ofertas de registro enviadas ao celular
(agent advertisements).
• O Home Agent pode reduzir o período de validade do registro, mas nunca pode aumentá-lo.– … incluído na resposta ao pedido de binding enviada ao
celular (binding acknowledgement).
2005, Edgard Jamhour
Foreign Agent
• O Foreign Agent é basicamente passivo, suas principais funções são:– Enviar mensagens de Router Advertisement– Desencapsular as mensagens recebidas do Home Agent e repassá-
las ao celular.
FA HA
FA
O Mobile IP não oferece proteção contra Foreign Agents Falsos
O Foreign Agent não precisa se autenticar para o
celular nem para o Home Agent.
2005, Edgard Jamhour
Implementação do Mobile IP
• Uma rede Mobile IP envolve tipicamente os seguintes elementos:– Firewall
• Exemplo: Checkpoint
– Roteadores• Exemplo: Cisco 4700 Series Router
– Hubs• Exemplo: HP AdvancedStack Hubs (segmentation) • 4 segments for hub
– AAA Server• Responsável pela validação das assinaturas dos bindings
updates.
– WAP Gateway• Exemplo: UP Link Server (Phone.com)
2005, Edgard Jamhour
AAA Server
• Home AgentAutentica os celulares utilizando os “Authentication Triplets”• Mobile Node IP Address• Security Parameter Index (SPI)• Assinatura Digital
• AAA Server– Authentication, Authorization and Accounting– Armazena as informações necessárias para validação
dos certificados.– O Home Agent vais buscar as informações no AAA
Server utilizando um protocolo seguro, como por exemplo,
• TACACS+ Protocol da Cisco
2005, Edgard Jamhour
Informações Necessárias para Configurar o Celular
• Os seguintes parâmetros devem ser configurados no celular para que ele possa operar com Mobile IP:– IP do celular (Home Address)– IP do Home Agent– SPI: Security Parameter Index
• E.G. 257
– Chave de Autenticação – Endereço DNS – Endereço do WAP Gateway
2005, Edgard Jamhour
AUTENTICAÇÃO E CONTABILIZAÇÃO DO WAP
• WAP– Etapas para acessar o serviço:
• Ganhar um canal RF• Autenticar o endereço IP junto ao Home Agent (utiliza
os dados no AAA Server)• Autenticar-se junto ao WAP Gateway
– A Contabilização pode ser feita:• No Billing Accumulator• No Up Link Gateway
2005, Edgard Jamhour
WAP
(WIRELESS APPLICATION PROTOCOL)
Edgard Jamhour
2005, Edgard Jamhour
WAP
• Wireless Application Protocol
• Definição:– Implementação do ambiente Web para meio Wireless.
• AMBIENTE WEB:
– Pilha HTTP
– HTML e JavaScript
©1999 Wireless Application Forum, Ltd.
2005, Edgard Jamhour
WAP
• Independência da Tecnologia:– WAP é independente da tecnologia de comunicação
utilizada no meio wireless.– WAP pode ser implementado sobre tecnologias:
• Orientadas a circuito: TDMA, CDMA ou GSM• Baseadas em pacotes: iDEN, CDPD, GPRS, CDMA1X.
– WAP é independente do aparelho.• WAP foi concebido para qualquer aparelho portátil, não
apenas celulares.
©1999 Wireless Application Forum, Ltd.
2005, Edgard Jamhour
Arquitetura de Protocolos WAP
©1999 Wireless Application Forum, Ltd.
Protocolos Internet e WAP
Internet
HTMLJavaScript
ASP
HTMLJavaScript
ASP
HTTPHTTP
SSL/TLSSSL/TLS
TCP/UDPTCP/UDP
Wireless Session Protocol (WSP)
Wireless Session Protocol (WSP)
Wireless Transport Layer Security (WTLS)
Wireless Transport Layer Security (WTLS)
SMSCDMA CSDTDMA CDPD GPRS Etc ...
Rede Celular :
WAP
WML ( Linguagem XML)
WML Script
WML ( Linguagem XML)
WML Script
IPIP
Meio Físico
Wireless Transaction Protocol (WTP)
Wireless Transaction Protocol (WTP)
GSM
UDP / IPUDP / IP WDPWDP
ConversãoDinâmica dos
Protocolos
2005, Edgard Jamhour
Porque não HTTP/HTML direto?
Compressões e codificações para se ajustar ao meio.
Rede Celular
<HTML><HEAD><TITLE>NNN Interactive</TITLE><META HTTP-EQUIV="Refresh" CONTENT="1800, URL=/index.html"></HEAD><BODY><A NAME="#top"></A><TABLE WIDTH=599 BORDER="0"><TR ALIGN=LEFT><TD WIDTH=117 VALIGN=TOP ALIGN=LEFT>
<HTML><HEAD><TITLE>NNN Interactive</TITLE><META HTTP-EQUIV="Refresh" CONTENT="1800,
Internet
<WML><CARD><DO TYPE="ACCEPT"><GO URL="/submit?Name=$N"/></DO>Enter name:<INPUT TYPE="TEXT" KEY="N"/></CARD></WML>
010011010011110110010011011011011101010010011010
Conteúdo codificado
HTTP/HTML WAP
©1999 Wireless Application Forum, Ltd.
2005, Edgard Jamhour
Sessão Típica - 3 requisições, 3 respostas.
HTTP / TCP / IP: 17 pacotes - 65% overhead*
WSP / WTP / UDP: 7 pacotes - 14% overhead
*Não inclui DNS, SSL, Authentication ou cookies
HTTP / TCP / IP1. TCP SYN
2. TCP SYN, ACK of SYN
3. ACK of SYN, Data Request
4. ACK of Data
5. Reply
6. Ack of Reply
7. Data Request
8. ACK of Data
9. Reply
10. Ack of Reply
11. Data Request
12. ACK of Data
13. Reply
14. Ack of Reply
15. TCP FIN
16. TCP FIN, ACK of FIN
17. ACK of FIN
WSP/WTP/UDP1. Data Request2. ACK, Reply
3. ACK, Data Request4. ACK, Reply
5. ACK, Data Request
6. ACK, Reply
7. ACK
Porque WAP ? HTTP e TCP “desperdiçam” banda
©1999 Wireless Application Forum, Ltd.
2005, Edgard Jamhour
GatewayClienteServidor deAplicação
Requisição WSP/HTTP {URL}
Resposta WSP/HTTP {Content}
WAE - Wireless Application Environment
©1999 Wireless Application Forum, Ltd.
2005, Edgard Jamhour
Browser Web
Pedido HTTP/S...GET http://www.cellwap.com.br
...
Script CGI ou arquivo HTML estático
Página HTML
<HTML><HEAD><TITLE>Cell Wap
...
Internet
Resposta HTTP/S. . . HTTP/1.0Content-type: text/html<HTML><HEAD>
<TITLE>Cell Wap ...
CG
I (H
TT
P h
ead
er in
fo
set
as e
nv.
var
iab
les)
ServidorWeb
Modelo de Transação Web (HTML)
2005, Edgard Jamhour
Requisição WAPPedido de URL
(criptografia opcional)
Gateway WAP
Aparelho com microbrowser
ServidorWeb
Resposta WAP WML compilado
(criptografia opcional)
Pedido HTTP/S...GET http://www.cellwap.com.br
...
Resposta HTTP/S
HTTP/1.1Content-type: text/x-wap.wml<?xml version="1.0”<!DOCTYPE WML...
<WML> ...
Script CGI ou arquivo estático WML
CG
I (H
TT
P h
ead
er in
fo
set
as e
nv.
var
iab
les)
Deck WML
<?xml version="1.0"...<!DOCTYPE WML...<WML>...
Internet
Rede Celular
Modelo de Transação WAP (WML)
2005, Edgard Jamhour
O que faz um Gateway WAP?
• Operação como “proxy web” para clientes WAP
• Tradução do protocolo HTTP para WAP
• Segurança com protocolos WTLS e SSL
• Codificação do conteúdo para o transporte sem fio
• Autenticação do usuário através do número do telefone celular (NTC).
2005, Edgard Jamhour
Web Server
Content
CGIScripts
etc.
WM
L D
ecks
wit
h W
ML
-Scr
ipt
WAP Gateway
WML Encoder
WMLScriptCompiler
Protocol Adapters
Client
WML
WML-Script
WTAI
Etc.
HTTPWSP/WTP
Arquitetura das plataformas
2005, Edgard Jamhour
WAP Application Server
Content
ApplicationLogic
WM
L D
ecks
wit
h W
ML
-Scr
ipt
WML Encoder
WMLScriptCompiler
Protocol Adapters
Client
WML
WML-Script
WTAI
Etc.
WSP/WTP
Servidor de Aplicação WAP
2005, Edgard Jamhour
Interfaces de transmissão de dados Web e WAP
BrowserHTML
Gateway WAP
Internetou
Intranet
Celular comBrowser WAP
Servidor Web
InterfaceAérea
RedeCelular
2005, Edgard Jamhour
Infra-estrutura da Rede Celular CDMA
CCC
Roteador
Internet
Notificações Dados
Gateway WAP
Transmissão dentro da Rede Celular: CDMA com Circuit-Switched Data (CSD) e QuickNet Connect
(QNC)
Servidor Web
IWF
SMSC
2005, Edgard Jamhour
Infra-estrutura da Rede Celular TDMA
CCC
Roteador
Internet
Notificações Dados
Gateway WAP
Transmissão dentro da Rede Celular: TDMA com Circuit-Switched Data (CSD)
Servidor Web
RASBanco de Modems
SMSC
2005, Edgard Jamhour
Microbrowser Phone.com: UP.Browser
• Voz e dados em um mesmo equipamento portátil
• Totalmente compatível com o padrão WAP 1.1
• Otimizado para equipamento portátil, pequeno e de baixo custo– Requer menos que 160KB de memória ROM, 10KB de RAM
• Suporta funcionalidades avançadas do Gateway WAP UP.Link:– Local Application Environment (LAE)
– WML+
– Notificações
2005, Edgard Jamhour
Arquitetura Geral WDP
2005, Edgard Jamhour
WDP usa IP?
• Depende do Bearer
– O Bearer deve suportar o serviço de datagrama• Se o Bearer suporta IP
–UDP é usado com WDP• Se o Bearer não suporta IP
–WDP Protocol deve ser usado
2005, Edgard Jamhour
Adaptação
• A adaptação de um novo bearer ao WDP é feito através da camada de adaptação.
BEARER
WDP Adaptation Layer
WDP S&R: Segmentation & Reassembly(MTU do Bearer)
2005, Edgard Jamhour
WDP sobre GSM SMS
2005, Edgard Jamhour
WDP sobre GSM Circuito
2005, Edgard Jamhour
WDP sobre GSM GPRS
2005, Edgard Jamhour
Segurança em WAP
• Segurança em Ambiente WAP– No ambiente WAP a segurança é baseada o Padrão
SSL.
2005, Edgard Jamhour
WTLS
• Por razões de desempenho, as mensagens criptogradas com SSL não são enviadas para o celular, mas convertidas num padrão de segurança mais leve, denominado:
• WTLS:– Wireless Transport Layer Security
• O WAP gateway é responsável por fazer a ponte entre o SSL e o WTLS– Conversão Bidirecional
2005, Edgard Jamhour
Por que Traduzir o SSL?
• SSL depende de alta banda disponível e baixa latência.
• SSL é uma funcionalidade que exigiria celulares mais potentes e, consequentemente, mais caros.
• WTLS foi projetado para implementar criptografia com pouco consumo de memória e processamento do celular.
• A tradução entre SSL e WTLS leva milliseconds e acontece na memória do WAP gateway.
2005, Edgard Jamhour
Tradução WTLS para SSL
• O Gateway WAP implementa um processo de criptografia/decriptografia:
WebServer
WAPGateway
certificado
Chave de Sessão
Chave Sessão Criptografada com a
Chave Pública do Servidor
WTLS
Chave de Sessão
certificado
SSL
2005, Edgard Jamhour
Cuidados com o WAP Gateway
• 1. Assegurar que o WAP Gateway nunca armazene conteúdo decriptografado.
• 2. Após decriptografar a mensagem vinda da Internet, o Gateway WAP apaga a mensagem.
• 3. Garantir que apenas os administradores do WAP gateway tem acesso ao sistema de console do WAP Gateway.
• 4. Limitar as opções de configuração remota do WAP Gateway, protegendo-o com um firewall (arquitetura DMZ)
• 5. Aplicar as mesmas técnicas de proteção utilizadas no billing systems e no HLR (Home Loca-tion Register) no WAP gateway.
2005, Edgard Jamhour
Exemplo Phone.com
• Phone.Com Gateway aceita os seguintes certificados:– VeriSign, Thawte and RSA.
• Chaves Públicas: RSA– 1024-bit (U.S. domestic)– 512-bit (export) key lengths.
• Chaves Secretas: RC4, RC5 and DES – 56-bit (export) and 128-bit (U.S. domestic)
• Algoritmos de Hashing– MD5 and SHA-1 hash standards.