Capítulo 8 Segurança em rede - ppt carregar
PublicouYasmin Vargas Alterado mais de 4 anos atrás
Apresentação em tema: "Capítulo 8 Segurança em rede"— Transcrição da apresentação:
1 Capítulo 8 Segurança em rede
Nota sobre o uso destes slides ppt: Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do PowerPoint para que você possa incluir, modificar e excluir slides (incluindo este) e o conteúdo do slide, de acordo com suas necessidades. Eles obviamente representam muito trabalho da nossa parte. Em retorno pelo uso, pedimos apenas o seguinte: Se você usar estes slides (por exemplo, em sala de aula) sem muita alteração, que mencione sua fonte (afinal, gostamos que as pessoas usem nosso livro!). Se você postar quaisquer slides sem muita alteração em um site Web, que informe que eles foram adaptados dos (ou talvez idênticos aos) nossos slides, e inclua nossa nota de direito autoral desse material. Obrigado e divirta-se! JFK/KWR Todo o material copyright J. F Kurose e K. W. Ross, Todos os direitos reservados. slide 1 © 2010 Pearson Prentice Hall. Todos os direitos reservados.
2 Capítulo 8: Segurança em rede
Objetivos do capítulo: entender os princípios de segurança em rede: criptografia e seus muitos usos além da "confidencialidade" autenticação integridade de mensagem segurança na prática: firewalls e sistemas de detecção de invasão segurança nas camadas de aplicação, transporte, rede e enlace de dados
3 Capítulo 8: Esboço 8.1 O que é segurança na rede?
8.2 Princípios de criptografia 8.3 Integridade de mensagem 8.4 Protegendo o 8.5 Protegendo conexões TCP: SSL 8.6 Segurança na camada de rede: IPsec 8.7 Segurança em LANs sem fio 8.8 Segurança operacional: firewalls e IDS
4 O que é segurança na rede?
Confidencialidade: apenas remetente e destinatário pretendido devem "entender" conteúdo da mensagem remetente criptografa mensagem destinatário decripta mensagem Autenticação: remetente e destinatário querem confirmar a identidade um do outro Integridade da mensagem: remetente e destinatário querem garantir mensagem não alterada (em trânsito ou depois) sem detecção Acesso e disponibilidade: serviços precisam ser acessíveis e disponíveis aos usuários
5 Amigos e inimigos: Alice, Bob, Trudy
bem conhecidos no mundo da segurança em rede Bob, Alice (amigos!) querem se comunicar "com segurança" Trudy (intrusa) pode interceptar, excluir, acrescentar mensagens Alice Bob canal dados, mensagens de controle remetente seguro destinatário seguro dados dados Trudy
6 Quem poderiam ser Bob e Alice?
… bem, Bobs e Alices da vida real! navegador Web/servidor de transações eletrônicas (p. e., compras on-line) cliente/servidor de "Internet banking" servidores DNS roteadores trocando atualizações da tabela de roteamento outros exemplos?
7 Existem perversos (e perversas) lá fora!
P: O que um "perverso" pode fazer? R: Muita coisa! Ver Seção 1.6 bisbilhotar: interceptar mensagens inserir ativamente mensagens na conexão personificação: pode forjar (falsificar) endereço IP no pacote (ou qualquer campo no pacote) sequestrar: "apoderar-se" da conexão em andamento removendo remetente ou destinatário, inserindo-se no local negação de serviço: impedir que serviço seja usado por outros (p. e., sobrecarregando recursos)
8 Capítulo 8: Esboço 8.1 O que é segurança na rede?
9 A linguagem da criptografia
chave de criptografia de Alice chave de decriptação de Bob K A K B algoritmo criptografia texto aberto texto cifrado algoritmo decriptação texto aberto m mensagem em texto aberto KA(m) texto cifrado, criptografado com chave KA m = KB(KA(m))
10 Esquema de criptografia simples
cifra de substituição: substituir uma coisa por outra cifra monoalfabética: substituir uma letra por outra texto aberto: abcdefghijklmnopqrstuvwxyz texto cifrado: mnbvcxzasdfghjklpoiuytrewq p. e.: texto aberto: bob. i love you. alice texto cifrado: nkn. s gktc wky. mgsbc Segredo: o mapeamento do conjunto de 26 a outro conjunto de 26 letras
11 Criptografia polialfabética
n cifras monoalfabéticas, M1,M2,…,Mn Padrão cíclico: p. e., n = 4, M1,M3,M4,M3,M2; M1,M3,M4,M3,M2; Para cada novo símbolo de texto aberto, use padrão monoalfabético subsequente no padrão cíclico dog: d de M1, o de M3, g de M4 Segredo: as n cifras e o padrão cíclico
12 Quebrando um esquema de criptografia
Ataque apenas a texto cifrado: Trudy tem o texto cifrado que ela pode analisar Duas técnicas: Procura por todas as chaves: deve ser capaz de diferenciar texto aberto resultante do texto sem sentido Análise estatística Ataque de texto aberto conhecido: Trudy tem algum texto aberto correspondente a algum texto cifrado p. e., na cifra monoalfabética, Trudy determina pares para a,l,i,c,e,b,o, Ataque de texto aberto escolhido: Trudy pode conseguir o texto cifrado para algum texto aberto escolhido
13 Tipos de criptografia criptografia normalmente usa chaves:
algoritmo é conhecido de todos somente "chaves" são secretas criptografia de chave pública envolve o uso de duas chaves criptografia de chave simétrica envolve o uso de uma chave funções de hash não envolve o uso de chaves nada secreto: Como isso pode ser útil?
14 Criptografia de chave simétrica
K S K S algoritmo de criptografia mensagem de texto aberto, m texto cifrado algoritmo de decriptação texto aberto K (m) m = KS(KS(m)) S criptografia de chave simétrica: Bob e Alice compartilham alguma chave (simétrica) : K p. e., segredo é saber padrão de substituição na cifra de substituição monoalfabética P: Como Bob e Alice combinam um valor de segredo? S
15 Dois tipos de cifras simétricas
Cifras de fluxo criptografam um bit por vez Cifras de bloco Quebram a mensagem de texto aberto em blocos de mesmo tamanho Criptografam cada bloco como uma unidade
16 gerador de sequência de chaves
Cifras de fluxo pseudoaleatória gerador de sequência de chaves chave sequência de chaves Combinam cada bit da sequência de chaves com bit de texto aberto para obter bit de texto cifrado m(i) = iº bit da mensagem ks(i) = iº bit da sequência de chaves c(i) = iº bit do texto cifrado c(i) = ks(i)  m(i) ( = OR exclusivo, ou XOR) m(i) = ks(i)  c(i)
17 Cifra de fluxo RC4 RC4 é uma cifra de fluxo popular
bastante analisada e considerada boa chave pode ter de 1 a 256 bytes usada por WEP para pode ser usada em SSL
18 Cifras de bloco Mensagem a ser criptografada é processada em blocos de k bits (p. e., blocos de 64 bits). Mapeamento 1-para-1 é usado para mapear bloco de k bits de texto aberto para bloco de k bits de texto cifrado Exemplo com k = 3: entrada saída entrada saída Qual é o texto cifrado para ?
19 Quantos mapeamentos existem para k = 3?
Quantas entradas de 3 bits? Quantas permutações das entradas de 3 bits? Resposta: ; não muitas! Em geral, 2k! mapeamentos; imenso para k = 64 Problema: Técnica de tabela requer tabela com 264 entradas, cada entrada com 64 bits Tabela muito grande: em vez disso, use função que simula tabela permutada aleatoriamente
20 Função de protótipo entrada de 64 bits S1 8bits 8 bits S2 S3 S4 S7 S6
codificador de 64 bits saída de 64 bits Loop para n ciclos mapeamento 8 bits para 8 bits Fonte: Kaufman, 1995
21 O que acontece no protótipo?
se um único ciclo, então um bit de entrada afeta no máximo 8 bits de saída. no 2o ciclo, os 8 bits afetados são espalhados e inseridos em múltiplas caixas de substituição. quantos ciclos? quantas vezes você precisa misturar cartas? torna-se menos eficiente quando n aumenta
22 Criptografando uma mensagem grande
Por que não apenas quebra a mensagem em blocos de 64 bits e criptografar cada bloco separadamente? se mesmo bloco de texto aberto aparecer duas vezes, gerará o mesmo texto cifrado. Que tal: gerar número aleatório de 64 bits r(i) para cada bloco de texto aberto m(i) calcular c(i) = KS( m(i)  r(i) ) transmitir c(i), r(i), i = 1,2,… no destinatário: m(i) = KS(c(i))  r(i) problema: ineficaz, precisa enviar c(i) e r(i)
23 Cipher Block Chaining (CBC)
CBC gera seus próprios números aleatórios faça a criptografia do bloco atual depender do resultado do bloco anterior c(i) = KS( m(i)  c(i-1) ) m(i) = KS( c(i))  c(i-1) Como criptografamos o primeiro bloco? vetor de inicialização (IV): bloco aleatório = c(0) IV não precisa ser secreto mude IV para cada mensagem (ou sessão) garante que, ainda que a mesma mensagem seja enviada repetidamente, o texto cifrado será completamente diferente a cada vez
24 bloco de cifra: se bloco de entrada repetido, produzirá o mesmo texto cifrado:
m(1) = "HTTP/1.1" c(1) = "k329aM02" t = 1 cifra de bloco … m(17) = "HTTP/1.1" c(17) = "k329aM02" t = 17 cifra de bloco Cipher Block Chaining: XOR do iº bloco de entrada, m(i), com bloco anterior do texto cifrado, c(i-1) c(0) transmitido ao destinatário abertamente o que acontece no cenário "HTTP/1.1" anterior? m(i) + c(i-1) cifra de bloco c(i)
25 Criptografia de chave simétrica: DES
DES: Data Encryption Standard Padrão de criptografia dos EUA [NIST 1993] chave simétrica de 56 bits, texto aberto de 64 bits cifra de bloco com Cipher Block Chaining Qual a segurança do DES? desafio do DES: frase criptografada com chave de 56 bits decriptada (força bruta) em menos de um dia nenhum bom ataque analítico conhecido tornando o DES mais seguro: 3DES: criptografa 3 vezes com 3 chaves diferentes (na verdade, criptografa, decripta, criptografa)
26 Operação do DES permutação inicial 16 "ciclos" idênticos de aplicação de função, cada um usando 48 bits diferentes de chave permutação final
27 AES: Advanced Encryption Standard
novo (Nov. 2001) padrão do NIST para chave simétrica, substituindo o DES processa dados em blocos de 128 bits chaves de 128, 192 ou 256 bits decriptação por força bruta (tentar cada chave) levando 1 segundo no DES, leva 149 trilhões de anos para AES
28 Criptografia de chave pública
chave simétrica requer que remetente e destinatário conheçam chave secreta P: Como combinar sobre a chave em primeiro lugar (principalmente se nunca se "encontraram")? chave pública técnica radicalmente diferente [Diffie-Hellman76, RSA78] remetente e destinatário não compartilham chave secreta chave criptográfica pública conhecida por todos chave de decriptação privada conhecida apenas pelo receptor
29 mensagem de texto aberto
+ Chave pública de Bob K B - Chave privada de Bob K B algoritmo de criptografia texto cifrado mensagem de texto aberto mensagem de texto aberto, m algoritmo de decriptação K (m) B + m = K (K (m)) B + -
30 Algoritmo de criptografia de chave pública
Requisitos: . . + - 1 precisa de K ( ) e K ( ) tais que B B K (K (m)) = m B - + + 2 dada a chave pública K , deverá ser impossível calcular chave privada K B - B RSA: Algoritmo de Rivest, Shamir, Adelson
31 Pré-requisito: aritmética modular
x mod n = resto de x quando divide por n Fatos: [(a mod n) + (b mod n)] mod n = (a+b) mod n [(a mod n) - (b mod n)] mod n = (a-b) mod n [(a mod n) * (b mod n)] mod n = (a*b) mod n Assim, (a mod n)d mod n = ad mod n Exemplo: x = 14, n = 10, d = 2: (x mod n)d mod n = 42 mod 10 = 6 xd = 142 = xd mod 10 = 6
32 RSA: aprontando Uma mensagem é um padrão de bits.
Um padrão de bits pode ser representado exclusivamente por um número inteiro. Assim, criptografar uma mensagem é equivalente a criptografar um número. Exemplo m = Essa mensagem é representada exclusivamente pelo número decimal 145. Para criptografar m, criptografamos o número correspondente, que gera um novo número (o texto cifrado).
33 RSA: Criando par de chave pública/privada
1. Escolha dois números primos grandes p, q. (p. e., 1024 bits cada) 2. Calcule n = pq, z = (p-1)(q-1) 3. Escolha e (com e<n) que não tenha fatores comuns com z. (e, z são "relativamente primos"). 4. Escolha d tal que ed-1 seja divisível exatamente por z. (em outras palavras: ed mod z = 1 ). 5. Chave pública é (n,e). Chave privada é (n,d). K B + K B -
34 RSA: criptografia, decriptação
0. Dados (n,e) e (n,d) conforme calculamos 1. Para criptografar a mensagem m (<n), calcule c = m mod n e 2. Para decriptar padrão de bits recebido, c, calcule m = c mod n d A mágica acontece! m = (m mod n) e mod n d c
35 Bob escolhe p = 5, q = 7. Depois, n = 35, z = 24.
Exemplo de RSA: Bob escolhe p = 5, q = 7. Depois, n = 35, z = 24. e = 5 (assim, e, z relativamente primos). d = 29 (assim, ed-1 divisível exatamente por z). Criptografando mensagens de 8 bits. e c = m mod n e padrão de bits m m criptografia: 0000l000 12 24832 17 c d m = c mod n d c decriptação: 17 12
36 Por que RSA funciona? Deve mostrar que cd mod n = m onde c = me mod n
Fato: para qualquer x e y: xy mod n = x(y mod z) mod n onde n = pq and z = (p-1)(q-1) Assim, cd mod n = (me mod n)d mod n = med mod n = m(ed mod z) mod n = m1 mod n = m
37 RSA: outra propriedade importante
A propriedade a seguir será muito útil adiante: K (K (m)) = m B - + K (K (m)) = use chave pública primeiro, seguida por chave privada use chave privada primeiro, seguida por chave pública O resultado é o mesmo!
38 Por que ? K (K (m)) = m K (K (m))
B - + K (K (m)) = Por que ? Segue diretamente da aritmética modular: (me mod n)d mod n = med mod n = mde mod n = (md mod n)e mod n
39 Por que RSA é seguro? Gerando chaves RSA
Suponha que você conheça a chave pública de Bob (n,e). Qual é a dificuldade de determinar d? Basicamente, é preciso encontrar fatores de n sem conhecer os dois fatores p e q. Fato: fatorar um número muito grande é difícil. Gerando chaves RSA É preciso achar números primos p e q grandes Técnica: crie uma boa estimativa e depois aplique regras de teste (ver Kaufman)
40 Chaves de sessão Exponenciação é computacionalmente intensa
DES é pelo menos 100 vezes mais rápido que RSA Chave de sessão, KS Bob e Alice usam RSA para trocar uma chave simétrica KS Quando ambos tiverem KS, eles usam a criptografia de chave simétrica
41 Capítulo 8: Esboço 8.1 O que é segurança na rede?
42 Integridade de mensagem
permite a comunicação das partes para verificar que as mensagens recebidas são autênticas. conteúdo da mensagem não foi alterado origem da mensagem é quem/o que você pensa ser mensagem não foi reproduzida replay sequência de mensagens é mantida primeiro, vamos falar sobre resumos de mensagem
43 Resumos de mensagem mensagem grande m H: função de hash H(m) função H( ) que toma como entrada uma mensagem de tamanho qualquer e gera uma sequência de tamanho fixo: "assinatura da mensagem" note que H( ) é uma função muitos-para-um H( ) normalmente é chamada "função de hash" propriedades desejáveis: fácil de calcular irreversibilidade: não é possível saber m por H(m) resistência a colisão: computacionalmente difícil de produzir m e m' tal que H(m) = H(m') saída aparentemente aleatória
44 Soma de verificação da Internet: resumo de mensagem fraco
soma de verificação da internet tem propriedades da função de hash: produz resumo de tamanho fixo (soma de 16 bits) de entrada é muitos-para-um mas, dada mensagem com dado valor de hash, é fácil achar outra mensagem com o mesmo valor de hash. exemplo: soma de verificação simplificada: soma porções de 4 bytes de cada vez: mensagem formato ASCII mensagem formato ASCII I O U 1 9 B O B 49 4F 55 31 E 39 39 42 D2 42 I O U 9 9 B O B 49 4F 55 39 E 31 39 42 D2 42 B2 C1 D2 AC B2 C1 D2 AC mensagens diferentes mas somas de verificação idênticas!
45 Algoritmos de função de hash
função de hash MD5 bastante usada (RFC 1321) calcula resumo de mensagem de 128 bits em processo de 4 etapas. SHA-1 também é usado. padrão nos EUA [NIST, FIPS PUB 180-1] resumo de mensagem de 160 bit
46 Message Authentication Code (MAC)
mensagem H( ) s compara s = segredo compartilhado autentica remetente verifica integridade da mensagem sem criptografia! também chamado "hash chaveado" notação: MDm = H(s||m) ; envia m||MDm
47 HMAC padrão mac popular mac resolve algumas falhas de segurança sutis
Concatena segredo à frente da mensagem. Mensagem concatenada aos hashes. Concatena o segredo à frente do resumo. Cria hash da combinação novamente.
48 Exemplo: OSPF Ataques:
inserção de mensagem exclusão de mensagem modificação de mensagem como sabemos se uma mensagem OSPF é autêntica? lembre-se de que OSPF é um protocolo de roteamento intra-AS cada roteador cria mapa do AS inteiro (ou área) e executa algoritmo do caminho mais curto pelo mapa. roteador recebe anúncios de estado do enlace (LSAs) de todos os outros roteadores no AS.
49 Autenticação OSPF dentro de um sistema autônomo, roteadores enviam mensagens OSPF entre si. OSPF oferece escolhas de autenticação Sem autenticação Senha compartilhada: inserida em aberto no campo de autenticação de 64 bits no pacote OSPF hash criptográfico hash criptográfico com MD5 campo de autenticação de 64 bits inclui número de sequência de 32 bits MD5 é executado sobre uma concatenação do pacote OSPF e chave secreta compartilhada hash MD5 então anexado ao pacote OSPF; encapsulado no datagrama IP
50 Autenticação do ponto final
deseja ter certeza do remetente da mensagem – autenticação do ponto final supondo que Alice e Bob tenham um segredo compartilhado, MAC oferecerá autenticação do ponto final sabemos que Alice criou a mensagem mas ela a enviou?
51 Ataque de reprodução MAC = f(msg,s) MAC MAC Transferir US$1M
de Bill para Trudy MAC Transferir US$1M de Bill para Trudy
52 Defendendo contra ataque de reprodução: nonce
"Eu sou Alice" R MAC = f(msg,s,R) MAC Transferir US$1M de Bill para Susan
53 Assinaturas digitais Técnica criptográfica semelhante a assinaturas escritas a mão. remetente (Bob) assina documento digitalmente, estabelecendo que é o dono/criador do documento. objetivo semelhante a um MAC, exceto que agora usamos criptografia de chave pública. verificável, não falsificável: destinatário (Alice) pode provar a alguém que Bob, e ninguém mais (incluindo Alice), deverá ter assinado o documento.
54 assinatura digital simples para mensagem m:
Bob assina m criptografando com sua chave privada KB, criando mensagem "assinada", KB(m) - - K B - Mensagem de Bob, m Chave privada de Bob K B - (m) Querida Alice Como eu sinto sua falta. Penso em você o tempo todo! …(blah blah blah) Bob Mensagem de Bob, m, assinada (criptografada) com sua chave privada Algoritmo de criptografia de chave pública
55 Assinatura digital = resumo de mensagem assinada
Bob envia mensagem assinada em forma digital: Alice verifica assinatura e integridade da mensagem assinada em forma digital: mensagem grande m H: função de hash KB(H(m)) - resumo de msg. criptog. H(m) assinatura digital (criptog.) chave privada de Bob mensagem grande m K B - chave pública de Bob assinatura digital (decript.) K B + KB(H(m)) - resumo de msg. criptog. H: função de hash + H(m) H(m) igual ?
56 Assinaturas digitais (mais)
Suponha que Alice receba msg m, assinatura digital KB(m) Alice verifica m assinada por Bob aplicando chave pública de Bob KB a KB(m), depois verifica KB(KB(m) ) = m. se KB(KB(m) ) = m, quem assinou m deve ter usado a chave privada de Bob. + - + - + - Assim, Alice verifica se: Bob assinou m. Ninguém mais assinou m. Bob assinou m e não m'. Não repudiação: Alice pode levar m e assinatura KB(m) ao tribunal e provar que Bob assinou m.
57 Certificação de chave pública
motivação: Trudy prega peça da pizza em Bob Trudy cria pedido por Prezada pizzaria, Por favor, me entregue quatro pizzas de calabresa. Obrigado, Bob. Trudy assina pedido com sua chave privada Trudy envia pedido à pizzaria Trudy envia à pizzaria sua chave pública, mas diz que é a chave pública de Bob. pizzaria verifica assinatura; depois, entrega quatro pizzas para Bob. Bob nem sequer gosta de calabresa.
58 Autoridades de certificação
autoridade de certificação (CA): vincula chave pública à entidade particular, E. E (pessoa, roteador) registra sua chave pública com CA. E fornece "prova de identidade" à CA. CA cria certificado vinculando E à sua chave pública. certificado contendo chave pública de E assinada digitalmente pela CA – CA diz "esta é a chave pública de E" assinatura digital (cript.) K B + chave pública de Bob K B + chave privada da CA certificado para chave pública de Bob, assinada pela CA - informação de identificação de Bob K CA
59 assinatura digital (decript.)
quando Alice quer a chave pública de Bob: recebe certificado de Bob (Bob ou outro). aplica chave pública da CA ao certificado de Bob, recebe chave pública de Bob K B + assinatura digital (decript.) chave pública de Bob K B + chave pública da CA + K CA
60 Certificados: resumo padrão principal X.509 (RFC 2459)
certificado contém: nome do emissor nome da entidade, endereço, domínio etc. chave pública da entidade assinatura digital (assinada com a chave privada do emissor) Public-Key Infrastructure (PKI) certificados e autoridades de certificação normalmente considerada "pesada"
61 Capítulo 8: Esboço 8.1 O que é segurança na rede?
62 . E-mail seguro - Alice quer enviar e-mail confidencial, m, para Bob.
KS( ) . KB( ) + - KS(m ) KB(KS ) m KS KB Internet Alice: gera chave privada simétrica aleatória, KS. criptografa mensagem com KS (por eficiência) também criptografa KS com chave pública de Bob. envia KS(m) e KB(KS) para Bob.
63 . - Alice quer enviar e-mail confidencial, m, para Bob. m KS + Bob:
KB( ) + - KS(m ) KB(KS ) m KS KB Internet Bob: usa sua chave privada para decriptar e recuperar KS usa KS para decriptar KS(m) para recuperar m
64 Alice quer fornecer integridade da mensagem de autenticação do remetente.
H( ) . KA( ) - + H(m ) KA(H(m)) m KA Internet compara Alice assina mensagem digitalmente. envia mensagem (em aberto) e assinatura digital.
65 Alice quer fornecer sigilo, autenticação do remetente, integridade da mensagem.
H( ) . KA( ) - + KA(H(m)) m KA KS( ) KB( ) KB(KS ) KS KB Internet Alice usa três chaves: sua chave privada, chave pública de Bob, chave simétrica recém-criada
66 Capítulo 8: Esboço 8.1 O que é segurança na rede?
67 SSL: Secure Sockets Layer
protocolo de segurança bastante implantado aceito por quase todos os navegadores e servidores Web https dezenas de bilhões de US$ gastos por ano sobre SSL originalmente projetado pela Netscape em 1993 número de variações: TLS: Transport Layer Security, RFC 2246 oferece Confidencialidade Integridade Autenticação objetivos originais: teve em mente transações de comércio eletrônico na Web criptografia (especialmente números de cartão de crédito) autenticação de servidor Web autenticação de cliente opcional mínimo de incômodo ao fazer negócios com novos comerciantes disponível a todas as aplicações TCP Interface Secure Socket
68 SSL e TCP/IP Aplicação TCP IP aplicação normal Aplicação SSL TCP IP
aplicação com SSL SSL oferece interface de programação de aplicação (API) às aplicações bibliotecas/classes SSL em C e Java prontamente disponíveis
69 Poderia fazer algo como PGP:
KA - H( ) . KA( ) . - KA(H(m)) - m KS KS( ) . + + m Internet KB( ) . + KS KB(KS ) + KB + mas quer enviar fluxos de bytes & dados interativos quer um conjunto de chaves secretas para a conexão inteira quer parte de troca de certificado do protocolo: fase de apresentação (handshake)
70 SSL: um canal seguro simples
apresentação: Alice e Bob usam seus certificados e chaves privadas para autenticar um ao outro e trocar segredo compartilhado derivação de chave: Alice e Bob usam segredo compartilhado para derivar conjunto de chaves transferência de dados: dados a serem transferidos são desmembrados em uma série de registros encerramento de conexão: mensagens especiais para encerrar conexão com segurança
71 Uma apresentação simples
olá certificado KB+(MS) = EMS MS = segredo mestre EMS = segredo mestre criptografado
72 Derivação de chave considerado ruim usar a mesma chave para mais de uma operação criptográfica use chaves diferentes para código de autenticação de mensagem (MAC) e criptografia quatro chaves: Kc = chave de criptografia para dados enviados do cliente ao servidor Mc = chave MAC para dados enviados do cliente ao servidor Ks = chave de criptografia para dados enviados do servidor ao cliente Ms = chave MAC para dados enviados do servidor ao cliente chaves derivadas da função de derivação de chave (KDF) toma segredo mestre e (possivelmente) alguns dados aleatórios adicionais e cria as chaves
73 Registros de dados Por que não criptografar dados em fluxo constante enquanto o escrevemos no TCP? Onde colocaríamos o MAC? Se no final, nenhuma integridade de mensagem até todos os dados processados. Por exemplo, com mensagens instantâneas, como podemos fazer verificação de integridade por todos os bytes enviados antes da exibição? Em vez disso, quebre fluxo em série de registros cada registro transporta um mac receptor pode atuar em cada registro quando ele chega Problema: no registro, receptor precisa distinguir MAC dos dados quer usar registros de tamanho variável tamanho dados MAC
74 Números de sequência invasor pode capturar e reproduzir registro ou reordenar registros solução: colocar número de sequência em MAC: MAC = MAC(Mx, sequência||dados) nota: sem campo de número de sequência invasor ainda poderia reproduzir todos os registros use nonce aleatório
75 Informação de controle
ataque por truncamento: invasor forja segmento de encerramento de conexão TCP um ou ambos os lados pensam que existem menos dados do que realmente existem. solução: tipos de registro, com um tipo para encerramento tipo 0 para dados; tipo 1 para encerramento MAC = MAC(Mx, sequência||tipo||dados) tamanho tipo dados MAC
76 SSL: resumo olá certificado, nonce KB+(MS) = EMS tipo 0, seq 1, dados
tipo 1, seq 4, encerra tipo 1, seq 2, encerra bob.com criptografado
77 SSL não é completo Qual é o tamanho dos campos?
Quais protocolos de criptografia? sem negociação permite que cliente e servidor admitam diferentes algoritmos de criptografia permite que cliente e servidor escolham juntos algoritmo específico antes da transferência de dados
78 Cifras simétricas mais comuns em SSL
DES – Data Encryption Standard: bloco 3DES – Força tripla: bloco RC2 – Rivest Cipher 2: bloco RC4 – Rivest Cipher 4: fluxo Criptografia de chave pública RSA
79 Blocos de cifras SSL bloco de cifras
algoritmo de chave pública algoritmo de criptografia simétrica algoritmo MAC SSL admite uma série de blocos de cifras negociação: cliente e servidor devem combinar sobre bloco de cifras cliente oferece escolha; servidor escolhe uma
80 SSL real: Apresentação
Propósito Autenticação do servidor Negociação: concordar sobre algoritmos de criptografia Estabelecer chaves Autenticação do cliente (opcional)
81 Cliente envia lista de algoritmos que admite, junto com nonce do cliente.
Servidor escolhe algoritmos da lista; envia de volta: escolha + certificado + nonce do servidor. Cliente verifica certificado, extrai chave pública do servidor, gera pre_master_secret, criptografa com chave pública do servidor, envia ao cliente. Cliente e servidor calculam independentemente chaves de criptografia e MAC a partir de pre_master_secret e nonces. Cliente envia um MAC de todas as mensagens de apresentação. Servidor envia um MAC de todas as mensagens de apresentação.
82 últimas 2 etapas protegem apresentação contra adulteração
cliente normalmente oferece intervalo de algoritmos, alguns fortes, alguns fracos "homem do meio" poderia excluir da lista os algoritmos mais fortes últimas 2 etapas impedem isso duas últimas mensagens são criptografadas
83 Por que os dois nonces aleatórios?
Suponha que Trudy fareje todas as mensagens entre Alice & Bob. No dia seguinte, Trudy configura conexão TCP com Bob, envia a mesma sequência exata de registros. Bob (Amazon) pensa que Alice fez dois pedidos separados para a mesma coisa. Solução: Bob envia nonce aleatório diferente para cada conexão. Isso faz com que as chaves criptográficas sejam diferentes nos dois dias. As mensagens de Trudy falharão na verificação de integridade de Bob.
84 Protocolo de registro SSL
dados fragmento de dados MAC dados criptografados e MAC dados criptografados e MAC cab. de registro cabeçalho de registro: tipo de conteúdo; versão; tamanho MAC: inclui número de sequência, chave MAC Mx Fragmento: cada fragmento SSL 214 bytes (~16 Kbytes)
85 Formato de registro SSL
tipo de conteúdo versão SSL tamanho MAC dados 1 byte 2 bytes 3 bytes Dados e MAC criptografados (algoritmo simétrico)
86 Conexão real Tudo daqui para a frente é criptografado
apresentação: ClientHello apresentação: ServerHello apresentação: Certificate apresentação: ServerHelloDone apresentação: ClientKeyExchange ChangeCipherSpec apresentação: Finished application_data Alerta: warning, close_notify Tudo daqui para a frente é criptografado TCP FIN em seguida
87 Derivação de chave nonce do cliente, nonce do servidor e segredo pre-master entram no gerador de número pseudoaleatório. produz segredo mestre segredo mestre e novos nonces inseridos em outro gerador de número aleatório: "bloco de chaves" devido à retomada: TBD bloco de chaves fatiado e dividido: chave MAC do cliente chave MAC do servidor chave de criptografia do cliente chave de criptografia do servidor vetor de inicialização (IV) do cliente vetor de inicialização (IV) do servidor
88 Capítulo 8: Esboço 8.1 O que é segurança na rede?
89 Qual é a confidencialidade na camada de rede?
entre duas entidades de rede: entidade remetente criptografa as cargas úteis dos datagramas. Carga útil pode ser: Segmento TCP, segmento UDP, mensagem ICMP, mensagem OSPF e assim por diante. todos os dados enviados de uma entidade para outra seriam ocultados: Páginas Web, , transferência de arquivos P2P, pacotes SYN do TCP e assim por diante. ou seja, "cobertura abrangente".
90 Virtual Private Networks (VPNs)
instituições normalmente desejam redes privadas por segurança. Claro! Roteadores e enlaces separados, infraestrutura de DNS. com uma VPN, o tráfego entre escritórios da organização, em vez disso, é enviado pela Internet pública. mas o tráfego é criptografado antes de entrar na Internet pública
92 Serviços IPsec integridade de dados autenticação da origem
prevenção de ataque de reprodução confidencialidade dois protocolos oferecendo diferentes modelos de serviço: AH ESP
93 Modo de transporte do IPsec
datagrama IPsec emitido e recebido pelo sistema final. protege protocolos de nível superior
94 IPsec – modo túnel IPsec Roteadores finais estão cientes do IPsec. Hospedeiros não precisam estar.
95 IPsec IPsec também modo túnel
96 Dois protocolos Protocolo Authentication Header (AH)
fornece autenticação da origem & integridade de dados, mas não confidencialidade Encapsulation Security Protocol (ESP) fornece autenticação da origem, integridade de dados e confidencialidade mais utilizado que AH
97 Quatro combinações são possíveis!
Modo hospedeiro com AH Modo hospedeiro com ESP Modo túnel com AH Modo túnel com ESP Mais comum e mais importante
98 Associações de segurança (SAs)
antes de enviar dados, uma conexão virtual é estabelecida pela entidade de envio à entidade receptora. chamada "associação de segurança (SA)" SAs são simples: apenas para uma direção entidades remetente e destinatária mantêm informação de estado sobre a SA lembre-se de que os pontos finais do TCP também mantêm informação de estado. IP é sem conexão; IPsec é orientado a conexão! Quantas SAs na VPN com matriz, filial e n vendedores viajando?
99 SA de exemplo de R1 para R2 armazenamentos R1 para SA
/24 /24 SA Internet Matriz Filial R1 R2 armazenamentos R1 para SA identificador de 32 bits para SA: Security Parameter Index (SPI) interface de origem da SA ( ) interface de destino da SA ( ) tipo de criptografia a ser usada (por exemplo, 3DES com CBC) chave de criptografia tipo de verificação de integridade (por exemplo, HMAC com MD5) chave de autenticação
100 Security Association Database (SAD)
ponto final mantém estado de suas SAs em um SAD, onde pode localizá-los durante processamento com n vendedores, 2 + 2n SAs no SAD de R1 ao enviar datagrama IPsec, R1 acessa SAD para determinar como processar datagrama quando datagrama IPsec chega em R2, R2 examina SPI no datagrama IPsec, indexa SAD com SPI e processa datagrama de acordo
101 Datagrama IPsec Foco agora no modo túnel com ESP
102 O que acontece? Internet Matriz Filial SA R1 R2 200.168.1.100
/24 /24 SA Internet Matriz Filial R1 R2
103 R1 converte datagrama original em datagrama IPsec
anexa ao final do datagrama original (que inclui campos do cabeçalho original!) um campo de "trailer ESP" cifra resultado usando algoritmo & chave especificada pela SA anexa na frente dessa quantidade cifrada o "cabeçalho ESP", criando "enchilada" cria MAC de autenticação sobre a enchilada inteira, usando algoritmo e chave especificada na SA anexa MAC ao final da enchilada, formando carga útil cria cabeçalho IP novo, com todos os campos do cabeçalho IPv4 clássico, que é anexado antes da carga útil
104 Dentro da enchilada: trailer ESP: enchimento para cifras de bloco
cabeçalho ESP: SPI, de modo que entidade receptora sabe o que fazer número de sequência, para frustrar ataques de reprodução MAC no campo ESP MAC é criado com chave secreta compartilhada
105 Números de sequência IPsec
para SA nova, remetente inicializa núm. seq. em 0 toda vez que datagrama é enviado na SA: remetente incrementa contador de núm. sequência coloca valor no campo de núm. sequência objetivo: impedir que invasor detecte e reproduza um pacote Recebimento de pacotes IP duplicados, autenticados, pode atrapalhar o serviço método: destino verifica duplicatas mas não registra TODOS os pacotes recebidos; em vez disso, usa uma janela
106 Security Policy Database (SPD)
política: para determinado datagrama, entidade enviando precisa saber se deve usar IPsec. também precisa saber qual SA utilizar pode usar: endereço IP de origem e destino; número de protocolo. informação no SPD indica o "que" fazer com o datagrama que chega; informação no SAD indica "como" fazer isso.
107 Resumo: Serviços IPsec
suponha que Trudy esteja em algum lugar entre R1 e R2. Ela não conhece as chaves Trudy conseguirá ver o conteúdo do datagrama original? E o endereço IP de destino, protocolo de transporte, porta da aplicação? Alterar bits sem detecção? Mascarar como R1 usando endereço IP de R1? Reproduzir um datagrama?
108 Internet Key Exchange nos exemplos anteriores, estabelecemos manualmente SAs IPsec nos pontos finais IPsec: exemplo de SA SPI: 12345 IP de origem: IP de destino: protocolo: ESP algoritmo de criptação: 3DES-cbc algoritmo HMAC: MD5 chave de criptação: 0x7aeaca… chave HMAC:0xc0291f… essa troca de chaves manual não é prática para VPN grande com, digamos, centenas de vendedores em seu lugar, use IPsec IKE (Internet Key Exchange)
109 IKE: PSK e PKI autenticação (prova de quem você é) com
segredo previamente compartilhado (PSK) ou com PKI (chaves e certificados públicos/privados) com PSK, os dois lados começam com segredo: depois executam IKE para autenticar entre si e gerar SAs IPsec (um em cada direção), incluindo chaves de criptografia e autenticação com PKI, os dois lados começam com par de chaves pública/privada e certificado executam IKE para autenticarem um ao outro e obterem SAs IPsec (um em cada direção) semelhante à apresentação em SSL
110 Fases do IKE IKE tem duas fases
fase 1: estabelecer IKE SA bidirecional nota: IKE SA diferente do IPsec SA também denominada associação de segurança ISAKMP fase 2: ISAKMP é usada para negociar com segurança o par IPsec das SAs fase 1 tem dois modos: modo agressivo e modo principal modo agressivo usa menos mensagens modo principal oferece proteção de identidade e é mais flexível
111 Resumo do IPsec troca de mensagem IKE para algoritmos, chaves secretas, números de SPI o protocolo AH ou ESP (ou ambos) o protocolo AH fornece integridade e autenticação da origem o protocolo ESP (com AH) adicionalmente oferece criptografia pares IPsec podem ser dois sistemas finais, dois roteadores/firewalls, ou um roteador/firewall e um sistema final
112 Capítulo 8: Esboço 8.1 O que é segurança na rede?
113 Objetivos de projeto da WEP
criptografia de chave simétrica confidencialidade autorização de estação integridade de dados autossincronismo: cada pacote criptado separadamente dado pacote criptado e chave, pode decriptar; pode continuar a decriptar pacotes quando o pacote anterior se perde diferente de Cipher Block Chaining (CBC) nas cifras de bloco eficiente pode ser implementado no hardware ou no software
114 Análise: cifras de fluxo simétricas
gerador de sequência de chaves chave sequência de chaves Combinam cada byte da sequência de chaves com byte de texto aberto para obter texto cifrado m(i) = iª unidade de mensagem ks(i) = iª unidade de sequência de chaves c(i) = iª unidade de texto cifrado c(i) = ks(i)  m(i) ( = OR exclusivo, ou XOR) m(i) = ks(i)  c(i) WEP usa RC4
115 Independência de cifra e pacote da sequência
lembre-se do objetivo do projeto: cada pacote criptografado separadamente se, para o quadro n + 1, usa sequência de chaves de onde parou para o quadro n, então cada quadro não é criptografado separadamente precisa saber onde parou para o pacote n técnica WEP: inicializar sequência de chaves com chave + novo IV para cada pacote: gerador de sequência de chaves Chave + IVpacote sequência de chavespacote
116 Criptação WEP remetente calcula Integrity Check Value (ICV) sobre dados hash/CRC de quatro bytes para integridade de dados cada lado tem chave compartilhada de 104 bits remetente cria vetor de inicialização de 24 bits (IV), anexa à chave: gera chave de 128 bits remetente também anexa keyID (no campo de 8 bits) chave de 128 bits inserida no gerador de número pseudoaleatório para obter sequência de chaves dados no quadro + ICV é criptografado com RC4: bytes da sequência de chaves passam por XOR com bytes de dados e & ICV IV & keyID são anexados aos dados criptografados para criar carga útil carga útil inserida no quadro cifrado dados ICV IV carga útil MAC ID chave
117 Novo IV para cada quadro
118 Visão geral da decriptação WEP
cifrado dados ICV IV carga útil MAC ID chave receptor extrai IV insere IV e segredo compartilhado no gerador pseudoaleatório, obtém sequência de chaves realiza XOR da sequência de chaves com dados criptografados para decriptografar dados + ICV verifica integridade dos dados com ICV observe que técnica de integridade de mensagem usada aqui é diferente de MAC (Message Authentication Code) e assinaturas (usando PKI).
119 Autenticação do ponto final com nonce
nonce: número (R) usado apenas uma vez na vida como: para provar que Alice "vive", Bob lhe envia nonce, R. Alice deve retornar R, criptografado com chave secreta compartilhada "Eu sou Alice" R Alice está viva, e somente Alice conhece chave para criptografar nonce, de modo que ela deverá ser Alice! K (R) A-B
120 Autenticação WEP Nem todos os APs fazem isso,
mesmo que WEP esteja em uso. AP indica se autenticação é necessária no quadro de sinalização. Feito antes da associação. AP requisição de autenticação nonce (128 bytes) nonce criptografado com chave compartilhada sucesso de decriptografado for igual a nonce
121 Quebrando criptografia Web 802.11
falha na segurança: IV de 24 IV, um IV por quadro, -> IV em algum momento é reutilizado IV transmitido em texto aberto -> reuso de IV detectado ataque: Trudy faz Alice criptografar texto aberto conhecido d1 d2 d3 d4 … Trudy vê: ci = di XOR kiIV Trudy conhece ci di, e pode calcular kiIV Trudy sabe sequência de chave cript. k1IV k2IV k3IV … da próxima vez que IV for usado, Trudy pode decriptografar!
122 802.11i: segurança melhorada
diversas formas (mais fortes) de criptografia possíveis oferece distribuição de chave usa servidor de autenticação separado do ponto de acesso
123 802.11i: quatro fases de operação
STA: estação cliente AP: ponto de acesso AS: Authentication Server rede com fio 1 descoberta de capacidades de segurança 2 STA e AS se autenticam, juntos geram Master Key (MK). Servidores AP como "passagem" 3 STA deriva Pairwise Master Key (PMK) 3 AS deriva mesma PMK, envia a AP 4 STA, AP usa PMK para derivar Temporal Key (TK) usada para criptografia e integridade de mensagem
124 EAP: Extensible Authentication Protocol
EAP: cliente fim a fim (móvel) ao protocolo do servidor de autenticação EAP enviado por "enlaces" separados móvel-para-AP (EAP sobre LAN) AP para servidor autenticação (RADIUS sobre UDP) rede cabeada EAP TLS EAP EAP sobre LAN (EAPoL) RADIUS IEEE UDP/IP
125 Capítulo 8: Esboço 8.1 O que é segurança na rede?
126 Firewalls firewall isola rede interna da organização da Internet maior, permitindo que alguns pacotes passem e bloqueando outros. rede administrada Internet pública firewall
127 Firewalls: Por que impedir ataques de negação de serviço:
inundação de SYN: atacante estabelece muitas conexões TCP falsas, sem recursos deixados para conexões "reais" impedir modificação/acesso ilegal de dados internos p. e., atacante substitui página inicial da companhia por algo diferente permite apenas acesso autorizado à rede interna (conjunto de usuários/hospedeiros autenticados) três tipos de firewalls: filtros de pacotes sem estado filtros de pacotes com estado gateways de aplicação
128 Filtragem de pacotes sem estado
O pacote que chega deve ter permissão para entrar? Pacote de saída deve sair? rede interna conectada à Internet via firewall do roteador roteador filtra pacote-por-pacote, decisão de repassar/descartar pacote com base em: endereço IP de origem, endereço IP de destino números de porta de origem e destino do TCP/UDP tipo de mensagem ICMP bits SYN e ACK do TCP
129 Filtragem de pacotes sem estado: exemplo
exemplo 1: bloco entrando e saindo datagramas com campo de protocolo IP = 17 e com porta de origem ou destino = 23 todo UDP entrando e saindo fluxos e conexões telnet são bloqueados exemplo 2: bloco entrando segmentos TCP com ACK = 0 impede que clientes externos façam conexões TCP com clientes internos, mas permite que clientes internos se conectem ao exterior
130 Filtragem de pacotes sem estado: mais exemplos
Política configuração de firewall sem acesso externo à Web descarta todos os pacotes que saem para qualquer endereço IP, porta 80 sem conexões TCP entrando, exceto aquelas apenas para o servidor Web público da instituição descarta todos pacotes TCP SYN que chegam a qualquer IP, exceto , porta 80 impedir que Web-radios devorem a largura de banda disponível descarta todos os pacotes UDP que chegam - exceto DNS e broadcasts do roteador impedir que sua rede seja usada para um ataque DoS smurf descarta todos os pacotes ICMP indo para um endereço de "broadcast" (p. e., ) impedir que sua rede interaja com o programa Traceroute descarta todo tráfego expirado ICMP TTL de saída
131 Listas de controle de acesso
ACL: tabela de regras, aplicadas de cima para baixo aos pacotes que chegam: pares (ação, condição)
132 Filtragem de pacotes com estado
filtro de pacotes sem estado: ferramenta pesada admite pacotes que "não fazem sentido", p. e., porta destino = 80, bit ACK marcado, mesmo sem conexão TCP estabelecida: ação endereço de origem endereço de destino protocolo porta de origem porta de destino bit de flag permitir fora de 222.22/16 TCP 80 > 1023 ACK filtro de pacotes com estado: rastreia status de cada conexão TCP rastrear configuração de conexão (SYN), encerramento (FIN): pode determinar se pacotes de entrada e saída "fazem sentido" timeout de conexões inativas no firewall: não admite mais pacotes
133 ACL aumentada para indicar necessidade de verificar tabela de estado da conexão antes de admitir pacote
134 Gateways de aplicação filtra pacotes nos dados da aplicação, além de campos IP/TCP/UDP. exemplo: permitir seleção de usuários internos ao telnet externo. 1. requer que todos os usuários telnet passem pelo gateway. 2. para usuários autorizados, gateway estabelece conexão telnet ao hospedeiro de destino. Gateway repassa dados entre 2 conexões 3. filtro do roteador bloqueia todas as conexões telnet não originando do gateway.
135 Limitações de firewalls e gateways
falsificação de IP: roteador não sabe se os dados "realmente" vêm de fonte alegada se múltiplas aplicações precisam de tratamento especial, cada uma tem gateway próprio. software cliente deve saber como contatar gateway. p. e., deve definir endereço IP do proxy no servidor Web filtros normalmente usam toda ou nenhuma política para UDP. dilema: grau de comunicação com mundo exterior, nível de segurança muitos sites altamente protegidos ainda sofrem de ataques.
136 Sistemas de detecção de invasão
filtragem de pacotes: opera apenas sobre cabeçalhos TCP/IP sem verificação de correlação entre sessões IDS: Intrusion Detection System profunda inspeção de pacotes: examina conteúdo do pacote (p. e., verifica strings de caracteres no pacote contra banco de dados de vírus conhecidos e sequências de ataque) examine correlação entre múltiplos pacotes escaneamento de portas mapeamento de rede ataque de DoS
137 múltiplos IDSs: diferentes tipos de verificação em diferentes locais
138 Segurança de rede (resumo)
técnicas básicas…... criptografia (simétrica e pública) integridade da mensagem autenticação do ponto final …. usado em muitos cenários de segurança diferentes seguro transporte seguro (SSL) IPsec 802.11 Segurança Operacional: firewalls e IDS
Carregar ppt "Capítulo 8 Segurança em rede"
Arquitetura de ComputadoresProf a Luiza Mourelle Apesar da evolução tecnológica, as CPUs continuam mais rápidas que a memória. O problema não é tecnológico,