25
1 IPSec (Internet Protocol Security) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca Escola de Engenharia – Universidade Federal Fluminense (UFF) Rua Passo da Pátria, 156 - 24210-240 - São Domingos - Niterói – RJ – Brasil. [email protected], [email protected] Resumo. Este trabalho, realizado através de uma pesquisa na bibliografia referenciada, tem como objetivo apresentar alguns conceitos sobre segurança em redes de comunicação de dados. Nesse sentido, será abordado o Protocolo IPSec (Internet Protocol Security), sua tecnologia, sua arquitetura e algumas de suas aplicações. O IPSec, como será visto neste trabalho, garante a segurança em redes de comunicação de dados: internet, extranet e intranet, tendo sido desenvolvido com o objetivo de manter o sigilo, a integridade dos dados e a proteção contra ataques de reprodução, valendo-se de algoritmos de criptografia e certificação. 1. I NTRODUÇÃO No início do desenvolvimento do conjunto de protocolos TCP/IP, pouco ou quase nada se falava ou se desenvolvia em relação à segurança de redes. Com o surgimento de várias aplicações e o rápido crescimento da Internet, percebeu-se que as questões relativas à segurança de redes e de sistemas tornaram-se demandas cada vez mais crescentes. Enquanto a Internet se restringia aos meios científicos e aos acadêmicos, os problemas de segurança não eram tão críticos, uma vez que havia certo controle baseado nos códigos de uso ético da rede. Com a abertura da Internet para o setor privado, principalmente para o comercial, os problemas de segurança se intensificaram e ficaram críticos. Apesar da falta de segurança das informações na rede mundial de computadores, a Internet está sendo cada vez mais utilizada pelo mundo corporativo. Existem inúmeros tipos de ataques, que permitem “bisbilhotar” o tráfego na rede, visando capturar

IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

  • Upload
    others

  • View
    21

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

1

IPSec (Internet Protocol Security)

Antonio Abílio da Costa Coutinho, José Eduardo Mendonça da Fonseca

Escola de Engenharia – Universidade Federal Fluminense (UFF) Rua Passo da Pátria, 156 - 24210-240 - São Domingos - Niterói – RJ – Brasil.

[email protected], [email protected]

Resumo. Este trabalho, realizado através de uma pesquisa na bibliografia referenciada, tem como objetivo apresentar alguns conceitos sobre segurança em redes de comunicação de dados. Nesse sentido, será abordado o Protocolo IPSec (Internet Protocol Security), sua tecnologia, sua arquitetura e algumas de suas aplicações. O IPSec, como será visto neste trabalho, garante a segurança em redes de comunicação de dados: internet, extranet e intranet, tendo sido desenvolvido com o objetivo de manter o sigilo, a integridade dos dados e a proteção contra ataques de reprodução, valendo-se de algoritmos de criptografia e certificação.

1. INTRODUÇÃO

No início do desenvolvimento do conjunto de protocolos TCP/IP, pouco ou quase nada

se falava ou se desenvolvia em relação à segurança de redes. Com o surgimento de

várias aplicações e o rápido crescimento da Internet, percebeu-se que as questões

relativas à segurança de redes e de sistemas tornaram-se demandas cada vez mais

crescentes.

Enquanto a Internet se restringia aos meios científicos e aos acadêmicos, os

problemas de segurança não eram tão críticos, uma vez que havia certo controle baseado

nos códigos de uso ético da rede. Com a abertura da Internet para o setor privado,

principalmente para o comercial, os problemas de segurança se intensificaram e ficaram

críticos.

Apesar da falta de segurança das informações na rede mundial de computadores,

a Internet está sendo cada vez mais utilizada pelo mundo corporativo. Existem inúmeros

tipos de ataques, que permitem “bisbilhotar” o tráfego na rede, visando capturar

Page 2: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

2

informações importantes, tais como: senhas, dados bancários, cartões de crédito e, até

mesmo, segredos industriais, de modo que, para garantir o sigilo da informação, houve a

necessidade das empresas se conectarem de forma segura.

Instalar uma rede privada pode ser uma tarefa fácil para empresas vizinhas,

porém, quando existem matrizes, filiais, escritórios e parceiros separados por centenas

de quilômetros de distância, isto pode ser muito difícil. A forma ideal e mais econômica

é usar a infra-estrutura de uma rede pública de serviços, como a Internet, levando-se em

consideração, no entanto, que a segurança da informação fica comprometida.

Em resposta aos desafios de segurança de redes, o Grupo de Trabalho IP

Security Protocol do IETF (Internet Engineering Task Force) desenvolveu uma

plataforma de segurança conhecida como IPSec (IP Security) [5] [6] [7] [8]. O objetivo

do grupo é desenvolver mecanismos que forneçam proteção ao pacote IP e às aplicações

que rodam sobre o protocolo IP, estabelecendo níveis de segurança para as

comunicações host-to-host, subnet-to-subnet e host-to-subnet.

Este trabalho aborda os aspectos principais da arquitetura IPSec. Na primeira

parte, serão apresentados o conceito do IPSec e suas características, sua arquitetura e

seus protocolos, seu modo de funcionamento e como o IPSec pode ser implantado em

redes IP de modo a garantir a segurança da informação. Na segunda e última parte, será

apresentado o conceito de uma VPN (Virtual Private Network ), já que a tecnologia

IPSec é uma das melhores opções de implementação deste tipo de rede.

2. IPSEC (INTERNET PROTOCOL SECURITY)

O IPSec baseia-se em um modelo ponto-a-ponto que permite a troca de informações

entre dois computadores de maneira segura, os quais devem “concordar” com um

conjunto comum de regras e de definições do protocolo. Com o uso do IPSec e das

tecnologias associadas, os dois computadores são capazes de se autenticar mutuamente

e manter uma comunicação segura, mesmo usando um meio não seguro como a

Internet.

Os primeiros esforços de padronização para o estabelecimento do IP com

segurança, autenticação e criptografia de datagramas foram escritos em 1995, conforme

definido na RFC1825/1829, em virtude da pilha do TCP/IP, que vinha sendo utilizada

Page 3: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

3

no mundo IPv4, não possuir características de proteção ou segurança. Em resposta a

essa necessidade, o Internet Architecture Board (IAB) incluiu autenticação e

criptografia como características necessárias de segurança para a nova geração de IP, a

qual foi designada como IPv6. Essa capacidade de segurança foi projetada para fornecer

serviços não apenas em ambientes IPv4, mas também em ambientes IPv6 [4] [9] [10]

[11], de forma que as empresas fornecedoras de software podem oferecer alguma

capacidade de IPSec em seus produtos.

O IPSec é uma plataforma aberta formada por um conjunto de protocolos que

fornecem serviços de autenticação, de integridade, de controle de acesso e de

confidencialidade na camada de rede IP, para redes LANs, WANs públicas e privadas e

Internet. Assim, a tecnologia IPSec é uma das opções de se implementar VPNs e seus

serviços podem ser utilizados por quaisquer protocolos das camadas superiores como

TCP, UDP, ICMP, BGP, etc. O IPSec fornece três facilidades principais: uma função

somente de autenticação, referenciada como Authentication Header (AH), uma função

combinada de autenticação/criptografia chamada Encapsulating Security Payload

(ESP), e uma função de troca de chave. As especificações IPSec são bastante complexas

e descritas por grande quantidade de documentos. As mais importantes, emitidas em

Novembro de 1998, são as RFCs 2401, 2402, 2406 e 2408 [1] [2] [3].

O conjunto de serviços oferecidos inclui controle de acesso, integridade não

orientada à conexão, autenticação da origem dos dados e confidencialidade. Estes

serviços são implementados através da utilização conjunta de protocolos de segurança

de tráfego de dados, de autenticação de cabeçalho, de encapsulamento seguro do

payload ou conteúdo dos dados e de procedimentos e protocolos de gerência de chaves.

2.1 ARQUITETURA E PROTOCOLOS

A arquitetura IPSec, por ser aberta, possibilita a inclusão de outros algoritmos de

autenticação e criptografia, e vem sendo adotado por todos os fabricantes de

equipamentos de redes de computadores e projetistas de sistemas. O IPSec situa-se entre

a camada de rede e a camada de transporte [1], conforme pode ser visto na Figura 1.

Page 4: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

4

Figura 1 – Camada IPSec

A RFC 2411 - IP Security Document Roadmap [12] - apresenta as diretrizes

para: produção, organização e inter-relacionamento entre os diversos documentos que

descrevem o conjunto de protocolos IPSec. Esta RFC apresenta o roadmap para as

especificações que descrevem o uso de novos algoritmos de autenticação e criptografia,

definidas, respectivamente, pelos protocolos AH - IP Authentication Header/RFC 2402

[13] e ESP - IP Encapsulating Security Payload/RFC 2406 [14], os quais serão

abordados nas próximas seções deste trabalho. A Figura 2 apresenta a arquitetura

interna do IPSec.

Figura 2 - Arquitetura IPSec

Para a autenticação de cabeçalho, os algoritmos obrigatórios são os seguintes:

??HMAC-MD5, RFC 2403 [15] - The Use of HMAC-MD5 within ESP and

AH; e

Page 5: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

5

??HMAC-SHA-1, RFC 2404 [16] - The Use of HMAC-SHA-1 within ESP and

AH.

Para o encapsulamento seguro do payload, os algoritmos são:

??DES-CBC, RFC 2405 [17] - ESP DES-CBC Cipher Algorithm with Explicit

IV;

?? Null Authentication Algorithm; e

?? Null Encryption Algorithm.

As especificações IPSec também suportam negociação de compressão IP

definidas pela RFC 2393 [18] - IP Payload Compression Protocol.

Ao longo deste trabalho, serão apresentadas as características principais dos

protocolos empregados pelo IPSec mencionados acima.

2.2 MODO DE FUNCIONAMENTO

O conceito de Associação de Segurança (SA - Security Association) [3] [22] - é um dos

conceitos fundamentais do IPSec. Uma associação de segurança é uma "conexão

simplex" que viabiliza o tráfego de serviços seguros entre dois pontos e que tem um

identificador de segurança associado. A segurança dos serviços é garantida pela

utilização dos protocolos de segurança (AH ou ESP ou ambos). Observa-se que, no caso

de se usar AH e ESP em conjunto, mais de uma SA deve ser definida.

Uma associação de segurança é identificada univocamente por três parâmetros: o

SPI (Security Parameter Index), o endereço IP de destino e o identificador do protocolo

(AH ou ESP).

O SPI é um número que identifica uma SA, sendo definido durante a negociação

que antecede o estabelecimento da mesma. Assim, todos os membros de uma SA devem

conhecer o SPI correspondente e usá- lo durante a comunicação.

O endereço IP de destino pode ser unicast, broadcast ou ainda multicast. No

entanto, para a definição dos mecanismos de gerenciamento de SA, o IPSec assume um

endereço de destino unicast, estendendo as definições para os casos de broadcast e

multicast.

Page 6: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

6

Ressalta-se que a negociação para o estabelecimento de uma SA envolve a

definição da chave, os algoritmos de criptografia e de autenticação e os parâmetros

usados por estes algoritmos.

Num pacote IP, a SA é unicamente identificada pelo cabeçalho do endereço de

destino no IPv4 ou no IPv6 e o SPI encapsulado no cabeçalho extensão de AH e ESP. A

Figura 3 mostra o pacote IP, onde o identificador do protocolo é o número 51 para o

AH e o número 50 para o ESP. Na área de dados do IP, portanto, seguirá um novo

pacote AH ou ESP.

Figura 3 - Pacote IP

O protocolo AH adiciona autenticação e integridade, ou seja, garante a

autenticidade do pacote e também que este não foi alterado durante a transmissão dos

dados.

O uso do AH previne ataques do tipo:

?? Replay, ou seja, quando o atacante intercepta um pacote válido e

autenticado pertencente a uma conexão, replica-o e o reenvia, "entrando na

conversa". A utilização do campo Sequence Number ajuda na prevenção a

este tipo de ataque, pois permite numerar os pacotes que trafegam dentro de

uma determinada SA;

?? Spoofing, ou seja, quando o atacante assume o papel de uma máquina

confiável para o destino e, dessa forma, ganha privilégios durante a

comunicação. A autenticação previne este tipo de ataque; e

?? "Roubo de conexões" (connection hijacking), ou seja, quando o atacante

intercepta um pacote no contexto de uma conexão e passa a participar da

Versãoo

Tamanho Total

Identificação Offset Fragmentos

Tempo de vida Protocolo Checksum do Cabeçalho

Endereço IP de origem

Endereço IP de destino

Opções Enchimento

Flags

IHL Tipo de Serviço

DADOS

Page 7: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

7

comunicação. A utilização de mecanismos de autenticação previne este tipo

de ataque.

A Figura 4 ilustra o cabeçalho do protocolo AH e os campos para a formatação

do cabeçalho do pacote de autenticação [3].

Figura 4 - Cabeçalho do Protocolo AH

?? Próx. Cabeçalho: valor inteiro de 8-bits que identifica o que estará presente

na parte de dados após os “Dados de Autenticação”. É o mesmo valor

definido pela IANA para os protocolos, isto é, exatamente igual ao IP;

?? Tamanho do Payload: valor inteiro de 8-bits que especifica o tamanho do

AH em palavras de 32-bits, menos 2 (devido à compatibilidade com o

IPv6). Normalmente são 96-bits de valor de autenticação, ou três palavras

de 32-bits. Com um cabeçalho fixo de três palavras há um total de seis

palavras no cabeçalho e o campo “Tam. Payload” tem um valor de quatro

palavras;

?? Reservado: valor inteiro de 16-bits, reservado para uso futuro;

?? SPI (Security Parameters Index): valor de 32-bits do identificador único

que inclui o protocolo AH e o endereço de destino, formando o

identificador SA;

?? ?Número de Seqüência: valor de 32-bits sem sinal que contém um valor

incremental do valor do número de seqüência (semelhante ao TCP). Isto faz

a propriedade de anti-replay do AH; e

??Dados de Autenticação: este campo contém um valor variável de

verificação de integridade (ICV – Integrity Check Value). Um enchimento

(padding) deve ser usado para que o pacote tenha tamanho múltiplo de 32-

Próx. Cabeçalho Tam. Payload Reservado

SPI Security Parameters Index

Numero de Seqüência

Dados de autenticação

Page 8: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

8

bits (IPv4) ou 64-bits (IPv6). Este algoritmo usado no ICV deve ser um

‘hash’ criptográfico, tal como MD5 (Message Digest) ou SHA1 (Secure

Hash Algorihom 1) ou então uma MAC baseada em algum algoritmo como

DES (Data Encryption Standard), pouco utilizado. Isto é definido pela SA.

Observa-se que o AH adiciona autenticação, porém, os dados continuam

trafegando intactos (o cabeçalho em “clear-text”) pela rede, podendo, por exemplo, ser

capturados através de sniffer. Assim, a confidencialidade é tratada por outro protocolo,

o ESP.

O protocolo ESP adiciona a autenticação e a confidencialidade, garantindo que

somente os destinatários autorizados tenham acesso ao conteúdo do pacote. O ESP pode

ser usado no modo transporte ou no modo túnel, como será descrito posteriormente. O

uso do ESP previne ataques do tipo:

?? Replay, através da utilização do campo Sequence Number, de maneira

análoga ao AH;

?? "Particionamento de pacotes cifrados", que é o que acontece quando o

atacante obtém partes de pacotes cifrados e consegue montar um pacote que

pode ser aceito por um dos membros da conexão. O uso de autenticação

previne este tipo de ataque; e

?? Sniffer, ou seja, quando o atacante obtém os pacotes que trafegam na rede.

A utilização da criptografia previne este tipo de ataque.

A Figura 5 ilustra o cabeçalho do protocolo ESP [3]:

Figura 5 - Cabeçalho do Protocolo ESP

SPI Security Parameters Index

Número de Seqüência

Dados de Payload

Enchimento (0-255 by tes)

Tam. Enchimento Prox. Cabeçalho

Dados de Autenticação

Page 9: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

9

?? SPI (Security Parameters Index): valor de 32-bits do identificador único

que inclui o protocolo ESP e o endereço de destino, formando o

identificador SA;

??Número de Seqüência: valor de 32-bits sem sinal; contém um valor

incremental para o número de seqüência (semelhante ao TCP), garantindo a

propriedade de anti-replay do ESP;

??Dados do Payload: campo de tamanho variável, que contém os dados

referentes ao pacote definido no Próximo Cabeçalho: Segmento da camada

de transporte (Modo Transporte) ou Pacote IP (Modo Túnel) que é

protegido pela criptografia. Se um algoritmo de criptografia for usado,

então os dados de sincronização também devem ser enviados (tais como

vetores de inicialização). Se a sincronização for implícita, esta deve ser

definida pela RFC;

?? Enchimento (Padding): valor 0 a 255 bytes; enchimento que pode ser

necessário se o algoritmo de criptografia precisar de um texto para ser

múltiplo de certo número de octetos: definir delimitadores ou por

enchimento para o próprio cabeçalho ESP;

?? Tam. do Enchimento: valor de 8-bits; este campo indica que um número de

bytes de enchimento foi incluído;

?? Próx. Cabeçalho: valor inteiro de 8-bits; identifica o que estará presente na

parte de dados. É o mesmo valor definido pela IANA para os protocolos,

sendo exatamente igual ao IP e ao AH; e

??Dados de Autenticação: campo de valor variável (deve ser um número

inteiro de palavras de 32-bits), que contém um ICV calculado sobre o

pacote ESP menos os dados do próprio campo de autenticação.

Para os casos em que se exige apenas a autenticação, ou ainda, onde a

confidencialidade não deve ser usada, é recomendada a utilização do AH. No entanto, a

situação ideal é a utilização de autenticação e de confidencialidade, ou seja, a utilização

do AH e ESP em conjunto. Mais especificamente, é recomendado o uso do ESP

Page 10: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

10

"dentro" do AH, permitindo que o destino verifique a autenticidade do pacote antes de

decifrá- lo, ou ainda, verifique autenticidade e decifre o pacote em paralelo.

Uma SA pode ser estabelecida de dois modos diferentes: transporte ou túnel

[22]. No primeiro modo, somente é possível usar o IPSec em redes baseadas em IP; no

segundo, com a utilização do L2TP (Layer 2 Tunneling Protocol), que é um protocolo

de nível de enlace, é possível usar o IPSec/L2TP para transportar não apenas pacotes IP,

mas também IPX, NetBEUI e assim por diante.

No modo transporte, uma SA é estabelecida entre dois hosts, com ligeiras

diferenças quando estabelecida no IPv4 e no IPv6:

??No IPv4, o cabeçalho do protocolo de segurança é inserido entre o

cabeçalho IP e os cabeçalhos dos protocolos de mais alto nível, como o

TCP ou o UDP; e

??No IPv6, o cabeçalho do protocolo de segurança é inserido após o

cabeçalho básico IPv6 e dos cabeçalhos de extensão end-to-end, e antes dos

protocolos de mais alto nível.

O modo transporte protege primeiramente os protocolos das camadas superiores

(p.ex.: TCP, UDP, ICMP, etc.), ou seja, atua protegendo o payload de um pacote IP,

como pode ser visto na Figura 6, para o caso do ESP em uma comunicação utilizando

TCP. Tipicamente, o modo transporte é utilizado em comunicações fim-a-fim entre dois

hosts (p.ex.: cliente e servidor, ou duas estações de trabalho).

Figura 6 – Protocolo ESP no Modo Transporte

No modo transporte, o ESP criptografa e, opcionalmente, autentica o payload IP,

mas não o cabeçalho IP. Já o AH autentica o payload IP e partes selecionadas do

cabeçalho IP.

Page 11: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

11

O modo túnel protege o pacote IP inteiramente. Para isto, após a inserção dos

campos do AH e do ESP no pacote IP original, o pacote inteiro acrescido de um campo

de segurança é considerado como sendo o payload de um novo pacote IP, que inclui um

novo cabeçalho IP, conforme apresentado na Figura 7, para o caso do ESP em uma

comunicação utilizando TCP. O pacote IP original, portanto, trafega através de um

túnel de um ponto a outro dentro da rede, sendo que nenhum roteador ao longo da rota

do pacote terá acesso ao conteúdo do cabeçalho original. Devido ao encapsulamento, o

novo pacote IP possuirá endereços de origem e de destino completamente diferentes,

garantindo, assim, a segurança.

Figura 7 – Protocolo ESP no Moto Túnel

O modo túnel é empregado quando um ou ambos os lados de uma SA for um

gateway de segurança, como um firewall ou um roteador que implemente IPSec. Com o

modo túnel, os hosts de uma rede local protegida por um firewall podem efetuar

comunicações com segurança sem implementar o IPSec. Os pacotes não protegidos

gerados a partir destes hosts são encaminhados por túneis criados por software pelo

IPSec no firewall ou, em outros casos, em um roteador de borda da rede local.

Além de usar os protocolos AH ou ESP individualmente, o IPSec pode requerer

suporte para combinações dos dois modos. A idéia é utilizar um túnel para a

autenticação dos cabeçalhos internos do pacote IP original, e aplicar o AH ou o ESP ou

ambos externamente no modo de transporte para ampliar a proteção para o novo pacote

e novo cabeçalho externo, conforme descrito anteriormente. Deve-se observar que, no

modo túnel, o AH e o ESP não podem ser utilizados simultaneamente, já que o ESP tem

seu próprio esquema de autenticação. A Figura 8 mostra o formato dos pacotes no

modo transporte e a Figura 9 no modo túnel, porém, é possível utilizar ambos, o

chamado modo combinado, como mostra a Figura 10.

Page 12: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

12

Figura 8 – Formato dos pacotes no Modo Transporte

Figura 9 – Formato dos pacotes no Modo Túnel

Figura 10 – Formato dos pacotes no modo combinado

2.3 ALGORITMOS DE CONFIDENCIALIDADE

Além da autenticação mútua e da verificação da integridade dos dados, é preciso

garantir a confidencialidade dos dados, ou seja, se os pacotes forem capturados é

importante que não possam ser lidos a não ser pelo destinatário. A confidencialidade

garante que os dados somente sejam revelados para os verdadeiros destinatários.

Para garantir a confidencialidade, o IPSec usa pacotes no formato ESP,

conforme já mencionado. Os dados do pacote são criptografados antes da transmissão,

garantindo que os dados não possam ser lidos, mesmo que o pacote seja monitorado ou

interceptado por um invasor. Apenas o computador com a chave de criptografia

compartilhada será capaz de interpretar ou modificar os dados.

Os seguintes algoritmos podem ser utilizados para oferecer a confidencialidade

da negociação de segurança e do intercâmbio de dados de aplicativo:

??DES (Data Encryption Standard);

??United States Data Encryption Standard (DES padrão dos Estados Unidos);

Page 13: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

13

?? 3DES (Triple Data Encryption Standard).

O Cipher Block Chaining (CBC) é usado para ocultar padrões de blocos de

dados idênticos dentro de um pacote sem aumentar o tamanho dos dados após a

criptografia. Os padrões repetidos podem comprometer a segurança, fornecendo uma

pista para que um invasor possa usar para tentar descobrir a chave de criptografia. Um

vetor de inicialização (um número inicial aleatório) é usado como o primeiro bloco

aleatório para criptografar um bloco de dados. Diferentes blocos aleatórios são usados

junto com a chave secreta para criptografar cada bloco. Isso garante que conjuntos

idênticos de dados não protegidos sejam transformados em conjuntos exclusivos de

dados criptografados.

2.4 GERENCIAMENTO DE CHAVES

A especificação do IPSec exige o compartilhamento de chaves secretas, que são

utilizadas para autenticação, integridade e criptografia dos dados, a qual define um

conjunto separado de mecanismos para o gerenciamento destas chaves. O

gerenciamento de chaves pelo IPSec pode ser manual ou automático. O protocolo

padrão para esse gerenciamento é o IKE [19] (Internet Key Management), que é a

combinação do ISAKMP [20] (Internet Security Association and Key Management

Protocol) e do protocolo Oakley [21]. Para a distribuição de chaves, portanto, foram

especificados procedimentos baseados em chaves públicas definidas pelas seguintes

RFCs:

?? RFC 2408 - Internet Security Association and Key Management Protocol

(ISAKMP);

?? RFC 2409 - The Internet Key Exchange (IKE); e

?? RFC 2412 - The OAKLEY Key Determination Protocol.

O IKE opera em duas fases: inicialmente, dois pares estabelecem um canal

seguro; em seguida, os dois pares negociam a SA de propósito geral. Mesmo com as

definições dos padrões acima, a especificação do IPSec permite a inclusão de outros

protocolos de gerência de chaves públicas.

O IKE fornece o gerenciamento da segurança para a SA e autentica cada ponto

(host/gateways/servidores) de uma conexão IPSec, negociando políticas de segurança e

Page 14: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

14

manipulando as trocas das chaves de sessão. Além disso, possibilita o uso de

certificados para a autenticação dos equipamentos envolvidos durante a negociação do

IKE. O gerenciamento dos certificados inclui o uso do Simple Certificate Enrollment

Protocol (SCEP), que permite a comunicação com uma Autoridade Certificadora (CA –

Certificate Authority). Este certificado suporta ainda estrutura hierárquica para o uso em

uma infra-estrutura de chaves públicas (PKI – Public Key Infrastructure). Os

componentes para isso incluem o uso do protocolo de chaves públicas Diffie-Hellman

para estabelecer uma chave de sessão mesmo estando em um meio inseguro, como a

Internet. O IKE provê as seguintes funcionalidades:

?? Permite que as partes negociem quais protocolos, algoritmos e chaves serão

usados;

??Garante a identidade das partes, tanto do cliente, quanto do servidor;

?? ?Gerencia as chaves após elas estarem em uso; e

?? ?Garante que as trocas de mensagens que contêm chaves sejam feitas por

meios muito seguros.

O gerenciamento de chaves realizado pelo IPSec pode ser realizado de forma

manual ou automática dependo do número de sites conectados. É um dos processos

mais importantes do IPSec e da segurança que ele possui. Um dos ataques que pode ser

evitado com o correto gerenciamento das chaves é o “man-in-the-middle” no qual um

intruso pode capturar a troca de informações na comunicação entre dois hosts. O IKE

está relacionado intimamente com o gerenciamento do SA. Quando uma SA é criada, as

chaves devem ser negociadas. O IPSec também provê um meio para o uso de chaves

manuais, gerenciados por um administrador de rede, porém, em uma rede de grande

porte, é muito difícil de ser realizado.

O protocolo IKE opera em duas fases: Na primeira fase, os dois pares

estabelecem um canal seguro para realizar as operações do ISAKMP (ISAKMP SA); na

segunda fase, os dois pares negociam as SA de propósito geral. O objetivo de se dividir

em fases é de eliminar redundâncias entre os pontos de negociação da SA e,

conseqüentemente, ganhar em capacidade de processamento, pois o canal seguro já

estará estabelecido na primeira fase.

Page 15: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

15

Na realidade, o IKE é baseado em uma combinação de protocolos: o Internet

Security Association and Key Management Protocol (ISAKMP), responsável pela

negociação da segurança, e o Security Key Exchange Mechanism (SKEME),

responsável pela troca de chaves. A Figura 11 mostra a estrutura do cabeçalho para o

protocolo ISAKMP. O protocolo de transporte utilizado é o UDP, na porta 500.

Figura 11 – Estrutura do cabeçalho – Protocolo ISAKMP

?? Cookie-1: Valores aleatórios gerados pelas entidades. Utilizados contra

ataques de replay e Denial of Service (DoS), também são utilizados para

identificação da SA entre as duas entidades depois que a negociação for

concluída;

?? Px payload: Responsável pela identificação do tipo do próximo payload do

pacote, podendo assumir alguns dos seguintes valores:

0 – Nenhum (último payload) 8 – Hash 1 – Security Association 9 – Assinatura 2 – Proposta 10 – Nonce 3 – Transformação 11 – Notificação 4 – Troca de Chaves 12 – Deleção 5 – Identificação 13 – Id. Fornecedor/fabricante (*) 6 – Certificado (CERT); 14 - 127 – Reservados 7 – Pedido de Certificado 128 – 255 – Uso Particular

Nota (*): constante fornecida pelo fornecedor/fabricante para identificar e

reconhecer, remotamente, suas implementações.

?? Versão: atualmente tem valor 1;

COOKIE - R

IDENTIFICAÇÃO DA MENSAGEM

TAMANHO TOTAL DA MENSAGEM (CABEÇALHO + PAYLOAD)

PX Payload AS (1)

Maior Versão

(0)

Menor Versão

(0)

Tipo Modo Principal

(2) Flags

COOKIE - 1

0 7|8 15|16 23|24 31

Page 16: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

16

?? Tipo de comunicação: responsável pela determinação das mensagens e dos

payloads seguintes;

?? Flags: indicam opções utilizadas na comunicação (RFC2408);

?? Identificação: responsável por identificar unicamente uma mensagem.

Utilizado durante a segunda fase;

?? Tamanho: Tamanho total da mensagem (Cabeçalho e Payload).

O IKE pode estabelecer as chaves de três modos: Principal (Main Mode), Agressivo

(Aggressive Mode) ou Rápido (Quick Mode).

??Modo Principal (Main Mode): faz a fase de troca do ISAKMP, ou seja, o

estabelecimento do canal seguro de comunicação. É composto de três fases

com duas mensagens cada:

??Na primeira fase, as partes envolvidas trocam informações sobre os

algoritmos e hashes básicos a serem utilizados;

??Na segunda fase, trocam chaves públicas para uma negociação Diffie

Helman e fornecem os números aleatórios que a outra parte deve assinar

e devolver para provar sua identidade; e

??Na terceira fase, são verificadas as identidades.

??Quando o método de autenticação escolhido for o de chave compartilhada, a

chave será derivada de um segredo, sendo utilizada uma função de hash

nessa chave derivada que será trocada entre as duas entidades, sendo esta a

informação de autenticação. Se o método de autenticação escolhido for o de

Assinatura Digital, será necessário o uso de Certificado Digital que contenha

a Assinatura das entidades a serem autenticadas. A Figura 12 mostra como é

processada a assinatura e a certificação digital.

Page 17: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

17

Figura 12 – Assinatura e Certificação Digital

??Modo Agressivo (Aggressive Mode): como o Modo Agressivo tem apenas

uma fase, ele tem menor overhead, fazendo com que seja mais rápido do que

o Modo Principal. Mas o modo mais utilizado e mais seguro é o Modo

Principal, principalmente porque no Modo Agressivo as informações de

autenticação não são criptografadas. A Figura 13 apresenta o Modo

Agressivo.

Figura 13 – Modo Agressivo

??Modo Rápido (Quick Mode): executa a segunda fase da troca, ou seja, realiza

a negociação de um SA para a comunicação de uso geral.

?? Inicialmente, o emissor envia uma mensagem com hash, um nonce, os

identificadores de cada entidade, além dos parâmetros da proposta de

SA;

??Logo após, o receptor responde com uma mensagem parecida,

acrescentando seu próprio nonce e hash para confirmação; e

??Finalmente, o emissor responde com um hash dos dois nonces,

completando, assim, a troca e estabelecendo o SA IPSec.

Page 18: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

18

?? Para evitar que um intruso que capturou a chave utilizada na fase 1 desfaça a

criptografia, a comunicação da fase 2 pode se utilizar da técnica Perfect

Forward Secrecy, onde a chave será derivada por meio do algoritmo de

Diffe- Helman. Este procedimento reduz o desempenho, mas aumenta a

segurança da comunicação. A Figura 14 apresenta o Modo Rápido.

Figura 14 – Modo Rápido

O IKE possui também um outro modo chamado de Modo Novo (New Group

Mode), no qual provê a primeira fase de negociação e é utilizado para definir um

mecanismo de grupos privados para a troca do tipo Diffie-Hellman.

Para o estabelecimento de uma conexão IKE segura, devemos selecionar: o

algoritmo de criptografia para proteção dos dados, um algoritmo de hash para assinatura

digital, um método de autenticação para assinar o hash, informação sobre o qual grupo a

troca Diffie-Hellman deve ser feita e especificar a função pseudo-randômica para fazer o

hash de certos valores durante a troca de chaves, para a verificação.

Depois da negociação do SA, as entidades estão prontas para se comunicar em

uma rede pública, de modo seguro.

3. USO DO IPSEC EM REDES PRIVADAS VIRTUAIS

Uma Rede Privada Virtual ou VPN (Virtual Private Network ) é uma rede construída

sobre a infra-estrutura de uma rede pública, normalmente a Internet, a qual garante o

transporte de informações de forma segura em redes abertas, aliado a algumas

características intrínsecas das redes públicas, tais como a escalabilidade, a cobertura e a

acessibilidade. Uma VPN permite a interligação de duas ou mais redes, como, por

exemplo, a interligação da matriz de uma empresa e suas filiais. Uma conexão VPN

Page 19: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

19

entre duas redes realiza-se através de um túnel virtual, como aquele propiciado com a

utilização do IPSec e já abordado neste trabalho.

Além do IPSec, outros protocolos, que não fazem parte do escopo deste trabalho,

podem ser empregados com a mesma finalidade, conforme a seguir:

?? L2TP – Layer 2 Tunneling Protocol;

?? L2F – Layer 2 Forwarding; e

?? PPTP – Point-to-Pont Tunneling Protocol.

Uma das grandes vantagens decorrentes do uso das VPNs, e um dos fatores mais

relevantes ao se projetar uma VPN, é a redução de custos com comunicações

corporativas, uma vez que elimina a necessidade de links dedicados de longa distância,

os quais podem ser substituídos pela Internet. Outros fatores podem ser citados,

conforme a seguir:

?? Facilidade de instalação;

?? Baixo custo de implantação, sendo este o custo inicial de ativação;

?? Redução do custo de comunicações (telefones e linhas privativas), sendo este

o custo recorrente mensal;

?? Segurança, conforme os padrões que permitem autenticação, criptografia e

administração das chaves;

?? Suporte aos protocolos existentes (TCP/IP, IPX/SPX e NetBEUI);

?? Integração entre redes distantes, garantindo a flexibilidade para conectar

diversas redes; e

?? Transparência para os usuários.

Para o estabelecimento de uma conexão VPN com base em IPSec, existem

alguns passos básicos:

??O gateway verifica através de uma política de segurança se o host pode ser

conectado, ou seja, se pode ser criado um túnel virtual. Caso esta verificação

seja afirmativa, o gateway inicia a negociação do SA da sessão; e

Page 20: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

20

?? Em seguida, o host se comunica por meio de um canal seguro. Além de

todos os itens de segurança aplicados a uma VPN como autenticidade da

conexão e dos usuários, deve se considerar a integridade.

Uma VPN pode ser desenvolvida de duas formas:

?? Conexão de um host em um provedor de acesso a Internet, permitindo a

conexão de um usuário remoto através de um túnel, conforme definido na

Figura 15.

Figura 15 - Host conecta-se em um provedor de Internet

?? Conexão de duas redes através de links dedicados ou discados via Internet,

formando assim um túnel entre elas, conforme definido na Figura 16.

Figura 16 - Duas redes interligadas através de links dedicados ou discados

A segurança é um ponto fundamental na implementação de VPNs. Considerando

que dados privados serão transmitidos pela Internet, que é um meio de transmissão

inseguro, eles devem ser protegidos de forma a não permitir que sejam modificados ou

interceptados. É fundamental, portanto, manter a privacidade e a integridade dos dados

que atravessam uma rede não confiável (por ter acessos de terceiros). Portanto, para o

bom funcionamento de uma VPN, algumas características mínimas devem ser

observadas, conforme descrito a seguir:

Page 21: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

21

??Autenticação de usuários – restringir o acesso apenas às pessoas autorizadas;

?? Criptografia de dados – garantir a privacidade da informação, uma vez que

os dados trafegarão por uma rede pública; os dados devem ser criptografados

para que, caso alguém não autorizado tenha acesso aos dados, esta não

consiga reconhecer o conteúdo da mensagem; e

??Gerenciamento de chaves – o uso de chaves deve funcionar como um serviço

compartilhado exclusivamente entre as partes envolvidas.

Conforme abordado na primeira parte deste trabalho, o IPSec permite a

implementação de tais funcionalidades, garantindo, por conseguinte, os níveis de

segurança requeridos por uma VPN.

Existem os seguintes tipos de VPN:

?? VPN de acesso: oferece um acesso remoto à Rede Intranet ou Extranet em

cima de uma infra-estrutura que compartilha as mesmas políticas da rede

privada, conforme mostra a Figura 17. Por intermédio deste tipo de VPN, o

usuário ganha um meio de acesso seguro aos recursos corporativos onde

quer que esteja e quando necessário.

Figura 17 - VPN de Acesso

?? VPN para Intranet: a VPN interliga e integra a rede da sede, os escritórios

remotos e as filiais de uma corporação, em cima de uma infra-estrutura

compartilhada, conforme pode ser visto na Figura 18. Este tipo de VPN

permite que os negócios se utilizem da mesma política da rede privativa.

INTERNET

Page 22: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

22

Figura 18 - VPN para Intranet

?? VPN para Extranet: realiza perfis de interação por meio da Internet,

conforme apresentado na Figura 19, com uma infra-estrutura compartilhada

que usa conexões dedicadas: cadeias entre clientes, fornecedores e parceiros,

empresas e sócios, comunidades de interesse comum.

Figura 19 - VPN para Extranet

A VPN baseia-se no conceito de tunelamento, a exemplo do que foi descrito

com o IPSec, a qual inclui criptografia, antes do encapsulamento do pacote

propriamente dito. Em seguida, o protocolo de tunelamento encapsula o pacote com um

novo cabeçalho IP (adicional) que contém as informações de roteamento.

O chamado túnel é o caminho lógico percorrido pelo pacote ao longo da rede

intermediária, conforme mostrado nas Figuras 20 (a) e (b). O processo de tunelamento

envolve as etapas de encapsulamento, de transmissão ao longo da rede intermediária e

de desencapsulamento do pacote.

Page 23: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

23

Figura 20 (a) Tunelamento e a passagem do pacote

Figura 20 (b) Tunelamento IPSec.

Apesar do trabalho estar direcionado para o estudo do protocolo IPSec, deve-se

enfatizar que o tunelamento pode ocorrer tanto no nível de enlace quanto no nível de

rede, conforme descrito resumidamente a seguir:

?? Tunelamento no nível de enlace: os protocolos utilizam o quadro como

unidade de troca, encapsulando os pacotes da camada 3 (como o IP e o IPX)

em quadros do tipo PPP (Point-to-Point Protocol), PPTP (Point-to-Point

Tunneling Protocol), da Microsoft, L2F (Layer 2 Forwarding), da Cisco e

L2TP (Layer 2 Tunneling Protocol), da IETF (Internet Engineering Task

Force).

?? Tunelamento no nível de rede: o pacote IP original é encapsulado com um

novo cabeçalho IP, formando um novo pacote IP, antes de enviá- lo através

da rede, conforme já apresentado para o IPSec.

Page 24: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

24

4. CONCLUSÃO

O protocolo IPSec fornece o que há de melhor no mercado atual em termos de proteção

do tráfego e rede IP. O IPSec possui um conjunto de padrões utilizados para garantir

uma comunicação segura entre dois computadores, mesmo que as informações estejam

sendo enviadas através de um meio não seguro, como, por exemplo, a Internet.

O IPSec é baseado em um modelo ponto-a-ponto, no qual, dois computadores

para trocarem informações de maneira segura, usando o protocolo, devem “concordar”

com um conjunto comum de regras e definições do IPSec. Com o uso do IPSec e das

tecnologias associadas, os dois computadores são capazes de se autenticar mutuamente

e manter uma comunicação segura, com dados criptografados, permitindo a criação de

VPNs em ambientes expostos e sensíveis aos aspectos de segurança.

5. BIBLIOGRAFIA

[1] TANENBAUM, Andrew S., Redes de Computadores. 4. ed. Rio de Janeiro:

Elsevier, 2003.

[2] FALBRIARD, Claude. Protocolos e aplicações para Redes de Computadores. 2.

ed. São Paulo: Érica, 2002.

[3] PETERSON, Larry L., DAVIE, Bruce S. Computer Networks: A Systems

Approach. 3. ed. San Francisco, CA: Elsevier, 2003.

[4] HUITEMA, Christian. IPv6: The New Internet Protocol. 2. ed. Los Angeles, CA:

Prentice Hall, 1998.

[5] IETF IP Security Protocol Working Group Charter: http://www.ietf.org/html.charters/ipsec-

charter.html.

[6] Internet Engineering Task Force: http://www.ietf.org/.

[7] IETF IPng Information: http://playground.sun.com/pub/ipng/html/ipng-main.html.

[8] Mirror Oficial IETF no Brasil: http://www.ietf.rnp.br/ e ftp://ftp.ietf.rnp.br/.

[9] IPv6 6Bone Site: http://www.6bone.net/.

[10] Br-6Bone - Backbone IPv6 Brasileiro: http://www.6bone.rnp.br/.

Page 25: IPSec (Internet Protocol Security )debora/redes1/pdf/trab042/IPSec.pdf · 2005-01-24 · 1 IPSec (Internet Protocol Security ) Antonio Abílio da Costa Coutinho, José Eduardo Mendonça

25

[11] RFC 2460 - Internet Protocol, Version 6 (IPv6) Specification IPv6: The New

Internet Protocol, by Christian Huitema, 2. ed., 1998, Prentice Hall. ftp://ftp.ietf.rnp.br/rfc/rfc2460.txt.

[12] RFC 2411 - IP Security Document Roadmap ftp://ftp.ietf.rnp.br/rfc/rfc2411.txt.

[13] RFC 2402 - IP Authentication Header ftp://ftp.ietf.rnp.br/rfc/rfc2402.txt.

[14] RFC 2406 - IP Encapsulating Security Payload ftp://ftp.ietf.rnp.br/rfc/rfc2406.txt.

[15] RFC 2403 The Use of HMAC-MD5 within ESP and AH ftp://ftp.ietf.rnp.br/rfc/rfc2403.txt.

[16] RFC 2404 The Use of HMAC-SHA-1 within ESP and AH ftp://ftp.ietf.rnp.br/rfc/rfc2404.txt.

[17] RFC 2405 - ESP DES-CBC ftp://ftp.ietf.rnp.br/rfc/rfc2405.txt.

[18] RFC 2393- IP Payload Compression Protocol ftp://ftp.ietf.rnp.br/rfc/rfc2393.txt.

[19] RFC 2409 - The Internet Key Exchange (IKE) ftp://ftp.ietf.rnp.br/rfc/rfc2409.txt.

[20] RFC 2408 - Internet Security Assoc. and Key Management Protocol (ISAKMP) ftp://ftp.ietf.rnp.br/rfc/rfc2408.txt.

[21] RFC 2412 - The OAKLEY Key Determination Protocol ftp://ftp.ietf.rnp.br/rfc/rfc2412.txt.

[22] STALLINGS, William. Data & Computer Communications. 6. ed., Upper Saddle

River, NJ: Prentice Hall, 2000.