Para começar a entrar no mundo do IPSec devemos entender o contexto deu-se o desenvolvimento e implementação. Quando deu-se o inicio do desenvolvimento do conjunto de protocolos TCP/IP ele ainda se limitava ao meio acadêmico. Testes eram realizados pensando unicamente em funcionalidade. Com crescimento e a expansão da internet, surgiram vários tipos de aplicações. O setor privado principalmente o comercial vem realizando investimentos para conseguir mais produtividade e consequentemente obter lucros. Com todo este cenário surgiram os problemas no âmbito de segurança que se intensificaram e ficaram críticos.
Dentro deste contexto foi pensando em uma solução o IPSec (IP Security). Uma das plataformas de segurança de código aberto desenvolvida pelo time da IP Security dai o nome. Mantido pela IETF (Internet Engineering Task Force) uma solução aos desafios cotidianos em garantir segurança da informação.
Como o objetivo é garantir a segurança da informação. Foram desenvolvidos mecanismos de proteção aos pacotes IP e às aplicações que são implementadas sobre este protocolo. O IPSec aplica em sua estrutura os três pilares da segurança da informação confidencialidade, integridade e autenticação.
O IPSec é uma das opções para trabalhar com VPN (Virtual Private Network). Conceito que opera criando túneis virtuais entre os hosts envolvidos, encriptando todos os dados transmitidos sobre estes túneis. Ele é implementado na camada de rede do modelo TCP/IP sobre o protocolo IP. Assim seus serviços podem ser utilizados por quaisquer protocolos da camada superior. Principalmente a camada de transporte (como TCP, UDP, ICMP, BGP, RIP, etc ). Ele é utilizado em ambientes IPv4 de forma opcional é IPv6 de forma obrigatória.
O IPSec consegue ser estabelecido em três níveis de infraestrutura de segurança. VPN para as comunicações host-to-host, subnet-to-subnet e host-to-subnet.
Seu diferencial está relacionado a implementação através da utilização conjunta de protocolos de segurança de tráfego de dados. Assim prover um serviço de alta qualidade, baseados em criptografia para o protocolo IP e para as camadas superiores. O conjunto de serviços implantados inclui controle de acesso, integridade dos dados, autenticação da origem dos dados e confidencialidade (criptografia).
Os protocolos de tráfego de dados são;
- AH autenticação de cabeçalho (AH – Authentication Header).
- ESP encapsulamento seguro do payload ou conteúdos (ESP – Encapsulating Security Payload)
- Protocolos de gerência de chaves IKE.
Algo importante a tratando-se destes aspectos é a segurança provida pela criptografia k9 utilizada pelo IPSec. Este padrão é um diferencial quando comparado ao padrão SSL (Secure Socket Layer) utilizado em grande escala em aplicações web.
Visão geral de sua arquitetura:
O protocolo IPSec pode operar tanto em um host gateway VPN ou um host. Ambos com um banco de dados de política de segurança (SPD – Security Policy Database). Mantido pelo usuário, pelo administrador da rede ou por uma aplicação.
O processo de conexão do IPSec é dividido em duas fases lógicas.
Durante a primeira fase, o host IPSec estabelece uma conexão com o host remoto, vamos colocar assim. O host remoto verifica as credenciais do host solicitante e os dois lados entram em acordo com o método de autenticação a ser usado na conexão. O algoritmo com uma chave pré-compartilhada é geralmente usado para autenticação do host IPSec. Se a conexão IPSec usar uma chave pré-compartilhada, os dois hosts deverão usar a mesma chave. Será possível então proceder à segunda fase de estabelecimento de uma conexão.
Já na segunda fase é realizada usando a Associação de Segurança (SA). De modo geral uma associação de segurança é uma “conexão” que viabiliza o tráfego de serviços seguros. Já os protocolos AH, ESP e ainda de ambos (AH+ESP) garante a segurança do serviços. Uma associação pode tratar de dados de configuração, tais como o método de criptografia, os meios de troca de chaves secretas da sessão e alguns parâmetros que estão sendo importados para o banco de dados SA. Esta fase também gerencia a conexão IPSec entre os hosts e redes distribuídas em toda a WAN.
Uma vez estabelecida a conexão é criado um túnel. Todo o tráfego e encriptado garantindo a segurança na troca de informações, assim o sistema fica imune a atacantes nas demais localidades.
Os pacotes IP que trafegam por este túnel serão selecionados através de três formas de processamento definido por seletores. Ao utilizar o pacote IP e as informações do cabeçalho da camada de transporte e comparando-os com as entradas do banco de dados SPD.
AS – Security Association
Um dos conceitos fundamentais dentro a tecnologia do IPSec, uma associação de segurança. Ela trata diretamente de uma conexão que viabiliza o tráfego de serviços seguros. Já a segurança dos serviços é de garantida pela utilização dos protocolos de segurança mostrados logo abaixo.
OBS: no caso de usar AH e ESP em conjunto, mais de uma AS deve ser definida.
Cada Associação de segurança é identificada unicamente por três parâmetros:
- SPI (Security Parameter Index): É um número que identifica uma AS. Ela é definida durante a negociação que antecede o estabelecimento da mesma. Assim todos os membros de uma AS devem conhecer o SPI correspondente e usá-lo durante a comunicação.
- Endereço IP de destino: pode ser unicast, broadcast ou ainda multicast. No entanto, para definição dos mecanismos de gerenciamento de AS, o IPSec assume um endereço de destino unicast. Estendendo assim as definições para os casos de broadcast e multicast.
- Identificador do protocolo (AH ou ESP): É um número 51 para o AH e o 50 para o ESP.
Ainda uma AS pode ser estabelecida de dois modos destintos:
- Modo Transparente: Os protocolos tem por finalidade prover proteção primária aos protocolos das camadas superiores. No IPv4 o cabeçalho do protocolo de segurança é inserido entre o cabeçalho IP e os cabeçalhos dos protocolos da camada de transporte. No IPv6 o cabeçalho do protocolo de segurança é inserido após o cabeçalho básico do IPv6 e dos cabeçalhos de extensão end-to-end (fim-a-fim).
- Modo Túnel: Os protocolos são aplicados para tunelar pacotes IP. Quando pelo menos um dos membros de uma AS for um gateway de segurança IPSec então a AS deverá ser estabelecida em modo túnel.
Protocolos AH e ESP.
Os protocolos AH e ESP fazem parte da arquitetura básica IPSec. Por questões de garantia de interoperabilidade, estes protocolos estabelecem que todas as implementações IPSec suportem alguns algoritmos pré-definidos. Para autenticação de cabeçalho, os algoritmos obrigatórios são os seguintes:
- HMAC-MD5 com ESP e AH.
- HMAC-SHA-1 com ESP e AH.
E para o encapsulamento seguro do payload, autros algoritmos são:
- DES-CBC ESP algoritmos de codificação explicito.
- Algoritmo de autenticação NULL.
- Algoritmo de criptográfica NULL.
O protocolo AH (Authentication Header) adiciona autenticação, garantindo a autenticidade da origem dos pacotes. Garante que o pacote não foi alterado durante a transmissão. O AH pode ser implementado no modo transparente ou no modo túnel.
Algoritmos para autenticação:
- Algoritmos de cifra simétricos (ex. AES).
- HMAC – MD5 – 96.
- HMAC com SHA-1.
- HMAC com SHA-256.
A utilização do protocolo AH tem por vantagens prevenir ataques dos seguintes tipos.
- Replay: Este ataque ocorre quando um atacante intercepta um pacote válido e autenticado pertencente a uma conexão. Ele altera suas especificações e então, “entra nesta conversa”. Uma forma de se prevenir este tipo de ataque é a utilização do campo “Sequence Number“. Ele permite numerar os pacotes que trafegam de uma determinada AS.
- Spoofing: Este ataque ocorre quando um ataque assume o papel de uma máquina confiável para o destino. Desta forma ganha privilégios na comunicação. Para proteger o sistema deste tipo de ataque, sugere-se a utilização de mecanismos de autenticação.
- Connection Hijacking (Roubo de conexões): Este ataque por sua vez ocorre quando um atacante intercepta um pacote no contexto de uma conexão. Ele passa a participar de uma dada comunicação. Para proteger o sistema deste tipo de ataque, sugere-se a utilização de mecanismos de autenticação.
O protocolo ESP (Encapsulating Security Payload) adiciona mecanismo de autenticação e confidencialidade. Assim garante que somente os destinatários autorizados possuam acesso ao conteúdo do pacote. Ainda quer o AH, quer o ESP, oferecem controle de acesso através da obrigatoriedade de conhecimento das chaves ou via certificados digitais. Ele também pode ser utilizado no modo transporte ou no modo túnel.
Algoritmos no ESP:
Cifras:
- NULL.
- TripleDES-CBC.
- AES-CBC with 128-bit keys.
- AES-CTR.
- DES-CBC (Não deve ser oferecida por falta de segurança)
Autenticação:
- HMAC-SHA1-96.
- NULL.
- AES-XCBC-MAC-96.
- HMAC-MD5-96.
O uso do ESP previne ataques do tipo:
- Replay: Este tipo de ataque pode ser evitado a partir da utilização do “Sequence Number”, de modo semelhante ao AH.
- Particionamento de pacotes cifrados: Este tipo de ataque ocorre quando um atacante obtém partes de pacotes cifrados. Ele consegue montar um pacote e com isso consegue estabelecer uma conexão com membros de uma determinada sessão. Uma forma de prevenir este tipo de ataque é a partir da utilização de mecanismos de autenticação.
- Sniffer: Nesta modalidade um intruso busca por uma rede e uma vez identificada, inicia um processo de captação de pacotes. Ele busca obter padrões criptográficos para que seja feita a quebra de pacotes e a descoberta da informação trafegada. Como alternativa para proteger o sistema contra este tipo de ataque, sugere-se a utilização de uma criptografia forte. Por exemplo em ambientes WI-FI 802.11 sugere-se a adoção da criptografia PSK-WPA2.
Observando estes protocolos, definimos que o ESP deve e o AH Pode ser implementado no IPSec.
Gerenciamento de Chaves
Como os serviços de segurança IPSec compartilham chaves secretas que são utilizadas para autenticação, integridade e criptografia. As especificações IPSec definem um conjunto separado de mecanismos para o gerenciamento destas chaves. Com suporte para distribuição automática ou manual das chaves. Para distribuição manual e automática de chaves foram especificados procedimentos baseados em chaves públicas definidos pelas seguintes infraestruturas:
- ISAKMP – Internet Security Association and Key Managemant Protocol.
- IKE – Internet Key Exchange:
- Tem como objetivo estabelecer associação de segurança para o AH e o ESP. Se o IKE fo quebrado, o AH e o ESP deixam de proteger.
- The OAKLEY Key Determination Protocol.
OBS: mesmo com as definições dos padrões acima. As especificações IPSec permitem a inclusão de outros protocolos de gerência de chaves públicas como, por exemplo o SKIP.
Considerações finais
O IPSec é uma implementação popular do padrão VPN que é confiável. O suficiente para satisfazer aos requisitos dos clientes em termos de conexão de suas filiais ou usuários remotos.
Vários níveis de autenticação e criptografia são usados, tornando-os seguros, confiáveis e eficazes.
Hoje o IPSec esta em um nível de confiabilidade muito alta. Devido ao contexto histórico de sua implementação de segurança da informação. Ainda pela popularização do IPv6 que torna-se obrigatório o uso do IPSec em sua utilização.
Temos consciência que nada hoje e seguro. Além do mais são seres humanos suscetivos a erros. Mas assim observamos esforços de equipes, pessoas empenhadas em fornecer soluções com um nível a mais de segurança.
Referências
https://datatracker.ietf.org/doc/rfc1825/?include_text=1
https://www.ibm.com/developerworks/br/library/l-ipsec/
http://www.teleco.com.br/tutoriais/tutorialipv6seg/pagina_5.asp