VPN
Virtual Private Network



André Luis Bettin
Bruno Ferrari de Almeida
Caio de Mello Rossi
RA: 04125647
RA: 04095709
RA: 04007563
Tópicos
•
•
•
•
•
•
O que é uma VPN?
Por que usar?
Tipos de Acesso
Tipos de VPN e Protocolos
Algoritmos de Criptografia
Limitações da VPN
2
O que é uma VPN?
• Visão geral
• Conceitos básicos
– Criptografia
– Tunelamento
• Protocolos de Tunelamento
3
Visão Geral
• Objetivos
– Reduzir custos
– Promover integridade e confiabilidade da
informação passada na rede
– Escalabilidade
4
Por que usar?
• Segurança
• Fácil implementação
– Windows
– Linux
• Barato
– Elimina a necessidade de links dedicados
– Usa a internet pública
• Aumento na escabilidade da rede
5
VPN Softwares
•
•
•
•
•
Hamachi
Microsoft Intelligent Application Gateway
Openswan
OpenVPN
Remobo
6
Conceitos Básicos
• Criptografia
– Criptografia (Do Grego kryptós, "escondido", e gráphein, "escrita") é o
estudo dos princípios e técnicas pelas quais a informação pode ser
transformada da sua forma original para outra ilegível, de forma que
possa ser conhecida apenas por seu destinatário (detentor da "chave
secreta"), o que a torna difícil de ser lida por alguém não autorizado.
Assim sendo, só o receptor da mensagem pode ler a informação com
facilidade.
Wikipedia
• Tunelamento
– ou tunnelling é a capacidade de criar túneis entre duas máquinas por
onde certas informações passam.
7
Criptografia
• Base para a segurança da VPN
• Confidencialidade
– A certeza que nenhuma outra pessoa
consegue ler os dados
• Autenticidade
– A certeza de quem enviou o dado
• Integridade
– A certeza que os dados transmitidos chegam
ao seu destino sem terem sido modificados
8
Tunelamento
• Encapsulamento e transmissão dos dados,
sobre uma rede pública entre dois pontos
distintos.
http://img.tomshardware.com/us/2008/04/03/secure_remote_access_for_home_users/vpn.png
9
Protolos de Tunelamento
• Nivel de Enlace
– Encapsulando os pacotes da camada de
enlace em quadros PPP (Point-to-Point
Protocol)
• PPTP (Point-to-Point Tunneling Protocol)
– Microsoft (RFC 2637)
• L2TP (Layer 2 Tunneling Protocol)
– IETF (RFC 3931)
• L2F (Layer 2 Forwarding)
– Cisco (RFC a partir de 2341)
10
Point-To-Point Tunneling Protocol
• Utilizar a infra-estrutura da Internet para prover uma
conectividade segura entre clientes remotos e redes
privadas
• PPTP cifra e encapsula datagrama IP em um pacote PPP
que, por sua vez, é encapsulado em um pacote GRE
11
Point-To-Point Tunneling Protocol
• Vulnerabilidades
– Procedimento de negociação é feito
sem qualquer proteção
• atacante pode modificar parâmetros
• Atacante pode obter dados dos extremos
do túnel
– Mensagens são transmitidas sem
qualquer forma de autenticação ou
proteção de integridade
• Atacante pode sequestrar a conexão
12
Point-To-Point Tunneling Protocol
• Vulnerabilidades
– Autenticação feita após a conclusão do
processo de estabelecimento de
parâmetros
• Atacante pode iniciar diversos processos
de negociação falsos
–Negação de Serviço (DoS)
–Paralisação do serviço
13
Point-To-Point Tunneling Protocol
• LanMan
– Armazenamento e transmissão de hashes de
senhas nas várias versões do Microsoft
Windows
– Senhas de 14 caracteres
• Armazenadas em uppercase
• Divisão da senha em 2 de 7 caracteres
• Diminue o número de hashes e facilita o
ataque de força bruta
– Senhas composta por caracteres alfabéticos
podem ser quebradas em 250 horas
14
Layer 2 Tunneling Protocol
• Age como protocolo da camada 2 (Enlace)
mas é implementado na camada 5
(Sessão).
• Não provê confidencialidade e autenticacao
segura. (Uso do L2TP/IPsec)
• LAC (L2TP Access Concentrator)
LNS (L2TP Network Server)
15
Layer 2 Tunneling Protocol
• Os 4 tipos de tunelamento do L2TP:
1. Túnel Voluntário
2. Túnel Compulsório - chamadas recebidas
3. Túnel Compulsório - discagem remota
4. L2TP multi-hop connection
16
L2TP – Túnel Voluntário
• Túnel criado pelo usuário (LAC)
encaminhados pelo ISP para o servidor
L2TP (LNS)
• O Túnel extende por toda a sessão PPP
17
L2TP – Túnel Compulsório

Por Chamadas Recebidas (Incoming Call)



Criado entre o provedor (LAC) e o gateway do
servidor (LNS)
Nesse caso o túnel se extende apenas ao
segmento da sessão do ISP e o LNS
Por Discagem Remota (Remote Dial)


Utilizado quando o cliente PPP tem um número
permanente estabelecido com o ISP
Nesse caso o túnel se extende ao segmento de
sessão do LNS ao ISP
18
L2TP – Multi-hop
• Um túnel entre o LAC e o gateway L2TP
multi-hop e outro túnel entre o gateway e o
LNS.
• Tráfego entre eles redirecionado pelo
gateway.
19
Protolos de Tunelamento
• Nível de Rede
– Encapsulam pacotes IP com um cabeçalho
adicional deste mesmo protocolo antes de
enviá-los através da rede.
• IP Security Tunnel Mode (IPsec)
– IETF
20
IPsec
• Modo Transporte x Modo Túnel
• Authentication Header (AH) e
Encapsulating Security Payload (ESP)
• IPv4 / Ipv6
• Internet Key Exchange (IKE)
– IKEv2
• OpenIKEv2
• strongSwan 4.1
• NAT - T
21
IPsec sumário
• Primeira Fase:
– Define chave entre os dois gateways (ISAKMP
SA)
• Segunda Fase:
– Define os canais de dados (IPsec Sas)
• Terceira Fase:
– Troca dados utilizando o AH e ESP
22
IPsec Limitacões
• Faz autenticacoes de máquinas mas não
de usuários
• Não protege contra ataques de DoS
• IPsec não é fim a fim.
• IPsec não é seguro se o gateway VPN não
for bem protegido.
23
Protolos de Tunelamento
• Nivel de Transporte
– Encapsulam pacotes da camada de
transporte usando SSL.
• Transport Layer Security
(TLS)
24
TLS / SSL
• Negociacão entre os pares para suporte ao
algoritmo
• Troca de chaves e autenticacão
• Criptografia de chave simétrica a
mensagem de autenticacão
25
Tipos de Acesso
• Acesso remoto de clientes
• LAN-to-LAN internetworking
• Segurança na intranet
26
Acesso Remoto de Clientes
• Muito usado em empresas em que os
funcionários trabalham em casa
• Idéia do funcionamento
– Funcionário se conecta
na internet
– Usando um cliente de VPN, ele se
conectar na empresa rede da empresa
– Quando conectado, o funcionário pode fazer a
troca de dados
URL da imagem
http://www.msitec.com.br/artigos/07/suporte/junho/vpn_clip_image001.gif
27
LAN-to-LAN Internetworking
• Interligar duas redes
– As duas redes formam apenas uma
única intranet
• Aumento na escalabilidade da rede
28
Segurança na Intranet
• Empresa pode proteger suas subnets
usando VPN
– Cria dificuldades de acesso a dados da
rede corporativa por parte dos
departamentos isolados.
29
Algoritmos de Criptografia
• Integração
– Message-Digest Algorithm 5 (MD5)
– Hash Message Authentication Code
(HMAC-SHA1)
• Confidencialidade
– TripleDES
(3DES)
– Advanced Encryption Standard
(AES)
• Autenticação
– Authentication Header
(AH)
– Encapsulation Security Payload (ESD)
30
Algoritmos de Criptografia
• Integração
– Message-Digest Algorithm 5 (MD5)
– Hash Message Authentication Code
(HMAC-SHA1)
31
Message-Digest Algorithm 5 (MD5)
• Foi desenvolvido em 1991 por Ronald Rivest
• Transforma qualquer quantidade de dado em
uma sequencia de 32 caracteres
• Algoritmo unidirecional
– Impossível recuperar o texto original
• Verificação
– comparando dois hashes
• Vulnerabilidade
– Possibilidade de duas strings diferentes
produzirem o mesmo hash
32
Message-Digest Algorithm 5 (MD5)
• Exemplo de Hash
MD5 ("The quick brown fox jumps over the lazy dog")
Resultado: 9e107d9d372bb6826bd81d3542a419d6
Mesma frase trocando o “d” em dog por “c”
MD5 ("The quick brown fox jumps over the lazy cog")
Resultado: 1055d3e698d289f2af8663725127bd4b
33
Hash Message Authentication Code
(HMAC)
• Tipo de message authentication code
(MAC) calculado usando um algortimo
específico envolvendo funções de hash
e combinando com uma chave secreta
– Usa MD5 ou SHA-1 para gerar o hash
– Em VPN que usa IPSec é usado o
HMAC-SHA-1
• Combinação do HMAC com SHA-1
34
Hash Message Authentication Code
(HMAC)
M – Mensagem que irá ser
autenticada
h – Função de hash
K – Chave secreta
– XOR
opad – 0x5c5c5c...5c5c (hex)
ipad – 0x363636...3636 (hex)
|| – Concatenação
35
Hash Message Authentication Code
(HMAC)
• Pseudo código do HMAC
function hmac (key, message)
opad = [0x5c * blocksize] // Where blocksize is that of the underlying hash function
ipad = [0x36 * blocksize]
if (length(key) > blocksize) then
key = hash(key) // keys longer than blocksize are shortened
end if
for i from 0 to length(key) - 1 step 1
ipad[i] = ipad[i] XOR key[i]
opad[i] = opad[i] XOR key[i]
end for
return hash(opad || hash(ipad || message)) // Where || is concatenation
end function
36
Algoritmos de Criptografia
• Confidencialidade
– TripleDES
(3DES)
– Advanced Encryption Standard
(AES)
37
TripleDES (3DES)
• Evolução do DES
• Realizar múltiplas cifragens com o DES
usando chaves diferentes para cada
processo
• Pode ser usado 2 ou 3 chaves
– 2 chaves – 2112 possibilidades
– 3 chaves – 2168 possibilidades
38
TripleDES (3DES)
• Funcionamento
– Três chaves diferentes, K1, K2e K3
– Usando a chave K1 a mensagem
é cifrada usando DES
– Usa-se então a segunda chave,
K2 , para decifrar a mensagem cifrada
– Como não é a chave correta, os
dados são ainda mais embaralhados
– Então usa a chave K3 nessa
mensagem duplamente embaralhada
39
Advanced Encryption Standard
• Substituiu o DES
• Tamanho de bloco fixo em 128 bits e uma
chave com tamanho de 128, 192 ou 256 bit
• Funcionamento
– O AES opera sobre um arranjo bidimensional de bytes com
4x4 posições
– Para criptografar, cada turno do AES (exceto o último)
consiste em quatro estágios:
• AddRoundKey
• SubBytes
• ShiftRows
• MixColumns
40
Advanced Encryption Standard
AddRoundKey
cada byte do estado
é combinado com
a subchave
própria do turno
(RoundKey); cada
subchave é
derivada da chave
principal usando o
algoritmo de
agendamento de
chaves.
41
Advanced Encryption Standard
SubBytes
É uma etapa de substituição não linear onde cada byte é
substituído por outro de acordo com uma tabela de
referência.
42
Advanced Encryption Standard
ShiftRows
É uma etapa de transposição onde cada fileira do estado é
deslocada de um determinado número de posições.
43
Advanced Encryption Standard
MixColumns
É uma operação de mescla que opera nas colunas do estado
e combina os quatro bytes de cada coluna usando uma
transformação linear.
44
Algoritmos de Criptografia
• Autenticação
– Authentication Header
(AH)
– Encapsulation Security Payload (ESD)
45
Authentication Header
• Cabecalho AH
46
Encapsulation Security Payload
• Cabecalho ESP
47
Bibliografia
• Hosner, Charlie 08-08-2004 - OpenVPN and the SSL VPN Revolution
• IETF RFC 2401 Security Architecture for the Internet Protocol
http://tools.ietf.org/html/rfc2401
• IETF RFC 4366 Transport Layer Security (TLS) Extensions
http://tools.ietf.org/html/rfc4366
• Wikipedia, 05-10-2008, Transport Layer Security
http://en.wikipedia.org/wiki/Transport_Layer_Security
• Ipsec Protocol, 05-10-2008
http://www.freeswan.org/freeswan_trees/freeswan-1.99/doc/ipsec.html
• Wikipedia, 04-10-2008 Ipsec, http://en.wikipedia.org/wiki/IPsec
• Kurose 3a Edicão, Redes de Computadores e a Internet
48
Download

O que é uma VPN?