O que o IPSec usa para autenticar à origem de cada pacote é oferecer à verificação de integridade de dados?

Origem: Wikipédia, a enciclopédia livre.

Pilha de protocolos TCP/IP
Camada de aplicação
  • DHCP
  • DNS
  • FTP
  • HTTP
  • HTTPS
  • IMAP
  • LDAP
  • MGCP
  • NNTP
  • NTP
  • POP
  • ONC/RPC
  • RTP
  • SIP
  • SMTP
  • SNMP
  • SSH
  • Telnet
  • TLS/SSL
  • XMPP
  • outros…
Camada de transporte
  • TCP
  • UDP
  • DCCP
  • SCTP
  • RSVP
  • outros…
Camada de rede
  • OSPF
  • IP
    • IPv4
    • IPv6
  • ICMP
  • ICMPv6
  • ECN
  • IGMP
  • IPsec
Camada de enlace de dados
  • NDP
  • ARP
  • túneis…
    • L2TP
  • PPP
  • MAC
    • Ethernet
    • DSL
    • RDIS
    • FDDI
  • outros…

  • v
  • d
  • e

Protocolo de Segurança IP (IP Security Protocol, mais conhecido pela sua sigla, IPsec) é uma extensão do protocolo IP que visa a ser o método padrão para o fornecimento de privacidade do usuário (aumentando a confiabilidade das informações fornecidas pelo usuário para uma localidade da internet, como bancos), integridade dos dados (garantindo que o conteúdo que chegou ao seu destino seja o mesmo da origem) e autenticidade das informações ou prevenção de identity spoofing (garantia de que uma pessoa é quem diz ser), quando se transferem informações através de redes IP pela internet.

Segundo a RFC 6071, IPsec é uma suíte de protocolos que provê segurança no nível da camada IP para comunicações pela Internet.[1] Opera na camada de rede (ou camada 3) do modelo OSI, sendo essa a camada de mesmo nome no modelo TCP/IP. Outros protocolos de segurança da internet como SSL e TLS operam desde a camada de transporte (camada 4) até a camada de aplicação (camada 7).

Isso torna o IPsec mais flexível, como pode ser usado protegendo os protocolos TCP e UDP, mas aumentando sua complexidade e despesas gerais de processamento porque não se pode confiar em TCP (camada 4 do modelo OSI) para controlar a confiabilidade e a fragmentação. O IPsec é parte obrigatória do IPv6, e opcional para o uso com IPv4. O padrão foi projetado para ser indiferente às versões do IP, à distribuição atual difundida e às implementações do IPv4.

História e desenvolvimento[editar | editar código-fonte]

A RFC 1825, publicada em 1995, estabeleceu a arquitetura de segurança na camada de interredes da pilha TCP/IP (equivalente à camada de rede do modelo OSI) por meio da especificação dos protocolos AH (Autentication Header, "cabeçalho de autenticação") e ESP (Encapsulated Security Payload, "encapsulamento de segurança de carga útil"), cujos cabeçalhos seriam usados para prover serviços de segurança (autenticidade, integridade e confidencialidade) ao IPv4 e IPv6.[2] Detalhes de implementação destes dois protocolos foram inicialmente especificados nas RFC 1826 e RFC 1827.[3][3] A RFC 1825 também definiu a necessidade de um protocolo de gerenciamento de chaves como necessário ao uso de AH ou ESP, bem como especificou o conceito de Security Association ("associação de segurança", ou simplesmente SA), um conjunto de informações que definem uma conexão, igualmente necessário em qualquer implementação dos protocolos AH e ESP. Foram ainda definidos o MD5 e o DES no modo CBC como algoritmos padrões do AH e ESP, respectivamente.

Em novembro 1998, uma série de RFCs foram publicadas (da RFC 2401 à RFC 2412), atualizando e estendendo as especificações da suíte de protocolos e ferramentas IPsec, por exemplo, introduzindo o protocolo IKE (Internet Key Exchange, "compartilhamento de chaves na Internet") como ferramenta de gerenciamento automático de chaves. Este conjunto de RFCs ficou conhecido como "antigo IPsec" ou "IPsec-v2". Em 2005 a arquitetura IPsec foi novamente renovada e expandida em uma terceira geração de RFCs (RFC 4301, 4302 e 4306, dentre outras), o que se convencionou chamar "IPsec-v3", ou "novo IPsec". Atualmente, o HMAC-SHA-1 e o AES-CBC de 128 bits são os algoritmos padrões para garantia de autenticidade, integridade e confidencialidade no IPsec, em substituição ao MD5 e ao DES.[1]

Características[editar | editar código-fonte]

O IPsec é uma combinação de diferentes tecnologias criadas para prover uma segurança melhor, como um mecanismo de troca de chaves de Diffie-Hellman; criptografia de chave pública para assinar as trocas de chave de Diffie-Hellman, sendo assim, garantindo a integridade das partes e evitando ataques como o man-in-the-middle; algoritmos para grandes volumes de dados, com o DES; algoritmos para cálculo de hash como utilização de chaves, com o HMAC, junto com os algoritmos de hash tradicionais como o MD5 ou SHA, autenticando pacotes e certificados digitais assinados por uma autoridade certificadora, que agem como identidades digitais.[4]

Arquitetura de segurança[editar | editar código-fonte]

IPsec é o protocolo de criptografia da internet para tunelamento, criptografia e autenticação. Existem dois modos, consoante a unidade o que se está protegendo. No modo transporte se protege o conteúdo útil do pacote IP e no modo túnel se protege o pacote IP completo.

Modo de transporte[editar | editar código-fonte]

No modo transporte, somente a mensagem (payload) é criptografada. O roteamento permanece intacto, desde que o cabeçalho do IP não seja modificado e nem cifrado; entretanto, quando o cabeçalho da autenticação é usado, os endereços IP não podem ser traduzidos, porque isto invalida o valor de hash. As camadas de transporte e de aplicação são fixas sempre pelo hash, assim, não podem sofrer nenhuma modificação. O modo transporte é usado para comunicações de host-a-host.

Modo de tunelamento[editar | editar código-fonte]

No modo de tunelamento, o pacote IP é criptografado por inteiro. Deve, assim, encapsular um novo pacote IP para distribuí-lo. O tunelamento é usado para comunicações da rede-a-rede (túneis seguros entre roteadores) ou comunicações de host-a-rede e de host-a-host sobre a internet.

Características técnicas do IPsec[editar | editar código-fonte]

Dois protocolos foram desenvolvidos para prover um nível de segurança para os fluxos dos pacotes e mudanças de chaves como:

  • Encapsulating Security Payload (ESP), que provê autenticação, confidencialidade dos dados e integridade da mensagem.
  • Cabeçalho de autenticação (AH), que provê a autenticação e integridade dos dados, mas não a confidencialidade.

Cabeçalho de autenticação (AH)[editar | editar código-fonte]

0 - 7 bit 8 - 15 bit 16 - 23 bit 24 - 31 bit
Próximo cabeçalho Tamanho da mensagem RESERVADO
Identificação dos Parâmetros de Segurança (SPI)
Número de Sequência
Dados de autenticação (variável)

Descrição dos campos:

  • Próximo cabeçalho: Identifica o protocolo de dados de transferência;
  • Tamanho da mensagem: Tamanho do cabeçalho AH;
  • RESERVADO: reservado para uso futuro;
  • Identificação dos parâmetros de segurança (SPI): a identificação dos parâmetros de segurança (SPI) que, em combinação com o endereço IP, identifica a Associação de Segurança (SA) implementada para este pacote;
  • Número de sequência: um número crescente, usado para impedir ataques repetitivos;
  • Dados de autenticação: contém o valor da verificação da integridade (ICV) necessário para autenticação do pacote.

Encapsulating Security Payload (ESP)[editar | editar código-fonte]

O diagrama ESP:

0 - 7 bit 8 - 15 bit 16 - 23 bit 24 - 31 bit
Identificação dos Parâmetros de Segurança (SPI)
Número de Sequência
Dados de payload (variável)
  Padding (0-255 bytes)  
    Tamanho do Pad Próximo cabeçalho
Dados de autenticação (variável)

Descrição dos campos:

  • Identificação dos parâmetros de segurança (SPI): identifica os parâmetros de segurança em combinação com o endereço de IP;
  • Número de sequência: um número crescente, usado para impedir ataques repetitivos;
  • dados da mensagem: os dados a serem transferidos;
  • Padding: usado por alguns algoritmos criptográficos para reordenar por inteiro o conteúdo dos blocos;
  • Tamanho do pad: tamanho do pad em bytes;
  • Próximo cabeçalho: identifica o protocolo para transferência dos dados;
  • Dados de autenticação: contém os dados usados para autenticação do pacote.

Implementações[editar | editar código-fonte]

O suporte ao IPsec é geralmente incluído no núcleo do sistema operacional com gerência de chave e ISAKMP/IKE entre as negociações realizadas no espaço do usuário-final. Existem implementações do IPsec que tendem a incluir ambas as funcionalidades. Entretanto, porque há uma relação padrão para a gerência de chave, é possível controlar uma pilha do IPsec no núcleo usando uma ferramenta de gerência de chave com implementação diferente.

Por esta causa, há confusão a respeito das origens da implementação do IPsec que está no núcleo Linux. FreeS/WAN é o projeto que primeiro implementou uma solução completa e de código aberto do IPsec para Linux, e o projeto foi encerrado em março de 2004. Openswan e strongSwan são as continuações do FreeS/WAN. KAME project também implementou um suporte completo ao IPsec para o NetBSD e FreeBSD. O OpenBSD fez seu próprio daemon de ISAKMP/IKE, nomeado simplesmente como isakmpd (que foi movido também a outros sistemas, incluindo Linux).

Entretanto, nenhumas destas pilhas do IPsec foram integradas no Linux. Alexey Kuznetsov e David S. Moleiro escreveram uma implementação de IPsec para o Linux em torno do fim de 2002. Esta pilha foi liberada subsequentemente como parte do Linux 2.6.

Consequentemente, contrariando a opinião popular, a pilha do IPsec no Linux não se originou do projeto KAME. Como suporta o protocolo padrão PF KEY (RFC 2367) e a relação nativa XFRM para a gerência de chave, a pilha do IPsec no Linux pode ser usada conjuntamente com qualquer uma das implementações citadas abaixo.

  • 6WINDGate, Network processor MPU Fast Path IPsec stack
  • NRL [1] IPsec, [2]
  • OpenBSD, com seu próprio código derivado da NRL IPsec
  • KAME, usado no Mac OS X, NetBSD e FreeBSD
  • "IPsec" da Cisco IOS Software [3]
  • "IPsec" no Microsoft Windows, incluindo Windows XP [4] [5], Windows 2000 [6], e Windows 2003 [7]
  • SafeNet QuickSec toolkits [8]
  • IPsec no Solaris [9]
  • IBM AIX
  • IBM z/OS
  • IPsec e IKE na HP-UX (HP-UX IPsec)
  • "IPsec and IKE" in VxWorks [10]

Ver também[editar | editar código-fonte]

  • Segurança da informação
  • IP spoofing é uma máscara de pacotes IP com endereços remetentes falsificados.
  • Layer 2 Tunneling Protocol (L2TP) ou Protocolo de Tunelamento sob a Camada 2.
  • Sistema de prevenção de intrusos
  • Firewall

Referências

  1. a b «IP Security (IPsec) and Internet Key Exchange (IKE) Document Roadmap». Internet Engineering Task Force. Fevereiro de 2011
  2. «Security Architecture for the Internet Protocol». Internet Engineering Task Force. Agosto de 1995
  3. a b «IP Authentication Header». Internet Engineering Task Force. Agosto de 1995
  4. Curso de "Redes Privadas Virtuais" Arquivado em 27 de junho de 2007, no Wayback Machine. por Eduardo Rapoport

Ligações externas[editar | editar código-fonte]

  • «Usar o IPsec para fornecer comunicação segura entre dois servidores» pela Microsoft.
  • «Curso de VPN com IPsec e L2TP»
  • «Introdução ao IPsec»
  • «What is IPsec?» (em inglês) pela Webopedia.
  • «Ferramentas de IPsec para Linux» (em inglês)
  • «Controlando o Acesso à Rede com IPsec e 802.1x»
  • «Padrões de Protocolos VPN» (em inglês)

O que o IPsec usa para autenticar a origem de cada pacote?

Um detalhe interessante é que o IPSec utiliza o Kerberos para a autenticação.

O que o IPsec usa para autenticar?

Sistema de Chaves O IPsec, por padrão, utiliza o IKE para a autenticação e para determinar os protocolos, chaves e algoritmos, tornando-se útil para: grandes regiões, redes com alta escalabilidade e implementações de redes VPN. Os tipos de IKE do IPsec podem ser divididos em dois tipos: automático e manual.

Quais os protocolos IPsec são usados para fornecer integridade de dados?

O IPsec originalmente definiu dois protocolos para proteger os pacotes IP: Authentication Header (AH) e Encapsulating Security Payload (ESP). O primeiro fornece integridade de dados e serviços anti-replay, e o último criptografa e autentica os dados.

O que é IPsec e como funciona?

O Protocolo IPSec implementa uma forma de tunelamento na camada da rede (IP) e é parte das especificações da pilha de protocolos IPV6. Ele fornece autenticação em nível da rede, a verificação da integridade de dados e transmissão com criptografia e chaves fortes de 128 bits.