Nome da Revista
Vol. , Nº. 0, Ano 2011
COMPARANDO O USO DO IPSEC E DO SSL/TLS
EM VPN
autor
Marcelo Fontes
[email protected]
RESUMO
A VPN (Virtual Private Network) é uma forma simples e de baixo custo de se
estabelecer conexões por aproveitar a infraestrutura disponibilizada pela
Internet. Uma VPN deve oferecer mecanismos que garantam a segurança da
comunicação em um meio inseguro como a Internet. Os principais protocolos
adotados e difundidos em VPNs para garantir a segurança nas
comunicações através da Internet são o IPSEC (Internet Protocol Security) e o
SSL/TLS (Secure Socket Layer/Transport Layer Secure). Esses protocolos são
apresentados e comparados por meio de suas principais características, tais
como formas de autenticação, criptografia, estabilidade, escalabilidade,
algoritmos de trocas de chaves e gerenciamento, e também são apresentados
os seus benefícios e limitações quando empregados nas VPNs.
Palavras-Chave : VPN; SSL; IPSEC; Segurança;
ABSTRACT
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
mechanisms which guarantees communication security inside an insecure
environment like the internet. The main protocols adopted and disseminated
in VPNs to guarantee security to internet based communications are the
IPSEC (Internet Protocol Security) and the SSL/TLS (Secure Socket
Layer/Transport Layer Secure). Those protocols are here presented and
compared by their characteristics, such as authentication method,
encryption, stability, scalability, key changing algorithms and management.
Benefits and limitations when VPNs are applied is also shown.
Keywords : VPN; SSL; IPSEC; Security;
Anhanguera Educacional S.A.
Correspondência/Contato
Alameda Maria Tereza, 2000
Valinhos, São Paulo
CEP 13.278-181
[email protected]
Coordenação
Instituto de Pesquis as Aplic adas e
Desenv olv im ento Educacional - IPADE
Artigo Original / Informe Técnico / Resenha
Recebido em: 30/12/1899
Av aliado em: 30/12/1899
Publicação: 22 de setembro de 2009
1
2
Comparando o uso do IPSEC e do SSL/TLS em VPN
1. INTRODUÇÃO
O crescimento do uso da World Wide Web para fins comerciais, Intranets, Extranets,
aplicações B2B (Business to Business) faz-se necessário o uso de estratégias e de protocolos
de redes que garantam a segurança na comunicação através da Internet .
Muitas empresas possuem vários escritórios e fábricas espalhadas por estados e
até em outros países e adotam a infraestrutura da Internet para poderem conectar-se de
forma segura e eficaz para compartilhar recursos como Banco de Dados, softwares de
gestão, entre outras aplicações remotas.
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
seus trabalhos normalmente como se estivessem nas dependências da companhia.
Neste contexto, as VPNs (Virtual Private Network) entram como um mecanismo
de garantir a segurança e possibilitar o acesso somente às pessoas autorizadas, e assim
permitir que os recursos da companhia não fiquem disponíveis à pessoas estranhas.
Atualmente existem inúmeros fabricantes que oferecem diversas soluções de
VPNs, principalmente baseadas nos protocolos IPSEC (Internet Protocol Security) e
SSL/TLS (Secure Transport Layer / Transport Layer Security) para garantir a segurança e a
operação adequada das VPNs.
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
em VPNs.
2. VPN (VIRTUAL PRIVATE NETWORK)
O conceito de VPN (Virtual Private Network) consiste de uma rede de comunicações
adotada por uma empresa de forma privada, através de uma rede pública ou privada
qualquer (MORIMOTO, 2009).
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
entre dois pontos autorizados para transferência segura de informação entre redes
corporativas ou usuários remotos.
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
transmissão, não sejam alterados ou interceptados (CHIN, 2004).
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
Marcelo Fontes
3
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.
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
4
Comparando o uso do IPSEC e do SSL/TLS em VPN
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.
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
Marcelo Fontes
5
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.
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
6
Comparando o uso do IPSEC e do SSL/TLS em VPN
4.1. IPSEC (INTERNET PROTOCOL 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
para produção, organização e inter-relacionamento entre os diversos documentos que
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
Marcelo Fontes
7
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 no roadmap:

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
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
8
Comparando o uso do IPSEC e do SSL/TLS em VPN
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 (Authentication Header)
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 Campo Reserved é 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 (Encapsulating Security Payload)
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:
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
Marcelo Fontes
9
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;

Three-key triple IDEA;
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
10
Comparando o uso do IPSEC e do SSL/TLS em VPN

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.
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
Marcelo Fontes
11
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 (Secure Socket Layer)
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.
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
12
Comparando o uso do IPSEC e do SSL/TLS em VPN
Abaixo é apresentada a representação da pilha de protocolos do SSL.
Figura 4 - Pilha de protocolos SSL
5.3.
Protocolo Record 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 de Handshake.
Na seção a seguir é apresentada uma visão geral do protocolo de Handshake.
5.4. Protocolo de Handshake 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.
Os dados que formam uma sessão SSL são os seguintes:
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
Marcelo Fontes
13

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 de Handshake:
Figura 5 - Protocolo de Handskake
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
transmitidos.
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
14
Comparando o uso do IPSEC e do SSL/TLS em VPN
5.5. Protocolo ChangeCipherSpec
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 de FINISHED.
Uma mensagem change_cipher_spec inesperada ocasiona o envio de um alerta
unexpected_message.
5.6. Protocolo Alert
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 e Fortezza;

algoritmos assimétricos e de derivação de chaves: algoritmos
utilizados para a troca de chaves e para o processo de assinatura
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
Marcelo Fontes
15
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 (Transpor Layer Security)
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.
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
16
Comparando o uso do IPSEC e do SSL/TLS em VPN
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.
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
Marcelo Fontes
17
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 - Co mparação das Características Gerais
VPN - baseado em SSL/TLS
VPN - baseado em IPSec
Autenticação de uma via / token
Autenticação
Criptografia
Segurança
Acessibilidade
Custo
Instalação
Simplicidade
Autenticação de duas vias usando tokens
Autenticação de duas vias / tokens
Certificado Digital
Forte
Baseada no Browser
Certificado Digital
Forte
Depende da implementação
Segurança fim a fim
Recursos criptografados para o
cliente
Em qualquer lugar a qualquer hora
acesso a base de usuários
amplamente distribuídos
baixo
Da borda para o cliente
Não há nenhum software cliente
adicional necessário
instalação Plug and play
Cliente de VPN gateway criptografado
Acesso limitado à base de usuários bem
definidos e controlados
alto
Requer software de cliente gerenciado
Implantação em longo prazo
Nenhum software de cliente adicional Requer o software no lado cliente e ou
ou instalação de hardware
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
File sharing
E-mail
Todos os serviços baseados em IP
Aplicações
Usuários
Clientes, parceiros, colaboradores,
usuários remotos, vendedores
Mais apropriado para uso interno na
companhia
Escalabilidade
Facilmente implantado e escalonável Escalonável no lado do servidor
Dificuldade em escalonar clientes
Fonte: (JUNIPER NETWORKS , 2010)
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
18
Comparando o uso do IPSEC e do SSL/TLS em VPN
Tabela 2 - Características Gerais – Continuação
IPSec
SSL
Configuração
Funçã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 ao UDP
Sim
Não
Taxa de Transmissão
Alta
Alta
Compressão
Tempo de Handshake
Sim
Lento
Apenas no SSL
Rápido
Fonte: (JUNIPER NETWOR KS, 2010)
A próxima tabela compara as aplicações suportadas pelas VPNs.
Tabela 3 - Tipos de Aplicações Suportadas
VPN - baseado em SSL/TLS
Aplicações Cliente/Servidpr
Aplicações Legadas
Aplicações HTTP
File sharing
Aplicações em Mainframe
Terminal servers
Dependência aplicação de Server
socket
Sim
Sim
Sim
Sim
Sim
Sim
VPN - baseado em IPSec
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Sim
Aplicações Web
Conteúdo de Intranet
Voz sobre IP
File Servers
Controle de acesso para Intranets
e Extranets
Email
Sim
Sim
Não
Sim
Sim
Sim
Sim
Sim
Sim
Não
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 - Co mparação por amb iente de tecnologia
Tipo de conexão
Tipo de dispositivo
Tipo de Acesso
Controle de Acesso
Fonte:( WITNETWORKS )
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
VPN - baseado em IPSEC
Fixa
Dispositivo Gerenciado
site-to-site
Firewall
VPN - baseado em SSL
Transitória
Vários dispositivos
Remoto
Através de políticas
Marcelo Fontes
19
A tabela a seguir demonstra os modelos de segurança aplicados à VPNs.
Tabela 5 – Modelo de segurança
Proxy protection
Strong user authentication
Strong central authorization
Suporte à Single Sign-On (SSO)
Dual/Stacked Authentication
Proibe a visibilidade de nomes e IP
Forms-based Authentication
Controle ao nível de URL
VPN - baseado em IPSEC VPN - baseado em SSL
Sim
Não
Proprietário
Sim
Limitado
Sim
Não
Sim
Não
Sim
Não
Sim
Não
Sim
Não
Sim
Fonte: (ISSA – INFORMATION SYSTEMS SECURITY ASSOC IATION)
A seguir serão analisadas as características de mobilidade dos protocolos de VPN em
questão.
Tabela 6 – Características de mobilidade
Computador Corporativo
Acesso de casa ou de um hotel com
banda larga
Parceiro de negócio
Através de um Firewall de outra
Companhia
Através de Quiosque Públicou ou PC
Público
Através de rede Wireless
VPN - baseado em IPSEC VPN - baseado em SSL
Sim
Sim
software/hardware
Sim
adicionais
software/hardware
adicionais
Sim
software/hardware
adicionais
Sim
Não
Sim
Sim
Sim
Varia de acordo com o
dispositivo e Sistema
operacional
Sim
Sim
PDA Wireless
Sim
Dispositivo Macintosh
Não
Sim
Não
Dispositivo Linux
Smartphone
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
Servidor
IPSec
Cliente
SSL
Portas
ESP-50/TCP
AH 51 50/TCP
ESP-50/TCP
AH 51 50/TCP
Servidor
HTTPS 443
Cliente
Nenhum
Fonte: (SANOG - SOUTH ASIAN NETWOR K OPERATORS GROUP)
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
20
Comparando o uso do IPSEC e do SSL/TLS em VPN
Tabela 8 - Overhead
Protocolo
IPSec - Modo Tunel
IPSec - Modo Transporte
SSL
Modo
Tamanho - Byte
ESP
32
ESP e AH
44
ESP
36
ESP e AH
48
HMAQ - MD5
21
HMAQ -SHA -1
25
Fonte: (SANOG - SOUTH ASIAN NETWORK OPER ATORS GROUP )
Tabela 9 - Tempo de Handshake IPSEC
Modo
Estabelecimento
Modo Principal (PSK)
97 msec
Modo Agressivo (PSK)
56 msec
Modo Principal (RSA)
170 msec
Fonte: (ALSHAMSI; SAITO, 2004)
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 SSL/TLS
Algoritmo
Sem Algoritmo
3DES - EDE - CBC - SHA
DES - CBC - SHA
RC4 - 128 - SHA
RC4 - 128 - MD5
EXP - RC2 - CBC - MD5
Fon te: (ALSHAMSI; SAITO, 2004)
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
Tempo (s)
2
9,8
5,5
3,8
3,4
3,9
Marcelo Fontes
21
Tabela 12 - Tempo de transferência IPSEC
Algoritmo
Sem Algoritmo
3DES - SHA-1
3DES - MD5
3DES - SHA-1 - DEFLATE
3DES - MD5 - DEFLATE
AES - 128 - SHA-1
Tempo (s)
2
12
10,5
8,4
7,8
4,5
Fonte: (ALSHAMSI; SAITO, 2004)
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
22
Comparando o uso do IPSEC e do SSL/TLS em VPN
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 siteto-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
características gerais do IPSEC e do SSL/TLS quando usados em VPNs.
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
Marcelo Fontes
23
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. 736p.
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: < h ttp://www.rnp.br/newsgen/9907/ipsec3.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: Ca mpus, 2003. 945 p.
PETERSON, L. L. ; DAVIE, B. S. Redes de Computadores: Uma abordagem de sistemas. 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/2000232 -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/WhitePaper_Library/Security/pdfs/IPSevsSSL.pdf>. Acesso em: 8
abr. 2011.
SANOG. IPSEC vs.SSL. Disponível em: <http://www.sanog.org/resources/sanog8/sanog8ipsecvsssl-kudsi.pdf>. Acesso em: 10 abr. 2011.
ALSHAMSI, A.; SAITO, T. Technical Comparison of IPSec and SSL. TOKY O, 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.
Nome da Revista  Vol. , Nº. 0, Ano 2009  p. 1-23
Download

Modelo artigo AESA - Alessandro Coneglian Bianchini