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