Segurança em Redes de Computadores - RED29005

De MediaWiki do Campus São José
Revisão de 09h25min de 9 de dezembro de 2014 por Matuzalem.m (discussão | contribs) (Criou página com '= IPSec (IP Security Protocol) = Regido pela [https://tools.ietf.org/html/rfc6071 RFC 6071] (em seu modo de operação mais comum) o IPSec é um conjunto de protocolos desenvolv...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)
Ir para navegação Ir para pesquisar

IPSec (IP Security Protocol)

Regido pela RFC 6071 (em seu modo de operação mais comum) o IPSec é um conjunto de protocolos desenvolvido para oferecer segurança para um pacote em nível de camada de rede, que ajuda a criar pacotes confidenciais e autenticados para a camada IP, sendo amplamente utilizado no estabelecimento de VPNs. Entre os principais serviços oferecidos pelo IPSec encontram-se o mecanismo de troca de chaves Diffie-Hellman, criptografia de chave pública e algoritmos para cálculo de hash com utilização de chaves.

  • Leia mais sobre criptografia Diffie-Hellman aqui, e confira sua RFC.
  • Leia mais sobre algoritmos para cálculo de hash aqui.

Protocolos de Segurança

O IPSec define dois protocolos, o Authentication Header (AH) e o Encapsulating Security Payload (ESP), para oferecer autenticação e/ou criptografia para pacotes no nível IP.

Authentication Header (AH)

  • Provê integridade de dados e fornece autenticação de fonte, mas não oferece privacidade.
  • Foi desenvolvido para autenticar o host de origem e para garantir a integridade do payload transportado no pacote IP. O protocolo usa uma função hash e uma chave simétrica para criar um resumo de mensagem; o resumo é inserido no cabeçalho de autenticação. O AH é então colocado na posição apropriada com base no modo (transporte ou túnel, explicados a seguir).
  • Estrutura do pacote AH:
IPSecAH.gif
Imagem - Estrutura do Authentication Header
  • Estrutura:
    • Próximo Cabeçalho: O campo de 8 bits define o tipo de payload transportado pelo datagrama IP;
    • Tamanho do Dado: Comprimento do cabeçalho de autenticação em múltiplos de 4 bytes;
    • Índice do Parâmetro de Segurança: Desempenha o papel de identificador de circuitos virtuais e é o mesmo para todos os pacotes da mesma SA;
    • Número de Sequência: Informações de ordenação para uma sequência de datagramas;
    • Dados de autenticação: O campo de autenticação de dados é o resultado da aplicação de uma função hash a todo o datagrama IP, exceto para os campos que são modificados em trânsito.
  • Saiba mais sobre o procoloco e sua estrutura aqui, e confira sua RFC.

Encapsulating Security Payload (ESP)

  • Considerado uma evolução em relação ao protocolo AH, o ESP oferece autenticação de fontes, integridade de dados e privacidade, sendo que seu predecessor oferecia apenas os dois primeiros serviços.
  • Estrutura do protocolo ESP:
IPSecESP.png
Imagem - Estrutura do Encapsulating Security Payload
  • Estrutura:
    • Security Parameters Index (SPI): O campo de Índice de parâmetros de segurança de 32 bits é similar àquele definido para o protocolo AH (Índice do Parâmetro de Segurança);
    • Sequence Number: Similar ao do protocolo AH;
    • Padding: Preenchimento;
    • Pad Length: Define o número de bytes de preenchimento;
    • Next Header: Similar ao do protocolo AH;
    • Authentication data: Resultado da aplicação de um esquema de autenticação a partes do datagrama.
  • Saiba mais sobre o procoloco aqui, e confira sua RFC.

Security Association (SA)

Além destes dois cabeçalhos, o IPSec define também o conceito de associação de segurança (security associations) – conjunto de diretivas que permite negociar algoritmos de criptografia a utilizar. Uma associação de segurança representa uma relação entre duas ou mais entidades que comunicam e descrevem 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 criptografia e chaves a usar e contém informação sobre:

  • Algoritmo e modo de autenticação a aplicar ao cabeçalho de autenticação;
  • Chaves usadas no algoritmo de autenticação;
  • Algoritmo e modo de criptografia utilizados no cabeçalho de encapsulamento de dados de segurança;
  • Chaves usadas no algoritmo de criptografia do cabeçalho de encapsulamento de dados;
  • Tempo de vida da chave;
  • Tempo de vida da associação de segurança;
  • Endereço(s) fonte da associação de segurança;
  • Nível de sensibilidade dos dados protegidos.
  • Saiba mais sobre o protocolo aqui, e confira sua RFC

Modos de Operação

Transporte

  • O modo transporte protege o payload da camada de rede, a ser encapsulado na camada de rede, logo, ele não protege o cabeçalho IP, protege apenas as informações provenientes da camada de transporte.
  • Normalmente, o modo de transporte é usado quando precisamos de proteção de dados fim a fim (host a host). O host emissor usa o IPSec para autenticar e/ou criptografar o payload entregue pela camada de transporte. O host receptor usa o IPSec para verificar a autenticação e/ou decriptografar o pacote IP e entregá-lo à camada de transporte. A figura a seguir ilustra esse conceito.
IPSecTrans.jpg
Imagem - Esquemático do IPSec em modo transporte

Túnel

  • No modo túnel, o IPSec protege o pacote IP por inteiro. Basicamente, ele pega todo o pacote IP original, aplica os métodos de segurança IPSec a todo o pacote (criptografa) e, em seguida, acrescenta um novo cabeçalho IP, com informações distintas do cabeçalho IP original.
IPSecTunel.jpg
Imagem - Esquemático do IPSec em modo túnel

Referências

Referências Bibliográficas
  • KUROSE, J. ROSS, K. Redes de Computadores e a Internet: Uma Abordagem Top-Down. São Paulo: Pearson, 2010. p. 492-531.
  • FOROUZAN, B. A. Comunicação de Dados e Rede de Computadores. São Paulo: McGraw-Hill, 2008. p. 996-1008.