![Page 1: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/1.jpg)
Conceitos de Criptografiae o protocolo SSL
TchêLinux Ulbra Gravataíhttp://tchelinux.org/gravatai
Elgio SchlemerUlbra Gravatai
http://gravatai.ulbra.tche.br/~elgio
31 de Maio de 2008
![Page 2: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/2.jpg)
Introdução
● Início da Internet– poucas pessoas
– uso restrito
– relação de confiança
– incidente com Morris Worm
– segurança ganha atenção: nasce o CERT
![Page 3: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/3.jpg)
Introdução
● Internet cresce e explode nos anos 90● Internet passa a ser opção de negócios
– Porém ela não foi concebida para isso
– possui muitos problemas de segurança
– não ideal para relações de sigilo e confiança
![Page 4: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/4.jpg)
Problemas de Segurança
Internet
C
A
D
B S
![Page 5: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/5.jpg)
Problemas de Segurança
● Pacotes passam por vários pontos– técnicas de roteamento IP
● Pacotes podem ser:– lidos (interceptados), alterados ou falsificados
– Forjados: TCP/IP não provê autenticação
![Page 6: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/6.jpg)
Modelo TCP/IP
Transporte
Aplicação
Rede
Enlace
● FTP, HTTP, POP● Identificação de serviços
● TCP/UDP: garantia (ou não) de entrega● identificação de processos
● IP: Roteamento● Identificação de máquinas (número IP)
● Ethernet● Identificação de placas de rede (número MAC)
![Page 7: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/7.jpg)
Técnicas de violação de dados(nível de enlace)
● Sniffer
– Ferramenta para olhar pacotes alheios
– Solução: instalar switches?
● Sniffer sobre switch:
– arp spoofing, mac flooding, mac spoofing, icmp redirect, dhcp spoofing são alguns exemplos de técnicas para switches
Transporte
Aplicação
Rede
Enlace
![Page 8: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/8.jpg)
Técnicas de Violação de Dados(Nível de Rede e Transporte)
● IP spoofing– Falsificação de um número IP
– finge ser outra máquina (autenticação!!)
● captura de sessões (TCP)● Solução:
– Regras de firewall (não 100%)
Transporte
Aplicação
Rede
Enlace
![Page 9: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/9.jpg)
Técnicas de Violação de Dados(Aplicação)
● Captura de senhas de aplicação– através de sniffers
● DNS spoofing– falsificação de DNS
– atender pelo domínio
Transporte
Aplicação
Rede
Enlace
![Page 10: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/10.jpg)
Teoria do Caos
● A Internet é totalmente insegura– todo mundo vê
– todo mundo mexe
– ninguém tem certeza de quem é quem
● neste cenário colocase comércio eletrônico!!
![Page 11: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/11.jpg)
Soluções
● Melhorar a segurança– Nível de Enlace: uso de switches
● Melhora, mas não resolve
– Segurança Física● só pessoas autorizadas
– Introduzir segurança na Aplicação● através do uso de criptografia
![Page 12: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/12.jpg)
Princípios de Criptografia
● usada até mesmo em guerras medievais– cifra de César
– Variação da César: chave k
● segredo na chave● texto legível para quem conhece k
![Page 13: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/13.jpg)
Ataques à criptografia
● Criptoanálise: descobrir fragilidades– Exemplo: análise de freqüência
● Força Bruta: Descobrir a chave– testar todas as possibilidades para k
– Se chave de 16 bits = 216 possibilidades = 65536● um PC testanto 1000 por segundo levaria 1 minuto
![Page 14: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/14.jpg)
Tipos de Criptografia
● Algoritmos Simétricos– apenas uma chave
– A mesma para cifrar de para decifrar
● Simétricos podem ser:– De bloco
– De fluxo
![Page 15: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/15.jpg)
Algoritmos Simétricos de Bloco
● Simétricos: uma mesma chave– usase k para cifrar um bloco
– usase o mesmo k para decifrar o bloco
– Só pode cifrar um bloco inteiro● não tem bloco inteiro?
– espera mais dados– preenche com padding
![Page 16: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/16.jpg)
Algoritmos de Bloco
Bloco 164 bits
Bloco 264 bits
Bloco 364 bits
Bloco 464 bits
Bloco 5 32 bits
Bloco 164 bits Cifrado
Bloco 264 bits Cifrado
Bloco 364 bits Cifrado
Bloco 464 bits Cifrado
Bloco 564 bits Cifrado
arquivo CIFRADO com 320 Bytes (incluindo Padding)
CIFRA
Chave KChave K
CIFRA
Chave KChave K
CIFRA
Chave KChave K
CIFRA
Chave KChave K
CIFRA
Chave KChave K
PAD
DIN
G32 bits
arquivo 288 Bytes
![Page 17: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/17.jpg)
Algoritmos Simétricos de Fluxo
● Simétricos: uma mesma chave● Porém pode cifrar bit a bit
– não precisa de um bloco
– Usa XOR!!● Ex: RC4
![Page 18: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/18.jpg)
Estudo de caso: RC4
bits "aleatórios" para XOR
XORMensagem
bits da mensagem a ser transmitida
...0100101
bits da mensagem cifrada
XOR
Gerador de BitsPseudo Aleatório
Chave KChave K
...0101011
...0001110
Gerador de BitsPseudo Aleatório
...0101011
...0001110MensagemRecuperada
Chave KChave K
mesmosbits "aleatórios"
para XOR
![Page 19: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/19.jpg)
Força dos algoritmos Simétricos
● Caso AES (simétrico)
– 128 bits de chave
– 2128 possíveis chaves = 340.282.366.920.938.463.463.374.607.431.768.211.456
– Força bruta: bilhões de anos
– Com 256 bits, segurança eterna● estimase que nem todo o silício do Universo seria suficiente para
construir uma máquina que quebrasse 256 bits simétricos
![Page 20: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/20.jpg)
Tipos de Criptografia
● Algoritmos Simétricos● Algoritmos Assimétricos
– uma chave é usada para cifrar
– outra chave é usada para decifrar
![Page 21: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/21.jpg)
Algoritmos Assimétricos
● usase uma chave ke para cifrar
● porém, usase outra chave kd para decifrar
● inviável deduzir kd de ke e viceversa
● tornar ke pública e kd privada
● Distribuise livremente ke
● Exemplos: RSA, DSA, ElGamal, etc
![Page 22: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/22.jpg)
Uso da criptografia
● Uso de algoritmos Assimétricos● Servidor fornece sua chave pública (Ke)
– mas mantém segredo quanto a privada (Kd)
● Cliente cifra dados com Ke do servidor● Envia os dados cifrados● Servidor abre com Kd
![Page 23: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/23.jpg)
Problemas
● Algoritmos Assimétricos são onerosos– alto custo de processamento
– operações não suportadas pela ULA
● Estudo de caso: algoritmo RSA de 32 bits– Ke = (e,n) => Ke = (173, 2237243)
– Kd = (d,n) => Kd = (25829, 2237243)
![Page 24: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/24.jpg)
Estudo de Caso: RSA
Ke = (173, 2237243)
Kd = (25829, 2237243)
Para cifrar:
C= (Msg)e mod n
Para decifrar:
Msg = (C)d mod n
● Cifrar o caractere 'A' (ASCII 65)– 65173 mod 2237243 = 1420954
● Recuperar o 'A' (Decifrar):– 142095425829 mod 2237243 = 65 (aprox. 9 seg)
![Page 25: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/25.jpg)
Força dos algoritmos Assimétricos
● Caso RSA (assimétrico)
– 512 bits de chave● significa N de 512 bits, logo P e Q são de 256 bits● Achar P de 256 bits não significa testar 2256 bits!
– Assimétrico precisam de chave muito maior para serem seguros (atualmente pelo menos 1024 bits)
● Simétrico de 128 bits: ÓTIMO
● Assimétrico de 128 bits: PÉSSIMO
![Page 26: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/26.jpg)
Complicações dos Assimétricos
● Demorado mesmo com otimizações (Demonstrar)
● números além da capacidade da ULA
● Porque não se usa Simétrico?
– como estabelecer uma chave k comum?● Solução:
– usar o assimétrico apenas para trocar chave
– cifrar tráfego com simétrico
![Page 27: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/27.jpg)
Problemas na comunicação
● Não existe garantia de autenticidade– Ataque do Homem do meio
A B
E
Chave Pub de B?
![Page 28: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/28.jpg)
● Não existe garantia de autenticidade– Ataque do Homem do meio
A B
E
Chave Pub de B?
Chave
Pub
de B
?
Ke (falso) de B
Ke de B
Problemas na comunicação
![Page 29: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/29.jpg)
Solução
● Assinar a chave pública– Cliente deve confiar em quem assina
– inviável falsificar assinatura
● Certificadoras:– Como cartórios digitais
![Page 30: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/30.jpg)
Protocolo SSL
● Servidor:– cria par de chaves Ke e Kd
– Pede que certificadora assine a pública Ke● gera um certificado (várias informações)
– envia Ke assinada por uma certificadora para cliente
![Page 31: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/31.jpg)
Protocolo SSL
● Cliente:– recebe chave Ke do servidor
– verifica assinatura
– cria chave de sessão k
– cifra k com Ke do servidor
– envia k cifrada com Ke
![Page 32: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/32.jpg)
Protocolo SSL
● No início do protocolo, cliente e servidor decidem quais algoritmos irão usar
● Muitas opções:– DES, 3DES, AES128, AES256, RC4, etc
– Preferência por algoritmos de fluxo
– Importante: algoritmos de bloco como o AES também funcionam como fluxo (conversão)
● Demonstração com Navegador
![Page 33: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/33.jpg)
Conclusões
● Protocolo SSL é seguro– desde que seja verificada autenticidade
– certificadoras permitem autenticação
– quem escolhe "confiar" nas certificadoras é o fabricante do meu navegador
– certificados são pagos!!
– qualquer um pode ser uma certificadora
![Page 34: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/34.jpg)
Conclusões(continuação)
● Possível usar SSL sem certificadora– SSH por exemplo
– certos cuidados
● Navegador informa assinatura inválida– desconhecimento propicia Homem do Meio
– muitos continuam navegando
![Page 35: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/35.jpg)
Conclusões(continuação)
● Homem do meio é mais sofisticado– na prática, enviar emails funciona
– as pessoas clicam nos links falsos
● Ideal seria cliente ter par de chaves– Bancos fazem isto para empresas
– usuários exigira treinamento
![Page 36: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/36.jpg)
Conclusões(continuação)
● Outros assuntos de criptografia– Algoritmos de HASH
● assinaturas digitais● banco de dados● senhas de sistema operacional (Viva o Linux)
– Assinaturas digitais● pela inversão do assimétrico
![Page 37: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/37.jpg)
Conclusões(continuação)
● Algoritmos Assimétricos são seguros?● Desafio:
– P multiplicado por Q resulta em N.
– Se N = 39.351.741.689.270.519
– Quais os valores de P e Q?● DICA: P e Q são de 32 bits.
● Hoje se usa P e Q de, pelo menos, 512 bits
![Page 38: Conceitos de Criptografia e o protocolo SSL - Elgio Schlemer](https://reader034.vdocuments.com.br/reader034/viewer/2022042607/557beb5cd8b42aac6b8b4f4b/html5/thumbnails/38.jpg)
Elgio Schlemer
http://gravatai.ulbra.tche.br/~elgiohttp://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7812
Conceitos de Criptografia e oprotocolo SSL