VPN Virtual Private Network
description
Transcript of VPN Virtual Private Network
VPNVPNVirtual Private NetworkVirtual Private Network
André Luis BettinAndré Luis Bettin RA: 04125647RA: 04125647 Bruno Ferrari de AlmeidaBruno Ferrari de Almeida RA: 04095709 RA: 04095709 Caio de Mello RossiCaio de Mello Rossi RA: RA:
0400756304007563
2
TópicosTópicos
• O que é uma VPN?O que é uma VPN?
• Por que usar?Por que usar?
• Tipos de AcessoTipos de Acesso
• Tipos de VPN e ProtocolosTipos de VPN e Protocolos
• Algoritmos de CriptografiaAlgoritmos de Criptografia
• Limitações da VPNLimitações da VPN
3
O que é uma VPN?O que é uma VPN?
• Visão geralVisão geral
• Conceitos básicosConceitos básicos– Criptografia– Tunelamento
• Protocolos de TunelamentoProtocolos de Tunelamento
4
Visão GeralVisão Geral
• ObjetivosObjetivos– Reduzir custos– Promover integridade e confiabilidade da
informação passada na rede– Escalabilidade
5
Por que usar?Por que usar?
• SegurançaSegurança
• Fácil implementaçãoFácil implementação– WindowsWindows– LinuxLinux
• BaratoBarato– Elimina a necessidade de links dedicados– Usa a internet pública
• Aumento na escabilidade da redeAumento na escabilidade da rede
6
VPN Softwares
• Hamachi
• Microsoft Intelligent Application Gateway
• Openswan
• OpenVPN
• Remobo
7
Conceitos BásicosConceitos Básicos
• CriptografiaCriptografia– 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
• TunelamentoTunelamento– ou tunnelling é a capacidade de criar túneis entre duas máquinas por
onde certas informações passam.
8
CriptografiaCriptografia
• Base para a segurança da VPNBase para a segurança da VPN
• ConfidencialidadeConfidencialidade– A certeza que nenhuma outra pessoa
consegue ler os dados
• AutenticidadeAutenticidade
– A certeza de quem enviou o dado
• IntegridadeIntegridade– A certeza que os dados transmitidos chegam
ao seu destino sem terem sido modificados
9
TunelamentoTunelamento
• 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
10
Protolos de TunelamentoProtolos de Tunelamento
• Nivel de Enlace Nivel de Enlace – Encapsulando os pacotes da camada de
enlace em quadros PPP (Point-to-Point Protocol)
• PPTP (Point-to-Point Tunneling Protocol) PPTP (Point-to-Point Tunneling Protocol) – Microsoft (RFC 2637)
• L2TP (Layer 2 Tunneling Protocol) L2TP (Layer 2 Tunneling Protocol) – IETF (RFC 3931)
• L2F (Layer 2 Forwarding) L2F (Layer 2 Forwarding) – Cisco (RFC a partir de 2341)
11
Point-To-Point Tunneling ProtocolPoint-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
12
Point-To-Point Tunneling ProtocolPoint-To-Point Tunneling Protocol
• VulnerabilidadesVulnerabilidades– Procedimento de negociação é feito Procedimento de negociação é feito
sem qualquer proteçãosem qualquer proteção• atacante pode modificar parâmetros• Atacante pode obter dados dos extremos
do túnel
– Mensagens são transmitidas sem Mensagens são transmitidas sem qualquer forma de autenticação ou qualquer forma de autenticação ou proteção de integridadeproteção de integridade• Atacante pode sequestrar a conexão
13
Point-To-Point Tunneling ProtocolPoint-To-Point Tunneling Protocol
• VulnerabilidadesVulnerabilidades– Autenticação feita após a conclusão do Autenticação feita após a conclusão do
processo de estabelecimento de processo de estabelecimento de parâmetrosparâmetros• Atacante pode iniciar diversos processos
de negociação falsos–Negação de Serviço (DoS)–Paralisação do serviço
14
Point-To-Point Tunneling ProtocolPoint-To-Point Tunneling Protocol
• LanManLanMan– 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
15
Layer 2 Tunneling ProtocolLayer 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)
16
Layer 2 Tunneling ProtocolLayer 2 Tunneling Protocol
• Os 4 tipos de tunelamento do L2TP:1. Túnel Voluntário2. Túnel Compulsório - chamadas recebidas3. Túnel Compulsório - discagem remota4. L2TP multi-hop connection
17
L2TP – Túnel VoluntárioL2TP – 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
18
L2TP – Túnel CompulsórioL2TP – 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
19
L2TP – Multi-hopL2TP – 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.
20
Protolos de TunelamentoProtolos de Tunelamento
• Nível de Rede 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)IP Security Tunnel Mode (IPsec) – IETF
21
IPsecIPsec
• 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
22
IPsec sumárioIPsec 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
23
IPsec LimitacõesIPsec 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.
24
Protolos de TunelamentoProtolos de Tunelamento
• Nivel de Transporte Nivel de Transporte – Encapsulam pacotes da camada de
transporte usando SSL.
• Transport Layer SecurityTransport Layer Security (TLS)(TLS)
25
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
26
Tipos de AcessoTipos de Acesso
• Acesso remoto de clientesAcesso remoto de clientes
• LAN-to-LAN internetworkingLAN-to-LAN internetworking
• Segurança na intranetSegurança na intranet
27
Acesso Remoto de ClientesAcesso Remoto de Clientes
• Muito usado em empresas em que os Muito usado em empresas em que os funcionários trabalham em casafuncionários trabalham em casa
• Idéia do funcionamentoIdé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 imagemhttp://www.msitec.com.br/artigos/07/suporte/junho/vpn_clip_image001.gif
28
LAN-to-LAN InternetworkingLAN-to-LAN Internetworking
• Interligar duas redesInterligar duas redes– As duas redes formam apenas uma
única intranet
• Aumento na escalabilidade da rede Aumento na escalabilidade da rede
29
Segurança na IntranetSegurança na Intranet
• Empresa pode proteger suas Empresa pode proteger suas subnets subnets usando VPNusando VPN– Cria dificuldades de acesso a dados da Cria dificuldades de acesso a dados da
rede corporativa por parte dos rede corporativa por parte dos departamentos isolados.departamentos isolados.
30
Algoritmos de CriptografiaAlgoritmos de Criptografia
• IntegraçãoIntegração– Message-Digest Algorithm 5 (MD5)– Hash Message Authentication Code
(HMAC-SHA1)
• ConfidencialidadeConfidencialidade– TripleDES (3DES)– Advanced Encryption Standard (AES)
• AutenticaçãoAutenticação– Authentication Header (AH)– Encapsulation Security Payload (ESD)
31
Algoritmos de CriptografiaAlgoritmos de Criptografia
• IntegraçãoIntegração– Message-Digest Algorithm 5 (MD5)– Hash Message Authentication Code
(HMAC-SHA1)
32
Message-Digest Algorithm 5 (MD5)Message-Digest Algorithm 5 (MD5)
• Foi desenvolvido em 1991 por Ronald Rivest
• Transforma qualquer quantidade de dado em uma sequencia de 32 caracteres
• Algoritmo unidirecionalAlgoritmo unidirecional– Impossível recuperar o texto original
• VerificaçãoVerificação
– comparando dois hashes
• VulnerabilidadeVulnerabilidade– Possibilidade de duas strings diferentes
produzirem o mesmo hash
33
Message-Digest Algorithm 5 (MD5)Message-Digest Algorithm 5 (MD5)
• Exemplo de HashExemplo 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
34
Hash Message Authentication Code Hash Message Authentication Code
• 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
(HMAC)(HMAC)
35
Hash Message Authentication Code Hash Message Authentication Code (HMAC)(HMAC)
M – Mensagem que irá ser autenticadah – Função de hashK – Chave secreta – XORopad – 0x5c5c5c...5c5c (hex)ipad – 0x363636...3636 (hex)|| – Concatenação
36
Hash Message Authentication Code Hash Message Authentication Code
• Pseudo código do HMACPseudo código do HMACfunction 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
(HMAC)(HMAC)
37
Algoritmos de CriptografiaAlgoritmos de Criptografia
• ConfidencialidadeConfidencialidade– TripleDES (3DES)– Advanced Encryption Standard (AES)
38
TripleDES (3DES)TripleDES (3DES)
• Evolução do DESEvolução do DES
• Realizar múltiplas cifragens com o DES Realizar múltiplas cifragens com o DES usando chaves diferentes para cada usando chaves diferentes para cada processoprocesso
• Pode ser usado 2 ou 3 chavesPode ser usado 2 ou 3 chaves– 2 chaves – 2112 possibilidades– 3 chaves – 2168 possibilidades
39
TripleDES (3DES)TripleDES (3DES)
• FuncionamentoFuncionamento– Três chaves diferentes, K
1, K
2e K
3
– 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
40
Advanced Encryption StandardAdvanced Encryption Standard
• Substituiu o DESSubstituiu o DES
• Tamanho de bloco fixo em 128 bits e uma Tamanho de bloco fixo em 128 bits e uma chave com tamanho de 128, 192 ou 256 bitchave com tamanho de 128, 192 ou 256 bit
• FuncionamentoFuncionamento– 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
41
Advanced Encryption StandardAdvanced Encryption Standard
AddRoundKeyAddRoundKey
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.
42
Advanced Encryption StandardAdvanced Encryption Standard
SubBytesSubBytesÉ uma etapa de substituição não linear onde cada byte é
substituído por outro de acordo com uma tabela de referência.
43
Advanced Encryption StandardAdvanced Encryption Standard
ShiftRowsShiftRowsÉ uma etapa de transposição onde cada fileira do estado é
deslocada de um determinado número de posições.
44
Advanced Encryption StandardAdvanced Encryption Standard
MixColumnsMixColumnsÉ uma operação de mescla que opera nas colunas do estado
e combina os quatro bytes de cada coluna usando uma transformação linear.
45
Algoritmos de CriptografiaAlgoritmos de Criptografia
• AutenticaçãoAutenticação– Authentication Header (AH)– Encapsulation Security Payload (ESD)
46
Authentication HeaderAuthentication Header
• Cabecalho AH
47
Encapsulation Security PayloadEncapsulation Security Payload
• Cabecalho ESP
48
BibliografiaBibliografia
• 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