Integrantes: Breno Manhães, Guilherme Rolim, João Pedro Moretti
Introdução ao IPSec
Os Protocolos de Segurança da Internet, ou IPSec, são um conjunto abrangente de protocolos utilizados para garantir a segurança das comunicações na internet. Ele oferece um conjunto robusto de recursos, incluindo autenticação, integridade, confidencialidade e proteção contra repetição de pacotes. O IPSec é amplamente adotado em diversos cenários, desde redes corporativas até VPNs (Redes Privadas Virtuais), garantindo comunicações seguras e protegidas contra acesso não autorizado.
A implementação de um mecanismo de segurança para nível da camada de rede também resulta em uma solução versátil e de baixo custo de implementação em termos de mão de obra, já que no caso de implementação em roteadores e firewalls não é necessário reescrever o código das aplicações para as quais o serviço do IPSec é fornecido. Na prática, o IPSec integra mecanismos de autenticação, gestão e distribuição de chaves.
Requisitos de segurança do IPSec
Para que o IPSec seja eficaz, ele deve atender a certos requisitos mínimos de segurança, que incluem:
- Autenticação: Permite ao sistema verificar se as entidades comunicantes são de fato as que deveriam ter acesso à rede.
- Controle de Acesso: Impede o acesso de usuários não autorizados à rede.
- Confidencialidade: Previne que os dados transmitidos sejam lidos durante a travessia da rede pública.
- Integridade dos dados: Garante que os dados não sejam alterados durante a travessia pela rede pública.
Modos de Operação do IPSec
O IPSec oferece dois modos de operação principais para proteger as comunicações: modo de transporte e modo de túnel.
Modo de Transporte
No modo de transporte, apenas o payload do pacote IP é protegido com IPSec, mantendo o cabeçalho IP original. Esse modo é comumente usado para proteger o tráfego entre hosts individuais, onde o cabeçalho IP original deve ser mantido para roteamento e gerenciamento de qualidade de serviço (QoS). Este modo é utilizado em dispositivos que já incorporam o IPSEC em sua pilha TCP/IP.
O modo de transporte é adequado para situações em que a segurança é necessária apenas entre os hosts finais e não é necessário proteger o cabeçalho IP externo.
Retirado de Redes Privadas Virtuais - Pedro Celestino
Modo de Túnel
No modo de túnel, todo o pacote IP original, incluindo seu cabeçalho, é encapsulado dentro de um novo pacote IP com cabeçalho IPSec. Esse pacote é então transmitido pela rede entre os gateways IPSec (normalmente roteadores ou firewalls) que estão protegendo as comunicações.
O modo de túnel é comumente usado em comunicações entre redes inteiras, como conexões de VPN (Rede Privada Virtual), onde todo o tráfego entre as redes deve ser protegido pelo IPSec.
Retirado de Redes Privadas Virtuais - Pedro Celestino
Associações de segurança (SA)
Associações de Segurança (Security Associations, SAs) são fundamentais para o funcionamento do IPsec, pois definem os parâmetros de segurança aplicados às comunicações entre dispositivos. Uma SA é um acordo entre duas entidades sobre como proteger os dados trocados. Cada SA é unidirecional e é identificada de forma exclusiva por três elementos:
- Security Parameters Index (SPI): Um identificador único que, junto com o endereço IP de destino e o protocolo de segurança (AH ou ESP), especifica uma SA.
- Endereço IP de Origem e Destino: O endereço do destinatário que utiliza a SA.
- Protocolo de Segurança: Define se a SA é para AH (Authentication Header) ou ESP (Encapsulating Security Payload).
- Modo: Transporte ou Túnel.
- Algoritmos e chaves: De criptografia e de autenticação.
- TTL (Time To Live): Tempo limite de existência de um pacote ou número de saltos
As SAs são estabelecidas durante a fase de handshake do IPSec através de um processo de negociação que utiliza o protocolo IKE (Internet Key Exchange). O IKE autentica as partes, negocia os parâmetros de segurança e gera as chaves criptográficas necessárias.
Protocolos do IPSec
O IPSec utiliza dois protocolos principais para fornecer segurança às comunicações: o Authentication Header (AH) e o Encapsulating Security Payload (ESP).
Authentication Header (AH)
O protocolo Authentication Header (AH) é responsável por fornecer autenticação e integridade dos pacotes IP, adicionando um cabeçalho de autenticação ao pacote IP original. Dentre os campos que compõem o cabeçalho do protocolo AH estão:
- Próximo cabeçalho: Indica o tipo do próximo cabeçalho após o AH
- Comprimento do Payload: Comprimento do cabeçalho AH
- Reservado: Bits reservados para a extensão do protocolo
- SPI (Security Parameters Index): Identifica a associação de segurança (SA) utilizada para o pacote.
- Número de sequência: Número de sequência usado para evitar ataques de repetição.
- Dados de autenticação: Contém o ICV que é utilizado para verificar a integridade e autenticação do pacote.
Encapsulating Security Payload (ESP)
O protocolo Encapsulating Security Payload (ESP) fornece confidencialidade, autenticação e integridade dos dados transmitidos. Ele encapsula o payload do pacote IP original em um novo pacote, adicionando um cabeçalho ESP que contém informações sobre a proteção aplicada, como algoritmos de criptografia e chaves de criptografia.
O ESP pode ser configurado para oferecer apenas confidencialidade dos dados, apenas autenticação e integridade, ou ambos. Ele é comumente usado em conjunto com o protocolo AH para fornecer um alto nível de segurança nas comunicações protegidas pelo IPSec. Dentre os campos que compõem o cabeçalho do protocolo ESP estão:
- SPI (Security Parameters Index): Em conjunto com o endereço fonte, identifica a associação de segurança (SA) utilizada para o pacote.
- Número de sequência: Número de sequência usado para evitar ataques de repetição.
- Payload Data: Contém os dados encapsulados (criptografados).
- Padding: Bytes adicionados para alinhar o tamanho do payload.
- Pad Length: Comprimento do padding adicionado.
- Next Header: Tipo do próximo cabeçalho após o ESP.
- Integrity Check Value (ICV): Verificação de integridade e autenticação dos dados.
Gerenciamento de chaves
O gerenciamento de chaves é responsável por assegurar a confidencialidade, integridade e autenticidade das comunicações. Este processo envolve a criação, distribuição, renovação e destruição de chaves criptográficas utilizadas nos protocolos AH (Authentication Header) e ESP (Encapsulating Security Payload).
O protocolo principal utilizado para o gerenciamento de chaves no IPsec é o Internet Key Exchange (IKE).
Internet Key Exchange (IKE)
IKE é um protocolo que realiza a negociação de Associações de Segurança (SAs) e a troca de chaves criptográficas entre dispositivos IPsec. O IKE utiliza a porta UDP 500 e opera em duas fases principais:
- Fase 1 do IKE:
- Objetivo: Estabelecer um canal seguro e autenticado entre as partes.
- Processo:
- As partes autenticam-se mutuamente utilizando certificados digitais ou pré-compartilhados (PSKs).
- Negociam um conjunto de políticas de segurança, incluindo algoritmos criptográficos.
- Criam uma SA do IKE, que protege a comunicação durante a Fase 2.
- Utilizam o algoritmo Diffie-Hellman para a troca segura de chaves, que permite que duas partes derivem uma chave criptográfica a partir de trocas de parâmetros publicamente conhecidos.
- Modo: Pode operar no modo Main ou Aggressive, com Main sendo mais seguro, mas mais lento, e Aggressive sendo mais rápido, mas menos seguro.
- Fase 2 do IKE:
- Objetivo: Negociar SAs para AH e/ou ESP, estabelecendo os parâmetros específicos de criptografia e autenticação.
- Processo:
- Utiliza o canal seguro estabelecido na Fase 1 para trocar informações sobre as SAs do IPsec.
- Gera e distribui as chaves criptográficas para proteger o tráfego de dados.
- Modo: Opera no modo Quick, que é mais eficiente e seguro devido ao canal protegido.
Conclusão
O IPSec desempenha um papel vital na segurança das comunicações na internet, oferecendo autenticação, integridade, confidencialidade e proteção contra repetição de pacotes. Sua implementação na camada de rede, sem a necessidade de modificar as aplicações, torna-o uma solução versátil e econômica. Os modos de operação, transporte e túnel, proporcionam flexibilidade para atender desde comunicações entre hosts individuais até conexões seguras entre redes inteiras.
Essas características, especialmente a utilização do modo túnel, onde todo o pacote IP é encapsulado e protegido, justificam a ampla utilização do IPSec em VPNs. As Associações de Segurança (SAs) e o protocolo IKE garantem a negociação segura dos parâmetros de segurança e a gestão eficiente de chaves criptográficas. Dessa forma, o IPSec assegura que os dados transmitidos por redes públicas permaneçam privados e protegidos contra acessos não autorizados, o que é essencial para a comunicação segura em ambientes corporativos e pessoais.
Perguntas
1. O que é o IPSec e quais são seus principais objetivos?
O IPSec (Internet Protocol Security) é um conjunto de protocolos usados para garantir a segurança das comunicações na internet. Seus principais objetivos são fornecer autenticação, integridade, confidencialidade e proteção contra repetição de pacotes.
2. Quais são os modos de operação do IPSec e quais são as suas diferenças?
O IPSec opera em dois modos principais: modo de transporte e modo de túnel.
Modo de Transporte: Protege apenas o payload do pacote IP, mantendo o cabeçalho IP original.
Modo de Túnel: Encapsula todo o pacote IP original dentro de um novo pacote IP com cabeçalho IPSec, protegendo tanto o cabeçalho quanto o payload.
3. O que são Associações de Segurança (SAs) no contexto do IPSec?
Associações de Segurança (Security Associations, SAs) são acordos unidirecionais entre duas entidades sobre como proteger os dados trocados. Elas definem os parâmetros de segurança aplicados às comunicações, incluindo identificadores únicos (SPI), o endereço IP de destino e o protocolo de segurança (AH ou ESP), entre outros.
4. Qual é a função dos protocolos Authentication Header (AH) e Encapsulating Security Payload (ESP) no IPSec?
Authentication Header (AH): Protocolo que fornece autenticação e integridade dos pacotes IP. Ele adiciona um cabeçalho de autenticação ao pacote IP original, garantindo que os dados não foram alterados e que são provenientes da fonte legítima.
Encapsulating Security Payload (ESP): Protocolo que oferece confidencialidade, autenticação e integridade dos dados transmitidos. Ele encapsula o payload do pacote IP original em um novo pacote, adicionando um cabeçalho ESP com informações sobre a proteção aplicada, como algoritmos de criptografia e chaves.
5. O que faz o protocolo IKE – Internet Key Exchange?
O protocolo IKE (Internet Key Exchange) é responsável por negociar Associações de Segurança (SAs) e trocar chaves criptográficas entre dispositivos IPSec. Ele estabelece um canal seguro e autenticado entre as partes, utilizando certificados digitais ou chaves pré-compartilhadas (PSKs), e gerencia as chaves criptográficas necessárias para proteger
Bibliografia
- [1] IP Security (IPsec) and Internet Key Exchange (IKE) Document Roadmap - Sheila Frankel e Suresh Krishnan - Fevereiro/2011
- [2] IPsec Virtual Private Network Fundamentals - James Henry Carmouche - 2006
- [3] IPSec_ The New Security Standard for the Internet, Intranets, and Virtual Private Networks - Naganand Doraswamy, Dan Harkins - 2006
- [4] Security Architecture for the Internet Protocol - Stephen Kent e Randall Atkinson - Novembro 1998
- [5] Entender o protocolo IKEv1 IPsec - Cisco - link
- [6] Protocolo IP Security - Ricardo Dahab - Dezembro de 2003 - link
- [7] Configuração do IPsec - Microsoft - Junho de 2023 - link
- [8] Captura do protocolo IPSec no Wireshark - link
- [9] Redes Privadas Virtuais - Pedro Celestino - 2005 - link