Anda di halaman 1dari 5

API IPSEC VIABILIZANDO A SEGURANA DE REDES

Srgio Henrique Vital de C. Silva, Milena B. P. Carneiro, Antnio Cludio P. Veiga, Edna Lcia Flres
Universidade Federal de Uberlndia FEELT - BR INPG Institut National Polytechnique de Grenoble ENSIMAG - FR Uberlndia -MG, sergio.hvital@gmail.com, milenabueno@yahoo.com Resumo Neste artigo apresentado o desenvolvimento de uma aplicao baseada no protocolo IPSEC utilizando como linguagem de programao o C++. O objetivo desta aplicao viabilizar uma maior segurana nas comunicaes de rede, assim como nas conexes de rede, em especial para a camada de aplicao. Palavras-Chave - IPsec, Network Security, opensource, IKEv2 , openIKEv2. Mas o usurio final desta tecnologia esta tambm no tpico usurio de email, ou utilizador de bate papos virtuais. So eles que efetuam compras online, ou acessam sua conta bancria atravs do seu computador pessoal. O objetivo de pesquisadores da rea de Segurana de Redes se torna ento o desenvolvimento de aplicaes e protocolos que auxiliam qualquer usurio, viabilizando na prtica uma rede segura. Na prtica, falamos de rede segura no s aquela protegida por criptografia, mas toda associao de segurana em que as duas partes da comunicao recebam seus dados de maneira completa, confivel e sem interferncias. No prximo item ser descrito o protocolo IPSec e sua arquitetura. Posteriormente no item III o protocolo IKEv2 ser abordado e explicado. Na seqncia, o item IV exemplifica a API_IPSec , concluindo com explicaes, melhorias, e propostas futuras no item V.

IPSEC API - TO FACILITATE NETWORK SECURITY


Abstract This article presents the development of an application based on the IPsec protocol, using C++ as the program language. The objective of this application is to make possible a high security for network communication and also for network connections, especially in the application layer. Keywords - IPsec, Network Security, open-source, IKEv2 , openIKEv2. I. INTRODUO Atualmente a segurana nas conexes de rede esta em constante debate. Novas formas de tornar a comunicao mais segura, como por exemplo, de dados bancrios vem sendo desenvolvidas, assim como uma evoluo nas tcnicas de criptografia. Com a intensa utilizao da Internet para o comrcio, assim como Intranets e o incio do B2B (Business to Business), a utilizao de protocolos de segurana de redes teve um aumento considervel. Grande parte dos dados que trafegam pelas redes de computadores atualmente necessitam de uma forte segurana, uma vez que representam um valor de capital convertido em bits. Empresas investem grande parte de seus lucros na segurana de seus dados e informaes inerentes a trocas comerciais e a banco de dados de seus clientes. No s empresas tentam tornar suas redes internas mais seguras, como tambm governos e naes.

II. IPSEC O IPSec um protocolo definido pelo IETF(Internet Engineering Task Force) que permite tornar seguras as trocas de dados na camada de redes. Ele foi desenvolvido para preencher uma falta desta camada como a autenticao, a confidencialidade das trocas de dados assim como sua integridade. Para efetuar a troca de chaves de criptografia e dos protocolos utilizados pelo IPSec existem dois mtodos. Um uma troca manual, a qual no pratica e nem suficientemente correta, outro utilizar o recurso de um protocolo de gesto de associaes de segurana, como o IKE (Internet Key Exchange). Este protocolo utiliza para autenticao, uma chave compartilhada ou um certificado digital. Na prtica, a grande parte dos internautas que so de empresas ou proprietrios de uma PN (Private Network) no possui certificados eletrnicos, entretanto, estes ltimos podem utilizar uma chave compartilhada. O problema deste mtodo que ele no garante o critrio de no repudiao a mais do problema de gesto e de registro das diferentes chaves que sero utilizadas entre diferentes destinatrios.

III. IKEV2 O protocolo IKE (Internet Key Exchange) foi desenvolvido para automatizar o estabelecimento da Associao de Segurana (SA - Security Association) do IPSec. Sua primeira verso foi liberada em 1998 como uma coleo de trs RFCS do IETF (RFC 2407, RFC 2408, e RFC 2409). A primeira verso do IKE (IKEv1)[RFC 2407] sofria de algumas limitaes e complexidades, assim o IETF decidiu propor uma segunda verso que fosse possvel resolver estas limitaes e simplificar o protocolo. O resultado foi o protocolo IKEv2 . O protocolo IKEv2 usa um protocolo de transporte no confivel (UDP utilizando portas 500 e 4500) e realizado entre duas partes: initiator (iniciador) e responder. Como seus nomes indicam, o initiator inicia o protocolo IKEv2 enquanto o responder atua como um servidor durante a negociao. O protocolo composto de um bem definido conjunto de quatro trocas (request-response), denominadas: IKE_SA_INIT, IKE_AUTH, CREATE_CHILD_SA e INFORMATIONAL. O conceito de trocas permite assegurar uma confiabilidade ao protocolo IKEv2, pois h uma resposta (response) esperada e bem definida para cada requisio (request). O IKEv2 pode ser usado nos cenrios IPSec mais comuns, como Security Gateway-TO-Security Gateway tunnel, Endpoint-TO-Endpoint transport e Endpoint to Security Gateway tunnel (tambm denominado de Road-Warrior). Adicionalmente, o IKEv2 introduz um bom conjunto de melhoramentos com respeito a sua primeira verso. Por exemplo, uma das principais vantagens do IKEv2 em relao ao IKEv1 a incluso de novos recursos como NAT transversal, o transporte do Protocolo de Autenticao Extensiva (EAP Extensible Authentication Protocol)[RFC3748] para um mecanismo de autenticao flexvel e suporte para configurao de endereo remoto. Para resumir, os principais motivos para desenvolver esta segunda verso so: reduzir o nmero de round-trips, simplificar o protocolo e fornecer novos recursos como NAT transversal, suporte EAP e configurao interna de endereos. Estas novas capacidades permitiram a incorporao do protocolo IKEv2 em um grande nmero de cenrios. Alm disso, algumas fraquezas da criptografia do IKEv1 foram corrigidas sendo que, no geral, o protocolo foi simplificado. IV. IPSEC API O principal propsito desta API permitir que qualquer aplicao possa interagir com a camada IPSec e aproveitar da segurana proporcionada por esta ferramenta. O IPSec [RFC4301] [RFC4302] [RFC4306] [RFC4307] foi desenvolvido para tornar segura a comunicao entre dois ns. A segurana efetuada na camada de redes, e no h quase nenhuma interao entre aplicaes e a camada IPSec. Este documento lista alguns requerimentos da aplicao em relao ao IPSec, tentando no limit-la aos requerimentos

Fig. 1 Arquitetura do IPsec

Para que sejam alcanados os objetivos do IPSec necessria a utilizao de protocolos de trfegos seguros, que so: Authentication Header(AH) e Encapsulating Security Payload(ESP), e de procedimentos e protocolos de gerncia de chaves (IKE). Porm, por ter uma arquitetura aberta, como mostrado na Fig. 1, o IPSec possibilita a incluso de outros algoritmos de autenticao e criptografia. Seu propsito principal esta no seu modo de tunneling, que vem a ser o encapsulamento do IP que lhe permite entre outras coisas de criar redes privadas virtuais - VPN (Virtual Private Network). Ele garante tambm, para seu sistema de encapsulamento, alguns servios de segurana requisitados ao nvel IP. Estes protocolos tm por objetivo uma comunicao segura entre duas entidades separadas por uma rede no segura, como a Internet. A segurana desta comunicao garantida pelo fato do IPsec apresentar diferentes servios como: - Autenticao: a autenticao mtua de duas entidades em questo. Evidentemente a autenticao garantida no nvel 3 do modelo OSI onde se encontram os protocolos IPsec. - Confidencialidade: O IPSec pode garantir que nenhuma pessoa dentro da rede intermediria ira ler o contedo do pacote enviado. - Autenticidade dos dados: O IPsec permite assegurar para cada pacote trocado, que ele foi gerado pela mquina exata e que ele esta na direo da segunda mquina. - Integridade: Graa aos algoritmos de Hash implementados no IPSec, este permite verificar se os dados sofreram alteraes ao longo do caminho. - Proteo contra a escuta e anlise do trafico: IPsec permite criptografar os endereos IP atuais da fonte e do destino, assim como o cabealho IP. o modo tunneling, que impede todo invasor que esteja na escuta da rede de adivinhar as informaes sobre as entidades atuais nas extremidades do tnel. - Proteo contra reutilizao: o fato de capturar um ou vrios pacotes com o objetivo de envi-los de novo (sem tlos decodificado). O IPsec permite prevenir-se contra este tipo de ataque.

das aplicaes atuais, mas tambm considerar requerimentos para futuras aplicaes. Com o IP os dados transportados dentro do pacote esto contidos transparentemente. Ento possvel, atravs da escuta do trfico de redes, ler e modificar os pacotes segundo o contedo (dados) ou o cabealho (endereo da fonte). As necessidades clssicas de segurana, as quais a camada IP deve apresentar so: confidencialidade, autenticao, integridade, e as solues atuais como algoritmos de codificao com chave simtrica (como DES e AES) ou chaves assimtricas (como RSA ou algoritmo de DiffieHellman). Para implementar as funcionalidades de segurana, o protocolo IPSec (IP Security Protocol) foi especificado e normalizado pela IETF atravs de RFCs desde 1995. Foi decidido que o IPSec seria obrigatrio dentro do IPv6 e facultativo no IPv4, mais com um mecanismo idntico. O IPSec agrupa trs mecanismos independentes (no nvel da camada de redes): - AH (Authentication Header) que serve para validar a integridade das mensagens. - ESP (Encapsulation Security Payload) que serve para assegurar a confidencialidade das mensagens. - IPcomp (IP compression) que comprime os dados que transitam. A configurao do IPsec baseada em dois banco de dados: - SPD (Security Policy Database) para especificar o comportamento (utilizar ou no IPSec, com ESP, AH, ou os dois) que o sistema deve apresentar com relao as comunicaes externas (definidas no nvel da camada de transporte: TCP, UDP, ICMP). - SAD (Security Association Database) para dar um contexto a cada conexo IPSec unidirecional agrupando o conjunto destas informaes abaixo: => numero de conexo SPI(Security Parameter Index), @source , @destination => mecanismo IPSec utilizado (ESP ou AH) e algoritmos utilizados por elas. Existem dois modos para o IPSec: modo transporte, onde somente os dados so protegidos, e modo tnel , onde o cabealho tambm est protegido. O IKE se encarrega da gesto de chaves e da autenticao de entidades, alm da negociao e de implementao de SAs. O grande sucesso do IPSec foi que ele torna segura toda as aplicaes e suas comunicaes acima da camada IP de forma transparente. Vrios protocolos utilizam o IPSec para segurana. As duas especificaes mais importantes so (RFC 2401 - IPSec v1, e RFC 4301 - IPSec v2). Estas normas descrevem o funcionamento do IPSec mas no fornecem interfaces que permitam as aplicaes de interagirem e beneficiarem-se da camada IPSec. Esta limitao permite, assim, configurar somente uma segurana IPSec tendo em conta os parmetros de redes e no da aplicao. A ausncia de interaes entre a camada de redes

e de aplicao conduz a situaes onde uma proteo, ou seja, uma autenticao pode ser efetuada muitas vezes ao nvel da camada de aplicao (TLS) e ao nvel da camada de redes (IKE). Esta proteo dobrada entendida como intil. O grupo de trabalho BTNS(Better-than-nothing secured) da IETF desenvolveu solues que permitem habilitar uma comunicao IPSec sem autenticao. A partir de certos esboos recentes do grupo, vamos melhor definir as interaes entre as aplicaes e a camada IPSec. Iremos refletir para criar as funes da API que permitam ao mesmo tempo a utilizao do IPSec e de mecanismos de segurana de camadas de nvel mais alto.
A) Descrio da API

A Fig. 2 nos permite visualizar o funcionamento global da API IPSec. Ela possui trs tipos de interface.

Fig. 2 Interfaces do API IPsec

- Uma interface com a camada aplicativa: Esta camada permite que a API comunique-se com as aplicaes de nvel mais alto. Um exemplo de dilogo entre uma aplicao e a API IPSec poderia ser uma aplicao que delega camada IPSec a autenticao do n. Outro tipo de aplicao detalhada mais tarde pode gerar a mobilidade ou multihoming. - Uma interface entre as diferentes API-IPSec: Esta interface permite que o n distante comunique tambm distante API-IPSec as operaes que a mesma deve efetuar, ou informe a API-IPSEc de um evento para que as aes de cada parte possam ser tomadas. A utilizao de uma mensagem IKE por esta comunicao entre API-IPSec ser estudada mais tarde. Um exemplo tpico da utilizao desta interface quando um n muda de endereo IP dentro de um quadro Multihoming. Ele pode avisar o n distante desta mudana, e dizer ao mesmo de qual maneira as associaes de segurana devem ser consideradas de acordo com o novo endereo IP. - Uma interface com a camada IPSec: Esta camada permite que a API-IPSec traduza ao nvel de SPD, SAD e IKE as requisies provindas das interfaces precedentes.

as partes. Os operadores podem autenticar dois usurios e conect-los. O tunnelling / implantao do IPsec pode ser usado para migrao do Ipv4 para o Ipv6, uma vez que podem ser usados tneis IPsec ao invs de novos mecanismos para implantao, o protocolo IPsec j esta implantado na maioria dos sistemas operacionais como Windows, Linux e MacOSx.
Fig. 3 Funcionamento da API IPsec

A fig. 3 coloca em evidncia as diferentes bases e o daemon que interage com o API-IPSec. A camada IPSec composta das bases SPD, ASD e PAD. Podemos distinguir ento a SPD correlacionada que se encontra dentro do kernel e a SPD descorrelacionada que se encontra dentro da ilha do usurio. IKEv2 e o daemon que permite a negociao das associaes de segurana entre dois endereos IP. A Base IKEv2 contm o conjunto de contextos ligados a cada canal IPSec. Estas informaes so geralmente utilizadas em caso de renegociao de chaves para uma associao de segurana estabelecida. A API-IPSec mantm atualizado uma base de dados que contm as informaes sobre a SA, as SPs, os contextos IKE, os contextos de Mobilidade, os contextos de Multihoming. Em funo destas diferentes informaes, a API-IPSec vai poder gerenciar os diferentes casos de atualizao ou de herana de associao de segurana.
B) Vantagens da API IPSec

A API IPsec fornece facilidades de migrao para as aplicaes, onde a implantao pode ser efetuada nos prprios sistemas, ao invs de implementadas em sistemas dedicados. O IPsec pode ser usado para autenticar fluxos. Isto habilita a mobilidade e o multihoming, evita mltiplos IKE e negociaes de conexo TCP. A API IPsec facilita o controle do fluxo. Formalmente os fluxos SS7 so fluxos IP e precisam ter uma segurana garantida e igualar requisitos de intercepo legais. A segurana MIPv6 baseada no IPsec. O IPsec definitivamente a camada a considerar segurana em ambientes complexos, ele deve ser entendido e considerado para regras de filtragem. A API IPsec ajuda na administrao das polticas do IPsec.
C) API IPSec e Aplicaes

A API IPSec traz facilidades de segurana para aplicaes. Normalmente, as pessoas que projetam as aplicaes no esto cientes da segurana que as mesmas devem proporcionar. Com isso o IPsec pode agir como uma caixa de ferramentas para confidencialidade / autenticao / integridade das informaes, e ajudar na interao entre as aplicaes e as camadas IPSec. Mltiplas autenticaes diminuem o desempenho global. Um mtodo de autenticao pode ser utilizado em diferentes camadas, diferentes aplicaes paralelas. Isso adiciona excessos, de tempo de processamento do CPU sem adicionar segurana se baseado no mesmo pedao de software, ou no mesmo certificado. O IPSec pode ser um recurso compartilhado por todas as camadas. A API IPsec armazena as informaes de segurana da camada IPsec para evitar dupla autenticao, assim como mltiplas codificaes dos dados. Quando a segurana considerada em relao camada de nvel mais baixo, melhor ser a associao de segurana. A segurana na camada de aplicao fornece segurana para as camadas de transporte e aplicao. A API IPsec habilita as aplicaes para estipularem a segurana na camada de redes. O IPSec um canal de segurana entre dois usurios, e a negociao geralmente efetuada por hosts finais. A API IPsec fornece uma interface remota com confiana em ambas

A API fornece facilidades para as aplicaes dos usurios finais, onde as mesmas no tm um nvel fixo de segurana. No precisamos de confidencialidade quando queremos perguntar ao jornaleiro o preo do jornal. Mas j uma empresa multinacional, ou um banco precisa de autenticao para sua home page publica (para evitar o chamado hijacking de web site), necessita de confidencialidade quando estamos digitando cdigos secretos (PIN codes), ou nosso nmero de carto de credito. A API IPsec fornece ferramentas para sintonizar a segurana como: Administradores podem demandar uma interface de controle, aplicaes podem usar uma simples interface com palavras chave como NO SECURITY, AUTHENTICATION,CONFIDENTIALITY, INTEGRITY, entre outras, alm de ser fcil sua utilizao no estipulando a aplicao de ter nenhuma ou total segurana.
D) Continuao das Pesquisas

Em 2008 o MAPS/NSS se posicionou claramente sobre a utilizao do IPSec e sobre a expanso de suas possibilidades uma vez dentro de novos ambientes mais complexos e abrindo as possibilidades do IPSec s camadas superiores. Os ambientes considerados so a mobilidade e o multihoming, e usos considerados de interao com as aplicaes normalizadas. Estes estudos so realizados dentro do quadro de atividades de normalizao no mbito do IEFT assim como uma participao em projetos colaborativos europeus como o

3MING (projeto ANR), Feel@Home e tambm como tema de uma tese. V. CONCLUSO Para a segurana de redes, o IPsec se torna vantajoso em alguns termos. Foi normalizado pela IETF, um grupo renomado perante os protocolos de telecomunicao, cuidadosamente implementado atravs de cdigos open source. Alm disso, as pessoas que trabalham na construo de aplicaes IPsec so pessoas de segurana, desta forma pode-se confiar no design assim como na sua implementao. Por outro lado, a configurao do IPsec no fcil, como podemos verificar quando vamos efetuar a autenticao da conexo ou troca de chaves de criptografia. No existem muitas interaes com a camada de aplicao, e ele muito centrado na camada de redes. mais destinado aos administradores de segurana de redes, do que aos usurios finais. Os primeiros protocolos compreendendo IP seguro, autenticao e cifragem de datagramas, foram publicados em 1995 nas RFC 1825 RFC 1829. Esses protocolos que estabeleceram os fundamentos da arquitetura do IPSec, foram posteriormente superpostos pelas RFC 2401 RFC 2406, entre outras. Estas RFC previam o uso de dois tipos de cabealhos para serem utilizados no datagrama IP. A API IPSEC visa assim, fornecer uma segurana para as conexes e comunicaes de redes, atravs do uso prtico do protocolo IPSEC[RFC 2407] em conjunto com o protocolo IKEv2 [RFC 4306]. REFERNCIAS BIBLIOGRFICAS [1] D.Piper, RFC 2407 - The Internet IP Security Domain of Interpretation for ISAKMP, November 1998. [2] D. Maughan, M. Schertler, M. Schneider, J. Turner, RFC 2408 - Internet Security Association and Key Management Protocol (ISAKMP), November 1998. [3] D. Harkins, D. Carrel, RFC 2409 The Internet Key Exchange (IKE), November 1998. [4] C. Kaufman, RFC 4306 Internet Key Exchange (IKEv2) Protocol, December 2005. [5] B. Aboba, L. Blunk, J. Vollbrecht, J. Carlson, H. Levkowetz, RFC 3748 - Extensible Authentication Protocol (EAP), June 2004. [6] S. Kent, K. Seo, RFC 4301 Security Architecture for the Internet Protocol, December 2005.

[7] S. Kent, RFC 4302 IP Authentication Header, December 2005. [8] J. Schiller, RFC 4307 Cryptographic Algorithms for Use in the Internet Key Exchange Version 2 (IKEv2), December 2005. DADOS BIOGRFICOS Srgio Henrique Vital de Carvalho Silva, nascido em 28/05/1986 em Uberlndia-MG, estudante de engenharia eltrica com nfase em eletrnica e telecomunicaes pela Universidade Federal de Uberlndia.Realizou um intercmbio na Frana onde fez um Master Recherche (Mestrado de Pesquisa) na rea de Aplicaes Repartidas e Redes no INPG (Instituto Nacional Politcnico de Grenoble (2008) e um estgio de 6 meses na empresa France Telecom no centro MAPS de Segurana de Redes (2009).

Anda mungkin juga menyukai