Segurança em Redes de Computadores - RED29005

De MediaWiki do Campus São José
Revisão de 10h57min de 9 de dezembro de 2014 por Matuzalem.m (discussão | contribs)
Ir para navegação Ir para pesquisar

Sobre a Página

Página criada como extensão do Seminário da disciplina de Redes de Computadores II, tendo como tema Segurança em Redes de Computadores.

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

Redes VPN(Virtual Private Network)

O conceito de Redes Virtuais Privadas (VPN), regido pela RFC 4026, surgiu da necessidade de utilizar redes que são inseguras e não confiáveis para o tráfego de informações de forma segura. Uma rede VPN é implementada com a utilização de protocolos que fazem o encapsulamento de dados e os transportam através de “túneis de criptografia”. Os principais objetivos de um rede VPN é a economia de custos com enlaces privados e aumentar o conceito de segurança em redes publicas, assim como a Internet. Para que uma rede VPN se torne íntegra ela deve garantir todos os conceitos de segurança em uma rede de computadores: confidencialidade, integridade e autenticidade, anteriormente citados. Além disso, é necessário que uma rede VPN suporte o vários tipos de protocolo da camada de rede que são utilizado em redes públicas (IP e IPSec).

Classificação

As redes VPN podem ser classificadas em relação ao seu propósito principal em rede de computadores:

  • Acesso Remoto via Internet: O acesso remoto a redes corporativas através da Internet pode ser viabilizado com a VPN. A estação remota disca para o provedor de acesso, conectando-se à Internet e o software de VPN cria uma rede virtual privada entre o usuário remoto e o servidor de VPN corporativo através da Internet.
  • Interligação de LAN’s via Internet: Uma solução que substitui as conexões entre LANs através de enlaces privados é a utilização de circuitos dedicados virtuais com VPN.
  • Conexão de computadores numa intranet: VPN’s permitem a separação virtual de departamentos em uma LAN corporativa, restringindo a acesso às informações dos demais departamentos

Funcionamento

O primeiro passo para o funcionamento de um rede VPN é a criptografia com chaves públicas dos pacotes advindos do protocolo da camada de rede. O pacote é criptografado com a chave fornecida pelo destinatário e somente o mesmo possui a chave para descriptografar o pacote. Após a criptografia, os pacotes são encapsulados e é adicionados um cabeçalho com informações referentes ao destino desses pacotes. O caminho lógico percorrido pelos pacotes são denominados “túneis” e o processo de encapsulamento e transporte é denominado “tunelamento”.

Tunelamento.jpg
Imagem - Túneis de uma Rede VPN

Quanto ao nível de implementação de tunelamento no modelo de referência OSI, pode ser implementado na camada de enlace ou rede.


  • Tunelamento em nível de enlace: O objetivo é transportar protocolos de nível 3, tais como o IP e IPX na Internet. Os protocolos utilizam quadros como unidade de troca, encapsulando os pacotes da camada 3 (como IP/IPX) em quadros PPP (Point-to-Point Protocol). O protocolo mais atual usado para o processo de tunelamento é o L2PT que foi desenvolvido herdando características de outros protocolos como o PPTP(Point-to-Point Tuneling Protocol) e o L2F (Layer 2 Forwarding) (Leia mais sobre o PPTP e o L2F). O L2TP é um protocolo de encapsulamento da Internet padrão da indústria. Ele permite que o tráfego IP, IPX e NetBEUI seja encapsulado e enviado por redes IP, X25, Frame Relay ou ATM. Utiliza majoritariamente o protocolo de transporte UDP, e não possui mecanismos de encriptação, sendo essa deficiência suprida pelo IPSec.
  • Tunelamento em nível de rede: Em nível de rede o protocolo padrão responsável pelo tunelamento é o IPSec (IP Security Tunnel Mode) da IETF. Ele permite que pacotes IP sejam criptografados e encapsulados com cabeçalho adicional deste mesmo protocolo para serem transportados numa rede IP pública ou privada. Esse protocolo garante a autenticação da fonte, integridade dos dados e o mais importante, o sigilo. Antes do envio de pacotes do protocolo IPSec é necessário que as entendidades estabeleçam uma conexão simplex para envio dos pacotes entre remetente e destinatário, isso é feito pelo protocolo Associação de Segurança (SA) que trabalha em conjunto com o IPSec. Após o estabelecimento da conexão é feito a criptrografia do pacote e o encapsulamento dentro de um pacote IPSec que possui informações de controle e o endereço de destino. O pacote é enviado através do túnel VPN.


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.