VPN Virtual Private Network

48
VPN VPN Virtual Private Network Virtual Private Network André Luis Bettin André Luis Bettin RA: RA: 04125647 04125647 Bruno Ferrari de Almeida Bruno Ferrari de Almeida RA: RA: 04095709 04095709 Caio de Mello Rossi Caio de Mello Rossi RA: RA: 04007563 04007563

description

André Luis BettinRA: 04125647 Bruno Ferrari de AlmeidaRA: 04095709 Caio de Mello RossiRA: 04007563. VPN Virtual Private Network. Tópicos. O que é uma VPN? Por que usar? Tipos de Acesso Tipos de VPN e Protocolos Algoritmos de Criptografia Limitações da VPN. O que é uma VPN?. - PowerPoint PPT Presentation

Transcript of VPN Virtual Private Network

Page 1: 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

Page 2: VPN Virtual Private Network

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

Page 3: VPN Virtual Private Network

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

Page 4: VPN Virtual Private Network

4

Visão GeralVisão Geral

• ObjetivosObjetivos– Reduzir custos– Promover integridade e confiabilidade da

informação passada na rede– Escalabilidade

Page 5: VPN Virtual Private Network

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

Page 6: VPN Virtual Private Network

6

VPN Softwares

• Hamachi

• Microsoft Intelligent Application Gateway

• Openswan

• OpenVPN

• Remobo

Page 7: VPN Virtual Private Network

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.

Page 8: VPN Virtual Private Network

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

Page 9: VPN Virtual Private Network

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

Page 10: VPN Virtual Private Network

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)

Page 11: VPN Virtual Private Network

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

Page 12: VPN Virtual Private Network

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

Page 13: VPN Virtual Private Network

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

Page 14: VPN Virtual Private Network

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

Page 15: VPN Virtual Private Network

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)

Page 16: VPN Virtual Private Network

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

Page 17: VPN Virtual Private Network

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

Page 18: VPN Virtual Private Network

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

Page 19: VPN Virtual Private Network

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.

Page 20: VPN Virtual Private Network

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

Page 21: VPN Virtual Private Network

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

Page 22: VPN Virtual Private Network

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

Page 23: VPN Virtual Private Network

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.

Page 24: VPN Virtual Private Network

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)

Page 25: VPN Virtual Private Network

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

Page 26: VPN Virtual Private Network

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

Page 27: VPN Virtual Private Network

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

Page 28: VPN Virtual Private Network

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

Page 29: VPN Virtual Private Network

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.

Page 30: VPN Virtual Private Network

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)

Page 31: VPN Virtual Private Network

31

Algoritmos de CriptografiaAlgoritmos de Criptografia

• IntegraçãoIntegração– Message-Digest Algorithm 5 (MD5)– Hash Message Authentication Code

(HMAC-SHA1)

Page 32: VPN Virtual Private Network

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

Page 33: VPN Virtual Private Network

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

Page 34: VPN Virtual Private Network

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)

Page 35: VPN Virtual Private Network

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

Page 36: VPN Virtual Private Network

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)

Page 37: VPN Virtual Private Network

37

Algoritmos de CriptografiaAlgoritmos de Criptografia

• ConfidencialidadeConfidencialidade– TripleDES (3DES)– Advanced Encryption Standard (AES)

Page 38: VPN Virtual Private Network

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

Page 39: VPN Virtual Private Network

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

Page 40: VPN Virtual Private Network

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

Page 41: VPN Virtual Private Network

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.

Page 42: VPN Virtual Private Network

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.

Page 43: VPN Virtual Private Network

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.

Page 44: VPN Virtual Private Network

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.

Page 45: VPN Virtual Private Network

45

Algoritmos de CriptografiaAlgoritmos de Criptografia

• AutenticaçãoAutenticação– Authentication Header (AH)– Encapsulation Security Payload (ESD)

Page 46: VPN Virtual Private Network

46

Authentication HeaderAuthentication Header

• Cabecalho AH

Page 47: VPN Virtual Private Network

47

Encapsulation Security PayloadEncapsulation Security Payload

• Cabecalho ESP

Page 48: VPN Virtual Private Network

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