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 Foreign Network 10.0.1.1 Cell BSS: Base Station System Home Network 10.0.0.1 Cell 10.0.1.X 255.255.255.0 INTERNET BSS: Base Station System 10.0.0.X 255.255.255.0 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. 200.0.0.1 request request 80 1024 INTERNET 10.0.0.1 ? reply reply 10.0.1.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 Non-WAP applicatios such as Windows-CE or Java Non-Mobile Host Tethered application. The cellular device is used as a modem. Foreign Network TCP or UDP/IP Cell PPP WAP application. All data is transmitted and interpreted by a microbrowser. Mobile device at foreign position TCP or UDP/IP ISP router Foreign Agent (Router) BSS: Base Station System Internet Tunnel WAP/UDP/IP Home Network Home Agent (Router) Mobile device at home position RF link BSS: Base Station System Firewall NAT Router HTTP/TCP/IP WAP/IP WAP Gateway 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 Os hosts da Internet enxergam o celular apenas pelo Home Address • Home Agent – Comunicação com a Internet • Foreign Agent – Comunicação com o Celular 10.0.1.1 COA 10.0.0.1 HA FA 10.0.2.1 COA HA HA S_IP DADOS S_IP INTERNET S_IP HA DADOS FA 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. COA HA COA TABELA INTERNA HA COA HA 2005, Edgard Jamhour Tunelamento (COA com DHCP) COA (endereço do celular na rede estrangeira) MH (endereço do celular na rede nativa) IP_S IP_MH2 DADOS IP_S IP_MH1 DADOS IP_S COA1 HA FA COA2 HA HA COA1 COA2 IP_S IP_S IP_MH1 IP_MH2 DADOS DADOS COA = MH 2005, Edgard Jamhour Tunelamento (COA sem DHCP) COA (endereço do celular na rede estrangeira) MH (endereço do celular na rede nativa) IP_S IP_MH2 DADOS IP_S IP_MH1 DADOS IP_S FA HA FA FA HA HA FA COA2 IP_S IP_S IP_MH1 IP_MH2 DADOS DADOS COA = FA 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 Agent Advertisement Rota e IP Foreign Network Foreign Agent ISP router BSS : Internet Tunnel Home Network Home Agent Firewall NAT Router : BSS Cell Agent Advertisement Rota e IP WAP Gateway 2005, Edgard Jamhour Anúncios de Agente • Mensagens ICMP com extensões: Tipo Tamanho Tempo de Vida do Registro Número Seqüencial 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 FA HA FA FA 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. 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 S B D M G V rsv Tempo de Vida 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 Binding Update Rede estrangeira HA Rede nativa 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. Binding Acknowledgment Rede estrangeira Binding Update HA Rede nativa Quando o celular retorna a sua rede nativa, ele deve informar ao seu Home Agent igualmente, para que o redirecionamento seja cancelado. Binding Acknowledgment 2005, Edgard Jamhour Resposta de Registro • Mensagem UDP enviada a porta 434: Tipo Código Tempo de Vida Endereço Inicial Agente Inicial Identificação Extensões 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 SA1 HA SA2 SA1 SA3 Binding Update COA, HA, lifetime SPI1 Assinatura Digital SA1 HA SA2 SA1 SA3 Binding Acknowledgment 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. 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. Cópia Binding Update Assinatura Digital Registro Falso HA 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 Foreign Agent não precisa se autenticar para o celular nem para o Home Agent. O Mobile IP não oferece proteção contra Foreign Agents Falsos 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 Agent Autentica 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 Protocolos Internet e WAP WAP Internet HTML HTML JavaScript JavaScript ASP ASP Conversão Dinâmica dos Protocolos WML WML( ( Linguagem Linguagem WML WMLScript Script XML) XML) HTTP HTTP Wireless WirelessSession Session Protocol Protocol(WSP) (WSP) SSL/TLS SSL/TLS Wireless WirelessTransaction Transaction Protocol Protocol(WTP) (WTP) TCP/UDP TCP/UDP Wireless WirelessTransport Transport Layer Security Layer Security(WTLS) (WTLS) UDP UDP/ /IPIP IPIP WDP WDP Rede Celular : Meio Físico CDMA TDMA GSM CSD CDPD SMS GPRS Etc ... ©1999 Wireless Application Forum, Ltd. 2005, Edgard Jamhour Porque não HTTP/HTML direto? Compressões e codificações para se ajustar ao meio. Internet HTTP/HTML <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 Intera ctive< /TITLE > <META HTTPEQUIV= "Refre sh" CONTEN T="180 0, Rede Celular WAP <WML> <CARD> <DO TYPE="ACCEPT"> <GO URL="/submit?Name=$N"/> </DO> Enter name: <INPUT TYPE="TEXT" KEY="N"/> </CARD> </WML> Conteúdo codificado 010011 010011 110110 010011 011011 011101 010010 011010 ©1999 Wireless Application Forum, Ltd. 2005, Edgard Jamhour Porque WAP ? HTTP e TCP “desperdiçam” banda HTTP / TCP / IP WSP/WTP/UDP 1. TCP SYN 1. Data Request 2. TCP SYN, ACK of SYN 2. ACK, Reply 3. ACK of SYN, Data Request 3. ACK, Data Request 4. ACK of Data 4. ACK, Reply 5. Reply 5. ACK, Data Request 6. Ack of Reply 6. ACK, Reply 7. Data Request 7. ACK 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 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 16. TCP FIN, ACK of FIN 17. ACK of FIN ©1999 Wireless Application Forum, Ltd. 2005, Edgard Jamhour WAE - Wireless Application Environment Requisição WSP/HTTP {URL} Cliente Gateway Servidor de Aplicação Resposta WSP/HTTP {Content} ©1999 Wireless Application Forum, Ltd. 2005, Edgard Jamhour Modelo de Transação Web (HTML) Browser Web Internet Pedido HTTP/S ... GET http://www.cellwap.com.br ... Servidor Web Resposta HTTP/S ... HTTP/1.0 Content-type: text/html <HTML> <HEAD> <TITLE>Cell Wap ... Página HTML <HTML> <HEAD> <TITLE>Cell Wap ... Script CGI ou arquivo HTML estático 2005, Edgard Jamhour Modelo de Transação WAP (WML) Internet Rede Celular Requisição WAP Pedido de URL (criptografia opcional) Resposta WAP WML compilado (criptografia opcional) Aparelho com microbrowser Pedido HTTP/S ... Gateway WAP GET http://www.cellwap. com.br ... Servidor Web Resposta HTTP/S HTTP/1.1 Content-type: text/x-wap.wml <?xml version="1.0” <!DOCTYPE WML... <WML> ... Deck WML <?xml version="1.0"... <!DOCTYPE WML... <WML>... Script CGI ou arquivo estático 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 Arquitetura das plataformas Web Server WAP Gateway WML WML Encoder WMLScript WSP/WTP WMLScript Compiler HTTP CGI Scripts etc. WTAI Protocol Adapters Content WML Decks with WML-Script Client Etc. 2005, Edgard Jamhour Servidor de Aplicação WAP Client WML WMLScript WTAI WML Encoder WSP/WTP WMLScript Compiler Protocol Adapters Application Logic Content WML Decks with WML-Script WAP Application Server Etc. 2005, Edgard Jamhour Interfaces de transmissão de dados Web e WAP Interface Aérea Celular com Browser WAP Browser HTML Internet ou Intranet Gateway WAP Rede Celular Servidor Web 2005, Edgard Jamhour Transmissão dentro da Rede Celular: CDMA com Circuit-Switched Data (CSD) e QuickNet Connect (QNC) Servidor Web Notificações Dados Internet SMSC CCC IWF Roteador Gateway WAP Infra-estrutura da Rede Celular CDMA 2005, Edgard Jamhour Transmissão dentro da Rede Celular: TDMA com Circuit-Switched Data (CSD) Servidor Web Notificações Dados Internet SMSC CCC RAS Banco de Modems Roteador Gateway WAP Infra-estrutura da Rede Celular TDMA 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. WDP WDP Adaptation Layer BEARER 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: WTLS SSL certificado certificado Web Server WAP Gateway Chave de Sessão Chave Sessão Criptografada com a Chave Pública do Servidor Chave de Sessão 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. 2005, Edgard Jamhour