Upload
ericson-nogueira
View
231
Download
1
Embed Size (px)
DESCRIPTION
Este trabalho apresenta uma introdução ao protocolo de próxima geração, o IPv6 (Protocolo de Internet versão 6). Abordando as principais motivações para a nova versão do protocolo IP, suas características, vantagens e comparações com seu antecessor, o IPv4. Também é mostrado as principais questões relacionadas à segurança do protocolo, as motivações para criação de um padrão que garantisse autenticidade, confidencialidade e integridade das comunicações, o IPSEC (Segurança do Protocolo de Internet). Por último é realizado um experimento científico, analisando o desempenho do IPSEC sobre os protocolos IPv4 e IPv6.
Citation preview
CURSO SUPERIOR DE GESTÃO DE REDES DE COMPUTADORES
INTRODUÇÃO AO PROTOCOLO IPV6 E
ANÁLISE DE DESEMPENHO DO IPSEC SOBRE OS PROTOCOLOS IPV4 E IPV6
ERICSON NOGUEIRA DE ALMEIDA OLGA ABREU DE SANTA INES
SALVADOR – BA
2009
CENTRO UNIVERSITÁRIO DA BAHIA – ESTÁCIO DE SÁ / FIB
CURSO SUPERIOR DE GESTÃO DE REDES DE COMPUTADORES
INTRODUÇÃO AO PROTOCOLO IPV6
E ANÁLISE DE DESEMPENHO DO IPSEC SOBRE OS PROTOCOLOS IPV4
E IPV6
ERICSON NOGUEIRA DE ALMEIDA
OLGA ABREU DE SANTA INES
TRABALHO DE CONCLUSÃO DE CURSO: TCC
Profº. Orientador: Carlos Frederico Jansen Muakad
SALVADOR – BA 2009
ERICSON NOGUEIRA DE ALMEIDA OLGA ABREU DE SANTA INES
INTRODUÇÃO AO PROTOCOLO IPV6 E
ANÁLISE DE DESEMPENHO DO IPSEC SOBRE OS PROTOCOLOS IPV4 E IPV6
TCC como pré-requisito para a integralização do Curso Superior de Gestão de Redes
de Computadores
Apresentada à Banca Examinadora composta pelos Professores
Professor: Carlos Frederio Jansen Muakad Mestrando em Redes de Computadores pela Universidade Salvador - UNIFACS Especialista em Redes de Computadores pela Universidade Salvador - UNIFACS Graduado em Ciências da Computação com ênfase em Análise de Sistemas pela Faculdade Salvador – FACS
Professor: Alexandre Jesus de Souza Graduado em Sistemas da Informação pelo Centro Universitário da Bahia – FIB / ESTÁCIO DE SÁ
SALVADOR – BA 2009
AGRADECIMENTOS Em primeiro lugar, a Deus, a minha eterna gratidão, por me dar saúde e persistência para
chegar até a conclusão do curso, após muito estudo e, sobretudo, por mostrar o melhor
caminho que eu devo percorrer, em nível profissional. Descobri o prazer de se fazer o que se
gosta, dominar assuntos e saber transmitir o conhecimento adquirido.
À família por entender a minha ausência, devido à vida agitada que eu tenho levado nos
últimos anos.
Aos meus amigos pelos incentivos a não desistir. Ao orientador Fred Jansen pela confiança
passada e incentivo em fazer o melhor.
Obrigado a todos que se manifestaram através de elogios, críticas construtivas, sugestões e,
sobretudo, pela quase imposição da conclusão do curso, obrigada ao meu colega e amigo
Edivaldo, pois, ele acreditou no meu potencial e me fez acreditar no sucesso através do
conhecimento.
(Olga Abreu de Santa Ines)
Agradeço primeiramente ao Universo, por proporcionar as oportunidades necessárias para
aquisição do conhecimento e saber que com ele tenho a responsabilidade de evoluir e ajudar
aos outros no mesmo processo.
Agradeço a minha amada mãe Euridice Ventura, por me proporcionar o ambiente necessário
para o meu desenvolvimento, a Vânia Mariano pela orientação espiritual, a José Roberto
Salles pelo apoio e incentivo, a Jario Leonardo pelas sábias palavras, a Alessandro Miguez
pela amizade, a Arinilton Bispo pelas aulas de matemática, a Luiza Glads e a todos os meus
familiares e amigos.
(Ericson Nogueira de Almeida)
SALVADOR – BA 2009
Quando enxergares mais longe, é porque está sobre o ombro de gigantes
(Isaac Newton)
Só aqueles que têm paciência para fazer coisas simples com perfeição é que irão adquirir habilidade para fazer coisas difíceis com facilidade.
(Johann Christoph Friedrich von Schiller)
SALVADOR – BA 2009
RESUMO
Este trabalho apresenta uma introdução ao protocolo de próxima geração, o IPv6 (Protocolo
de Internet versão 6). Abordando as principais motivações para a nova versão do protocolo IP,
suas características, vantagens e comparando com seu antecessor, o IPv4. Também serão
mostradas as principais questões relacionadas à segurança do protocolo, as motivações para
criação de um padrão que garantisse autenticidade, confidencialidade e integridade das
comunicações, o IPSEC (Segurança do Protocolo de Internet). Por último será realizado um
experimento científico, analisando o desempenho do IPSEC sobre os protocolos IPv4 e IPv6.
Palavras-Chaves: IPv4, IPv6, IPSEC, Privacidade
ABSTRACT
This work presents an introduction to the next generation Internet Protocol, the IPv6.
Accosting the main motivations for the new Internet Protocol, its features, improvements and
comparing to its forerunner, the IPv4. Also will be showed the major issues related to the
protocol's security, the reasons to create a new standard to ensure comunication's authenticity,
confidentiality and integrity, the IPSEC (Internet Protocol's Security). Lastly, will be executed
a scientific experimentation, analysing the IPSEC's performance over the IPv4 and IPv6
protocol's.
Key-words: IPv4, IPv6, IPSEC, Privacy
SUMÁRIO
INTRODUÇÃO
1 HISTÓRIA DA INTERNET ............................................................................................... 1
1.1 Protocolo ....................................................................................................................... 3
2 IMPLANTAÇÃO DO IPV6 ................................................................................................ 9
2.1 Cabeçalho ...................................................................................................................... 9
2.2 Endereçamento ............................................................................................................ 14
2.3 Serviços Básicos ......................................................................................................... 16
2.3.1 ICMPv6 .............................................................................................................. 16
2.3.2 Autoconfiguração de Endereços ........................................................................ 17
2.3.3 Fragmentação ..................................................................................................... 17
2.3.4 DNS .................................................................................................................... 18
2.3.5 QoS ..................................................................................................................... 19
2.3.6 Mobilidade ......................................................................................................... 19
3 ROTEAMENTO E GERENCIAMENTO ....................................................................... 20
3.1 Roteamento ................................................................................................................. 20
3.2 Gerenciamento ............................................................................................................ 21
4 COEXISTÊNCIA E TRANSIÇÃO .................................................................................. 21
5 SEGURANÇA .................................................................................................................... 23
6 ARQUITETURA IPSEC ................................................................................................... 25
7 GERENCIAMENTO DE CHAVES ................................................................................. 26
8 FUNCIONAMENTO DO IPSEC ..................................................................................... 27
9 IMPLEMENTAÇÃO DO IPSEC ..................................................................................... 28
10 ASSOCIAÇÃO DE SEGURANÇA ................................................................................ 29
11 PREVENÇÃO DE ATAQUES ....................................................................................... 30
12 AMBIENTE DE TESTES ............................................................................................... 33
12.1 Equipamentos Utilizados e Acessórios ..................................................................... 33
12.2 Descrição do processo de avaliação .......................................................................... 35
12.3 Avaliação dos resultados obtidos .............................................................................. 37
13 CONSIDERAÇÕES FINAIS .......................................................................................... 38
14 TRABALHOS FUTUROS .............................................................................................. 38
15 REFERÊNCIAS BIBLIOGRÁFICAS ........................................................................... 39
LISTA DE FIGURAS
Figura 1 – Mapeamento da Internet .......................................................................................... 2
Figura 2 – Mapa de Conectividade ........................................................................................... 2
Figura 3 – Entidades Responsáveis ........................................................................................... 4
Figura 4 – Mapa de Distribuição ............................................................................................... 4
Figura 5 – Cabeçalho do Ipv6 ................................................................................................... 8
Figura 6 – Cabeçalho do Ipv4 ................................................................................................. 10
Figura 7 – Campos Retirados .................................................................................................. 11
Figura 8 – Campos Modificados Reposicionados ................................................................... 11
Figura 9 - Campos Modificados Reposicionados ................................................................... 12
Figura 10 - Tamanho Cabeçalho do Ipv4 ................................................................................ 12
Figura 11 – Tamanho do Cabeçalho do Ipv6 .......................................................................... 13
Figura 12 – Cabeçalho de Extensão ........................................................................................ 13
Figura 13 – Pacote IPv6 e Cabeçalho de Extensão ................................................................. 14
Figura 14 – Cabeçalho ICMPv6 .............................................................................................. 17
Figura 15 – Pilha Dupla .......................................................................................................... 22
Figura 16 – Tunelamento ........................................................................................................ 23
Figura 17 – Mecanismo Tradução .......................................................................................... 23
Figura 18 – Arquitetura do padrão IPSec ................................................................................ 25
Figura 19 - Modo Transporte IPSec ........................................................................................ 28
Figura 20 – Modo Túnel IPSec ............................................................................................... 28
Figura 21 – Estrutura do pacote IPSec .................................................................................... 30
Figura 22 – Cabeçalho AH ...................................................................................................... 31
Figura 23 – Cabeçalho ESP .................................................................................................... 32
LISTA DE GRÁFICOS
Gráfico 1 - Estoque IANA ........................................................................................................ 6
Gráfico 2 – Demanda das Regionais ......................................................................................... 6
Gráfico 3 – Desempenho da largura de banda ........................................................................ 37
1
INTRODUÇÃO
HISTÓRIA DA INTERNET A Internet surgiu a partir de estratégias militares, com o intuito de manter a sobrevivência das
redes de comunicação e informações na ocorrência de um ataque nuclear. O diretor na época
do laboratório de ciências da computação do Instituto de Tecnologia de Massachusetts (MIT)
e outro colaborador pioneiro da Internet, revelaram um outro lado da história
Outra parte da história está nos grupos de pesquisas financiadas pela Agência de Projetos de
Recursos Avançados (ARPA), onde estes grupos na época precisavam de mais computadores
e maiores para a evolução das pesquisas.
Em vista desse problema a ARPA aumentou a eficiência dos investimentos incentivando os
grupos a dividir os equipamentos distantes entre si. Em contra partida questões técnicas
mostravam a grande possibilidade de interligar os equipamentos. Surgiu então o protótipo
Arpanet, criado no final da década de 60. Tendo sua primeira demonstração em 1972.
No início da década de 80, a Arpanet já atindirá um tamanho muito grande, para atender as
questões de eficiência e segurança militar. A alternativa foi desistir do projeto e fundar sua
própria rede privada, a Milnet. Ainda nos anos 80 a Fundação de Ciência Nacional a Csnet
para comunidades científicas e numa parceria com a IBM, a Bitnet. O conjunto destas redes
levou a Arpanet a denominação de Arpa Internet, mais tarde apenas conhecida pelo nome de
Internet. Com a redução de preços dos computadores a Internet estendeu-se aos ambientes
domésticos, se tornando a grande teia mundial que conhecemos hoje.
Em meados da década de 90 a malha já interligava 100 mil redes, como mostra nas Figuras 1 e 2:
2
Figura 1 - Mapeamento da Internet – Distribuição dos Provedores da Internet
Fonte: Disponível em: < http://www.cheswick.com/ches/map/gallery/isp-ss.gif>, Acesso em: 30 nov. 2009. Figura 2 - Mapa de Conectividade – Produzida pela Universidade da Califórnia San Diego
Fonte: Disponível em: < http://www.sciencedaily.com/images/2007/08/070831144233-large.jpg>, Acesso em 30 nov. de 2009 Com o crescimento da Internet, ficou evidente a grande fragilidade do protocolo IP em
relação à segurança, pois, o mesmo inicialmente não foi projetado para prover esse
mecanismo.
O IETF (Força Tarefa dos Engenheiros da Internet) criou um grupo de trabalho, responsável
por elaborar mecanismos que fornecessem segurança das comunicações do protocolo IP. Este
grupo foi chamado de IP Security Protocol (Protocol de Segurança IP), que estabeleceram
níveis de segurança para comunicações host-a-host, subrede-a-subrede e host-a-subrede.
3
O IP Security é um padrão aberto, formado por um conjunto de protocolos que fornecem
serviços de integridade, autenticação, controle de acesso e confidencialidade para a camada de
rede. Através desta tecnologia é possível implementar VPN (Redes Privadas Virtuais), seus
serviços podem ser utilizados por qualquer protocolo das camadas superiores.
O trabalho consiste em introduzir um estudo sobre a nova versão do protocolo IP, o IPv6. As
motivações para uma nova versão, características, vantagens e melhorias relativo a segurança.
Será abordado principalmente os serviços de segurança providos pelo padrão IPSec, seus
protocolos e formas de implementação.
Por fim será realizado um experimento científico com intuito de medir a performance do
IPSec sobre os protocolos IPv4 e IPv6, no quesito largura de banda.
Protocolo O IP é o protocolo mais importante da Internet. Nele é definido o conjunto de regras
necessárias para as comunicações na rede mundial. Esse conjunto de regras é o equivalente
para os computadores a linguagem dos seres humanos e é chamado de protocolo. O conjunto
dessas redes é hoje conhecido como Internet.
Uma de suas principais diretrizes, diz que: Cada equipamento deve ser identificado de forma única na rede, ou seja, sem possibilidade de
engano.
A identificação do equipamento é realizado através de um número denominado de número IP.
A distribuição desses números deve ser controlada com o intuito de evitar sua duplicação.
Hoje isso é realizado por um conjunto de entidades organizadas numa estrutura hierárquica,
como mostra nas Figuras 3 e 4.
No Brasil este controle é realizado pelo CGI.br (Comitê Gestor da Internet), entidade
responsável pelo gerenciamento dos domínios .br e atribuição de números IP´s.
4
Figura 3 – Entidades responsáveis
Fonte: Disponível em: <http://cgi.br >, Acesso 04 dez de 2009.
Figura 4 - Mapa de distribuição
Fonte: Disponível em: <http://cgi.br >, Acesso 04 dez de 2009. A Internet não foi projetada para ser a grande rede que é hoje. Iniciado como um projeto para
interligar centros de pesquisa relacionados ao Departamento de Defesa (DoD), logo foi aberta
a outros centros e universidades.
Seu crescimento foi muito rápido, desde seu início, devido ao seu bom funcionamento e sua
grande utilidade. Ainda assim, em 1983 já havia conectado em torno de 300 computadores.
A partir do momento que a Internet começou a ser utilizada comercialmente, na década de 90
seu crescimento foi acelerado ainda mais. A partir daí os problemas estruturais tornaram-se
então aparentes. Um desses problemas era o esgotamento do número IP´s. A versão do
protocolo utilizado na época e atualmente ainda é a versão 4.
5
Cada número IP é representado nos equipamentos por uma cadeia de 32 bits (números
binários). Significando que existem 4.294.967.296 endereços IP para utilização.
Aparentemente uma quantidade de endereços bem grande. Porém, o rápido crescimento da
rede e a forma como eles foram distribuídos no inicio, colaborou para o seu rápido
esgotamento. Os endereços foram divididos em classes, sendo eles:
Classe A: Disponibilizando 128 blocos de IP´s com 16 milhões de endereços cada um.
Atendendo 128 redes.
Classe B: Possuía 16 mil blocos de IP´s com 65 mil endereços cada um.
Classe C: Possuía 2 milhões de blocos IP´s com 256 endereços cada um.
Iniciando-se nessa época, o projeto de um novo protocolo para a Internet, chamado de IPng
(Protocolo de Internet de próxima geração), resultando no atual IPv6 (Protocolo de Internet
versão 6).
Foi também elaborados algumas soluções paliativas, com o intuito de manter a Internet em
funcionamento e diminuindo a demanda por números IP´s:
1 – CIDR
2 – RFC 1918
3 – NAT
4 – DHCP
Segundo o CGI.br, baseados na demanda anual por novos IP´s e na taxa de crescimento dessa
demanda, previsões apontam para um esgotamento dos recursos da IANA entre 2010 e 2012,
como mostra nos Gráficos 1 e 2.
O estoque dos registros regionais deve durar 2 ou 3 anos mais.
6
Gráfico
Gráfico 1 – Estoque da IANA - Fonte: <http://cgi.br>, Acesso 04 dez de 2009
Gráfico
Gráfico 2 – Demanda Regionais - Fonte: <http://cgi.br>, Acesso 04 dez de 2009.
Mesmo que um novo projeto do protocolo IP não fosse iniciado a Internet continuaria
funcionando, porém, ela teria muita dificuldade de crescer, seu custo seria elevado e novas
aplicações não seriam criadas. O IPv6 é a solução definitiva para o crescimento da Internet.
O IPv6 foi desenvolvido para solucionar definitivamente essa questão, e também traz uma
série de avanços. As medidas paliativas adotadas no início da década de 90 foram bastante
eficazes e permitiram que houvesse tempo suficiente para elaboração de um novo protocolo
para a Internet.
7
A versão 6 do protocolo IP, foi desenvolvido ao longo de 10 anos, no seu projeto foi mantido
os princípios do seu antecessor (IPv4) e buscando suprir todas as suas carências.
A principal diferença do IPv6 em relação ao seu antecessor, é a maior capacidade de
endereçamentos, aumentando de uma cadeia de 32 bits para 128. Com isso toda necessidade
atual e futura da Internet será suprida.
O espaço total de números IP´s fornecido pelo IPv6 é de
340.282.366.920.938.463.463.374.607.431.768.211.456 de endereços ou 2128. Isso representa
79 trilhões de trilhões de vezes a quantidade de endereços disponíveis no IPv4.
Além dessa grande capacidade de endereçamento o novo formato ainda permitirá:
1 – Arquitetura hierárquica, possibilitando um encaminhamento mais eficiente dos pacotes;
2 – Distribuição de IP´s fixos e válidos para conexões DSL, Modems a cabo e telefones
móveis;
3 – Fornecer endereços válidos na Internet para todos os dispositivos conectados a ela;
4 – Utilizar arquitetura fim-a-fim;
5 – Eliminar problemas associados ao NAT.
Outra modificação importante em relação ao seu antecessor é o formato do cabeçalho.
Na nova versão houve uma simplificação, tornando-a mais eficiente e reduzindo o
processamento dos roteadores de acordo com a Figura 5.
8
Figura 5 – Cabeçalho IPv6
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.
Questões relacionadas a segurança também foram revistas . O suporte ao padrão IPSEC
passou a ser obrigatório, fazendo parte do protocolo IPv6. Permitindo aos administradores de
rede ativar o IPSEC em todos os dispositivos da rede, tornando-se mais segura. Houve
também modificações no protocolo ICMP (Protocolo de Mensagens para Controle da
Internet), tornando-o mais eficaz. Isso permitiu a inclusão de novas funcionalidades ao IPv6 e
aprimoramentos de outros:
1 – Mecanismos de auto-configuração de endereços;
2 – Descoberta da vizinhança;
3 – Gerenciamento de grupos multicast.
Outras vantagens apresentadas pelo IPv6, está no aprimoramento a conexões móveis, onde
permite a um usuário se deslocar de uma rede para outra sem necessidade de alterar seu
endereço. Na questão fragmentação de pacotes, o IPv6 realiza apenas na origem, com intuito
de agilizar o roteamento. Diferente do seu antecessor, onde cada pacote de dados pode ser
fragmentado por diversas vezes dependendo do desenho da rede.
9
IMPLANTAÇÃO DO IPv6
A implantação do IPv6 não será algo rápido, também não haverá uma data definida para a
migração do novo protocolo. A migração do IPv4 para o IPv6 acontecerá de forma gradual,
com IPv4 ainda em funcionamento. Desta forma deverá haver um período de coexistência
entre os dois protocolos. Neste período manter a compatibilidade entre as versões do
protocolo é essencial para o sucesso da transição para o IPv6.
Isto se dará com a utilização de mecanismos de transição, como tunelamento, tradução e
principalmente pilha dupla. Outro fator facilitador da transição entre os protocolos IP, é o fato
de já ser possível encontrar diversos aplicativos adaptados ao IPv6 e os principais sistemas
operacionais lançados nos últimos anos já suportarem o novo protocolo.
Exemplos:
1 - Microsoft Windows XP SP2 e SP3, Vista, 2003 Server, 2008 Server e CE;
2 - Linux, no Kernel 2.1.8 com algumas restrições, e a partir da versão 2.2.X um suporte mais
completo;
3 – MAC OS X, desde a versão 10.2 Jaguar;
4 – BSD, o FreeBSD apresenta suporte desde a versão 4.0, o NETBSD desde dezembro de
2000 na versão 1.5, no OpenBSD a versão 2.7 já apresentava suporte.
Seguindo a mesma tendência dos aplicativos, os principais modelos de equipamentos de rede
também estão aptos a tratar o novo protocolo. Tão importante quanto nos aplicativos e
sistemas operacionais, o suporte em roteadores e switches é necessário para tratar o tamanho
do endereçamento IPv6, impacto na tabela de rotas, mudanças no protocolo de roteamento.
Cabeçalho
A composição do cabeçalho IPv4 é formado por 12 campos fixos, podendo conter ou não
opções, fazendo com que seu tamanho possa variar entre 20 e 60 bytes como mostra a Figura
6.
10
Figura 6 – Cabeçalho IPv4
Fonte: Disponível em: <http://cgi.br>, Acesso 04 dez de 2009.
Nestes campos contém informações sobre:
1 – Versão do protocolo;
2 – Tamanho do cabeçalho e dos dados;
3 – Fragmentação;
4 – Tipos de dados;
5 – Tempo de vida do pacote;
6 – Protocolo da camada seguinte;
7 – Integridade dos dados;
8 – Origem e o destino do pacote.
Com relação ao cabeçalho IPv6, seis campos do IPv4 foram removidos, pois suas funções não
são mais necessárias ou são implementadas pelos cabeçalhos de extensão, como mostra a
Figura 7.
11
Figura 7 – Campos retirados
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.
Quatro campos tiveram alterações em seus nomes e suas posições modificadas, para facilitar o
processamento por parte dos roteadores, de acordo como a Figura 8.
Figura 8 – Campos modificados reposicionados
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.
O campo identificador de fluxo foi acrescentado, adicionando um mecanismo de suporte ao
QoS (Qualidade de Serviços), como mostra a Figura 9.
12
Figura 9 – Campos modificados reposicionados
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.
Três campos foram mantidos, alterando apenas o tamanho do espaço para o endereçamento,
passando a ter 128 bits.
Tais mudanças fizeram com que o cabeçalho IPv6 fosse mais flexível, prevendo sua extensão
por meio de cabeçalhos adicionais, tornou-se também mais simples, com apenas oito campos
e tendo um tamanho fixo de 40 bytes.
Mesmo com um espaço para endereçamento de 128 bits que é quatro vezes maior que seu
antecessor (32 bits), o tamanho total do cabeçalho IPv6 é apenas duas vezes maior que a
versão anterior, como mostra as Figuras 10 e 11.
Figura 10 – Tamanho do cabeçalho do IPv4
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.
13
Figura 11 – Tamanho do cabeçalho do IPv6
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.
Outra mudança importante da estrutura do cabeçalho IPv6 é que, diferentemente do IPv4 que
inclui em seu cabeçalho todas as opções adicionais, agora essas informações são tratadas por
meios de cabeçalhos de extensão. Eles estão localizados entre o cabeçalho base e o cabeçalho
da camada de transporte, de acordo com a Figura 12 e 13.
Figura 12 – Cabeçalho de Extensão
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.
14
Figura 13 - Pacote IPv6 e Cabeçalho Extensão
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.
Endereçamento
No IPv4, o campo do cabeçalho reservado para o endereçamento possui um espaço de 32 bits,
isto possibilita identificar pouco mais de 4 bilhões de equipamentos na Internet.
No IPv6, seu cabeçalho possui um espaço reservado para endereçamento de 128 bits,
permitindo gerar 3,4 X 1038 endereços distintos, equivalente a 56 octilhões (5,6 X 1028) de
endereços por ser humano na terra.
Os 32 bits dos endereços IPv4 são, divididos em quatro grupos de 8 bits cada, separados por
“.”, escritos no sistema de dígitos decimais.
Ex: 192.168.100.1
A representação dos endereços IPv6, divide o endereço em oito grupos de 16 bits, separados
por “:”, escritos no sistema de dígitos hexadecimais.
Ex: 2001:0DB8:AD1F:25E2:DFA1:F0C4:5311:84C1
15
Na representação de um endereço IPv6, é permitido utilizar caracteres maiúsculos e
minúsculos, abreviações como a omissão de zeros à esquerda e representar os zeros contínuos
por “::”
Ex: 2001:0db8:0000:130F:0000:0000:087C:140b
2001:0db8:0:130F::087C:140b
A representação dos prefixos de rede continua sendo escrito do mesmo modo que no IPv4,
usando a notação CIDR (Roteamento Inter-Dominios sem classe). Esta notação é expressa da
forma “endereço/tamanho do prefixo”, onde “tamanho do prefixo” compreende um valor
decimal que especifica a quantidade de bits a esquerda do endereço relativo ao prefixo.
No IPv6 foram definidos três tipos de endereços, são eles:
Unicast – identificam apenas uma única interface de rede, ou seja, o pacote é entregue apenas
a uma única interface.
Existem diversos tipos de endereços Unicast:
1 – Global Unicast – equivalente ao endereço público IPv4, este endereço é globalmente
roteável e acessível na Internet;
2 – Link-Local – especificados automaticamente, são válidos apenas dentro do mesmo enlace
e utilizam o prefixo “/64”, onde 64 bits são reservados para identificação da interface;
3 – Unique-Local – endereços globalmente únicos utilizados apenas para comunicações
locais, geralmente dentro de um mesmo enlace, não devendo ser roteáveis na Internet;
4 – Loopback – equivalente ao endereço IPv4 127.0.0.1, utilizado para identificar a própria
interface, 0:0:0:0:0:0:0:0:1 ou ::1;
5 - IPv4 mapeado em IPv6 – possui o formato 0:0:0:0:FFFF:WXYZ ou ::FFFF:WXYZ,
WXYZ é um endereço IPv4 convertido em hexadecimal, é usado para representar um
endereço IPv4 como um endereço IPv6 de 128 bits;
16
6 – Unspecified – endereço especial 0:0:0:0:0:0:0:0 ou ::0 é utilizado para indicar a ausência
de endereço.
Multicast – identifica um grupo de interfaces pertencentes a diferentes nós, sendo que um
pacote destinado a um endereço multicast é enviado para todas as interfaces do grupo.
Diferente do IPv4, onde o suporte a multicast é opcional já que foi introduzido apenas como
uma extensão ao protocolo, no IPv6 todos os nós devem ter suporte ao multicast.
Anycast – utilizado para identificar um grupo de interfaces pertencentes a nós diferentes. Um
pacote destinado a um endereço anycast é enviado apenas para a interface deste grupo mais
próxima da origem.
Da mesma forma que no IPv4, os endereços IPv6 são atribuídos as interfaces físicas e não aos
nós. É possível atribuir a uma única interface múltiplos endereços, independentemente do seu
tipo.
Serviços básicos
ICMPv6
O ICMPv6 para o IPv6 possui basicamente as mesmas funções do ICMP, para o IPv4. Sua
principal utilização é informar características da rede, realizar diagnóstico, relatar erros no
processamento do pacote e etc. As informações são obtidas através da troca de mensagens
ICMPv6, que estão classificadas como:
1 – Mensagens de erros;
2 – Mensagens de informações.
O ICMPv6 é identificado no cabeçalho base IPv6, no campo próximo cabeçalho pelo valor
58. Sua estrutura é simples e igual nos dois tipos de mensagens, de acordo com a Figura 14.
17
Figura 14 – Cabeçalho ICMPv6
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.
O ICMPv6 apresenta uma quantidade maior de mensagens que seu antecessor. Isto se dá,
porque além das funções básicas, o ICMPv6 passa a incorporar as funções de protocolos
como o ARP/RARP (Protocolo de resolução de endereços – Protocolo de resolução de
endereços reversos) e IGMP (Protocolo de Gerenciamento de Grupos na Internet). Sendo
essencial em serviços do IPv6 como:
1 – Descoberta de vizinhança;
2 - Gerenciamento de grupos multicast;
3 – Mobilidade IPv6;
4 – Descoberta do Path MTU (Unidade de Transmissão Máxima).
Auto-configuração de endereços
Autoconfiguração Stateless - mecanismo que permite aos nós a configuração automática dos
endereços, sem a necessidade de servidores DHCP.
Autoconfiguração Stateful - é uma técnica alternativa a stateless, onde é necessário a
utilização de servidores que informem aos hosts, os dados a serem utilizados na obtenção dos
endereços, além de outras configurações da rede. Neste caso o stateful baseia-se no uso de
protocolos como o DHCPv6, que possibilita a distribuição dinâmica de endereços IP.
Fragmentação
O processo de fragmentação permite o envio de pacotes maiores que o limite de tráfego
estabelecido num enlace. Na transmissão de um pacote, este certamente passará por vários
enlaces até o destino. Possivelmente cada um desses enlaces possuirá uma limitação distinta
18
em relação ao tamanho máximo do pacote que passará por ele. Essa limitação é chamada de
MTU (Unidade de Transmissão Máxima), e é definida de acordo com o protocolo de enlace
utilizado.
Com o IPv4, cada roteador pode fragmentar os pacotes durante o percurso. Dependendo do
desenho da rede, um pacote IPv4 pode ser fragmentado mais de uma vez durante seu trajeto,
sendo reagrupado no destino.
No IPv6, o processo de fragmentação dos pacotes se inicia utilizando o protocolo Path MTU
Discovery, que descobre de forma dinâmica qual o tamanho máximo permitido ao pacote,
identificando previamente os MTU´s de cada enlace no caminho até o destino. Deste modo,
os nós IPv6 realizam a fragmentação dos pacotes apenas na origem, reduzindo o overhead do
cálculo dos cabeçalhos.
DNS
No sistema de nomes de domínios (DNS), utilizado para resolução de nomes de domínios em
endereços IP e vice-versa, sofreu mudanças para o suporte a nós que trabalham com a versão
6 do protocolo IP.
Embora os dados contidos na árvore DNS sejam independentes da versão IP, algumas
mudanças foram necessárias para que os servidores pudessem trabalhar com consultas a
endereços IPv6.
Essas mudanças estão definidas na RFC3596, e basicamente incluem:
1 – Registros AAAA ou quad-A, que traduz nomes em endereços IPv6.
2 – Nova representação textual para registros PTR, que traduz endereços IPv6 em nomes, o
domínio IP6.arpa.
19
QoS
Em princípio o protocolo IP trata todos os pacotes da mesma forma, sem nenhuma preferência
no momento de encaminhá-los. Porém, algumas aplicações necessitam que seus pacotes
sejam transportados com a garantia de que haja o mínimo de atraso, latência ou perda de
pacotes.
No IPv6 foram adicionados mecanismos que visam tratar essa questão da garantia. E é muito
importante garantir a qualidade do tráfego de determinadas aplicações como:
1 – VoIP (Voz sobre IP);
2 – Distribuição de vídeos de alta qualidade;
3 – Jogos online.
Para isso, é aplicado a Internet o conceito de QoS (Qualidade de Serviços). O IPv6 busca
solucionar esta questão através da implementação de especificações que priorizam o fluxo de
determinados pacotes. Para isso, foram designados dois campos do cabeçalho IPv6, o Classe
de Tráfego e o Indicador de Fluxo.
Mobilidade
O suporte a mobilidade no IPv6 permite que um dispositivo móvel se desloque de uma rede
para outra sem necessidade de alterar seu endereço de origem. Desta forma, quando este
dispositivo estiver fora de sua rede, os pacotes continuarão sendo encaminhados a ele usando
seu endereço de origem. Isso faz com que a movimentação entre as redes fique invisível para
os protocolos das camadas superiores.
Diferente do seu antecessor, os mecanismos necessários para garantir essa mobilidade já vêm
incorporados ao protocolo IPv6.
20
ROTEAMENTO E GERENCIAMENTO
Roteamento
Os protocolos de roteamento são responsáveis por manter atualizadas as informações
utilizadas pelos roteadores para encontrar o melhor caminho disponível no encaminhamento
dos pacotes até o seu destino.
O processo de roteamento de pacotes consiste em encaminhá-los através de diversos
roteadores até alcançar seu destino final. Estes roteadores buscam em suas tabelas de
roteamento o prefixo correspondente ao endereço de destino, e a partir desta informação,
determinam qual o melhor caminho a percorrer.
Os protocolos de roteamento são divididos em dois tipos:
1 – Internos – distribuem as informações dos roteadores dentro de Sistemas Autônomos (AS)
e são chamados de IGP (Protocolos de Gateway Interno).
2 – Externos – distribuem as informações entre AS distintos e são chamados de EGP
(Protocolos de Gateway Externo).
Assim como os protocolos de roteamento interno utilizados no IPv4, o RIP, OSPF, tiveram
novas versões para suportarem o IPv6.
1 – RIPng – baseado no algoritmo distance-vector (vetor de distância) conhecido como
Bellman-Ford. Apresenta como uma das principais mudanças em seu funcionamento o
suporte aos prefixos e ao tamanho dos endereços IPv6.
2 – OSPFv3 – é um protocolo de roteamento interno do tipo link-state (estado de link), onde
através do processo de flooding, os roteadores constroem um mapa da rede, utilizado para
definir as rotas mais curtas.
21
Como mudanças em relação ao seu antecessor estão:
1 – Criação de novos tipos de LSA´s;
2 - Retirada da autenticação, contando apenas com a autenticação do IPv6;
3 – Num único enlace pode ter múltiplas instâncias do OSPFv3 sendo executadas;
4 – Pacotes OSPF usam um endereço link-local como endereço de origem;
5 - No IPv4, o OSPF conecta interfaces por sub-rede, no OSPFv3 isso é feito por enlace.
Nos protocolos de roteamento externo, o BGP (Protocolo de Gateway de Borda) é o mais
utilizado. Como não há uma versão de BGP específica para o IPv6, a nova versão do
protocolo IP utiliza as extensões multiprotocolo do BGP. Estas extensões suportam as
mesmas funcionalidades que o BGP para o IPv4 e trabalham com as duas famílias de
endereços.
Gerenciamento
Assim como no IPv4 o gerenciamento da rede é baseado no protocolo SNMP (Protocolo de
Gerenciamento de Rede Simples), que é a principal ferramenta. A troca de informações
SNMP pode ser feita tanto em conexões IPv4 quanto IPv6, mesmo que essas informações
sejam sobre IPv6. Porém já existem diversos equipamentos com suporte a SNMP sobre IPv6
que podem ser monitorados em redes puramente IPv6.
COEXISTÊNCIA E TRANSIÇÃO
Atualmente toda estrutura da Internet está baseada na versão 4 do protocolo IP. Deste modo
uma troca imediata de protocolo torna-se inviável, dado o tamanho e a proporção desta rede.
Com isso para o sucesso da implantação do IPv6, é necessário que ela seja realizada de forma
gradual e transparente.
Na fase inicial desta implantação, um período de coexistência entre os dois protocolos
deverão existir, em que redes IPv4 precisarão comunicar-se com redes IPv6 e vice-versa.
Algumas técnicas para viabilizar essa transição foram elaboradas, e podem ser classificadas
nas seguintes categorias:
22
1 – Pilha dupla – provê suporte a ambos os protocolos no mesmo dispositivo. Permitindo aos
hosts e roteadores o envio e recebimento de pacotes tanto para o IPv4 quanto para o Ipv6,
como mostra a Figura 15.
Figura 15 – Pilha Dupla
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009
2 – Tunelamento – permite o tráfego de pacotes IPv6 sobre estruturas IPv4 ou inverso. A
criação de túneis permite transmitir pacotes IPv6 através da infra-estutura IPv4 existente, sem
a necessidade de realizar qualquer mudança nos mecanismos de roteamento, encapsulamento
de pacotes IPv6 em pacotes Ipv4, como mostra Figura 16.
Os túneis podem ser classificados como:
Roteador-a-Roteador, Host-a-Roteador e Host-a-Host.
23
Figura 16 – Tunelamento IPv4
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009
3 – Tradução – permite a comunicação entre nós apenas IPv6 com nós apenas IPv4 e vice-
versa, como mostra a Figura 17. A tradução pode atuar de diversas formas e em camadas
distintas, traduzindo cabeçalhos IPv4 em cabeçalhos IPv6 e vice-versa, realizando conversão
de endereços, de API´s (Interface de Programação de Aplicação) de programação ou atuando
na troca de tráfego TCP ou UDP.
Figura 17 – Mecanismo Tradução
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009
SEGURANÇA Destinado inicialmente a interligar apenas algumas redes de pesquisas acadêmicas, o projeto
inicial do IPv4 não apresentava muita preocupação com questões de segurança das
informações transmitidas.
No entanto com o crescimento da Internet, diversas ameaças à segurança da rede e ao tráfego
de dados surgiram, prejudicando sua utilização em operações bancárias, e em transações
comerciais.
Desta forma, tornou-se necessário acrescentar novos mecanismos ao protocolo original, que
garantissem a confiabilidade de tais serviços.
24
Entre esses novos mecanismos, destaca-se o IPSEC (Protocolo de Internet Seguro), um
protocolo que implementa criptografia e autenticação de pacotes na camada de rede,
fornecendo uma solução de segurança fim-a-fim, garantindo a integridade, confidencialidade
e autenticidade dos dados.
O IPSEC foi criado originalmente para ser usado em conjunto com o IPv4. Com a
implantação do IPv6 o uso do IPSEC tornou-se mais fácil. Embora seu funcionamento seja
praticamente o mesmo nas duas versões do protocolo IP.
No IPv6, não há necessidade de se utilizar NAT, permitindo que o IPSEC funcione sem
restrições. Diferente do IPv4, onde o mecanismo de autenticação do IPSEC não pode ser
utilizado com conexões que estejam atrás de NAT (Tradutor de Endereços de Rede), que
oculta o endereço IP original do emissor de pacotes impedindo sua identificação. Os
mecanismos de autenticação e encapsulamento do IPSEC estão integrados no IPv6. Seu
suporte é obrigatório em todos os nós o que não ocorre no IPv4.
Dessa forma, através do IPSEC o IPv6 é capaz de garantir que a mensagem recebida não
tenha sido adulterada, a identidade do remetente, que a mensagem não seja entregue diversas
vezes, a confidencialidade da mensagem, cifrando seu conteúdo.
Embora, o suporte ao IPSEC seja obrigatório, para sua efetiva utilização, ele deve ser
habilitado em cada nó pelo administrador de rede ou caberá a cada aplicação definir a
utilização ou não do IPSEC.
O IPSEC é um conjunto de protocolos de segurança, visto que para realizar suas funções ele
faz uso de recursos independentes.
Ele utiliza dois cabeçalhos de extensão do IPv6: O AH (Cabeçalho de Autenticação), para
garantir a autenticação, e o ESP (Encapsulamento Seguro da Carga de dados) para garantir
confidencialidade dos pacotes transmitidos.
Além de gerar e gerenciar chaves de segurança a partir do protocolo IKE (Troca de Chaves de
Internet).
25
ARQUITETURA IPSec O padrão IPSEC foi elaborado para prover serviços de segurança de alta qualidade, baseados
em cifragem para camada de rede e/ou camadas superiores. Nesses serviços estão inclusos
integridade, controle de acesso não orientado a conexão, autenticação da origem dos dados e
confidencialidade.
A implementação desses serviços é realizada através da utilização conjunta dos protocolos de
segurança de tráfego, de autenticação dos cabeçalhos (AH – Autenticação de Cabeçalho), de
encapsulamento seguro do payload (ESP – Encapsulamento Seguro do Conteúdo dos dados) e
procedimentos e padrões de gerência de chaves.
Por ser um padrão aberto da IETF muitos fabricantes de equipamentos e desenvolvedores de
sistemas, vem adotando o IPSEC, principalmente por possibilitar a inclusão de algoritmos de
autenticação e criptografia. Na RFC 2411 – IP Security Roadmap aborda as diretrizes para se
produzir, organizar e inter-relacionar entre outros documentos que descrevem os protocolos
do IPSEC. Na figura 18 é mostrada a organização do IPSec segundo RFC-2411 do IETF.
Figura 18 - Arquitetura do padrão IPSEC
Fonte: Disponível em: < http://www.rnp.br/newsgen/9907/IPSec-arq.gif>, Acesso em 25 nov. de 2009. Na figura acima, é especificado algoritmos de autenticação e criptografia definidas pelo
protocolo ESP, que está especificado na RFC 2406 – IP Encapsulating Security Payload (IP
Encapsulamento Seguro da Carga de dados) e de autenticação definidas pelo protocolo AH,
especificado na RFC 2402 – IP Autentication Header (IP Autenticação de Cabeçalhos).
26
Protocolos AH e ESP Na figura 1, pode ser mostrado que os protocolos AH e ESP fazem parte da arquitetura básica
do padrão IPSEC, sendo que por motivo de garantir a interoperabilidade, estes protocolos
definem que qualquer implementação do padrão IPSEC suporte alguns algoritmos pré-
definidos. No quesito autenticação de cabeçalho, os algoritmos obrigatórios são os seguintes:
1 - HMAC-MD5, RFC-2403 – The use of HMAC – MD5 within ESP and AH (O uso do
HMAC-MD5 com ESP e AH);
2 - HMAC-SHA-1, RFC-2404 – The use of HMAC-SHA-1 within ESP and AH (O uso do
HMAC-SHA-1 com ESP e AH).
E no quesito Encapsulamento Seguro do conteúdo dos dados, além dos relacionados acima, os outros são: 1 - DES-CBC, RFC-2405-ESP DES-CBC Cipher Algorithm With Explicit IV (Algoritmo de
criptografia com explicito IV);
2 - Null Authentication Algorithm (Algoritmo de autenticação nulo); 3 - Null Encryption Algorithm (Algoritmo de criptografia nulo). Há também suporte de compressão IP, especificados na RFC-2393 IP Payload Compression
Protocol (Protocolo de Compressão do conteúdo dos dados IP).
GERENCIAMENTO DE CHAVES Dentro dos serviços de segurança do padrão IPSEC, há o compartilhamento de chaves, que
são usados na autenticação, integridade e criptografia. Porém, nas especificações do IPSEC
existe um conjunto separado para o gerenciamento de chaves, suportando distribuição
automática ou manual das chaves. Neste conjunto foram elaborados procedimentos com base
em chaves públicas, que estão especificados nas seguintes RFC´s:
RFC-2408 – Internet Security Association and Key Management Protocol – ISAKMP
(Protocolo de gerenciamento de chaves e associações de segurança de Internet);
RFC-2409 – The Internet Key Exchange – IKE (Troca de chaves Internet);
27
RFC-2412 – The OAKLEY Key Determination Protocol (Protocolo de determinação de
chave Oakley).
Além dos padrões de chaves públicas citadas acima, as especificações do IPSEC permitem a
inclusão de outros protocolos para gerenciamento de chaves públicas, por exemplo, SKIP
(Gerenciamento de Chaves Simples para IP).
FUNCIONAMENTO As operações do protocolo IPSEC, são realizadas em gateway´s ou em host´s, com políticas
de segurança estabelecidas e armazenadas em banco de dados (SPD – Banco de dados de
Políticas de Segurança). Mantidos por administradores, usuários ou por aplicações executando
dentro de certos limites. Estas políticas podem ser utilizadas para proteger uma ou mais
conexões entre um par de hosts, entre dois gateways ou entre um host e um gateway.
A seleção dos pacotes IP é realizada através de três formas definidas por seletores. Eles
utilizam o pacote IP e as informações do cabeçalho da camada de transporte, efetuando uma
comparação com entradas no banco de dados SPD. Baseado nas premissas estabelecidas, cada
pacote será submetido aos serviços do conjunto de protocolos ou desprezado ou então será
descartado.
Como já visto que o IPSec é composto pelos protocolos AH e ESP, tanto o AH quanto o
ESP implementam controle de acesso baseado em chaves distribuídas e na gerência dos
fluxos de tráfego.
Podem ser implementados separados ou em associação, disponibilizando um conjunto de
serviços para redes baseados no protocolo IP, tanto no IPv4 quanto no IPv6.
O IPSec pode operar em dois modos:
1 – Modo de transporte – protege apenas os protocolos das camadas superiores, pois o
cabeçalho de segurança aparece imediatamente após o cabeçalho IP e antes dos cabeçalhos
das camadas superiores, como mostra a Figura 19;
28
Figura 19 – Modo Transporte IPSec
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.
2 - Modo Túnel – protege todo o pacote IP, encapsulando-o dentro de outro pacote IP,
deixando visível apenas o cabeçalho IP externo, como mostra a Figura 20.
Figura 20 – Modo Túnel IPSec
Fonte: Disponível em:< http://cgi.br>, Acesso 04 dez de 2009.
Há condição de se criar um túnel único de criptografia para transporte de dados entre dois
gateways ou túneis separados para cada conexão entre os pares numa comunicação através
desses gateways.
IMPLEMENTAÇÃO Há três formas de implementar o padrão IPSEC: Uma é implementando o IPSec na pilha nativa IP, aplicando-se tanto em hosts como em
gateways, sendo exigido para isso acesso ao código fonte do protocolo IP. Uma outra forma,
denominada de Bump-in-the-stack (BITS), é utilizado em hosts onde o padrão é
implementado sob protocolo IP, entre ele e o driver de rede local. Nesta implementação não
se faz necessário acesso ao código fonte. A última forma de se implementar o padrão é
conhecida como Bump-in-the-wire (BITW), neste caso é utilizado uma placa processadora de
criptografias tanto nos hosts como no gateways.
29
ASSOCIAÇÃO DE SEGURANÇA Um dos conceitos fundamentais do padrão IPSEC é o AS (Associação de Segurança). Onde,
uma conexão torna viável o tráfego de serviços seguros. A garantia desses serviços é dada
através do uso dos protocolos AH e ESP ou os dois. No caso de utilizar o AH e o ESP em
conjunto, deverá ser efetuada a associação de segurança para cada protocolo, ou seja, mais de
uma associação deverá ser definida.
Uma AS (Associação de Segurança) é definida de forma única através de três parâmetros: SPI (Índice de Parâmetro de Segurança), o IP de destino e o identificador do protocolo de
segurança utilizado.
No parâmetro SPI, que identifica a AS, definido durante a negociação que é efetuada antes do
estabelecimento da Associação de Segurança.
A difusão do IP de destino pode ser unicast, broadcast ou ainda multicast, porém para
definição dos mecanismos de gerência de AS, o padrão IPSEC assume um endereço unicast,
estendendo as definições para casos de broadcast e multicast.
Há um número de identificação que especifica o protocolo utilizado, sendo o número 51 para
o AH e o 50 para o ESP.
Uma associação de segurança pode ser estabelecida de duas formas: modo transporte e modo
túnel.
No modo transporte uma associação é estabelecida entre dois hosts. Na versão 4 do protocolo
IP, o cabeçalho do protocolo de segurança é inserido entre o cabeçalho IP e os cabeçalhos das
camadas superiores como TCP ou UDP. Porém, na versão 6 do protocolo IP, o cabeçalho do
protocolo de segurança é inserido após o cabeçalho básico e dos cabeçalhos de extensão fim-
a-fim, e antes dos protocolos das camadas superiores.
Na utilização do ESP, uma associação de segurança em modo transporte, provê segurança
apenas para os protocolos de camadas superiores, não incluindo o cabeçalho IP ou os de
extensão que precedem o ESP. Porém o protocolo AH amplia a proteção a estes cabeçalhos.
Esta situação está relacionada ao fato do ESP criptografar os dados que o sucedem no pacote
proporcionando ainda autenticação somente a parte ESP no pacote, enquanto que no
protocolo AH a autenticação é feita em todo o pacote.
30
Uma associação de segurança no modo túnel é aplicada a um túnel IP: Quando um dos
membros for um gateway que implementa o padrão IPSEC, a AS deverá ser estabelecida em
modo túnel. Numa AS de modo túnel, o cabeçalho IP externo especifica o destino do
contexto IPSEC enquanto o cabeçalho IP interno especifica o destino real do pacote. Neste
modo os cabeçalhos dos protocolos de segurança são inseridos depois do cabeçalho IP
externo e antes do cabeçalho interno. Assim numa analogia para o modo transporte, em modo
túnel, o AH assegura o cabeçalho IP externo e os protocolos das camadas superiores, assim
como o pacote IP tunelado. Já no modo túnel com o ESP, somente é assegurado o pacote IP
tunelado, de acordo como a Figura 21.
Figura 21 – Implementação em conjunto dos protocolos do IPSec
Fonte: Disponível em: < http://www.gta.ufrj.br/seminarios/semin2002_1/Ivana/VPN_Ivana_arquivos/Image1.gif >, Acesso 25 nov de 2009. PREVENÇÃO DE ATAQUES A utilização do AH previne ataques do tipo: 1 - Replay, quando o atacante captura um pacote válido e autenticado, replicando-o e
enviando, entrando assim na comunicação. A utilização do campo Sequence Number
(Número de Sequencia), ajuda a prevenir este ataque, pois permitir definir números para cada
pacote que trafega dentro de uma AS.
2 - Spoofing, quando o atacante assume a identidade de um host confiável para o destino,
ganhando privilégios na comunicação. O uso de serviços de autenticação previne este tipo de
ataque.
31
3 - Connection Hjacking (Roubo de Conexões), quando o atacante intercepta pacotes de uma
conexão passando a participar da comunicação. Com a utilização dos serviços de autenticação
pode se previnir este tipo de ataque.
Figura 22 - Cabeçalho AH:
Fonte: Disponível em: < http://www.lncc.br/~borges/doc/VPN Protocolos e Seguranca.pdf >, Acesso 25 nov. de 2009. Os campos do cabeçalho mostrado na Figura 22 acima são descritos abaixo: 1 - Próximo cabeçalho: identifica o protocolo do próximo cabeçalho; 2 – Tamanho do Dado: tamanho da carga de dados; 3 - Reservado: possui um comprimento de 16 bits para extensão do protocolo; 4 - SPI: (Índice do Parâmetro de Segurança) índice que identifica unicamente junto com o
endereço de destino e o protocolo AH uma associação de segurança para um determinado
pacote;
5 – Número de Seqüência: identifica os pacotes que pertencem a uma associação de
segurança;
6 - Dados de Autenticação: possui comprimento variável e armazena o ICV (Valor de
Checagem de Integridade) para este pacote, e é calculado de acordo com o algoritmo de
autenticação utilizado no AS.
O AH apesar de adicionar autenticação, mantém os dados da mesma forma que recebeu, ou
seja, sem confidencialidade e possibilitando a capturar através de sniffer.
32
Os serviços do ESP previnem ataques do tipo: 1 - Replay, através do campo Número de Sequência, semelhante ao protocolo AH. 2 - Fragmentos de pacotes criptografados, realizado quando o atacante captura partes de
pacotes criptografados e remontá-os de tal forma, que o pacote pode ser aceito por uma
conexão. O serviço de autenticação previne este tipo de ataque.
3 - Sniffer, técnica utilizada quando o atacante captura os pacotes que trafegam na rede. O
serviço de criptografia previne este tipo de ataque.
Figura 23 – Cabeçalho ESP
Fonte: Disponível em:< http://www.gta.ufrj.br/grad/09_1/versaofinal/vpn/NotesImages/Topic18NotesImage5.gif >, Acesso em 25 nov de 2009 Os campos que compõe o cabeçalho do ESP, mostrado na Figura 23 acima são os seguintes: 1 - SPI: índice que identifica unicamente junto com o endereço de destino e o protocolo AH
uma associação de segurança para um determinado pacote;
2 - Número de Sequência: identifica os pacotes que pertencem a uma associação de
segurança;
3 - Dados cifrados e parâmetros: possui os dados criptografados e parâmetros usados pelo
algoritmo definido pela AS;
4 - Dados de Autenticação: possui comprimento variável e armazena o ICV (Valor de
Checagem de Integridade) para este pacote, e é calculado de acordo com o algoritmo de
autenticação utilizado no AS.
Diversos aspectos devem ser avaliados para uma implementação adequada do padrão IPSEC.
Para situações onde se necessita apenas autenticação, recomenda-se o uso de protocolo AH.
Porém o ideal é a utilização dos serviços de autenticação e confidencialidade, ou seja, o uso
33
do AH e ESP em conjunto. O mais recomendado é a utilização do protocolo ESP dentro do
AH, possibilitando que o destino confirme a autenticidade do pacote antes de decifrá-lo.
AMBIENTE DE TESTES Para realização da análise de desempenho do IPSEC entre os protocolos IPv4 e IPv6 foi
implementado um ambiente de testes. Para tal, foi instalado e configurado uma rede com dois
computadores e um switch, interligados através de cabos UTP baseados no sistema
operacional Windows Server 2008 Enterprise com Service Pack 1. Um dos computadores foi
utilizado como Servidor de Roteamento e Acesso remoto e o outro como cliente dial-up.
Durante a análise de desempenho dos protocolos foram utilizados dois cenários, um medindo
a taxa de transmissão de dados sem uso de serviços de segurança e o outro utilizando os
serviços de segurança do padrão IPSEC. Possibilitando a comparação de desempenho dos
protocolos sem e com os mecanismos de segurança.
Equipamentos utilizados e acessórios Foram utilizados dois computadores e um switch de camada 2 para realização dos testes.
Configuração dos equipamentos:
1. Switch Cisco Catalyst 1900
Modelo WS-C1912-A Standard Edition
Sistema Operacional de Internetwork versão 12.2 Método de comutação Ethernet Store-and-Forward;
Interfaces: 12 Portas padrão 10Base-T;
2 Portas padrão 100Base-X;
2. Cabeamento: Dois cordões de manobra UTP de 2,5m, categoria 5e do fabricante Nexans,
certificados no padrão EIA/TIA 568-B.2. Bitola dos fios internos 24 AWG.
34
3. Computadores:
Especificações de Hardware e Software Computador 1:
Notebook HP Pavilion Entertainment PC, modelo DV2240BR
Processador T2080 Intel Dual Core 1.73 GHZ – cachê L2 1 MB, Tecnológia de 65nm –
Socket 479mPGA – FSB 533MHZ – BUS 133MHZ
Main board Wistron – modelo 30B2
Chipset Intel i945GM
Ponte Sul Intel 82801 GHM (ICH7-M/U)
Bios HeWlett Packard – versão F.39 – data 27/08/2007
Memória tipo DDR-2 PC2 5300-333MHZ – canal duplo 1x1GB / 1x 512MB
Tamanho 1.536 MB
Frequência DRAM: 266 MHZ FSB:RAM = 1:2
Latência: 4-4-4-12-16 Disco Rígido: Fujitsu MHW2080BH PL ATA 80GB Sata 5400 RPM
DVD/CD-ROM: Pioneer DVDRW DVR-K17 ATA
Interface de rede Wired: Intel Pro/100 VE 10/100 Mbps
Interface de rede Wireless: Broadcom 802.11 g Sistema Operacional: Windows Server 2008 Enterprise Service Pack l de 32 bits
Aplicações: Máquina Virtual Java: Java 6 Standard Edition versão 6 update 16 (buid 1.6.0-16 – b01);
Ferramenta monitoria (Sniffer) – Packetyzer 5.0;
Ferramenta medição performance de rede – Jperf 2.0.2. Computador 2: Notebook Sony Vaio – modelo VGN-NR320AH
Processador Intel Dual Core T2310 1.46GHZ – cachê L2 1MB
Tecnologia 65nm – Socket P478 – FSB 533MHZ – Bus 133MHZ
Main Board Sony – modelo Vaio
Chipset Intel GL960
35
Ponte Sul Intel 8280 1HBM (ICH8-ME)
Bios Phoenix Technologias – versão R2060J9 – Data 28/02/2008
Memória: Tipo DDR-2 PC5300-333MHZ canal duplo modo simétrico
Tamanho 3072 MB – LX LO24MB / 1X 2048MB
Freqüência DRAM: 266MHZ – FSB 1:2
Latência: 4-4-4-12
Disco Rígido Toshiba MK L652GSX ATA 160GB Satã
5400 RPM.
DVD/CD-ROM: Matshita DVD-RAM UJ870QJ ATA
Interface de Rede Wired: Marvel Yukon 88E8039 PCI-E Fast Ethernet
Interface de Rede Wireless: Lan-Express AS IEEE 802.11g PCI-E
Sistema Operacional: Windows Server 2008 Enterprise Service Pack 1 de 32 bits.
Aplicações:
Máquina Virtual Java: Java 6 Standard Edition versão 6 update 16 (buid 1.6.0-16 – b01);
Ferramenta de monitoração (Sniffer) – Packetyzer 5.0;
Conexão VPN do Tipo L2TP com IPSEC com chave pré-compartilhada;
Ferramenta de medição de performance de rede – Jperf 2.0.2. Descrição do processo de avaliação Em primeiro momento foi realizada a instalação do sistema operacional Windows Server
2008 nos dois computadores utilizados no processo. A instalação dos sistemas operacionais e
demais aplicações sempre seguiram uma mesma sequência de execução. Além disso, para não
provocar interferência e obter a melhor performance possível nos resultados, fatores como
ajuste de vídeo para se ter melhor aparência, gerenciamento automático dos arquivos de
paginação e descansos de telas foram desativados. E foram habilitados, a alta performance nas
opções de energia, aceleração completa do hardware da interface de vídeo e especificação
personalizada do tamanho do arquivo de paginação da memória virtual.
Após esses ajustes nos sistemas operacionais foram configuradas as interfaces de rede de
forma que os computadores fizessem parte da mesma rede.
36
Em seguida no Computador 1, foi configurado o serviço de roteamento e acesso remoto, cuja
funcionalidade é de realizar o roteamento dos datagramas e permitir acesso a conexões
discadas.
Depois de realizado os parâmetros de configuração do serviço de roteamento e acesso remoto.
Foram instalados e configurados os aplicativos Jperf na versão 2.0.2 baseado no IPERF, que é
uma ferramenta gráfica de medição de performance de rede, a máquina virtual Java standard
edition, na versão 6 atualização 16 para execução do JPERF, o Packetyzer na versão 5.0.0
para captura dos datagramas durante os testes e o WinPcap 4.0.2, para possibilitar a captura
de datagramas através do Packetyzer.
Após as configurações necessárias para avaliação dos protocolos IPv4 e IPv6, foram
realizados testes de largura de banda de duas formas. Uma gerando tráfego na rede sobre a
pilha de protocolos IPv4 sem e com os protocolos de segurança do padrão IPSEC e a outra
gerando tráfego na rede sobre pilha de protocolos IPv6 sem e com os protocolos de segurança
do IPSEC. Todas as duas formas utilizaram um arquivo de representação, para criar uma
carga na rede. Utilizamos um arquivo de formato ISO com tamanho de 700MB para o
ambiente de testes.
Para os casos que se utilizaram dos protocolos do padrão IPSEC, foram configurados no
Serviços de roteamento e acesso remoto a permissão de conexões de VPN do tipo L2TP e
uma chave pré-compartilhada para as conexões discadas. Para certificar que os computadores
estavam usando os protocolos de segurança durante os testes com IPSEC utilizamos o
Packetyzer para captura dos datagramas. Através deste aplicativo foi possível visualizar os
cabeçalhos ESP utilizados na cifragem da carga de dados.
No computador 2 foram instalados e configurados os mesmos aplicativos descritos na
ambiente do computador 1, com exceção dos serviços de Roteamento e Acesso Remoto.
Foi criado uma conexão VPN (Rede Privada Virtual), para acesso aos serviços do computador
1. Nas propriedades desta conexão, na aba “Networking” no item “Tipo de VPN”, foi
selecionado “L2TP IPSEC VPN”. Por ser o tipo de VPN que implementa o padrão IPSEC.
Nesta mesma aba, no botão “Configurações IPSEC”, habilitamos o uso de chave pré-
compartilhada e inserimos a mesma chave que os serviços de roteamento e acesso remoto do
computador 1 conhece. Em seguida abrimos a conexão e inserimos um nome de usuário e
37
senha conhecidos pelos serviços do computador 1 e com permissão para acesso remoto. Logo
após o sucesso da conexão verificamos através da ferramenta “ipconfig” no prompt de
comando o endereço IP adquirido pelos serviços de Roteamento e Acesso Remoto. Logo
após, utilizamos o aplicativo JPERF tanto no Computador 1 quanto no Computador 2, porém
no Computador 1 executamos o aplicativo no modo servidor e no Computador 2 no modo
cliente. Estando o JPERF nos dois computadores em execução, clicamos no botão “Run
IPERF” e verificamos a performance em andamento do ponto de vista da taxa de
transferência.
Avaliação dos Resultados Obtidos Avaliação de largura de banda
Nesta avaliação podemos determinar qual a quantidade de dados que trafega na rede em um
determinado espaço de tempo. Desta forma verificamos entre os protocolos qual possui
melhor desempenho na taxa de transferência de dados, como mostra o Gráfico 3 abaixo:
Gráfico 3 - Desempenho da largura de banda
38
CONSIDERAÇÕES FINAIS A migração para a nova versão do protocolo IP, é inevitável, porém esta transição deve
ocorrer de forma gradual e transparente aos usuários. É de grande importância que o
conhecimento sobre o protocolo IPv6, seja divulgado para que a migração obtenha sucesso.
Com a implantação do IPv6, várias questões relacionadas a segurança puderam ser
melhoradas. O suporte ao padrão IPSec passou a ser obrigatório e implementado através de
cabeçalhos de extensão. Como visto, passou-se a não ser adotado o NAT, permitindo uma
utilização completa do IPSec.
No experimento científico realizado, ficou evidente a performance superior dos protocolos de
segurança do IPSec sobre o protocolo IPv6, no quesito largura de banda, atingindo taxas de
transferências até 20% superior ao seu antecessor, o IPv4.
TRABALHOS FUTUROS
Como trabalhos futuros realizaremos a análise de desempenho do IPSec com os protocolos
Ipv4 e Ipv6 na plataforma Linux, no quesito largura de banda, com intuito de comparar a
performance entre as plataformas.
Além disso, realizaremos análise da performance de aplicações VoIP (Voz sobre IP)
utilizando serviços de segurança, de modo a se certificar que as comunicações de Voz não
irão sofrer um impacto significativo sobre o protocolo IPv6, a ponto de inviabilizar o fluxo de
voz, por conta da ocorrência de delay, jitter, perda de pacotes e etc.
39
REFERÊNCIAS BIBLIOGRÁFICAS Rede Nacional de Ensino e Pesquisa. A RNP e a história da Internet brasileira. Disponível em < http://www.rnp.br/noticias/imprensa/2002/not-imp-marco2002.html > Acesso em 30 nov. 2009. SILVA, Adilton J. S. Rede Nacional de Ensino e Pesquisa. Arquitetura IP Security – Parte 1. Disponível em < http://www.rnp.br/newsgen/9907/ipsec3.html > Acesso em 30 nov. 2009. Comitê Gestor da Internet no Brasil. Disponível em < http://cgi.br > Acesso em 04 dez. 2009. Núcleo de Informação e Coordenação do Ponto BR. Disponível em < http://nic.br > Acesso em 04 dez. 2009. Portal de Transição a IPv6 da América Latina e Caribe. Disponível em < http://portalipv6.lacnic.net/pt-br > Acesso em 25 nov. 2009. The Internet Engineering Task Force (IETF). The Recomendation for the IP Next Generation Protocol. Disponível em < http://tools.ietf.org/html/rfc1752.html > Acesso em 22 out. 2009. The Internet Engineering Task Force (IETF). Internet Protocol, Version 6 (IPv6) Specification. Disponível em < http://tools.ietf.org/html/rfc2460.html > Acesso em 22 out. 2009. The Internet Engineering Task Force (IETF). DNS Extensions to Support IP Version 6. Disponível em < http://tools.ietf.org/html/rfc3596.html > Acesso em 22 out. 2009. The Internet Engineering Task Force (IETF). Basic Transition Mechanisms for IPv6 Hosts and Routers. Disponível em < http://tools.ietf.org/html/rfc4213.html > Acesso em 22 out. 2009. The Internet Engineering Task Force (IETF). IP Version 6 Addressing Architecture. Disponível em < http://tools.ietf.org/html/rfc4291.html > Acesso em 30 out. 2009. The Internet Engineering Task Force (IETF). Security Architecture for the Internet Protocol. Disponível em < http://tools.ietf.org/html/rfc4301.html > Acesso em 30 out. 2009. The Internet Engineering Task Force (IETF). IP Authentication Header. Disponível em < http://tools.ietf.org/html/rfc4302.html > Acesso em 30 out. 2009. The Internet Engineering Task Force (IETF). Domain Name System (DNS) Case Insensitivity Clarification. Disponível em < http://tools.ietf.org/html/rfc4343.html > Acesso em 30 out. 2009. The Internet Engineering Task Force (IETF). IPv6 Stateless Address Autoconfiguration. Disponível em < http://tools.ietf.org/html/rfc4862.html > Acesso em 30 nov. 2009. The Internet Engineering Task Force (IETF). IP Payload Compression Protocol (IPComp). Disponível em < http://tools.ietf.org/html/rfc2393.html > Acesso em 30 nov. 2009.
40
The Internet Engineering Task Force (IETF). The Internet Key Exchange (IKE). Disponível em < http://tools.ietf.org/html/rfc2409.html > Acesso em 30 nov. 2009. The Internet Engineering Task Force (IETF). Internet Security Association and Key Management Protocol (ISAKMP). Disponível em < http://tools.ietf.org/html/rfc2408.html > Acesso em 30 nov. 2009. The Internet Engineering Task Force (IETF). The OAKLEY Key Determination Protocol. Disponível em < http://tools.ietf.org/html/rfc2412.html > Acesso em 30 nov. 2009. Bill Cheswicks. The Internet Mapping Project. Disponível em < http://www.cheswick.com/ches/map/index.html > Acesso em 04 dez. 2009. MIRANDA, Ivana Cardial, Grupo de TeleInformática e Automação. VPN – Rede Privada Virtual. Disponível em < http://www.gta.ufrj.br/seminarios/semin2002_1/Ivana/ > Acesso em 04 dez. 2009.
FERREIRA, Douglas de Oliveira, Universidade Católica de Brasília. IPv6. Disponível em < http://www.ucb.br/prg/professores/maurot/ra/RA_arqs/conteudo_web/ipv6/index.html > Acesso em 04 dez. 2009.
PINHEIRO, José M. Santos, Projeto de Redes. Redes Privadas Virtuais. Disponível em < http://www.projetoderedes.com.br/tutoriais/tutorial_vpn_01.php > Acesso em 05 dez. 2009. BALLESTEROS, Heric M. Santos, Universidade Federal do Rio de Janeiro. Redes Privadas Virtuais. Disponível em < http://www.gta.ufrj.br/grad/08_1/vpn/ > Acesso em 05 dez. 2009. ROTOLE, Erick Dantas, Universidade de Brasília. Arquitetura IP Security. Disponível em < http://www.cic.unb.br/~pedro/trabs/ipsec.pdf > Acesso em 05 dez. 2009. BORGES, Fábio, Laboratório Nacional de Computação e Ciência. VPN: Protocolos e Segurança. Disponível em < http://www.lncc.br/~borges/doc/VPN%20Protocolos%20e%20Seguranca.pdf > Acesso em 05 dez. 2009. MARTINS, Dêner L. Fernandes, Universidade de Brasília. Redes Privadas Virtuais com IPSec. Disponível em < http://www.cic.unb.br/docentes/pedro/trabs/vpn.pdf > Acesso em 05 dez. 2009.