Vol. , Nº. 0, Ano 2011 Vol. , Nº. 0, Ano 2011 autor autor Marcelo Fontes Marcelo Fontes marcelofontesfsa@yahoo.com.br marcelofontesfsa@yahoo.com.br
EM VPN
EM VPN
RESUMO RESUMO A VPN (A VPN (Virtual Private NetworkVirtual Private Network) é uma forma simples e de baixo custo de se) é uma forma simples e de baixo custo de se
estabelecer conexões por aproveitar a infraestrutura disponibilizada pela estabelecer conexões por aproveitar a infraestrutura disponibilizada pela
Internet
Internet. Uma VPN deve oferecer mecanismos que garantam a segurança da. Uma VPN deve oferecer mecanismos que garantam a segurança da
comunicação em um meio inseguro como a
comunicação em um meio inseguro como aInternetInternet. Os principais protocolos. Os principais protocolos
adotados e difundidos em VPNs para garantir a segurança nas adotados e difundidos em VPNs para garantir a segurança nas comunicações através da
comunicações através da Internet Internet são o IPSEC ( são o IPSEC (Internet ProInternet Prottocol ocol SecuritySecurity) e o) e o
SSL/TLS (
SSL/TLS (Secure Socket Layer/Transport Layer SecureSecure Socket Layer/Transport Layer Secure). Esses protocolos são). Esses protocolos são
apresentados e comparados por meio de suas principais características, tais apresentados e comparados por meio de suas principais características, tais como formas de autenticação, criptografia, estabilidade, escalabilidade, como formas de autenticação, criptografia, estabilidade, escalabilidade, algoritmos de trocas de chaves e gerenciamento, e também são apresentados algoritmos de trocas de chaves e gerenciamento, e também são apresentados os seus benefícios e limitações quando empregados nas VPNs.
os seus benefícios e limitações quando empregados nas VPNs.
Palavras-Chave
Palavras-Chave: VPN; SSL; IPSEC; Segurança;: VPN; SSL; IPSEC; Segurança;
ABSTRACT ABSTRACT
The VPN is a simple and low-cost way of establishing connections by using The VPN is a simple and low-cost way of establishing connections by using the infrastructure available through the internet. A VPN has to provide the infrastructure available through the internet. A VPN has to provide mechanisms which guarantees communication security inside an insecure mechanisms which guarantees communication security inside an insecure environment like the internet. The main protocols adopted and disseminated environment like the internet. The main protocols adopted and disseminated in VPNs to guarantee security to internet based communications are the in VPNs to guarantee security to internet based communications are the IPSEC (Internet Protocol Security) and the SSL/TLS (Secure Socket IPSEC (Internet Protocol Security) and the SSL/TLS (Secure Socket Layer/Transport Layer
Layer/Transport Layer Secure). Those protocols are here presented andSecure). Those protocols are here presented and compared by their characteristics, such as authentication method, compared by their characteristics, such as authentication method, encryption, stability, scalability, key changing algorithms and management. encryption, stability, scalability, key changing algorithms and management. Benefits and limitations when VPNs are applied is also shown.
Benefits and limitations when VPNs are applied is also shown.
Keywords
Keywords : VPN; SSL; IPSEC; Security;: VPN; SSL; IPSEC; Security;
Anhanguera Edu
Anhanguera Educacional S.A.cacional S.A.
Correspondência/Contato Correspondência/Contato
Alameda
Alameda Maria TerezaMaria Tereza, 2000, 2000 Valinhos, São Paulo Valinhos, São Paulo CEP 13.278-181 CEP 13.278-181 rc.ipade@unianhanguera.edu.br rc.ipade@unianhanguera.edu.br Coordenação Coordenação
Instituto de Pesquisas Aplicadas e Instituto de Pesquisas Aplicadas e Desenv
Desenvololvv imento Educacional - IPADEimento Educacional - IPADE Artigo Origina
Artigo Original / Informl / Informe Tée Técnico / Recnico / Resenhasenha Recebido em: 30/12/1899
Recebido em: 30/12/1899 A
1.
1.
INTRODUÇÃO
INTRODUÇÃO
O crescimento do uso da
O crescimento do uso da World Wide WebWorld Wide Web para fins comerciais, para fins comerciais, IntranetsIntranets,, ExtranetsExtranets,,
aplicações B2B (
aplicações B2B (Business to BusinessBusiness to Business) faz-se necessário o us) faz-se necessário o uso de estratégias o de estratégias e de protocolose de protocolos
de redes
de redes que garantam a segurança na cque garantam a segurança na comomunicação através daunicação através da InternetInternet..
Muitas empresas possuem vários escritórios e fábricas espalhadas por estados e Muitas empresas possuem vários escritórios e fábricas espalhadas por estados e até em outros países e adotam a infraestrutura da
até em outros países e adotam a infraestrutura da InternetInternet para poderem conectar-se de para poderem conectar-se de
forma segura e eficaz para compartilhar recursos como Banco de Dados,
forma segura e eficaz para compartilhar recursos como Banco de Dados, softwaressoftwares dede
gestão, entre outras aplicações remotas. gestão, entre outras aplicações remotas.
Outro fator importante é o crescimento dos funcionários móveis que utilizam Outro fator importante é o crescimento dos funcionários móveis que utilizam computadores portáteis para acessarem as redes da corporação para desenvolverem os computadores portáteis para acessarem as redes da corporação para desenvolverem os seus tra
seus trabbalhos alhos normalmennormalmente como se te como se estivessestivessem naem nas dependês dependênciancias da comps da companhia.anhia. Neste contexto, as VPNs
Neste contexto, as VPNs (Virtual Private Network(Virtual Private Network) entram como um mecanismo) entram como um mecanismo
de garantir a segurança e possibilitar o acesso somente às pessoas autorizadas, e assim de garantir a segurança e possibilitar o acesso somente às pessoas autorizadas, e assim permitir que os
permitir que os recursos da crecursos da comompanhia não fiquem disponívepanhia não fiquem disponíveis à is à pessoas estranhas.pessoas estranhas.
Atualmente existem inúmeros fabricantes que oferecem diversas soluções de Atualmente existem inúmeros fabricantes que oferecem diversas soluções de VPNs, principalmente baseadas nos protocolos IPSEC (
VPNs, principalmente baseadas nos protocolos IPSEC (Internet Protocol Security)Internet Protocol Security) ee
SSL/TLS (
SSL/TLS (Secure Transport Layer / Transport Layer SecuritySecure Transport Layer / Transport Layer Security) para garantir a segurança e a) para garantir a segurança e a
operação adequada das VPNs. operação adequada das VPNs.
Esse trabalho tem por objetivo apresentar os conceitos de VPNs e mostrar as Esse trabalho tem por objetivo apresentar os conceitos de VPNs e mostrar as características gerais dos protocolos IPSEC e SSL/TLS e compará-los quando aplicados características gerais dos protocolos IPSEC e SSL/TLS e compará-los quando aplicados em VPNs.
em VPNs.
2.
2.
VPN
VPN
(VIRTUAL PRIVATE NETWORK)(VIRTUAL PRIVATE NETWORK) O conceito de VPN (O conceito de VPN (Virtual Private NetworkVirtual Private Network) consiste de uma rede de comunicações) consiste de uma rede de comunicações
adotada por uma empresa de forma privada, através de uma rede pública ou privada adotada por uma empresa de forma privada, através de uma rede pública ou privada qualquer
qualquer (MORIMOT(MORIMOTO, O, 2009).2009).
Adota-se normalmente a Internet, ao invés de utilizar uma linha privativa na Adota-se normalmente a Internet, ao invés de utilizar uma linha privativa na implementação de uma rede corporativa. Basicamente VPNs são túneis de criptografia implementação de uma rede corporativa. Basicamente VPNs são túneis de criptografia entre dois pontos autorizados para transferência segura de informação entre redes entre dois pontos autorizados para transferência segura de informação entre redes corporativas ou usuários remotos.
corporativas ou usuários remotos.
A segurança é uma importante função da VPN, sendo fundamental a proteção A segurança é uma importante função da VPN, sendo fundamental a proteção dos dados privados que trafegam pela Internet, considerado um meio inseguro de dos dados privados que trafegam pela Internet, considerado um meio inseguro de transmissão, não sejam alterados ou interceptados (CHIN, 2004).
Além da proteção, as VPNs oferecem serviços de conexões entre as corporações através da Internet. Possibilitam também criar conexões dial-up criptografadas que podem ser utilizadas
por usuários móveis ou remotos, bem como por filiais distantes de uma empresa.
As VPNs também permitem reduzir os custos envolvidos em comunicação, eliminando a necessidade de compra de links dedicados de longa distância que são substituídos pela Internet
(NAKAMURA; GEUS, 2007).
As redes locais por meio de links dedicados ou discados conectam-se a algum provedor
de acesso local e interligam-se a outras LANs, possibilitando o fluxo de dados pela Internet.
Esta solução pode ser útil sob o ponto de vista econômico, principalmente nos casos em que enlaces nacionais e internacionais estão envolvidos, permitindo a simplificação da operação da WAN, onde a conexão LAN-WAN-LAN fica parcialmente sobre a responsabilidade dos provedores de acesso.
3. REQUISITOS BÁSICOS DE UMA VPN
A VPN deve como requisito básico permitir o acesso de clientes remotos autorizados aos recursos da LAN corporativa, viabilizar a conexão de LANs para possibilitar o acesso de filiais, compartilhar recursos e informações, assegurar privacidade e integridade de dados ao atravessar a rede corporativa e a Internet. A seguir são apresentadas algumas características mínimas necessárias em uma VPN.
Autenticação de usuários para verificar a identidade do usuário,
restringindo o acesso às pessoas autorizadas. Dispor de mecanismos de auditoria, fornecendo informações referentes aos acessos efetuados;
gerenciamento de endereços para que o endereço do cliente na sua
rede privada não seja divulgado, sendo adotados endereços fictícios para o tráfego externo;
criptografia de dados para que os dados trafeguem na rede
pública ou privada em um formato cifrado para no caso de ser interceptado não serem decodificados;
gerenciamento de chaves para garantir a segurança das
mensagens criptografadas, deve funcionar como um segredo compartilhado exclusivamente entre as partes envolvidas na comunicação. O gerenciamento de chaves deve garantir a troca periódica das chaves para manter a comunicação de forma segura;
múltiplos protocolos para suportar a diversidade de protocolos
existentes torna-se necessário oferecer suportes a protocolos padrão usados em redes públicas, tais como o IP.
3.1. Tunelamento
As VPNs são baseadas na tecnologia de tunelamento que adotam o processo de encapsular um protocolo dentro do outro. O uso de encapsulamento em VPNs possibilita criptografar o pacote que será transportado.
Este pacote encapsulado trafega através da Internet até alcançar o destino onde é desencapsulado e decriptografado, retornando ao seu formato original.
Outra possibilidade é encapsular pacotes de um determinado protocolo em protocolos diferentes. Por exemplo, pacotes IPX (Internet Packet Exchange) podem ser
encapsulados e transportados dentro de pacotes TCP/IP.
O protocolo de tunelamento encapsula o pacote por meio de um cabeçalho adicional que contém as informações de roteamento que permitem a travessia de pacotes ao longo das redes intermediárias. Os pacotes encapsulados são roteados entre as extremidades do túnel na rede intermediária, retornando ao estado original no seu destino final.
A rede intermediária em questão por onde os pacotes trafegaram pode ser qualquer rede pública ou privada.
3.2. Protocolos de Tunelamento
Em uma VPN para se estabelecer um túnel é preciso que as duas extremidades utilizem o mesmo protocolo de tunelamento. O tunelamento pode ocorrer nas camadas 2 e 3 do modelo OSI(Open System Interconnection).
Nos protocolos de camada 2 um túnel é semelhante a uma sessão, de modo que as duas partes do túnel negociam os parâmetros de configuração para estabelecer o túnel. Nestes parâmetros estão envolvidos o endereço, criptografia e compressão, sendo o gerenciamento realizado pelos protocolos de manutenção.
Os protocolos de camada 3 ao estabelecer o túnel, os dados já podem ser enviados. O usuário do túnel, que pode ser o cliente ou o servidor, utiliza o protocolo de tunelamento para a transferência de dados, onde um cabeçalho é anexado para a realização do transporte do pacote. Então o cliente envia o pacote encapsulado que será roteado até o servidor no outro ponto do túnel.
O servidor recebe o pacote, desencapsula removendo o cabeçalho adicional e encaminha o pacote original à rede de destino. Neste método não existe a fase de manutenção e o funcionamento do túnel entre o cliente e o servidor é semelhante ao dos protocolos de camada 2.
Nas seções a seguir serão apresentados os protocolos de tunelamento das camadas 2 e 3.
3.3. Protocolos de Tunelamento de camada 2
Adotado para o transporte de protocolos do nível 3, utilizando quadros como unidade de troca, encapsulando os pacotes da camada 3,como por exemplo em quadros PPP (Point –
to– Point Protocol).
São citados abaixo os protocolos de tunelamento de camada 2:
PPTP (Point-to-Point-Tunneling Protocol) da Microsoft possibilita
que o trafego IP, IPX e NetBEUI sejam criptografados e encapsulados para serem enviados através de redes públicas ou privadas;
L2TP (Layer 2 Tunneling Protocol) permite que o tráfego IP, IPX,
NetBEUI sejam criptografados e enviados através de canais de datagrama, tais como IP, X25, Frame Relay ou ATM;
L2F (Layer 2 Forwarding) é um protocolo da Cisco utilizado para
VPNs discadas.
3.4. Protocolos de Tunelamento de camada 3
É criado um cabeçalho adicional do protocolo IP antes de ser enviado através da rede, o modo túnel da camada 3 é descrito abaixo:
O IPSEC Tunnel Mode possibilita que os pacotes IP sejam
criptografados e encapsulados com cabeçalho adicional deste mesmo protocolo para ser transportado através de redes IP.
Mais detalhes sobre o IPSEC serão apresentados na seção sobre VPN IPSEC.
4. VPN IPSEC
A VPN IPSEC utiliza a completa infraestrutura oferecida pelo IPSEC para garantir os requisitos básicos de seguranças mencionados anteriormente.
Nas próximas seções serão apresentadas as características e uma visão geral dos protocolos que compõem a arquitetura do IPSEC e os mecanismos adotados para atingir os objetivos de uma VPN.
4.1.IPSEC(INTERNET P ROTOCOL SECURITY)
Em 1995 o IPSEC (Internet Protocol Security) surgiu para atender às necessidades de
segurança contra o monitoramento e o controle de tráfegos não autorizados através das redes de comunicações.
Projetado pelo Internet Engineering Task Force (IETF), o IPSEC é um protocolo
padrão da camada 3 que tem por finalidade oferecer transferências seguras fim a fim de informações através de uma rede IP pública ou privada.
O IPSEC é uma plataforma aberta formada por um conjunto de protocolos que proporcionam serviços de autenticação, integridade, controle de acesso e confidencialidade na camada de rede IP, operando em IPv4 ou IPv6.
A tecnologia IPSEC é uma das opções para implementação de VPNs e seus serviços podem ser adotados por quaisquer protocolos das camadas superiores como TCP, UDP, ICMP, BGP, entre outros (SILVA; TEIXERA, 2004).
A especificação do IPSEC consiste em diversos documentos, os principais deles, emitidos em novembro de 1998, são:
RFC 2401: Uma visão geral de uma arquitetura de segurança; RFC 2402: Descrição de uma extensão de autenticação de pacotes
para IPv4 e IPv6;
RFC 2406: Descrição de uma extensão de criptografia de pacote
para IPv4 e IPv6;
RFC 2408: Especificação das capacidades de gerenciamento das
chaves.
Além dos documentos mencionados acima, O IPSec é composto por uma série de outros que foram publicados pelo IP Security Protocol Working Group
estabelecido pelo IETF (Internet Engineering Task Force) para padronizar as informações
referentes à tecnologia.
Nas próximas seções, serão apresentados os conceitos do IPSEC bem como as suas características de arquitetura, criptografia, autenticação e serviços.
4.2. Arquitetura do IPSEC
Como mencionado na seção anterior, o IPSEC está especificado em uma série de RFCs, e por definição sua arquitetura aberta possibilita a inclusão de outros algoritmos de autenticação e criptografia. A RFC 2411, IP Security Document Roadmap, apresenta regras
descrevem o conjunto de protocolos que formam a arquitetura IPSEC, conforme demonstrado abaixo:
Figura 1 - Visão Geral do Documento IPSEC
A seguir é apresentada uma breve descrição de cada item descrito noroadmap:
Arquitetura: Conceitos gerais, requisitos de segurança, definições e
mecanismos definindo a tecnologia;
encapsulamento Seguro do payload: Formato do pacote e questões gerais
relacionadas ao uso do ESP (Encapsulating Security Payload) para
criptografia de pacote, e opcionalmente autenticação;
autenticação do Cabeçalho: Formato do pacote e questões gerais
relacionadas ao uso do AH (Authentication Header) na autenticação de
pacotes;
algoritmo de criptografia: Um conjunto de documentos que descrevem
como diversos algoritmos de criptografia são usados para ESP;
algoritmo de autenticação: Documentos que descrevem como vários
algoritmos de autenticação são usados para AH e para a opção de autenticação do ESP;
gerenciamento de chaves: Documentos que descrevem esquemas para o
gerenciamento das chaves;
domínio de interpretação (DOI): Valores para os outros documentos se
relacionarem, incluindo identificadores para algoritmos aprovados de criptografia e autenticação, além de parâmetros operacionais.
A arquitetura IPSEC possibilita selecionar entre uma série de protocolos e algoritmos de segurança. Os serviços de segurança são escolhidos a partir de um menu de serviços os quais o usuário pode escolher recursos, tais como controle de acesso, integridade, autenticação, proteção contra replay (“antireplay”) e confidencialidade. O IPSEC também
permite controlar a granularidade com que os serviços de segurança são aplicados, permitindo proteger fluxos estreitos ou fluxos largos.
4.3. AH (A u t h e n t i c a ti o n H e a d e r )
AH (Authentication Header) é um mecanismo que oferece integridade sem conexões e
autenticação da origem dos dados para os datagramas IP, podem ser adotados recursos opcionais para proteção contra reproduções.
A garantia de segurança é realizada através da inclusão de informação para autenticação no pacote obtido por meio de um algoritmo aplicado sobre o conteúdo dos campos do datagrama IP, excluindo-se aqueles que sofrem alterações durante o transporte. O AH vem após o cabeçalho IPv4 ou é uma extensão do IPv6, sendo demonstrado na figura a seguir:
Figura 2 - AH Authentication Header do IPSEC
O campo Next Header identifica o tipo da próxima carga útil após o AH. O Payload Length especifica o tamanho do AH em palavras de 32 bits menos 2.
O CampoReserved é reservado para uso futuro, sendo atualmente definido como
0. O campo Security Parameters Index é um valor de 32 bits usado para identificar a
associação de segurança para o datagrama, em combinação com o endereço IP de destino.
Sequence Number contém um contador que aumenta progressivamente, sendo utilizado
para proteção contra o replay. O Authentication Data é um campo de tamanho variável que
contém o código de integridade de mensagem para o pacote.
4.4.ESP (E n c a p s u l a t i n g S e cu r i ty P a y l o a d )
O ESP (Encapsulating Security Payload) fornece serviços de confiabilidade, adicionando
confiabilidade de conteúdo de mensagens e a confiabilidade limitada de fluxo de tráfego, sendo oferecido opcionalmente recurso de autenticação. A seguir é demonstrado a estrutura do ESP:
Figura 3 - ESP do IPSEC
O SPI (Security Parameters Index) é um campo de 32 bits que identifica uma
associação de segurança. O Sequence Number (32 bits) oferece uma função antireplay,
idêntico ao AH.
O campo Payload Data é um campo variável, sendo um segmento do nível de
transporte ou pacote IP protegido por criptografia. O Padding é requerido por alguns
algoritmos de criptografia, também requerido para que o texto cifrado resultante termine em um limite de 4 bytes.
O Pad Length de 8 bits indica o número de bytes de complementação, o campo Next Header serve para identificar o tipo de dados contidos no campo de dados do Payload.
Por fim, o campo Authentication Data, necessariamente composto de um número inteiro de
palavras de 32 bits, contém o valor de verificação de integridade calculado sobre o pacote
ESP, exceto o campo ESP.
4.5. Algoritmos de Criptografia
A especificação do IPSEC dita que uma implementação precisa oferecer suporte a DES
(Data Encryption Standard) no modo encadeamento de cifra de bloco (STALLINGS, 2008).
Diversos outros algoritmos receberam identificadores no documento DOI, sendo facilmente adotados para criptografia no IPSEC. Abaixo são relacionados os principais e mais frequentemente adotados:
Three-key triple DES; RC5;
CAST; Blowfish.
4.6. Modos do IPSEC
O IPSEC trabalha de dois modos, sendo eles o Túnel e o Transporte. No modo Transporte a autenticação e a criptografia é aplicada ao payload de IP entregue ao host, porém o
cabeçalho não é protegido.
O modo Túnel a autenticação é aplicada ao pacote IP inteiro entregue ao destino de IP externo, onde a autenticação é realizada no destino, e todo o pacote IP interno é protegido pelo mecanismo de privacidade, para entrega ao destino de IP interno. Nos dois casos, a autenticação é aplicada ao texto cifrado, em vez do texto claro.
4.7. Gerenciamento de chaves
Envolve a determinação e a distribuição de chaves secretas. O requisito típico é o uso de quatro chaves para a comunicação entre duas aplicações pares de transmissão e recepção tanto no AH quanto no ESP.
O documento da arquitetura IPSEC exige suporte para dois tipos de gerenciamento de chaves, sendo eles o Manual e o Automatizado.
O gerenciamento de chaves Manual permite a configuração de cada sistema com suas próprias chaves e com as chaves de outros sistemas em comunicação, sendo muito adotado em ambientes pequenos e estáticos.
O gerenciamento Automatizado possibilita a criação de chaves para SAs (Security Associations) sob demanda, facilitando o uso de chaves em um grande sistema distribuído com uma configuração que não é constante. O protocolo para o gerenciamento de chaves padrão do IPSEC é o ISAKMP/Oakley.
Oakley é um protocolo de troca de chaves baseado no algoritmo Diffie-Hellman com segurança adicional e não dita formatos específicos. O ISAKMP (Internet Security Association and Key Management Protocol) oferece uma infraestrutura para o gerenciamento
de chaves pela Internet com suporte a um protocolo específico, com formatos para a negociação de atributos de segurança.
O ISAKMP consiste de um conjunto de tipos de mensagens que permite o uso de uma série de algoritmos de troca de chaves. Já o Oakley é o algoritmo de troca de chaves especifico exigido para uso com a versão final do ISAKMP.
5.
VPN SSL
(SECURE SOCKET LAYER)A VPN SSL utiliza o protocolo SSL (Secure Socket Layer) para disponibilizar aos usuários
remotos acesso aos recursos da rede da companhia através do navegador web. Todos os
objetivos de uma VPN mencionados anteriormente são alcançados através da infraestrutura oferecido pelos serviços do SSL.
Nas próximas seções serão apresentados os conceitos do SSL, bem como os recursos que garantem a segurança da transmissão de dados.
5.1. SSL (S e cu r e S o c k e t L a y e r )
O protocolo SSL foi criado pela Netscape Communications Corporation, sendo implementado na maioria dos navegadores web da atualidade. O objetivo do SSL é
permitir criar um método seguro para transmissão de dados criptografados entre o cliente e o servidor.
Atualmente na versão 3.0, as principais características do SSL são independência de protocolo, segurança na transmissão Cliente/Servidor, interoperabilidade, extensibilidade e eficiência.
5.2. Arquitetura do SSL
O SSL utiliza o TCP (Transmission Control Protocol) para oferecer serviços seguros e
confiáveis de ponto a ponto. O protocolo SSL é dividido em duas Camadas, sendo uma de mais baixo nível que trabalha com o protocolo de transporte que é denominado protocolo
Record.
Este protocolo é responsável por encapsular os dados das camadas superiores em pacotes compactados e cifrados e encaminhá-los à camada de transporte. Na camada superior, encontra-se o protocolo de Handshake, o CCSP (Change Cipher Spec Protocol) e o Alert Protocol.
Esses protocolos mencionados são utilizados no gerenciamento de troca de chaves e serão apresentados os conceitos gerais nas próximas seções.
Abaixo é apresentada a representação da pilha de protocolos do SSL.
Figura 4 - Pilha de protocolos SSL
5.3. ProtocoloR e c o r d SSL
O protocolo Record SSL fornece serviços de confiabilidade e integridade de mensagens nas
conexões SSL. Ele define um conjunto de formatos e procedimentos pelos quais as mensagens da camada de aplicação são fragmentadas ou misturadas em blocos de um tamanho adequado para as próximas etapas.
O protocolo Record também fornece procedimentos de compactação, proteção,
criptografia para as mensagens passadas à camada inferior. Os dados não interpretados das camadas superiores em forma de blocos de tamanhos variáveis são encapsulados em registros e dependendo do tamanho sofrem uma fragmentação. O conteúdo do registro sofre compactação, em seguida são cifrados usando os algoritmos e chaves definidos pelo processo deHandshake.
Na seção a seguir é apresentada uma visão geral do protocolo deHandshake.
5.4. Protocolo de H a n d s h a k e SSL
Constituído de duas fases, onde na primeira fase é feita a escolha da chave entre o cliente e o servidor e na segunda é realizada a autenticação (caso requerida) e o fim do Handshake.
Completado o Handshake, o processo de transferência de dados entre aplicações pode ser
iniciado.
O Handshake é responsável por manter a consistência dos estados de uma sessão
tanto no cliente quanto no servidor. Uma mesma conexão SSL pode incluir várias conexões a partir dos mesmos dados que formam uma sessão SSL.
Session ID é um valor arbitrário escolhido pelo servidor para identificar
esta sessão;
peer certificate é usado para certificar uma organização. Está no formato
X.509 e dentre outras coisas encontra-se dentro dele a chave pública da entidade que está utilizando aquela aplicação;
compression method é o algoritmo usado na compressão dos dados;
cipherspec que especifica que conjunto de algoritmos de cifragem e de hash
serão utilizados;
mastersecret é um segredo de 48 bytes compartilhado pelo servidor e pelo
cliente;
isresumable é uma flag utilizada para indicar se a sessão pode ou não ser
retomada ao iniciar uma nova conexão.
O Handshake pode ser realizado de formas diferentes, dependendo se há ou não
autenticação das partes envolvidas ou se há uma sessão de retomada. A seguir são demonstradas as mensagens trocadas durante um processo deHandshake:
Figura 5 - Protocolo de Handsk ake
Na primeira fase são estabelecidas as verificações da versão do protocolo, ID de sessão, conjunto de cifras, método de compactação e números aleatórios. A segunda fase o servidor pode enviar certificado, troca de chaves e solicitar certificado, e o servidor sinaliza o final da fase da mensagem HELLO.
Na terceira fase o certificado é enviado pelo cliente, caso solicitado, e as chaves são enviadas, sendo que o cliente pode enviar a verificação do certificado. A última fase é trocar o conjunto de cifras e encerrar o handkshake, após finalizar, os dados são
5.5. Protocolo C h a n g e C i p h e r S p e c
Formado por uma única mensagem, a change_cipher_spec, onde sua função é sinalizar
alguma modificação nas estratégias ou parâmetros de segurança utilizados. Quando uma das partes do protocolo recebe uma mensagem change_cipher_spec durante o processo de Handshake, ela automaticamente troca as informações do estado atual de leitura pelos
dados do estado pendente de leitura.
No momento que uma das partes envia uma change_cipher_spec, ela
automaticamente atualiza seu estado atual de escrita para o estado pendente de escrita. Qualquer mensagem enviada ou recebida após esta mensagem será trabalhada utilizando a nova estratégia de segurança, negociada no processo de handshake. Esta mensagem
sempre precederá a mensagem deFINISHED.
Uma mensagem change_cipher_spec inesperada ocasiona o envio de um alerta unexpected_message.
5.6. Protocolo A l e r t
Cada erro gerado é enviado uma mensagem de alerta para o outro lado da conexão, dependendo do nível do erro a conexão é abortada e as mensagens de alerta são tratadas como mensagens normais, sofrem compactação e cifragem.
Os níveis das mensagens de alerta são warnings e fatals. Os warnings são simples
avisos que informam que alguma coisa não normal aconteceu ou foi detectada.
Estes tipos de alertas podem gerar um fechamento da conexão dependendo da forma em que o SSL foi implementado. Os alertas fatais sempre ocasionam o fechamento da conexão. Estes alertas dizem respeito ao comprometimento de algum segredo ou detecção de alguma falha durante a conexão.
Todos os dados a respeito de uma sessão devem ser apagados quando um erro fatal é enviado ou recebido durante uma conexão.
5.7. Algoritmos utilizados no SSL
Os algoritmos adotados no SSL para troca de chaves mais comuns são apresentados abaixo:
Algoritmos simétricos são utilizados no sigilo dos dados
trafegados durante uma sessão SSL. Na atual especificação do SSL são usados os algoritmos RC4, DES, 3DES, RC2, IDEA eFortezza;
algoritmos assimétricos e de derivação de chaves: algoritmos
digital. Neste grupo estão o RSA, o DAS, somente assinatura, e o
Diffie-Hellman para derivação de chaves;
algoritmos de hash são usados para prover a integridade das
mensagens enviadas e no processo de criação dos segredos. São especificados o MD5 e o SHA.
Os algoritmos são escolhidos no protocolo através do uso das ciphersuites, basicamente são
utilizados os campos PROT_KE_SIGALG_WITH_SIMALG_MAC onde, PROT é na atual
especificação o valor SSL ; KE é o algoritmo de troca de chaves; SIGALG é o algoritmo
usado para as assinaturas digitais; SIMALG é o algoritmo simétrico; e MAC ( Message Authentication Code) é o algoritmo de hash.
5.8. TLS (T r a n s p o r L a y e r S e cu r i ty )
O TLS (Transport Layer Security) é uma iniciativa de padronização do IETF com o intuito
de produzir um padrão de Internet que seja uma versão do SSL. Definido na RFC 2246, sendo muito semelhante à versão 3 do SSL, onde praticamente todos os campos dos protocolos que o compõem possuem os mesmos formatos.
Os protocolos Record e Handshake possuem as mesmas características do SSL,
apenas o campo versão tem seu valor alterado, sendo no TLS a versão principal 3 e a secundária 1. No restante, todos os outros cabeçalhos mantêm-se de forma idêntica ao padrão SSL.
Os códigos de alerta do TLS são os mesmos definidos no SSL, com exceção de
no_certificate,também foram adicionados alguns códigos fatais.
O MAC ( Message Authentication Code) possui diferenças em relação ao SSL 3.0,
sendo adotado no TLS o algoritimo HMAC (Hashing for Message Authentication Code).
TLS admite todas as técnicas para de troca de chaves, exceto o Fortezza. Os
algoritmos de criptografia simétrica são os mesmos do SSL versão 3 menos o Fortezza.
A versão do TLS também é conhecida como SSL 3.1 ou SSL/TLS, mas ainda não está definido se substituirá ao SSL por ser um pouco mais forte e robusto, no entanto permanece o problema de chaves RC4 fracas (TANENBAUM, 2003).
6.
COMPARANDO IPSEC E SSL/TLS EM VPN
Os protocolos IPSEC e o SSL/TLS são as soluções mais comuns em projetos de VPNs devido à suas características mencionadas nas seções anteriores.
Apesar de serem os protocolos mais comuns, não há interoperabilidade entre o SSL/TLS e o IPSEC, eles trabalham em camadas diferentes do modelo TCP e são adotados de acordo com as decisões do projeto (PETERSON; DAVIE, 2003).
O SSL/TLS opera na camada de transporte do modelo TCP e as aplicações devem ser construídas para suportá-lo. Normalmente as VPNs SSL/TLS são acessadas via
web browser,embora seja possível implementá-las em outras aplicações.
Os benefícios do SSL/TLS são a transparência para os protocolos dos níveis mais altos, facilidade no uso em e-commerce, não há conectividade permanente entre o cliente e
o servidor, compatibilidade com praticamente todos os web browsers que incluem a
verificação e a inclusão de certificados, além da facilidade de gestão e escalabilidade.
As limitações incluem pouco suporte ao tráfego UDP, algumas aplicações podem ficar limitadas apenas ao browser, SSL/TLS pode não ter todas as configurações atendidas em diferentes servidores e clientes para autenticação, pode se tornar lento no caso de utilizar uma autoridade certificadora externa para assinar vários certificados digitais.
Já o IPSEC opera na camada de rede do modelo TCP, os pacotes são encapsulados em túneis não importando se são UDP, TCP ou qualquer pacote de outro protocolo, sendo atingida a transparência total.
Os benefícios do IPSEC são a capacidade de ser acrescentado a qualquer versão do protocolo IP (IPv4 ou IPv6) através de cabeçalhos adicionais, possuir autenticação, confidencialidade e gerenciamento de chaves. A autenticação pode ser aplicada a todo o pacote IP original ou a todo o pacote exceto o cabeçalho IP, possibilita segurança ao encapsular o payload, e permitir ao usuário escolher o tipo de técnica para gerenciamento
de chaves.
As limitações do IPSEC são a complexidade de implementação, dificuldade de aplicação para usuários móveis, requer suporte em dispositivos de hardware (routers, switchs, servers), problemas de incompatibilidade entre diferentes projetos, caso o padrão
não tenha sido seguido
Na próxima seção serão apresentadas as comparações técnicas entre o IPSEC e o SSL/TLS.
6.1. Comparação técnica entre IPSEC e SSL/TLS
As próximas tabelas apresentam algumas das principais características técnicas do IPSEC e do SSL/TLS, bem como suas limitações e benefícios quando adotados na aplicação em VPNs.
Tabela 1 - Comparação das Ca racterísticas Gerais
VPN - baseado em SSL/TLS VPN - baseado em IPSec
Autenticação de uma via / token Autenticação de duas vias usando tokens
Autenticação de duas vias / tokens
Certificado Digital Certificado Digital
Forte Forte
Baseada no Browser Depende da implementação Segurança fim a fim Da borda para o cliente Recursos criptografados para o
cliente Cliente de VPN gateway criptografado
Acessibilidade
Em qualquer lugar a qualquer hora acesso a base de usuários
amplamente distribuídos
Acesso limitado à base de usuários bem definidos e controlados
baixo alto
Não há nenhum software cliente
adicional necessário Requer software de cliente gerenciado instalação Plug and play Implantação em longo prazo
Nenhum software de cliente adicional ou instalação de hardware
Requer o software no lado cliente e ou hardware
Utilizado através de browsers - fácil
uso Difícil para usuários não técnicos
Não requer um treinamento avançado Requer pessoas treinadas.
Aplicações baseadas na Web Todos os serviços baseados em IP File sharing
Usuários Clientes, parceiros, colaboradores, usuários remotos, vendedores
Mais apropriado para uso interno na companhia
Facilmente implantado e escalonável Escalonável no lado do servidor Dificuldade em escalonar clientes Simplicidade Aplicações Escalabilidade Autenticação Criptografia Segurança Custo Instalação
Tabela 2 - Características Gerais – Continuação
Função IPSec SSL
Configuração Complexa Simples
Autenticação do Cliente Obrigatória Opcional
Pre-Shared Key Sim Não
Problemas de Interoperabilidade Sim Não
Suporte ao TCP Todas Algumas
Suporte aoUDP Sim Não
Taxa de Transmissão Alta Alta
Compressão Sim Apenas no SSL
Tempo de Handshake Lento Rápido
Fonte: (JUNIPER NETWORKS, 2010)
A próxima tabela compara as aplicações suportadas pelas VPNs.
Tabela 3 - Tipos d e Aplicações Suportadas
VPN - baseado em SSL/TLS VPN - baseado em IPSec
Aplicações Cliente/Servidpr Sim Sim
Aplicações Legadas Sim Sim
Aplicações HTTP Sim Sim
File sharing Sim Sim
Aplicações em Mainframe Sim Sim
Terminal servers Sim Sim
Dependência aplicação de Server
socket Sim Sim
Aplicações Web Sim Sim
Conteúdo de Intranet Sim Sim
Voz sobre IP Não Sim
File Servers Sim Sim
Controle de acesso para Intranets
e Extranets Sim Não
Email Sim Sim
Fonte: (ARRAY NETWORKS)
A tabela a seguir apresenta as características de acordo com o ambiente de tecnologia da informação.
Tabela 4 - Comparação por a mb iente de tecnologia
VPN - baseado em IPSEC VPN - baseado em SSL
Tipo de conexão Fixa Transitória
Tipo de dispositivo Dispositivo Gerenciado Vários dispositivos
Tipo de Acesso site-to-site Remoto
Controle de Acesso Firewall Através de políticas
A tabela a seguir demonstra os modelos de segurança aplicados à VPNs.
Tabela 5 – Modelo de seg urança
VPN - baseado em IPSEC VPN - baseado em SSL
Proxy protection Não Sim
Strong user authentication Proprietário Sim
Strong central authorization Limitado Sim
Suporte à Single Sign-On (SSO) Não Sim
Dual/Stacked Authentication Não Sim
Proibe a visibilidade de nomes e IP Não Sim
Forms-based Authentication Não Sim
Controle ao nível de URL Não Sim
Fonte: (ISSA– INFORMATION SYSTEMS SECURITY A SSOC IATION )
A seguir serão analisadas as características de mobilidade dos protocolos de VPN em questão.
Tabela 6 – Características de mobilidade
VPN - baseado em IPSEC VPN - baseado em SSL
Computador Corporativo Sim Sim
Acesso de casa ou de um hotel com banda larga
software/hardware
adicionais Sim
Parceiro de negócio software/hardwareadicionais
Sim Através de um Firewall de outra
Companhia
software/hardware
adicionais Sim
Através de Quiosque Públicou ou PC
Público Não Sim
Através de rede Wireless Sim Sim
PDA Wireless Sim
Varia de acordo com o dispositivo e Sistema
operacional
Dispositivo Macintosh Não Sim
Dispositivo Linux Sim Sim
Smartphone Não Sim
Fonte: (CONNEWS)
Nas tabelas a seguir são comparadas a eficiência dos algoritmos dos protocolos SSL/TLS e IPSEC.
Tabela 7 - Portas utilizadas
Protocolo Modo Portas ESP-50/TCP AH 51 50/TCP ESP-50/TCP AH 51 50/TCP Servidor HTTPS 443 Cliente Nenhum IPSec Cliente Servidor SSL
Tabela 8 - Overhead
Protocolo Modo Tamanho - Byte
ESP 32 ESPeAH 44 ESP 36 ESPeAH 48 HMAQ - MD5 21 HMAQ -SHA -1 25 SSL
IPSec - Modo Tunel
IPSec - Modo Transporte
Fonte: (SANOG - SOUTH ASIAN NETWORK OPERATORS GROUP)
Tabela 9 - Tempo de Handsh ake IPSEC
Modo Estabelecimento
Modo Principal (PSK) 97 msec Modo Agressivo (PSK) 56 msec Modo Principal (RSA) 170 msec
Fonte: (ALSHAMSI; SAITO, 20 04)
Tabela 10 - Tempo de Handshake SSL/TLS
Modo Estabelecimento
Autenticação do Servidor 41,7 msec
Autenticação do Cliente 74,8 msec
Autenticação do Servidor (Diffie - Hellman) 66,1 msec Autenticação do Cliente (Diffie - Hellman) 118,6 msec
Fonte: (ALSHAMSI; SAITO, 2004)
Tabela 11 - Tempo para t ransferência SS L/TLS
Algoritmo Tempo (s)
SemAlgoritmo 2
3DES - EDE - CBC - SHA 9,8
DES-CBC-SHA 5,5
RC4-128-SHA 3,8
RC4-128-MD5 3,4
EXP - RC2 - CBC - MD5 3,9
Tabela 12 - Tempo de trans ferência IPSEC
Algoritmo Tempo (s)
SemAlgoritmo 2
3DES-SHA-1 12
3DES-MD5 10,5
3DES - SHA-1 - DEFLATE 8,4
3DES - MD5 - DEFLATE 7,8
AES - 128 - SHA-1 4,5
7.
CONSIDERAÇÕES FINAIS
A VPN é uma forma segura e econômica de realizar conexões através da infraestrutura oferecida pela Internet. No entanto, a escolha do protocolo de segurança adequado
dependerá do tipo de aplicação, sendo que os protocolos IPSEC e SSL/TLS possuem benefícios e limitações, que de acordo com o tipo de projeto, poderá oferecer maior ou menor desempenho. O IPSEC possui características que o torna viável em aplicações site-to-site, estabelecendo uma conexão confiável entre dois pontos através de dispositivos e softwares que adotam o IPSEC. No entanto, não demonstra pontos fortes em ambientes em
que se exige um alto grau de mobilidade. Para os casos onde se exige um alto fator de mobilidade e escalabilidade, o SSL/TLS apresenta benefícios que o torna mais adequado a este tipo de ambiente. Além dos protocolos de seguranças tratados neste artigo, outros procedimentos devem ser adotados para garantir a segurança das comunicações através da Internet que não foram mencionados, sendo o foco desse trabalho apenas comparar as
AGRADECIMENTOS
Este artigo teve inspiração nas aulas de Redes Wireless e Segurança de Redes ministradas
pelo professor Alessandro Coneglian Bianchini durante o curso de pós – graduação no
Centro Universitário Anhanguera.
REFERÊNCIAS
MORIMOTO, C. E.Servidores Linux. 2. ed. Porto Alegre: EdSUL, 2009. 73 6p.
CHIN, L. K. Rede Privada Virtual. Rio de Janeiro, jun. 2004. Seção NewsGeneration . Disponível
em: < http://www.rnp.br/newsgen/9811/vpn.html>. Acesso em: 28 jan. 2011.
NAKAMURA, E. S.; GEUS, P. L.Segurança de Redes em Ambientes Cooperativos. 2. ed. São
Paulo:Novatec, 2007. 482 p.
SILVA, S. J.;TEIXEIRA, R. C. Arquitetura IPSEC. Rio de Janeiro, abr. 2004. Seção NewsGeneration.
Disponível em: < http://www.rnp.br/newsgen/9907/ips ec3.html#ng-introducao>. Acesso em: 3 abr. 2011.
STALLINGS, W. Criptografia e se gurança de redes. 4. ed. São Paulo: Pearson, 2008. 492p.
TANENBAUM, A. S. Redes de Computadores. 4. ed. Rio de Janeiro: Campus, 2003. 945 p.
PETERSON, L. L. ; DAVIE, B. S .Redes de Computadores: Uma abordagem de sistema s. 3. ed. Rio
de Janeiro: Campus, 2003. 588p.
JUNIPER NETWORKS. Whitepaper 2010: SSL versus IPSEC. Disponível em
<http://www.juniper.net/us/en/local/pdf/whitepapers/2000 232-en.pdf>. Acesso em: 5 abr. 2011.
ARRAY NETWORKS. SSL VPN vs. IPSEC VPN. Disponível em:
<http://www.arraynetworks.net/ufiles/File/SSLVPNvsIPSecWhitePaper021006.pdf>. Acesso em: 5 abr. 2011.
WITNETWORKS.IPSEC Protocol. Disponível em:
<http://www.witnetworks.com/Downloads/Aventail/IPSec_v.pdf>. Acesso em: 7 abr. 2011. ISSA.Aventail IPSec vs SSL. Disponível em:
<http://www.issa .org/info_resources/ISSA_20050421_Aventail_IPSec_vs_SSL_A4.pdf>. Acesso em: 6 abr. 2011.
CONNEWS.IPSEC vs. SSL. Disponível em:
<http://www.comnews.com/WhitePap er_Library/Security/pdfs/IPSevsSSL.pdf>. Acesso em: 8 abr. 2011.
SANOG.IPSEC vs.SSL. Disponível em:
<http://www.sanog.org/resources/sanog8/sanog8-ipsecvsssl-kudsi.pdf>. Acesso em: 10 abr. 201 1.
ALSHAMSI, A.; SAITO, T.Technical Comparison of IPSec and SSL. TOKYO, 2004. Disponível
em: < http://eprint.iacr.org/2004/314.pdf>. Acesso em: 12 abr. 2011.
Autor Marcelo Fontes
Biografia Profissional com 15 anos de experiência
em empresa de grande porte do seguimento de informática e redes de computadores, pós-graduado em redes de computadores e telecomunicações.