27 de dezembro de 2009

IPSEC

Hoje vamos falar um pouco sobre o IPSEC, tenho como objetivo nesta postagem dá uma visão geral como base para práticas que faremos mais à frente.

Então vamos “arregaçar as mangas e mãos a obra!”

O IPSEC (Internet Protocol Security), originalmente projetado para o IPv6 foi criado com o intuito de proteger as redes mantendo seguros os pacotes IP através de: integridade dos dados trafegados na rede; confidencialidade (criptografia); autenticação da origem dos dados e proteção contra replay*. Podemos, portanto, dizer que o IPSEC tem como objetivos alcançar uma rede que contemple:

Confidencialidade; Integridade; Autenticação (CIA).

O primeiro passo ao entendimento é sabermos como uma rede baseada em IPSEC realiza as conexões. Ela é feita através da SA (Security Association) que nada mais é do que um estabelecimento de conexão segura entre dois pontos; esta comunicação pode incluir chaves de criptografia, certificados digitais, autenticação de dados, entres outros. Estes serviços de segurança são oferecidos pela Associação de Segurança através de AH (Authentication Header) e/ou ESP (Encapsutalating Security Payload).

Obs 1.Esta comunicação é simples, ou seja, se houver a necessidade de tráfego seguro em ambos os sentidos, será necessário duas SA.

Cabeçalho de Autenticação

Como o próprio nome já diz o AH é um cabeçalho que adiciona autenticidade e integridade entre o cabeçalho IP (Camada 3), e o TCP (Camada 4), conforme figura à baixo.

Referindo-se à autenticidade, o campo Autentication data (mostrado no último campo) está encarregado de exercer essa função. Neste campo há o ICV (Integrity Check Value). Segundo a RFC 2402, através do ICV são realizados cálculos sobre IP (como o endereço de origem nunca muda, coloca-lo na verificação torna quase impossível para um intruso falsificar a origem de um pacote) e todos os campos do AH, depois são enviados ao destinatário que, por sua vez, realiza os mesmos cálculos e compara o resultado para autenticar a comunicação e verificar a sua integridade. Este é construído no padrão de algoritmos hash** como o MD5 (quase que descontinuado por questão de segurança)*** ou o SHA-1**** para autenticação dos dados.
O uso do HMAC***** é interessante já que este incorpora um valor secreto durante a criação do ICV. Neste caso, se um invasor tentar recalcular um hash, sem o valor secreto será muito difícil recriar o ICV adequado.

Obs 2. O cabeçalho AH não permite criptografia dos dados; portanto, ele é útil principalmente quando a verificação da integridade é necessária, mas não o sigilo.

Encapsulamento de segurança da carga útil

o ESP (Encapsulating Security Payload) é usado para fornecer confidencialidade, autenticação da origem dos dados, integridade sem conexão, um serviço anti-repetição (uma forma parcial
de integridade) e confidencialidade do fluxo de tráfego limitado.
Bom pessoal, como vocês devem ter visto o ESP faz tudo que o AH faz e muito mais, vamos falar apenas a diferença que há entre eles.
Abaixo segue a estrutura do protocolo ESP.

Em termos simples, através do ESP é possível criar canais seguros com criptografia e, também, permitir a inclusão de assinatura digital em cada pacote transportado.
A criptografia pode ser feita de duas formas : criptografando apenas a camada original superior do protocolo ou todo o pacote IP original.
Modos de funcionamento
O IPSEC pode ser usado em dois modos: Modo de transporte e modo de túnel. Abaixo segue figura ilustrativa dos dois modos:


Como mostrado na figura acima, o modo de transporte a SA é feita entre os dois equipamentos finais. Isto pode representar algumas desvantagens, tais como: O cabeçalho IP é mantido intacto, ou seja, utiliza os endereços originais, e não recebe proteção, apenas o cabeçalho de transporte e os seus dados são encapsulados nos dados de carga útil.
Já no modo de túnel a comunicação é feita através de gateway que pode ser, um servidor VPN, um firewall. Neste caso todo o pacote é tratado como o módulo de dados de um novo pacote IP. Assim, pode ser usado para enviar dados cifrados através de um túnel, o que permite enviar dados independentemente da infraestrutura utilizada.


* O ataque de replay consiste em salvar os pacotes transmitidos por uma comunicação entre duas entidades e depois reutilizá-los na tentativa de forjar uma nova comunicação. Em alguns casos, mesmo o conteúdo cifrado pode ser alvo deste ataque. O ataque de replay também pode ser realizado, caso seja possível extrair porções corretas de texto cifrado associadas a informações importantes.
** Um hash é uma seqüencia de bits geradas por um algoritmo de dispersão, em geral representada em base hexadecimal, que permite a visualização em letras e números (0 a 9 e A a F), representando 1/2 byte cada. O conceito teórico diz que "hash é a transformação de uma grande quantidade de informações em uma pequena quantidade de informações".
***O MD5 (Message-Digest algorithm 5) é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321, e muito utilizado por softwares com protocolo par-a-par (P2P, ou Peer-to-Peer, em inglês), verificação de integridade e logins. Existem alguns métodos de ataque divulgados para o MD5[1][2].
**** Mecanismo de autenticação de mensagens usando funções de hash criptografadas. HMAC pode ser usado com qualquer função hash criptografada , por exemplo, MD5, SHA-1, em combinação com uma chave secreta compartilhada. A força de criptografia de HMAC depende das propriedades da função hash subjacente.








Referências:

http://unixwiz.net/techtips/iguide-ipsec.html
http://www.cic.unb.br/~pedro/trabs/vpn.pdf
http://pt.wikipedia.org/wiki/SHA1
http://www.faqs.org/rfcs/rfc2402.html
http://www.ietf.org/rfc/rfc2104.txt
www.ietf.org/rfc/rfc2401.txt
TCP/IP a Bíblia de RobScrimger, Paul LaSalle, Mridula Parihar e Meeta Gupta. - Editora Campus
Redes de Computadores de Andrew S. Tanenbaum  - 4ª edição


0 comentários:

Postar um comentário

Twitter Delicious Facebook Digg Stumbleupon Favorites More