Iracema Suassuna de Oliveira

 

 

Virtual Private Networks

 

 

 

Trabalho de avaliação apresentado na disciplina de Comunicação de Dados do Curso de Mestrado em Telecomunicações da Universidade Federal do Paraná.

 

Prof. Eduardo Parente

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Curitiba – PR

Outubro 2001


SUMÁRIO

 

INTRODUÇÃO

1.     OS ELEMENTOS ESSENCIAIS DE UMA VPN

1.1      Tunelamento

1.2   Criptografia

1.3   Autenticação

2.     COMO UMA VPN FUNCIONA

3.     OS PROTOCOLOS DE UMA VPN

4.     OS CONTRATOS DE SLA

5.     O PROTOCOLO IPSec

5.1.  ASSOCIAÇÕES DE SEGURANÇA (SA - Security Association)

5.2.  AS TOPOLOGIAS IPSec EM USO

5.3.  ALGORITMOS DE AUTENTICAÇÃO E ENCRIPTAÇÃO PARA O IPSec

5.3.1.           Autenticação

5.3.2.           Encriptação

5.3.3.           Tunelamento

5.4.  AUTENTICATION HEADER (AH)

5.4.1.           O formato de cabeçalho AH

5.4.2.           Modos de uso do AH

5.4.3.           Considerações do AH para o IPv6

5.5.  ENCAPSULATING SECURITY PAYLOAD (ESP)

5.5.1.           Formato do Pacote ESP

5.5.2.           Modos de Uso do ESP

5.5.3.           Considerações do ESP para o IPv6

5.6.  THE INTERNET KEY EXCHANGE PROTOCOL (IKE)

5.6.1.           Identificadores Permanentes

5.6.2.           Inicializando as AS com o IKE

6.     CONSIDERAÇÕES NA ESCOLHA DE UMA VPN

7.     AS RFCs E OS RASCUNHOS DE INTERNET

CONCLUSÃO

REFERÊNCIAS BIBLIOGRÁFICAS

ANEXO 1 – RFCs (Requests for Comments)

ANEXO 2 – I-D (Internet Drafts)

GLOSSÁRIO

 

Introdução

 

A porcentagem de pessoas que dependem de acesso remoto para realizar seus trabalhos está continuamente em crescimento. Esta força de trabalho móvel demanda acesso freqüente a volumes de informações corporativas. Além disso, a explosão do e-commerce significa que as companhias estão implementando aplicações de negócios que compartilham informações entre redes privativas fisicamente distantes, estendendo o alcance de seus negócios a parceiros, contratantes e fornecedores. Uma das soluções em voga neste cenário são as Virtual Private Networks ou simplesmente VPNs.

Em sua definição mais comum, uma VPN permite uma rede privada ser interligada a outra rede privada (ou a um terminal remoto) através de uma rede acessada publicamente. Desta forma, as VPNs são similares às Wide Area Networks (WAN) porém, no lugar de utilizarem linhas privadas alugadas, as VPNs estão capacitadas a dispor das redes públicas (como a Internet, por exemplo) e oferecer as mesmas características de segurança que as redes privadas, além de levar vantagem na economia de escala e a acessibilidade remota abrangente das redes públicas.

As VPNs podem ser estabelecidas por uma variedades de meios, e podem ser construídas sobre tecnologias ATM, Frame Relay, X.25 ou IP. O método mais popular são as VPNs baseadas em IP (ou IP-VPNs) – enfoque principal deste trabalho - as quais oferecem maior flexibilidade e fácil conectividade. Considerando que a maior parte das redes corporativas usam tecnologias IP ou Web, as IP-VPNs podem de forma mais transparente estender suas capacidades sobre a rede mundialmente. Um enlace IP-VPN pode ser estabelecido entre dois pontos em qualquer lugar do mundo, e a rede IP automaticamente manipulará o roteamento do tráfego. Contudo, privacidade e proteção de dados é de supra importância quando emprega-se serviços sobre uma rede pública como a Internet, a qual é vulnerável a ataques ou entradas ilegais. Para isto as VPNs são asseguradas por mecanismos de encriptação e autenticação.

Figura 1 – A arquitetura VPN.

 

Os produtos VPNs estão classificados em três grandes categorias:

 

·        Sistemas baseados em hardware: A maior parte de VPNs baseadas em hardwares são roteadores de encriptação, os quais são considerados seguros em simples de usar uma vez que são a coisa disponível mais próxima de um equipamento "plug-and-play". Entretanto, eles podem não ser flexíveis como um sistema baseados em software.

·        Sistemas baseados em Software (firewall): os quais são ideal em situações onde ambas as extremidades da VPN não são controladas por uma mesma organização, o que é típico entre parceiros de negócios ou quando suporte ao cliente é requerido. VPNs baseadas em firewall são consideradas entre as mais seguras visto que elas tiram vantagens dos mecanismos de segurança dos firewalls existentes.

·        Pacotes de aplicações standalone: para usuários remotos.

 

Hoje, as VPNs estão sendo usadas para ajudar corporações a compartilhar com segurança aplicações da empresas, manter parcerias de negócios e fornecedores, prover aplicações emergentes tais como voice over IP (VoIP) e network-hosted e dar suporte à explosão do e-commerce, especialmente nas aplicações business-to-business (B2B).

 

1.         OS ELEMENTOS ESSENCIAIS DE UMA VPN

 

            Tecnicamente, a VPN é uma combinação avançada de tunelamento, encriptação, autenticação e tecnologias de controle de acessos e serviços usados para carregar tráfego sobre a Internet, uma rede IP gerenciada ou um backbone de provedor. O funcionamento de uma VPN depende basicamente de três elementos:

 

·        Tunelamento (ou encapsulamento de pacote): é o método de englobar um pacote em um novo pela adição de um cabeçalho. O pacote original inteiro torna-se o payload do novo pacote.

·        Criptografia ou Encriptação: é um criptosistema cuja função é misturar seus dados em uma texto cifrado o qual é então decriptado na outra ponta para que possa ser lido.

·        Autenticação: é usada para verificar a validade da identidade dos usuários e restringir o acesso à rede apenas aos usuários autorizados.

 

1.1       Tunelamento

 

O tunelamento ou encapsulamento é uma técnica comum nas redes de comutação de pacotes. Ele consiste em incorporar um pacote em um novo. Isto é, um novo endereçamento (header) é anexado ao pacote original. O pacote original inteiro torna-se o bloco de informação (payload) do novo pacote como mostra a figura abaixo. O tunelamento em geral é usado para carregar o tráfego de um protocolo sobre uma rede que não suporta aquele protocolo diretamente. Por exemplo, o NetBIOS ou o IPX pode ser encapsulado no IP para carregá-lo sobre um enlace WAN TCP/IP.

 

 

Figure 2 - Exemplo de tunelamento

 

 

Figura 3 – Representação dos tunelamentos VPN sobre a rede pública, neste caso, a Internet.

 

1.2       Criptografia

 

A maior parte das VPNs modernas usam algum tipo de criptosistema que mistura os dados a serem transmitidos em um texto cifrado que será decriptado na ponta receptora da rede para que possa ser lido. A encriptação de dados e senhas ajuda a assegurar que clientes não autorizados não tenham acesso aos dados privados transportados sobre a rede pública. Os tipos de encriptação disponíveis são muito variados, entretanto, existem dois tipos básicos de criptografia:

 

·        Simétrica: é mais rápida de se implantar e é comumente usada para a troca de pacotes de dados grandes entre duas partes que se conhecem uma a outra e usam a mesma chave privada de acesso aos dados.

 

·        Assimétrica: são muito mais complexas e exigem um par de chaves relacionadas matematicamente – uma pública e outra privada – para permitir o acesso. O processo de encriptação que codifica dados para a transmissão utiliza um algoritmo especial junto com a chave e então os dados não podem ser lidos por qualquer um que não tenha a chave apropriada para decifrá-lo. Este método é freqüentemente usado para pacotes de dados menores e sigilosos ou durante um processo de autenticação.

 

Como uma regra geral, quanto maior é uma chave de encriptação mais forte ela é (mais resistente). O comprimento em bytes de um algoritmo determina o montante de esforço necessário para quebrar um sistema usando um ataque de "força bruta" no qual computadores são combinados para calcular todas as possibilidades de chave.

A maior parte dos dispositivos VPNs, sejam baseados em hardware ou software, usam algum tipo de esquema de encriptação e, naturalmente, variam no custo de acordo com a “resistência” do algoritmo a ataques de hackers. Também, é importante ressaltar que a resistência de um algoritmo de encriptação é inversamente proporcional à taxa de transmissão dos dados na rede, ou seja, uma forte encriptação implica numa queda nas velocidades de transmissão.

Alguns produtos também têm características de encriptação seletiva permitindo ao administrador decidir pela encriptação de apenas parte do tráfego de dados baseados em sua importância e sigilo. A combinação seletiva de encriptação e controle de acesso permite ao usuário criar uma sessão encriptada específica para a aplicação VPN, garantindo a segurança dos dados tão bem quanto a segurança da rede.

 

Abaixo, estão listados alguns algoritmos de encriptação presentes no mercado:

 

 

1.3       Autenticação

 

A autenticação é usada para verificar a validade da identidade dos usuários e restringir o acesso à rede apenas aos usuários autorizados. Para autenticação de usuário, diferentes implementações oferecem uma variedade de métodos de autenticação, incluindo segredo compartilhado, token cards e certificados digitais. Segredo compartilhado é mais fácil para usar para um pequeno número de pontas (clientes e/ou gateways). Token card funciona muito bem para implementações de Intranet, mas, para uma implementação de extranet o método mais fácil é usar um certificado digital (infraestrutura de chave pública).

Todas as VPNs requerem que um dispositivo de acesso seja configurado para reconhecer e autenticar usuários remotos. Um grande número de técnicas e produtos, ambos baseados em hardware e software estão disponíveis.

 

2.         COMO UMA VPN FUNCIONA

 

A conexão física de um equipamento (ou subrede) à rede pública que transportará o tráfego de informação via VPN pode ser qualquer combinação de tecnologias de acesso incluindo T1 (1,5Mbps)/E1 (2Mbps), Frame Relay, ADSL, ISDN, ATM ou um simples acesso discado (Dial-up).

A explicação que segue é extremamente simplificada mas demostra os passos principais de uma comunicação VPN (maiores detalhes serão vistos em tópicos à frente). A seqüência para o funcionamento de uma VPN é:

 

1 - No modelo VPN, os pacotes originados no Host A de uma subrede alcançarão um dispositivo inicial do túnel denominado de gateway habilitado para VPN (um roteador, um firewal, um switch, etc).

2 – Há a criação do túnel entre os gateways das redes a serem interligadas, isto é, o protocolo de rede (IPX, NetBEUI, AppleTalk, IP e outros) é encapsulado dentro de um protocolo de tunelamento, tipicamente o IP, mas poderia ser também ATM ou Frame Relay.

3 - O túnel iniciador (gateway pertencente à rede do Host A) comunica-se com o Host B da outra subrede (Host terminador que irá receptar os dados) para concordar com um esquema de encriptação e de autenticação.

4 - O túnel iniciador então encripta os pacotes de acordo com os protocolos de encriptação e autenticação combinados.

5 – Os dados são enviados pela rede pública.

6 – Na outra ponta, o gateway (túnel terminador) desencripta os pacotes recebidos e entrega-os para a destinação apropriada na rede, neste caso o Host B.

 

3.         OS PROTOCOLOS DE UMA VPN

 

Segundo a VPNC (Virtual Private Network Consortium) [4], existem três protocolos para VPNs mais usados, a saber:

 

·        PPTP (Point-to-Point Tunneling Protocol): protocolo proprietário implementado por muitas companhias, mais notadamente a Microsoft.

·        L2TP (Layer 2 Tunneling Protocol): o qual qual combina PPTP da Microsof com o Layer-2 Forwarding (L2F) da Cisco Systems.

·        Ipsec (Internet Protocol Security): desenvolvido pelo Internet Engineering Task Force (IETF)

 

Atualmente, dentre estes três principais protocolos, dois são os mais utilizados: o L2Tp e o IPSec. Enquanto o L2TP é tipicamente utilizado pelos SPs (Service Providers) para prover acesso VPN dial-up remoto para clientes, o IPSec é o protocolo de tunelamento mais usado por empresas, Contudo, o IPSec tem apresentado uma tendência em dominar o mercado em função de ser um protocolo padronizado e compatível com a maior parte dos diferentes hardwares e softwares presentes no mercado.

O L2TP (Layer 2 Tunnelling Protocol) é um protocolo de rede (camada 2) é uma combinação do Layer-2 Forwarding (L2F) da Cisco Systems e o Point-to-Point Tunneling Protocol (PPTP) da Microsoft. Ele encapsula qualquer protocolo roteado, incluindo o IP (Internet Protocol), IPX, e AppleTalk para ser enviado sobre protocolos de redes WANs tais como Frame Relay, ATM (Asynchronous Transfer Mode), X.25 e SONET/SDH. Por causa do uso do PPTP da Microsoft no L2TP, ele está incluído como parte das características de acesso remoto da maior parte dos produtos Windows. O benefício do acesso remoto via L2TP é que ele usa PPP para o encapsulamento e não requer instalação de conjunto extra no cliente remoto.

O protocolo IPSec (Internet Protocol Security) foi definido por uma ampla quantidade de padrões e recomendações pelo Internet Engineering Task Force (IETF). Sendo um protocolo de camada 3 é um padrão projetado como um mecanismo fim-a-fim para garantir a segurança dos dados em comunicações baseadas em IP. O IPSec permite payloads de IP serem encriptados e encapsulados em uma cabeçalho IP para uma segura transferência através da Internet. Desde a introdução do IPSec, a proteção de dados na VPN tem se tornado mais padronizada entre os provedores de serviços. O IPSec tem se tornado um padrão de indústria “de fato” para uma infraestrutura VPN baseada em IP. A mais atual definição do padrão IP conhecida como Ipv6 já tem o IPSec incorporado. Devido à sua importância mercadológica atual, este trabalho sobre VPNs irá detalhar o funcionamento apenas do protocolo IPSEc.

 

4.         OS CONTRATOS DE SLA (Serviçe Level Agreement)

 

Mesmo com boas políticas de segurança definidas, a operação de uma VPN sobre uma rede IP nem sempre oferece um transporte garantido e seguro. Se a garantia de serviço não for exigida, a Internet provê o transporte adequado, entretanto, se a garantia de serviço for obrigatória, um acordo de nível de serviço denominado SLA ou Serviçe Level Agreement deve ser estabelecido para o transporte VPN sobre a rede IP gerenciada.

Os contratos de Service Level Agreements são garantias de desempenho mínimo - confiabilidade e disponibilidade - da rede VPN especificado tais como uptime, atraso na rede, perda de pacotes, interoperabilidade, MTTR e segurança.

Apesar dos SLAs, eles não são garantia de tranqüilidade para os usuários VPN. Um dos maiores problemas dos SLAs VPN é que eles se aplicam apenas à rede do SP (Serviçe Provider) específico no contrato não havendo assim garantia quando há o envolvimento de redes VPNs de outros SPs na comunicação. Algumas companhias têm trabalhado com "SLAs estendidos" com múltipla cooperação entre os SPs, contudo, eles raramente funcionam.

 

5.         O PROTOCOLO IPSec

 

Baseado nos padrões desenvolvidos pelo Internet Engineering Task Force (IETF), o IPSec é uma arquitetura aberta que implementa encriptação e autenticação na camada de rede provendo solução de segurança (confidencialidade, integridade e autenticidade) fim-a-fim na própria arquitetura de rede, sobre redes IP. Os controles de encriptação e autenticação podem ser implementados nos vários níveis da infraestrutura de computação como mostrado na figura abaixo

Figure 4 - Localização de implementação de encriptação.

 

A maior parte das VPNs usam tecnologias IPSec. O IPSec é útil porque é compatível com a maior parte dos diferentes hardwares e softwares para VPNs e é o mais popular para redes com acesso remoto de clientes. O IPSec requer pouco conhecimento para os clientes porque a autenticação não é baseada em usuário o que significa que um token (tal como um Secure ID ou um Crypto Card) não é usado. Ao invés disto, a segurança vem de um endereço IP de uma estação de trabalho ou seu certificado, estabelecendo a identidade do usuário e assegurando a integridade da rede.

Dependendo da solução adotada, é possível controlar o tipo de tráfego enviado sobre a solução VPN. Muitos dispositivos permitem que o administrador defina filtros baseados em grupos os quais controlam os endereços IP e os serviços de protocolo e portas permitidos através do túnel. A VPN baseada em IPSec também permite ao administrador definir uma lista específica de redes e aplicações para o qual o tráfego pode fluir.

            Nas redes VPN-IP com IPSec, as pontas do sistema e as aplicações não precisam qualquer modificação para oferecerem segurança. Considerando que os pacotes encriptados são similares a pacotes IP comuns, eles são facilmente roteados através da rede IP ou Internet, sem qualquer modificação nos equipamentos intermediários da rede. Os únicos dispositivos que precisam de mecanismos de encriptação são os das extremidades. Esta característica reduz consideravelmente os custos tanto de implementação quanto de gerenciamento.

Existem três funcionalidades do IPSEc separadas em três protocolos, cada um representando um novo conjunto de cabeçalhos a serem adicionados aos datagramas IP. Estes novos cabeçalhos são colocados após o cabeçalho IP e depois do protocolo de nível 4 (tipicamente o Transmission Control Protocol [TCP] ou o User Datagram Protocol [UDP]). Estes novos cabeçalhos (protocolos) provêem a informação para a segurança do bloco de informação (payload) do pacote IP como segue:

 

·        AH – Authentication Header: este cabeçalho, quando adicionado em um datagrama IP, assegura a integridade e a autenticidade dos dados, incluindo os campos invariantes no cabeçalho IP externo. Ele não provê proteção da confidencialidade. O AH usa uma função “keyed-hash” ao invés de assinaturas digitais, porque a tecnologia de assinatura digital é muito lenta e reduziria enormemente o throughput da rede.

·        Encapsulating security payload (ESP)—Este cabeçalho, quando adicionado em um datagrama IP, protege a confidencialidade, integridade e autenticidade dos dados. Se o ESP é usado para validar a integridade dos dados, ele não inclui os campos invariantes no cabeçalho IP.

·        IKE – Internet Key Exchange: negocia uma Associação de Segurança (AS - Security Association) e troca o material das chaves entre duas entidades. Não é necessário usar a IKE mas associações de segurança manualmente configuradas é um processo manual intensivo e difícil. A IKE deveria ser usada na maior parte das aplicações do mundo real para habilitar comunicações seguras em larga escala.

 

O AH e o ESP podem ser usados independentemente ou juntos, contudo para a maior parte das aplicações apenas um deles é suficiente. Para ambos estes protocolos, o IPSec não define algoritmos de segurança específicos para usar, mas preferivelmente, provêem um quadro aberto para a implementação de algoritmos industriais padrões. Inicialmente, a maior parte das implementações do IPSec suportam o MD5 do RSA Data Security ou o Secure Hash Algorithm (SHA) para a integridade e autenticação. O Data Encryption Standard (DES) é correntemente o mais comumente oferecido algoritmo de encriptação bulk, entretanto os RFCs são os disponíveis que definem como usar muitas outros sistemas de encriptação, incluindo o IDEA, o Blowfish, e o RC4.

O IPSec pode utilizar qualquer algoritmo de encriptação para proteger os dados e qualquer algoritmo para conferir a mensagem para a autenticação dos dados. Entretanto, para a interoperabilidade existe um conjunto padrão de operações criptográficas. Ambos, o AH e ESP, suportam o modo tunelamento. O modo tunelamento também permite a aninhamento (nesting) dos protocolos IPSec. Um uso comum é, por exemplo, proteger um pacote IP com ESP e tunelar o resultado dentro do AH em modo túnel.

Com roteadores de acesso com IPSec habilitado, um provedor pode implementar túneis VPN para seus clientes. Entretanto, para isto o provedor têm que manter uma quantidade significante de configurações nas extremidades dos túneis (também chamados de gateways de segurança).

 

5.1.      Associações de Segurança (SA - Security Association)

 

O IPSec provê muitas opções para a performance de encriptação e autenticação da rede. Cada conexão IPSec pode prover encriptação e/ou integridade. Quando um serviço de seguridade é determinado, os dois nós de comunicação devem determinar exatamente qual o algoritmo a usar. Por exemplo, DES ou IDEA para encriptação; MD5 ou SHA para integridade. Depois de decidir os algoritmos, os dois dispositivos devem trocar chaves de sessão. As Security Associations (Associações de Segurança) – ou simplesmente SA - é o método que o IPSec usa para trilhar todos os particulares concernentes a uma dada sessão de comunicação IPSec. As Security Associations (SA) é um relacionamento entre duas ou mais entidades que descrevem como as entidades usarão os serviços de segurança para comunicarem-se seguramente. A nomenclatura leva a uma pequena confusão às vezes, porque as SAs são usadas mais para outras coisas do que apenas para o IPSec. Por exemplo, as IKE SAs descrevem os parâmetros de segurança entre dois dispositivos IKE.

A SA é unidirecional significando que para cada par do sistema de comunicação existe ao menos duas conexões de segurança—uma de A para B e uma de B para A. A SA é unicamente identificada por um número único randomicamente escolhido denominado de Security Parameter Index (SPI) e o endereço IP de destino. Quando um sistema envia um pacote que requer proteção IPSec, ele consulta a SA em seu banco de dados, aplica o processamento específicado e então insere o SPI da Security Association no cabeçalho IPSec. Quando o par IPSec recebe o pacote, ele consulta a SA em seu banco de dados pela destinação do endereço e SPI e, então, processa o pacote como requerido. Em resumo, a SA é simplesmente uma condição de política de segurança negociada entre dois dispositivos.

 

5.2.      As Topologias IPSec em uso

 

            No IPv4, correntemente mais usado, o IPSec suporta duas diferentes topologias:

 

·        Implementação no cliente: Esta implementação também é denominada de como “Bump In The Stack” ou BITS porque é inserida entre o IP stack (pilha) e os drivers (dispositivos) locais de rede. Uma vez que o código de acesso à fonte na pilha IP não é requerido, esta implementação é apropriada para sistemas legados. Ela pode ser instalada em sistemas operacionais Windows 95/98/NT, Macintosh e Unix. O Windows 2000 tem a implementação do IPSec incorporado e aplica-se a acesso remoto ou para fornecimento de uma rede segura dentro de uma LAN como, por exemplo, um departamento financeiro cujo pessoal encontra-se em pontos de trabalho espalhados pela rede da empresa mas que exige uma comunicação segura para aplicações cliente-servidor. Neste caso, seria implementado um BITS em cada cliente e servidor.

 

·        Implementação no Gateway: Esta implementação é referida como “Bump In The Wire” ou BITW porque existe uma parte do equipamento rodando IPSec na extremidade da rede a ser protegida. Uma implementação de gateway pode ser baseada em software (IPSec rodando em um Firewall ou roteador) ou hardware uma aplicação rodando IPSec em uma “caixa preta” o qual pode ser muito mais rápido porque não existe o overhead do sistema operacional.

 

Uma VPN requer ao menos uma implementação gateway no site central ou na LAN remota e a implementação no cliente para cada site remoto. O cliente remoto pode ser um simples PC com uma localização fixa ou não, como no caso de um viajante acessando o site central de um computador portátil.

 

5.3.      Algoritmos de Autenticação e Encriptação para o IPSec

 

5.3.1.     Autenticação

 

Para autenticação de usuário, os algoritmos suportados são o HMAC MD5 (uso normal) e, para alto nível de segurança na autenticação, o HMAC SHA1 (FIPS-180-1). Diferentes implementações do IPSec oferece uma variedade de métodos de autenticação, incluindo segredo compartilhado, token cards e certificados digitais. Segredo compartilhado é mais fácil para usar para um pequeno número de pontas (clientes e/ou gateways). Token card funciona muito bem para implementações amplas de Intranet mas para uma implementação ampla de extranet o método mais fácil é usar um certificado digital (infraestrutura de chave pública).

 

5.3.2.     Encriptação

 

Os Algoritmos de encriptação hoje disponíveis incluem DES, 3DES, RC5, Cast, Idea e Blowfish com outros sendo adotados para prover diferentes níveis de segurança. Embora o DES tenha sido quebrado em menos de 23 horas, ele ainda é usualmente aceitável para o uso se a chave de sessão for mudada a cada hora. Mesmo se o túnel de dados é interceptado e sujeito a um “ataque de força bruta” para a quebra do código, apenas uma hora de dados estariam comprometidas.

O IPSec foi projetado de forma que apenas um algoritmo é escolhido, o atual material de chaveamento usado pelo algoritmo pode ser regenerado dentro do túnel em um quadro de tempo solicitado (por exemplo uma vez a cada hora, a cada 10MB, etc) para modificar as chaves de sessão efetivamente mudando também a encriptação.

Uma vez que o IPSec foi projetado para ser um algoritmo independente, ele aceita várias opções de algoritmos de encriptação e autenticação, permitindo seleção do nível de segurança desejado para cada VPN específica. Durante a fase de negociação de autenticação prévia ao estabelecimento do túnel, as duas extremidades negociam para encontrar o mais alto nível dos algoritmos de encriptação que ambas as pontas podem usar. Se não houver um requerimento mínimo de encriptação, o túnel não é estabelecido.

 

5.3.3.  Tunelamento

 

O tunelamento em geral é usado para carregar o tráfego de um protocolo sobre uma rede que não suporta aquele protocolo diretamente. Entretanto, no caso do IPSec, o IP é tunelado através por um propósito diferente: para prover total proteção, incluindo o header do pacote encapsulado. Se o pacote encapsulado é encriptado, um intruso não pode descobrir, por exemplo, o endereço de destino do pacote. Já sem o tunelamento o endereço é facilmente identificado. A estrutura interna de uma rede privada pode ser escondida desta forma.

Uma vez que o header encapsulado não é processado pelos roteadores intermediários da Internet, apenas as pontas do túnel (os gateways) têm que ter endereços assinados globalmente; os hosts nas subredes além deles podem ser assinados com endereços privados, por exemplo, 10.X.X.X. Como os endereçamentos IP únicos globais estão se tornando um recurso escasso, este método de interconexão ganha importância.

 

5.4.      Authentication Header (AH)

 

O AH é usado para prover integridade e autenticação para datagramas IP possuindo também proteção replay opcional. Estes serviços são não orientados à conexão, isto é, eles trabalham sobre uma base per-packet.

O AH autentica o datagrama IP tanto quanto possível. Alguns campos no cabeçalho IP mudam durante o roteamento e seus valores não podem ser previstos pelo receptor. Estes campos são chamados mutantes e não são protegidos pelo AH. Os campos IPv4 mutantes são:

 

·        Type of Service (TOS)

·        Flags

·        Fragment Offset

·        Time to Live (TTL)

·        Header Checksum

 

Quando a proteção destes campos é necessária, o tunelamento pode ser usado. O payload do pacote IP é considerado imutável e é sempre protegido pelo AH. O AH é identificado pelo protocolo número 51, assinado pelo IANA. O cabeçalho do protocolo (IPv4, IPv6, or Extensão) imediatamente precedente ao cabeçalho AH contém este valor em seu protocolo (IPv4) ou no campo do próximo cabeçaho (IPv6, Extension).

O processamento AH é aplicado apenas para pacotes IP não fragmentados, contudo, um pacote IP com AH aplicado pode ser fragmentado por roteadores intermediários. Neste caso, o destino primeiro remonta os pacotes e, então, aplica o processamento AH nele. Se um pacote IP que fragmentado (campo offset não nulo ou o bit More Fragments está habilitado) é colocado para processamento AH, ele é descartado. Isto previne o ataque de fragmento overlapping, o qual manipula indevidamente o algoritmo de montagem do fragmento de forma a criar pacotes forjados e forçá-los através do firewall. Pacotes que falham na autenticação são descartados e nunca serão entregues para as camadas mais altas. Este modo de operação reduz enormemente os ataques “denial of service”, os quais ajudam a bloquear a comunicação de um host ou de um gateway inundando-o com pacotes bogus”.

 

5.4.1.     O formato de cabeçalho AH

 

O formato corrente do cabeçalho AH é descrito no rascunho Internet “draft-ietf-ipsec-auth-header-07.txt”, o qual contém importantes modificações comparadas à especificação AH anterior, RFC 1826. A informação aqui apresentada está neste rascunho Internet.

 

 

Figure 5 - Formato do cabeçalho AH

 

Campo

Comprimento

Função e valores

Next Header

8 bits

Identifica o tipo do próximo payload após o AH. Os valores para este campo são escolhidos do conjunto de números de protocolos IP definidos na mais recente “Assigned Numbers RFC” da Internet Assigned Numbers Authority (IANA).

Payload Length

8 bits

Contém o comprimento do cabeçalho AH expresso em palavras de 32 bits, menos 2. Ele não está relacionado ao comprimento real do payload como um todo. Se opções default são usadas, o valor é 4 (três palavras fixas de 32 bits mais três palavras de 32 bits de dados de autenticação menos dois).

Reserved

6 bits

Campo reservado para uso futuro. Seu valor é zero.

Security Parameter Index (SPI)

32 bits

 

Sequence Number

32 bits

É um contador monotonicamente incrementado usado para proteção “replay”. A proteção Replay é opcional; contudo, este campo é obrigatório. O remetente sempre inclui este campo e ele é separado no receptor para processá-lo ou não. No estabelecimento de um SA o número de seqüência começa em zero e o primeiro pacote transmitido usando o SA tem o número de seqüência 1. Números de seqüência não podem ser repetidos. Então o máximo número de pacotes IP que podem ser transmitidos em um dado AS é 232-1. Quando o mais alto número de seqüência é usado, reinicia-se o processo com um novo AS e uma nova chave. O Anti-replay é habilitado no remetente por default. Se sobre um estabelecimento AS, o receptor escolher não usá-lo, o remetente não relaciona mais nenhum valor neste campo.

Authentication Data (ou Integrity Check Value (ICV).

Variável, múltiplo integral de 32 bits.

É usado pelo receptor para verificar a integridade dos pacotes que chegam. O ICV para o pacote é calculado com o algoritmo selecionado na inicialização do AS. As implementações usualmente suportam dois a quatro algoritmos. Durante o cálculo do ICV, os campos mutáveis são considerados nulos.

 

5.4.2.  Modos de uso do AH

 

O AH pode ser usado de duas formas: modo transporte e modo túnel.

 

AH no Modo Transporte: neste modo o cabeçalho AH é inserido logo após o cabeçalho IP do datagrama IP original tal qual mostrado na figura abaixo. Se o datagrama já tem cabeçalho(s) IPSec, então o cabeçalho AH é inserido antes de algum deles. O modo transporte é usado pelos hosts, não pelos gateways, pois, estes não são preparados para este modo. A vantagem do modo transporte é o menor processamento de overhead. A desvantagem é que os campos mutantes não são autenticados.

 

Figure 6 – AH em modo Transporte

 

AH no Modo Túnel: neste modo um novo datagrama IP é construído e o datagrama IP original transforma-se no payload dele. Portanto o AH em modo transporte é aplicado ao datagrama resultante.

Figura 7 - AH em modo Túnel

 

O modo túnel é usado sempre que qualquer ponta de um AS for um gateway. Então, entre dois firewalls o modo túnel é sempre usado. Entretanto, gateways são propostos para suportar o modo túnel apenas, frequentemente eles podem também funcionar no modo transporte. Este modo é permitido quando o gateway atua como um host, isto é, em casos quando o tráfego é destinado para ele mesmo. Exemplos são os comandos SNMP ou requisições de eco ICMP. No modo túnel os cabeçalhos de endereços IP externos não precisam ser os mesmos que os cabeçalhos de endereços internos. Por exemplo, dois gateways de segurança podem operar um túnel AH o qual é usado para autenticar todo o tráfego entre as subredes que eles conectam. É um modo de operação muito típico. Hosts não são requeridos para suportar o modo túnel, mas frequentemente eles o fazem. As vantagens do modo túnel são a total proteção do datagrama IP encapsulado e a possibilidade do uso de endereçamento privativos. Entretanto, existe um processamento extra do overhead associado com este modo.

 

5.4.3.  Considerações do AH para o IPv6

 

O AH é uma parte integrante do IPv6.  Em um ambiente IPv6, o AH é considerado um payload fim-a-fim e ele aparece após o hop-by-hop, roteamento e os cabeçalhos de extensão de fragmentação. Os cabeçalho(s) de estensão de opções de destino podem aparecer antes ou depois do cabeçalho AH. A figura abaixo ilustra o posicionamento do cabeçalho AH no modo transporte para um pacote IPv6 típico. A posição dos cabeçalhos de extensão marcados com * é variável, se presente no todo.

 

 

Figure 8 - AH em modo Transporte para o IPv6

 

5.5.      Encapsulating Security Payload (ESP)

 

O ESP é usado para prover a verificação da integridade, autenticação e encriptação para datagramas IP. A proteção replay opcional também é possível. Estes serviços são não orientados à conexão; eles operam em base per-packet. O conjunto de serviços desejados são selecionáveis sobre um estabelecimento AS. Entretanto algumas restrições se aplicam:

 

·        verificação de integridade e autenticação juntas.

·        a proteção Replay é selecionável apenas com a verificação de integridade e autenticação.

·        a proteção Replay pode ser selecionada apenas pelo receptor.

 

A Encriptação é selecionável independentemente dos outros serviços. É altamente recomendado que, se a encriptação está habilitada, então a verificação de integridade e autenticação também devem estar. Se apenas a encriptação é usada, intrusos poderiam forjar pacotes em ataques criptanalíticos. Entretanto, ambos, autenticação (com verificação de integridade) e encriptação sendo opcionais, no mínimo um deles deve estar sempre selecionado. De outra forma não faria sentido usar o ESP.

O ESP é identificado pelo protocolo número 50, assinado pelo IANA. O cabeçalho do protocolo (IPv4, IPv6, ou Extensão) imediatamente precedente ao cabeçalho AH conterá este valor em seu Protocolo (IPv4) ou no campo Next Header (IPv6, Extensão).

O processamento ESP é aplicado apenas para pacotes IP não-fragmentados. Entretanto um pacote IP com ESP aplicado pode ser fragmentado por roteadores intermediários. Neste caso o destino primeiro remonta o pacote e, então, aplica o processamento ESP para ele. Se um pacote IP que aparece ser um fragmento (campo offset não nulo, ou o bit More Fragments habilitado) é inserido no processamento ESP, ele é descartado. Isto previne o ataque overlapping fragment. Se ambos, encriptação e autenticação (com verificação de integridade) estão selecionados, então o receptor primeiro autentica o pacote e, apenas se este passo for bem sucedido, procede com a decriptação. Este modo de operação economiza recursos de computação ao mesmo tempo que reduz a vulnerabilidade para ataques “denial of service”.

 

5.5.1.  Formato do Pacote ESP

 

A informação nesta secção está baseada no rascunho Internet “draft-ietf-ipsec-esp-v2-06.txt”, datado de Março de 1998. O formato do pacote ESP é mais complicado que o do pacote AH packet. Na verdade não existe apenas um cabeçalho ESP, mas também um trailer ESP e dados de autenticação ESP. O payload está localizado (encapsulado) entre o cabeçalho e o trailer, daí o nome do protocolo.

Figura 9 – Cabeçalho e Trailer ESP

 

Os seguintes campos são parte do pacote ESP

 

Campo

Comprimento

Função/Valor

Security Parameter Index (SPI)

32 bits

 

Sequence Number

32 bits

É um contador monotonicamente incrementado

Payload Data

(obrigatório)

Número variável de bytes de dados descritos pelo campo Next Header

Este campo é encriptado com o algoritmo criptográfico selecionado durante o estabelecimento do AS.

Padding

Comprimento variável. É um campo opcional. A maior parte dos algoritmos de encriptação requerem que os dados de entrada devam ser um número integral de blocos. Também, o ciphertext resultante (incluindo os campos Padding, Pad Length e o Next Header) deve terminar em um limite de 4 bytes sendo que, então, o campo Next Header é realinhado.

Ele pode ser usado para esconder o comprimento da mensagem original também. Entretanto, isto poderia impactar adversamente a largura de banda efetiva.

Pad Length

8 bits

Contém o número de bytes do padding precedente. Ele está sempre presente e o valor 0 indica “sem padding”

Next Header

8-bit obrigátórios

Mostra o tipo de dados carregados no payload. Os valores são escolhidos do conjunto de números do protocolo IP definidos pelo IANA.

Authentication Data

Variável e opcional.

Contém o ICV calculado para o pacote ESP do campo SPI para o Next Header, inclusive. Eles estará incluso apenas quando a verificação de integridade e autenticação foi selecionada durante a inicialização AS. As especificações ESP requerem dois algoritmos de autenticação: o HMAC com MD5 e HMAC com SHA-1.

 

5.5.2.     Modos de Uso do ESP

 

Exatamente como o AH, o ESP também pode ser usado nos modos Transporte e Túnel.

 

ESP em Modo Transporte: neste modo o cabeçalho ESP é inserido logo após o cabeçalho IP do datagrama IP original tal qual mostrado na figura abaixo. Se o datagrama já tem cabeçalho(s) IPSec, então o cabeçalho ESP é inserido antes de algum deles. O trailer ESP e a autenticação opcional de dados são anexados ao payload.

 

Figure 10 - ESP em modo Transporte

 

ESP no Modo Túnel: conforme esperado, este modo aplica o princípio do tunelamento. Um novo pacote IP é construído com um novo cabeçalho IP e então o ESP no modo transporte é aplicado. Uma vez que o datagrama original torna-se o payload para o novo pacote ESP, sua proteção é total se ambos, encriptação e autenticação, forem selecionados. Entretanto, o novo cabeçalho IP ainda não é protegido.

 

 

Figure 11 - ESP em modo Tunel.

 

O ESP em modo transporte não provê nem autenticação nem encriptação para o cabeçalho IP. Esta é uma desvantagem, uma vez que falsos pacotes podem ser entregues no processamento ESP. A desvantagem no modo transporte é o processamento do overhead mais lento. No caso do AH, o ESP no modo transporte é usado por hosts, não por gateways. Os Gateways não estão nem mesmo preparados para suportar o modo transporte.

O ESP modo túnel é usado sempre que qualquer uma das pontas for um gateway. Então, entre dois firewalls o modo túnel é sempre usado. Entretanto, gateways são propostos para suportar o modo túnel apenas, frequentemente eles podem também funcionar no modo transporte. Este modo é permitido quando o gateway atua como um host, isto é, em casos quando o tráfego é destinado para ele mesmo. Exemplos são os comandos SNMP ou requisições de eco ICMP. No modo túnel os cabeçalhos de endereços IP externos não precisam ser os mesmos que os cabeçalhos de endereços internos. Por exemplo, dois gateways de segurança podem operar um túnel ESP o qual é usado para autenticar todo o tráfego entre as subredes que eles conectam. Hosts não são requeridos para suportar o modo túnel, mas frequentemente eles o fazem. As vantagens do modo túnel são a total proteção do datagrama IP encapsulado e a possibilidade de uso de endereçamento privados. Entretanto, existe um processamento adicional do overhead associado com este modo.

 

5.5.3.     Considerações do ESP para o IPv6

 

Como o AH, o ESP uma parte integrante do IPv6. Em um ambiente IPv6, o ESP é considerado um payload fim-a-fim e ele aparece após o hop-by-hop, roteamento e os cabeçalhos de extensão de fragmentação. O(s) cabeçalho(s) de extensão de opções de destino poderiam aparecer antes ou depois do cabeçalho AH. A figura abaixo ilustra o posicionamento do cabeçalho AH no modo transporte para um pacote IPv6 típico. A posição dos cabeçalhos de extensão marcados com * é variável, se presente no todo.

 

Figura 12- ESP em modo Transporte para o IPv6

 

5.6.      O Internet Key Exchange Protocol (IKE)

 

O quadro de Internet Key Exchange (IKE), previamente referido como ISAKMP/Oakley, suporta negociação automática das SAs e geração automática e refresh das chaves de criptografia. As habilidades para a performance destas funções com pequenas e não manuais configurações de máquinas é um elemento crítico para qualquer implementação IPSec em escala numa empresa. Antes de descrever os detalhes das trocas das chaves e mensagens, algumas explicações são devidas:

 

Internet Security Association e Key Management Protocol (ISAKMP): é um quadro que define o gerenciamento das SAs (negocia, modifica, deleta) e as chaves, e também define os payloads para a troca de gerações de chaves e autenticação de dados.

 

Oakley: é um protocolo de troca de chaves que pode ser usado com o quadro ISAKMP para trocar e atualizar o material de chaveamento para as SAs.

 

DOI - Domain Of Interpretation: é a definição de um conjunto de protocolos para serem usado com o quadro ISAKMP para um ambiente particular, e um conjunto de definições comuns compartilhadas com aqueles protocolos concernentes à sintaxe dos atributos de SA e conteúdo dos payloads, etc. Em relação ao IPSec, o DOI instancia o ISAKMP para o uso com o IP.

 

Internet Key Exchange (IKE): é um protocolo que usa parte do ISAKMP e parte dos protocolos de troca de chaves do Oakley e do SKEME para prover gerenciamento de chaves e SA para os protocolos IPSec AH/ESP e para o próprio ISAKMP.

 

O ISAKMP requer que todas as trocas de informações devam ser encriptadas e autenticadas de modo que nenhum intruso possa interceptá-las e o material de chaveamento só será trocado entre as partes autenticadas. Isto é exigido porque os procedimentos do ISAKMP tratam com a inicialização das chaves e eles devem ser capazes de rodar sobre enlaces onde é assumido não existir segurança alguma. Desta forma, os protocolos ISAKMP usam operações complexas e de processamento intenso no protocolo IPSec. Adicionalmente, o método ISAKMP foi projetado com o objetivo explícito de prover proteção contra várias exposições de ataques bem conhecidas:

 

·        Denial-of-Service: As mensagens são contruídas com cookies únicos que podem ser usadas para rapidamente identificar ou rejeitar mensagens inválidas sem a necessidade de executar operações criptográficas de processamentos intensos.

·        Man-in-the-Middle: proteção é provida contra ataques comuns tais como deleção de mensagens/alterações de mensagens, reflexões de mensagens de volta para o remetente, repetição de antigas mensagens e redirecionamento de mensagens para destinos não desejados.

·        Perfect Forward Secrecy (PFS): compromisso de chaves passadas de não prover pistas úteis para a quebra de outra chave, mesmo se ocorrido antes ou depois da chave comprometida. Isto é, cada chave criada será derivada sem qualquer dependência de chaves antecessoras.

 

Os seguintes métodos de atuenticação são definidos pelo IKE:

 

·        Chave pre-compartilhada

·        Assinaturas digitais (DSS e RSA)

·        Encriptação pública de chaves (RSA e RSA revisada)

 

A robustez de qualquer solução baseada em criptografia depende muito mais da manutenção da chave secreta do que nos verdadeiros detalhes dos algoritmos de criptografias escolhidos. Desta forma, o IETF IPSec Working Group prescreveu um conjunto de protocolos de troca Oakley extremamente robusto. Ele usa uma aproximação de duas fases:

 

Fase 1: Este conjunto de negociações estabelece um segredo maior do qual todas as chaves de criptografia serão subsequentemente derivadas para a proteção do tráfego de dados do usuário. Na maior parte dos casos, a chave pública de criptografia é usada para estabelecer uma associação de segurança ISAKMP entre sistemas e estabelecer as chaves que serão usadas para proteger as mensagens ISAKMP que irão flui na fase 2 de negociações subsequente. A fase 1 concerne apenas ao estabelecimento da série de proteção para as mensagens ISAKMP elas mesmas, mas ela não estabelece qualquer AS ou chaves de proteção de dados do usuário. Na fase 1, as operações de criptografia têm processamento mais intensivo mas não precisam ser feitas com freqüência, e uma troca simples de fase 1 pode ser usada para suportar múltiplas trocas subsequentes de fase 2. Exemplificando, seria aproximadamente assim: as negociações de fase 1 são executadas uma vez ao dia ou talvez uma vez por semana, enquanto as negociações de fase 2 são executadas uma vez a cada poucos minutos.

 

Phase 2: As trocas de fase 2 são menos complexas, uma vez que elas são usadas apenas após a série de proteção de segurança negociada na fase 1 ter sido ativada. Um conjunto de sistemas de comunicação negociam as SAs e chaves que irão proteger as trocas de dados do usuário. As mensagens ISAKMP na fase 2 são protegidas pela AS ISAKMP gerada na fase 1. As negociações de fase 2 geralmente ocorrem mais frequentemente que a fase 1. Por exemplo, uma aplicação típica das negociações de uma fase 2 é a mudança (refresh) das chaves criptográficas uma vez a cada dois ou três minutos.

 

5.6.1.  Identificadores Permanentes

 

O protocolo IKE também oferece uma solução mesmo quando o IP do host remoto não é conhecido com antecedência. O ISAKMP permite um host remoto identificar-se através de um identificador permanente, tal como um nome ou um endereço eletrônico (e-mail). As trocas de fase 1 do ISAKMP autenticarão então a identidade permanente do host remoto usando uma chave de criptografia pública. Certificados criam uma união entre o identificador permanente e a chave pública. Entretanto, as trocas de mensagens de fase 1 baseada em certificado do ISAKMP podem autenticar a identificação permanente do host remoto. Uma vez que as mensagens ISAKMP são elas próprias carregadas dentro dos datagramas IP, o parceiro ISAKMP (por exemplo, um firewall ou host de destino) pode associar o endereço IP dinâmico do host remote com sua identidade permanente autenticada.

 

5.6.2.     Inicializando as ASs com o IKE

 

Esta sessão delineia como os protocolos ISAKMP/Oakley inicialmente estabelecem as ASs e as trocas de chaves entre dois sistemas que desejam comunicar-se seguramente. As partes envolvidas na comunicação serão chamadas de Host A e Host B. O Host A será o iniciador das trocas de fase do ISAKMP e o Host-B será o respondedor. Se necessário, para maior clareza, subscritos A ou B serão usados para identificar a fonte de vários campos nas trocas de mensagens.

 

Phase 1 – Estabelecendo os SAs ISAKMP:

 

As SAs que protegem as mensagens ISAKMP são estabelecidas elas próprias durante as trocas de fase 1. Considerando o começo do “zero”, isto é, nenhuma chave prévia ou SAs foram negociados entre os host, as trocas de fase 1 usarão a troca de proteção de identidade ISAKMP, também conhecida como modo Oakley principal. Seis mensagens são necessárias para completar uma troca:

·        Mensagens 1 e 2 negociam as características das SAs.

·        Mensagens 1 e 2 fluem explícitas para a troca inicial de fase 1, e elas não estão autenticadas.

·        Mensagens 3 e 4 trocam nonces (valores randômicos) e também executam uma troca Diffie-Hellman para estabelecer uma chave maior (SKEYID). Mensagens 3 e 4 fluem explícitas na troca inicial de fase 1 e elas estão não autenticadas.

·        Mensagens 5 e 6 trocam a informação requerida para a autenticação mútua das identidades das partes. Os payloads das mensagens 5 e 6 estão protegidos por algoritmos de encriptação e estabelecimento do material de chaveamento com as mensagens 1 através da 4.

 

A descrição detalhada das mensagens e informações trocadas da fase 1 segue:

 

·        A fase 1 IKE, Mensagem 1: Uma vez que o Host A é a parte iniciadora, ele constrói uma mensagem de texto claro ISAKMP (Mensagem 1) e a envia para o Host-B. A própria mensagem ISAKMP é carregada como o payload de um pacote UDP que por sua vez é carregado como o payload de um datagrama IP normal (ver figura que segue).

 

 

Figure 13 – Message 1 of na ISAKMP Phase 1 Exchange

 

Os endereços de origem e destino a serem colocados no cabeçalho IP são aqueles do Host A (iniciador) e Host B (respondedor), respectivamente. O cabeçalho UDP identificará que a porta de destino é a 500, a qual foi designada para o uso do protocolo ISAKMP. O payload do pacote UDP carrega a própria mensagem ISAKMP. Na mensagem 1, o Host A, o iniciador, propõe um conjunto de um ou mais séries de proteção para a consideração do Host B, o respondedor. Desta forma, a mensagem ISAKMP contém ao menos os seguinte campo em seu payload:

 

Campo

Descritivo

Cabeçalho Header

O cabeçalho ISAKMP na mensagem 1 indica uma mudança do tipo do modo principal (Main Mode), e conterá a mensagem ID de 0. O Host A designará o campo Responder Cookie para 0 e preencherá com umvalor randômico de sua escolha para o Initiator Cookie, denotado como Cookie ª

Security Association

identifica o Domain of Interpretation (DOI). O campo de Associação de Segurança Uma vez que os hosts rodam protocolos IPSec entre eles mesmos, o DOI é simplismente o IP.

Proposal Payload

A proposta de payload do Host A especificará o protocolo PROTO_ISAKMP e designará o SPI para o valor 0.

Transform Payload

 

especificará o KEY_OAKLEY. Para o KEY_OAKLEY transform, o Host A deve també especificar os atributos relevantes: nameamento, o método de autenticação a ser usado, a função pseudo-randômica a ser usada, e o algoritmo de encriptação a ser usado.

 

·        IKE fase 1, Mensagem 2: Na mensagem 1, o Host A propõe um ou mais séries de proteções a serem usadas para proteger as trocas ISAKMP. O Host B usa a mensagem 2 para indicar qual delas, se alguma, irá suportar. Se o Host A propõe apenas uma única opção, o Host B simplesmente precisa saber que a proposta é aceitável. Os endereços de origem e destino colocados no cabeçalho IP são aqueles do Host B (respondedor) e do Host A (iniciador), respectivamente. O cabeçalho UDP identificará que a porta de destino é a 500, a qual terá sido designada para o uso do protocolo ISAKMP. O payload do pacote UDP carrega a mensagem ISAKMP. O conteúdo da mensagem esta indicado na tabela que segue:

 

Campo

Descritivo

cabeçalho ISAKMP

O ISAKMP na mensagem 2 indicará um tipo de troca (indicate an exchange type of Main Mode) do modo principal e contém uma mensagem ID de 0. O Host B designará ao campo Responder Cookie um valor randômico, o qual será chamado de Cookie B e que copiará do campo Initiator Cookie o valor que foi recebido na mansagem 1 do campo do Cookie. O par de valores <Cookie-A, Cookie-B> servirão como o SPI para a Associação de segurança do ISAKMP.

Security Association

O campo Security Association identifica o Domain of Interpretation (DOI). Uma vez que os hosts rodam o protocolo IPSec entre eles mesmos, o DOI é simplesmente o IP.

Proposal Payload

A proposta de payload do Host B especificará o protocolo PROTO_ISAKMP e designará o SPI para o valor 0.

Transform Payload

O Transform Payload especificará o KEY_OAKLEY. Para o KEY_OAKLEY transform, os atributos que serão aceitos da proposta oferecida pelo Host A são copiados dentro de campos apropriados. Neste ponto, as propriedades do ISAKMP SA têm sido concordadas pelos Hosts A e B. A identidade do ISAKMP SA é designada igual ao par <Cookie-A, Cookie-B>. Entretanto, as identidades das partes reclamantes (reivindicantes) para ser os Host A e Host B não têm sido ainda autoritativamente verificadas.

 

·        IKE Phase 1, Message 3: A terceira mensagem da fase 1 da troca ISAKMP começa com a troca de informação de quais chaves de criptografia serão eventualmente derivadas.

É importante ressaltar que nenhuma das mensagens, elas mesmas, carregam chaves de criptografia verdadeiras. Ao invés, elas carregam entradas (inputs) que serão usadas pelos Hosts A e B para derivar as chaves localmente.

 

O payload ISAKMP será usado para trocar dois tipos de informação:

 

·        Valor público Diffie-Hellman: O valor público “gx” Diffie-Hellman do iniciador. O exponente x no valor público é um valor privado que deve ser mantido secreto.

·        Nonce: o nonce Ni do iniciado. (Nonce é um nome fantasia para o valor que é considerado ser randômico mas concordando com algumas regras matemáticas).

·        ID: se a autenticação com chave pública RSA é usada, os nonces são encriptados com chave pública da outra parte. Igualmente são os IDs de cada parte os quais são então também trocados neste estágio.

·        Se a autenticação com chave pública RSA revisada é usada, os payloads KE e ID são encriptados com a chave secreta que é derivada dos nonces e algoritmos de encriptação concordados para as mensagens 1 e 2, evitando então uma operação de CPU intensiva de chave pública. Certificados podem opcionalmente ser trocados em cada caso de autenticação de chave pública, tão bem quanto um valor hash. Estes valores são carregados na troca de chave, nos campos nonce e ID, respectivamente.

 

Figura 14 – Mensagem 3 de uma troca ISAKMP de fase 1

 

6.         CONSIDERAÇÕES NA ESCOLHA DE UMA VPN

 

Um empresa que pretende adquirir um modelo VPN deve analisar alguns ítens antes de implementá-la para ter certeza de que ela é a melhor solução:

 

 

 

 

 

 

 

7.         OS RFCs E RASCUNHOS DE INTERNET

 

O Internet Engineering Task Force (IETF) codifica suas decisões em documentos denominados "Requests For Comments" que são universalmente chamados pelo acrônimo RFC. Muitos RFCs são padrões nos quais a Internet é baseada.

O nível de padronização que um RFC alcança é determinado não apenas por sua qualidade mas por quanto mais amplamente ele é implementado e testado. Alguns RFCs não são padrões sólidos, entretanto, eles são documentos técnicos de grande valia para a Internet sendo usados como guias para a implementação.

Antes de uma proposta ou nota tornar-se um RFC, ela é colocada como um Rascunho de Internet (I-D Internet Draft) e é discutida em vários fóruns, freqüentemente Working Groups do IETF. Os I-Ds são freqüentemente rascunhos rústicos e, portanto, sujeitos a muitas mudanças. Alguns levam anos de análises e podem ser derrubados ou abandonados num dado momento; outros têm uma ascensão rápida até tornarem-se RFCs. Rascunhos de Internet são os primeiros nomes dados, quando eles se tornam RFCs, o nome I-D desaparece e um número RFC é designado.

Nem todos os RFCs Internet são padrões. Padrões de Internet estão sujeitos a extensas revisões e testes. As letras abaixo listadas designam a situação atual de desenvolvimento dos RFCs:

 

 

De acordo com a VPNC [5], padrões e protocolos IPsec encontram-se em amplas categorias largas. É claro que alguns padrões encontram-se classificados mais do que uma categoria mas, em geral, eles podem ser ajustados em pelo menos uma das seguintes categorias:

 

 

Conforme sua classificação, o VPNC [5] criou listas separadas de I-Ds e RFCs relativos às VPNs que podem ser consultadas na sessão de anexos deste trabalho.

 

Conclusão

 

            O conceito VPN não é novo, entretanto tem apresentado uma grande projeção como opção de comunicação de dados para as corporações nos dias atuais. Sobretudo, as IP-VPNs sobressaem-se neste mercado em função da padronização de seus protocolos, à expansão explosiva da rede Internet e o crescimento dos backbones dos PS/Empresas Carriers. Além da redução dos custos, a IP-VPN leva com maior versatilidade a possibilidade dos serviços convergentes, fomentando aplicações de e-commerce e B2B.

Mesmo com outros protocolos correntes, o enfoque exclusivo deste trabalho no protocolo IPSec deveu-se ao fato de este apresentar um crescente domínio no mercado. Baseado nos padrões desenvolvidos pelo Internet Engineering Task Force (IETF), o IPSec é uma arquitetura aberta que implementa a encriptação e autenticação exigidas para a devida segurança na rede do cliente (confidencialidade, integridade e autenticidade). Além dos conceitos básicos dos protocolos correntes envolvidos numa comunicação IP-VPN (Ipv4), também, algumas considerações foram feitas para o protocolo IP futuro, o Ipv6.

            Como conclusão do trabalho, vale apresentadar as vantagens que uma solução VPN pode oferecer a uma corporação. Dentre as várias razões para a escolha de um acesso remoto VPN o maior argumento de venda é a potencial economia de custos.

 

 

 

            Uma empresa que pretende utilizar-se de circuitos privativos para interconexão de suas LANs necessita de N x (N-1)/2 circuitos privativos alugados, considerando que N seja o número de subredes (LANs) a serem interligados. Para poucas interligações, as linhas privadas alugadas são uma solução viável, entretanto, quando o número de subredes a serem interligadas aumenta, o custo pode tornar-se proibitivo. O gráfico 1 ilustra o crescimento de circuitos em função da quantidade de pontos a serem interligados.

No entanto, se a mesma empresa decidir-se por uma rede VPN, basta que cada subrede interligue-se via dial-up ou acesso em banda larga (cable-modem, ADSL, etc) ao provedor de serviços VPN local mais próximo, isto é, a quantidade de circuitos passa a ser a quantidade de pontos. A partir do provedor, a rede fará os devidos roteamentos de forma a interligar as LANs.

Do exposto anteriormente pode-se vislumbrar a economia resultante da adoção de uma VPN, tais como:

 

-         Redução de custos devido à diminuição da necessidade de encargos de telefonia de longas distâncias uma vez que o cliente pode ter um acesso via discagem local para o ponto mais próximo de acesso do provedor de serviços. Isto pode dramaticamente cortar custos para empresas que tenham muitas sedes internacionais. Um relatório de pesquisa em VPN realizado pela Infonetics Research Inc. estimou uma economia de 20% a 47% dos custos de uma WAN pela substituição das linhas alugadas por conexões VPN.

-         Economia nos custos operacionais das companhias no caso de equipamentos que dão suporte aos usuários remotos. Uma companhia usando VPN pode livrar-se de seus “pools” de modens, servidores de acesso remoto e outros equipamentos WAN e simplesmente usar a sua instalação de Internet existente. Segundo o relatório da Infonetics Research Inc. a economia de acessos remotos VPN podem representar de 60% a 80% dos custos dos acessos remotos dial-up corporativos.

·        A responsabilidade de suporte técnico é em geral assumida pelo provedor do serviço VPN visto que em geral são eles os responsáveis pelo suporte técnico de seus clientes dial-up. Isto ocorre porque o provedor de serviços público possui uma rede compartilhada por uma larga base de clientes o que significa diluição de custos em manutenção e gerenciamento.

 

Além da potencial economia, outros fatores importantes constam para fazer da VPN uma boa opção de serviço: