7- SEGURANÇA

A especificação do protocolo IPv6 inclui segurança na camada de rede através de uma arquitetura criada para tal, a IPSec. Esta arquitetura é bastante flexível, de modo a evitar problemas relacionados com restrições de exportação de criptografia e não impede a utilização de outros mecanismos de segurança por parte das aplicações.

Tendo em conta que a utilização generalizada do IPv6 não é um processo imediato, a IPSec foi concebida de modo a poder ser utilizada com o protocolo IPv4. Existem já implementações de sistemas Unix que englobam a arquitetura de segurança para o protocolo IP.

7.1 - IP Security Protocol (IPSec)

Segundo Karn et al. (1998), o projeto IPSec representa um esforço desenvolvido pelo Working Group IPSec da IETF para desenvolver uma arquitetura de segurança para o protocolo IP e tem como objetivos:

a. Criar uma infra-estrutura de rede segura providenciando proteção nos cabeçalhos de dados e de chaves;

b. Reduzir a preocupação de implementar mecanismos de segurança nas aplicações;

c. Compatibilizar o seu funcionamento com mecanismos de segurança já existentes e utilizados por aplicações;

d. Evitar problemas de exportação de criptografia;

e. Ser parte integrante do protocolo IPv6 e poder ser aplicável ao IPv4.

Através dos seus componentes, a IPSec usa este conceito para permitir a implementação de redes virtuais privadas e seguras através de redes públicas tais como a Internet.

7.1.1 - IPSec - Características

Conforme Sofia (1998) o IPSec representa uma arquitetura para o protocolo IP, integrando mecanismos de autenticação, gestão e distribuição de chaves que podem ser usados com qualquer das versões do protocolo IP. O IPSec utiliza como mecanismos de autenticação dois cabeçalhos de extensão específicos do protocolo IPv6: o cabeçalho de autenticação (Authentication Header) e o cabeçalho de encapsulamento de dados de segurança (Encapsulating Security Payload Header).

Além destes dois cabeçalhos, o IPSec define também o conceito de associação de segurança - conjunto de diretivas que permite negociar algoritmos de cifra a utilizar. Uma associação de segurança representa uma relação entre duas ou mais entidades comunicantes e descreve quais os mecanismos de segurança a utilizar para estabelecer uma comunicação segura. A associação de segurança permite negociar protocolos, algoritmos de cifra e chaves a usar, e contém informação sobre:

a. Algoritmo e modo de autenticação a aplicar ao cabeçalho de autenticação;

b. Chaves usadas no algoritmo de autenticação;

c. Algoritmo, modo e transformada de cifra utilizados no cabeçalho de encapsulamento de dados de segurança, ESP;

d. Chaves usadas no algoritmo de cifra do cabeçalho de encapsulamento de dados;

e. Chaves de autenticação usadas com o algoritmo que faz parte da transformada ESP;

f. Tempo de vida da chave;

g. Tempo de vida da associação de segurança;

h. Endereço(s) fonte da associação de segurança;

i. Nível de sensibilidade dos dados protegidos.

Na prática, uma associação de segurança é representada por um índice de parâmetros de segurança - Security Parameter Index (SPI) - com um endereço IP destino. O SPI é um campo que surge nos cabeçalhos de segurança IPv6 (AH e ESP), que não é cifrado na transmissão, já que a sua informação é essencial para decifrar a informação transmitida.

Quando uma entidade quiser estabelecer uma associação de segurança, utiliza um SPI e um endereço destino (pertencente à entidade com que deseja estabelecer comunicação segura) e envia essa informação à entidade com que quer estabelecer o canal seguro. Assim, para cada sessão de comunicação autenticada entre dois nodos , são necessários dois SPI - um para cada sentido, dado que cada associação de segurança é unidirecional.

O IPSec apresenta uma estrutura bastante flexível, que não obriga à utilização de algoritmos de autenticação ou cifra específicos. Assim, o IPSec pode interagir com as normas mais recentes. No entanto, dada a necessidade de segurança, a IETF definiu como algoritmos a usar:

a. HMAC-MD5 e HMAC-SHA-1 para autenticação (quer no cabeçalho AH, quer no ESP);

b. DES-CBC, para a cifra usada no cabeçalho ESP.

O IPSec integra gestão manual de chaves. A gestão é da responsabilidade de protocolos criados para este fim, tais como o SKIP, da Sun Microssystems, ou o Photuris, (acrónimo em latim para desenvolvido por Phil Karn), ou ainda o protocolo Internet Key Exchange, IKE. Na medida em que estes cabeçalhos são cabeçalhos de extensão que irão ser adicionados a um cabeçalho IP, os encaminhadores podem interpretá-los como fazendo parte integrante dos dados, o que permite a compatibilidade destes mecanismos com equipamento que compreende o protocolo IP mas não o IPSec. Os componentes da IPSec são:

a. Cabeçalho de Autenticação (AH)

b. Cabeçalho de Encapsulamento de Dados de Segurança (ESP)

c. Mecanismos de Gestão de Chaves (SOFIA, 1998).

7.1.2 - Cabeçalhos de Autenticação (AH)

O cabeçalho de autenticação representa um cabeçalho de extensão do protocolo IPv6 e foi criado para validar a identidade de entidades comunicantes. Ele tem a função de identificar o emissor e destino corretos, verificar se o emissor que afirma ter enviado os dados é a mesma pessoa e providenciar mecanismos de autenticação aos datagramas IP.

Cabeçalho de Autenticação.

Na medida em que alguns dos campos do datagrama IP são alterados durante a transmissão e dado que o cabeçalho de autenticação é adicionado na fonte do datagrama. Este cabeçalho por si só não fornece proteção contra ataques de análise de tráfego ou confidencialidade, sendo para tal usado normalmente em conjunto com o cabeçalho de encapsulamento de dados (SILVA, 2003).

7.1.3 - Cabeçalho de Encapsulamento de Dados de Segurança

O cabeçalho de encapsulamento de dados de segurança (ESP) é um cabeçalho de extensão pertencente ao protocolo IPv6 que fornece integridade e confidencialidade aos datagramas IP através da cifra dos dados contidos no datagrama.

Cabeçalho de Encapsulamento de Dados de Segurança.

A utilização do ESP pode ser efetuada de dois modos:

a. Modo de Transporte (transport-mode). Providencia proteção principalmente no respeitante aos protocolos da camada superior. É utilizado majoritariamente em comunicação extremo a extremo entre dois nodos, por exemplo, um cliente e um servidor. Este modo cifra informação do protocolo da camada de transporte, adicionando-lhe em seguida um novo cabeçalho IP não-cifrado, pelo que se torna vantajoso em redes relativamente pequenas, nas quais o(s) servidor(es) e nodo implementam a IPSec ;

b. Modo de Túnel (tunnel-mode). Providencia proteção ao pacote IP. Para tal, após a adição dos campos ESP ao pacote IP, todo o pacote é tratado como o módulo de dados de um novo pacote IP. Assim, pode ser usado para enviar dados cifrados através de um túnel, o que permite enviar dados independentemente da infra-estrutura utilizada. Um exemplo é o envio de pacotes IP através de canais virtuais criados numa rede IP pública, como a Internet. Através deste modo, pode ser fornecida segurança a um grupo de nodos que não implementem o IPSec.

7.1.4 - Mecanismos de Gestão de Chaves

Além dos mecanismos de autenticação e validação da informação a IPSec necessita de um mecanismo eficiente de gestão de chaves. A gestão de chaves diz respeito à criação, eliminação e alteração das chaves.

Embora a IPSec não integre um mecanismo de gestão de chaves, a IETF definiu como norma de gestão o protocolo híbrido ISAKMP/Oakley também denominado IKE, Internet Key Exchange, que se encontra baseado nos documentos:

a. ISAKMP - Internet Security Association and Key Management Protocol. Protocolo que descreve uma infra-estrutura para a gestão de associações de segurança;

b. Oakley - protocolo que define material de chaves para cifra, hashing e autenticação e é compatível com a gestão de associações de segurança ISAKMP;

c. Internet Domain Of Interpretation - define parâmetros ISAKMP para as associações de segurança IPSec no domínio Internet;

d. Resolução ISAKMP/Oakley - define o perfil do protocolo híbrido ISAKMP/Oakley, escolhido como norma de gestão de chaves criptográficas pela Internet Engineering Task Force;

e. IKE - Internet Key Exchange.

O IKE usa a porta 500 do protocolo UDP e interage com os restantes mecanismos de segurança IPSec através de associações de segurança. Assim, o IKE proporciona a possibilidade de estabelecer associações de segurança para diversos protocolos e aplicações de segurança, tendo assim um método transparente e aberto de associar diferentes mecanismos de segurança, sem envolver as entidades participantes na comunicação. O IKE agrupa funcionalidades dos protocolos ISAKMP e Oakley:

Quando uma entidade pretende estabelecer comunicação segura, passa pelas fases IKE:

Fase 1: esta fase ocorre num meio inseguro. Tem o objetivo de estabelecer um canal seguro que irá proteger as trocas da Fase 2. É executada uma vez para várias fases 2;
Fase 2: esta fase ocorre no canal seguro criado na fase 1. As suas negociações têm o objetivo de estabelecer as associações de segurança que irão proteger a comunicação.

Após estas duas fases, encontra-se estabelecido um canal seguro através do qual se pode efetuar comunicação segura (SOFIA, 1998).
Próximo