IPSEC IP Security Protocol *Utilize este material para fins educativos e não comerciais* Introdução O IPSec, ou IP Security Protocol, tem o objetivo de fornecer mecanismos de proteção ao pacote IP e às aplicações que rodam sobre o protocolo IP, estabelecendo níveis de seguranca entre host para host, subnet para subnet e host para subnet. Sua essência é, basicamente, a busca por pacotes IP privados, realiza ndo funções de segurança de dados, bem como: criptografia, autenticidade e integridade. As funções de gerenciamento de chaves também fazem parte das funções do IPSec. Arquitetura Básica O IPSec combina diversas tecnologias diferentes de segurança em um sistema completo que provê confidencialidade, integridade e autenticidade. Os dois lados precisam seguir os seguintes passos, para que haja uma comunicação segura por IPSec: Entrar em acordo quanto aos algoritmos de criptografia e autenticação que serão utilizados; Trocar as chaves secretas que alimentarão os algoritmos de autenticação e criptografia; Enviar os dados através da rede utilizando os métodos acordados.
O primeiro passo está ligado ao estabelecimento de SAs (Security Associations); o segundo, ao protocolo IKE (Internet Key Exchange); e o último, aos protocolos AH (Authentication Header) e ESP (Encapsulation Security Payload), que utilizarão as Security Associations criadas. Para isso, o IPSec é composto, basicamente, por: Protocolo AH Authentication Header Protocolo ESP Encapsulating Security Payload IKE Internet Key Exchange Possui um padrão aberto. É possível incluir otros algoritmos de autenticação e criptografia.
Protocolos Criptográficos: algoritmos de encriptação para grandes volumes de dados, como o DES (Data Encryption Standard); algoritmos de hash com utilização de chaves, com o HMAC combinado com os algoritmos de hash tradicionais como o MD5 ou SHA, autenticando os pacotes; certificados digitais assinados por uma autoridade certificadora. PROTOCOLOS AH E ESP Os protocolos AH e ESP são parte da arquitetura básica do IPSec. E, por questões de interoperabilidade, estes protocolos estabelecem que qualquer implementação de IPSec devem suportar alguns algoritmos prédefinidos. Para autenticação de cabeçalho: MD5 ou SHA-1 Para criptografia: DES-CBC, Null Authentication Algorithm e Null Encryption Algorithm. - Podem ser implementados separados ou em conjunto, para prover autenticação e criptografia. - Funcionam tanto em rede Ipv4 e Ipv6.
Protocolo AH IP Authentication Header: Protocolo AH fornece integridade do pacote, adicionando um cabeçalho entre o cabeçalho IP e DADOS. Sendo assim, impossibilitando que o pacote seja alterado durante uma transação. - Fornece integridade. - Autentição do IP de origem. - Serviço OPCIONAL de anti-replay.
Protocolo ESP IP Encapsulating Security Payload: Fornece criptografia dos dados transmitidos, entretanto o cabeçalho IP não é criptografado. - Fornece confidencialidade, integridade e autenticidade. - Informações de destino e origem ficam à mostra, permitindo análise de tráfego. - Serviço OPCIONAL de anti-replay.
Modos de utilização: - Ambos suportam dois modos de utilização: Transporte e Túnel. Transporte: - Modo mais simples. - Funciona basicamente para conexões fim-a-fim. - É adicionado um cabeçalho IPSec entre o cabeçalho IP e de DADOS. - Implementados os protocolos ESP/AH, inclusive criptografando o conteúdo, o cabeçalho IP é mantido inalterado, deixando à mostra a origem e destino. Túnel: - Mais complexo. - Muito utilizado para estabelecimento de VPNs. - Funciona para comunicações onde o host de destino está atrás de um gateway de segurança. - Todo datagrama IP original é encriptado, sendo encapsulado em um NOVO PACOTE IP, onde contém origem e destino os roteadores que geraram e receberam o pacote. - Roteador de destino, ao receber este pacote tunelado, o desencripta e roteará o pacote original para o destino desejado. - Protege contra análise de tráfego, pois o atacante só saberá o início e fim dos roteadores (túneis) e não da origem e destino reais.
Security Associations Um fundamento importante do IPSec são as Security Associations. Uma Security Association (SA) é um conjunto de parâmetros que representa uma relação unidirecional entre um emissor e um receptor. Ou seja, para cada par de sistemas que se comunicam, devem existir duas SAs. Três parâmetros atuam como identificadores de uma SA: Security Parameters Index, um identificador numérico único de 32 bits, presente nos cabeçalhos dos protocolos IPSec; endereço IP de destino; identificador de protocolo de segurança, que relaciona a SA ao AH ou ao ESP. Funcionamento: 1 Sistema A para enviar um pacote que necessita proteção IPSec, verifica as SAs armazenadas em seu BD, processa as informações e adiciona o SPI da SA no cabeçalho IPSec. 2 Sistema B recebe o pacote, procura a SA em seu BD, de acordo com o endereço de origem e SPI, e então processa o pacote da forma necessária. Quando um sistema envia um pacote que requer proteção IPSec, ele olha as SAs armazenadas em seus banco de dados, processa as informações, e adiciona o SPI da SA no cabeçalho IPSec. Quando o destino IPSec recebe o pacote, ele procura a SA em seus banco de dados de acordo com o endereço de destino e SPI, e então processa o pacote da forma necessária.
Gerenciamento de chaves - IKE: Gerenciamento pode ser manual ou automático, dependendo do número de nodes conectados na rede. Manual: - Define as chaves manualmente, em cada node. - Não é escalável. Caso a rede cresça, terá que configurar cada node. Automático: - Altamente escalável. - Escolhada chave secreta utilizando Diffie-Hellman - Utiliza o ISAKMP, para criar as SAs nos dois lados da comunicação. - Criptografia de chaves públicas com Diffie-Hellman, garantindo, assim, a identidade de ambas as partes* e evitando ataques do tipo man-in-themiddle. *Saber a origem e destino de um pacote é considerado ataque por inferência.