6 - segurança - criptografia

68
Gerência de Redes de Computadores - Criptografia - Prof. André Peres [email protected]

Transcript of 6 - segurança - criptografia

Page 1: 6   - segurança - criptografia

Gerência de Redes de Computadores

- Criptografia -

Prof. André [email protected]

Page 2: 6   - segurança - criptografia

Sobre este material

• Vídeos da apresentação em:

http://youtu.be/hXT_nlHfArs

Este trabalho está licenciado sob uma Licença Creative Commons Atribuição-NãoComercial-SemDerivações 4.0 Internacional. Para ver uma

cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/4.0/.

Page 3: 6   - segurança - criptografia

Criptografia

• Definição:

Arte ou ciência que trata de técnicas para tornar uma mensagem confusa, incompreensível para qualquer pessoa que não seja o destinatário da mesma

Page 4: 6   - segurança - criptografia

Criptografia

• Esteganografia NÃO É CRIPTOGRAFIA

• Arte de "esconder" uma mensagem• Segurança por obscuridade• Em computação utiliza:

• imagens• vídeos• música• ...

Page 5: 6   - segurança - criptografia

Criptografia

• Esteganografia NÃO É CRIPTOGRAFIA• exemplo:

imagem original imagem com mensagem

Page 6: 6   - segurança - criptografia

Criptografia

• Esteganografia NÃO É CRIPTOGRAFIA

• software: steghide

escondendo mensagem na imagem:steghide embed -ef msg.txt -cf igm_orig.jpg -sf img_steg.jpg

separando imagem/mensagemsteghide extract -sf imagem_steg.jpg

Page 7: 6   - segurança - criptografia

Criptografia

• Funcionamento da criptografia

• Cifragem → processo capaz de transformar um texto claro em um texto cifrado

• Decifragem → processo capaz de transformar um texto cifrado no texto claro original

Page 8: 6   - segurança - criptografia

Criptografia

• Criptografia na computação

• Algoritmos de cifragem e decifragem• Chave para cifragem e chave para decifragem

• Sobre as chaves• São o segredo que o atacante não pode possuir• Com tempo infinito, toda chave pode ser descoberta

Page 9: 6   - segurança - criptografia

Criptografia

• Sistema de Criptografia

Page 10: 6   - segurança - criptografia

Criptografia

• Premissa de Kerckhoffs• Atacante conhece tudo, menos a chave• Não existe obscuridade

• Recurso x Tempo• O objetivo é proteger a informação de acordo

com o seu “tempo de vida”

• Todo criptosistema pode ser quebrado• Exceção: cifra de Vernam (one-time-pad)

Page 11: 6   - segurança - criptografia

Criptografia

• Criptografia Simétrica

• chave única para cifragem e decifragem• rápido• chave não pode ser exposta• problema de logística de chaves (transporte)

Page 12: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: deslocamento

• Desloca-se o texto no alfabeto, de acordo com o valor da chave

• Ex: chave K = 3Texto claro: ATAQUE AS 10 HORASTexto cifrado: DWDTXH DV 43 KRUDV

• Quebra do processo:• Basta deslocar no alfabeto, até que a mensagem faça sentido

• Software: CryptShift

Page 13: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: substituição

• Cria-se um mapa das letras do alfabeto (o mapa é a chave)

• Ex: A=C, B=X, C=W, D=R, … para todas as letras

• Quebra do processo:• Utilização de análise probabilística da linguagem do texto

original

• Software:CryptSubst

Page 14: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: substituição

• probabilidade de letras em textos escritos em português:

A - 13,562B - 1,023C - 4,153D - 4,590E - 11,084F - 1,161G - 2,579H - 0,455I - 7,625J - 0,132K - 0,036L - 3,944M - 3,800

N - 5,853O - 10,844P - 3,022Q - 0,509R - 6,134S - 7,762T - 4,776U - 5,338V - 0,970W - 0,006X - 0,413Y - 0,006Z - 0,221

Page 15: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: Vigenere

• Similar ao deslocamento, porém define-se uma chave que regra o deslocamento

• Ex: Chave K = TESTE

• Texto claro: ATAQUEASDEZHORAS• Aplicando a chave: TESTETESTETESTET• Texto cifrado: TXSJYXEKWISLGKEL

• Quebra do processo:• Análise probabilística da linguagem do texto original + força

bruta da chave

• Software: CryptVigenere

Page 16: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo:

• operação XOR bit a bit entre mensagem e chave

texto claro: 001100010101100chave:texto cifrado:

texto cifrado:chave:texto claro:

Page 17: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo:

• operação XOR bit a bit entre mensagem e chave

texto claro: 001100010101100chave: 101001001110010texto cifrado:

texto cifrado:chave: 101001001110010texto claro:

logística de chaves

Page 18: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo:

• operação XOR bit a bit entre mensagem e chave

texto claro: 001100010101100chave: 101001001110010texto cifrado: 100101011011110

texto cifrado:chave: 101001001110010texto claro:

XOR

A B A xor B

0 0 0

0 1 1

1 0 1

1 1 0

Page 19: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo:

• operação XOR bit a bit entre mensagem e chave

texto claro: 001100010101100chave: 101001001110010texto cifrado: 100101011011110

texto cifrado: 100101011011110chave: 101001001110010texto claro:

XOR

A B A xor B

0 0 0

0 1 1

1 0 1

1 1 0

Page 20: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo:

• operação XOR bit a bit entre mensagem e chave

texto claro: 001100010101100chave: 101001001110010texto cifrado: 100101011011110

texto cifrado: 100101011011110chave: 101001001110010texto claro: 001100010101100

XOR

XOR

A B A xor B

0 0 0

0 1 1

1 0 1

1 1 0

Page 21: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo:

• operação XOR bit a bit entre mensagem e chave

texto claro: 001100010101100chave: 101001001110010texto cifrado: 100101011011110

texto cifrado: 100101011011110chave: 101001001110010texto claro: 001100010101100

XOR

XOR

A B A xor B

0 0 0

0 1 1

1 0 1

1 1 0

?

Visão do atacante:texto cifrado = 0

possibilidades:50% 50%

texto = 0 texto = 1chave = 0 chave = 1

Visão do atacante:texto cifrado = 1

possibilidades:50% 50%

texto = 1 texto = 0chave = 0 chave = 1

Page 22: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo:

• operação XOR bit a bit entre mensagem e chave• para cada 3 BITS → ex: 010

T: 000C: 010 ----- 010

T: 001C: 011 ----- 010

T: 010C: 000 ----- 010

T: 011C: 001 ----- 010

T: 100C: 110 ----- 010

T: 101C: 011 ----- 010

T: 110C: 100 ----- 010

T: 111C: 101 ----- 010

Page 23: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo:

• operação XOR bit a bit entre mensagem e chave• para cada 8 bits → qualquer 1 letra (byte)

• para cada 24 bits → 3 letras• mesma probabilidade para as combinações:

• ovo, alo, 123, uma, ???

• para cada 1Gb → qualquer combinação possível de 1 Gb

• o atacante nunca saberá quando encontrou a chave correta !

Page 24: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: Possível ataque

texto claro: 001100010101100chave: 101001001110010texto cifrado: 100101011011110

XOR

A B A xor B

0 0 0

0 1 1

1 0 1

1 1 0

Page 25: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: Possível ataque

texto claro: 001100010101100chave: 101001001110010texto cifrado: 100101011011110

XOR

A B A xor B

0 0 0

0 1 1

1 0 1

1 1 0

Problemas:

1. Não se pode repetir a chave

2. A chave deve ter o mesmo tamanho da mensagem

3. Logística de chaves

Page 26: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: RC4

• utilização de XOR bit a bit

• geração dinâmica da chave:• utiliza uma semente compartilhada• geração de chave via PRNG (pseudo-random number generator)

Page 27: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: RC4

Page 28: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: AES

• Advanced Encryption Standard• substituto do DES (Data Encryption Standard)

• concurso em 1997 oferecido pelo NIST• dados divididos em blocos de 128 bits• chaves de 128, 192 ou 256 bits• vencedor (definido em 2001): Rijndael

Page 29: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: AES

Page 30: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: AES

fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html

Page 31: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: AES

fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html

D4

Page 32: 6   - segurança - criptografia

Criptografia Simétrica

• Exemplo de algoritmo: AES

fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html

Não rotaciona

Rotaciona 1

Rotaciona 2

Rotaciona 3

Page 33: 6   - segurança - criptografia

• Exemplo de algoritmo: AES

Criptografia Simétrica

fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html

Page 34: 6   - segurança - criptografia

• Exemplo de algoritmo: AES

Criptografia Simétrica

fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html

04

Page 35: 6   - segurança - criptografia

• Exemplo de algoritmo: AES

Criptografia Simétrica

fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html

Page 36: 6   - segurança - criptografia

• Exemplo de algoritmo: AES

Criptografia Simétrica

fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html

Page 37: 6   - segurança - criptografia

• Exemplo de algoritmo: AES

Criptografia Simétrica

fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html

Page 38: 6   - segurança - criptografia

• Exemplo de algoritmo: AES

Criptografia Simétrica

fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html

Page 39: 6   - segurança - criptografia

• Exemplo de algoritmo: AES

Criptografia Simétrica

fonte: http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html

Page 40: 6   - segurança - criptografia

• Exemplo de algoritmo: AES

para entender melhor o algoritmo AES (e o algoritmo de expansão de chave)

http://blog.ultrassecreto.com/wp-content/uploads/2009/06/projetofinal.html

Criptografia Simétrica

Page 41: 6   - segurança - criptografia

• Funcionamento:

• duas chaves: pública e privada• o que uma cifra somente a outra decifra• mais lento que criptografia simétrica• resolve o problema de logística de chaves

Criptografia Assimétrica

Page 42: 6   - segurança - criptografia

• Funcionamento:

Criptografia Assimétrica

Page 43: 6   - segurança - criptografia

• Funcionamento:

• o atacante não possui a chave de decifragem (privada)

• pode realizar um ataque à integridade da mensagem• mesmo sem saber o quê está alterando

• garantir a integridade → HASH

Criptografia Assimétrica

Page 44: 6   - segurança - criptografia

• Funcionamento:• utilizado para garantia de integridade

• NÃO é criptografia !

• gera um resumo matemático de um conjunto de bytes de qualquer tamanho

• não se consegue recuperar os bytes originais a partir do resumo

• a alteração de 1 bit no conjunto original gera um resultado completamente diferente

HASH

Page 45: 6   - segurança - criptografia

• Funcionamento:• alguns algoritmos: MD5, SHA, HAVAL, …

• Exemplo de aplicação do HASH:• Mensagem: mensagem importante• MD5: c3cf69762ec58c0f1770944f223b665a

• Após alteração:• Mensagem: mensagem importantE• MD5: 75f1db4702d947bfab14551f4485e599

HASH

Page 46: 6   - segurança - criptografia

• Funcionamento:

Ao receber uma mensagem com cálculo de integridade (hash), o destinatário calcula novamente e verifica se houve alteração em trânsito

HASH

Page 47: 6   - segurança - criptografia

• Exemplo de uso: senhas de usuáriosCADASTRO

Uso de hash

Page 48: 6   - segurança - criptografia

• Exemplo de uso: senhas de usuáriosCONSULTA

Uso de hash

Page 49: 6   - segurança - criptografia

• Utilização do par de chaves para assinatura:

• Ao cifrar uma mensagem com a chave privada, todos podem validar a autenticidade do texto usando a chave pública

• Não garante a confidencialidade, porém a autenticidade

Assinatura Digital

Page 50: 6   - segurança - criptografia

• Confidencialidade, autenticidade e integridade

Criptografia Assimétrica

Page 51: 6   - segurança - criptografia

• Criptografia Assimétrica + Simétrica:

• Utilização da criptografia assimétrica (lenta) para troca de chaves simétricas (veloz)

• A mensagem inicial trocada entre as pontas é a semente compartilhada para criação de um canal simétrico

Criptografia Mista

Page 52: 6   - segurança - criptografia

• Criptografia Assimétrica + Simétrica:

Criptografia Mista

Page 53: 6   - segurança - criptografia

• Ataque em criptografia de chave mista

• A criação de chaves pública/privada é um processo simples

• Qualquer pessoa pode criar um par de chaves com qualquer identificação

• Um atacante pode gerar um par de chaves com o nome da instituição/empresa alvo

• Quando o cliente requisita a chave, o atacante envia a chave falsa

Man in the Middle

Page 54: 6   - segurança - criptografia

• Ataque em criptografia de chave mista

• Após criar o canal simétrico com o cliente, o atacante cria um canal simétrico com o servidor

• O atacante intercepta e decifra toda a comunicação entre cliente e servidor permanecendo no “meio do caminho”

Man in the Middle

Page 55: 6   - segurança - criptografia

Man in the Middle

Page 56: 6   - segurança - criptografia

• Ataque em criptografia de chave mista

• O cliente recebe as respostas DO BANCO• Pode efetuar todas as transações normalmente

• Quais os problemas?• O cliente não verifica a autenticidade da chave do banco• O banco não verifica a autenticidade do cliente

Man in the Middle

Page 57: 6   - segurança - criptografia

• PKI

• É necessário validar se uma chave pública é autêntica

• Para isso, cria-se uma entidade confiável• Autoridade certificadora (CA)

• A CA assina as chaves públicas que reconhece, criando um certificado de autenticidade

• Ao receber este certificado, assume-se que seja autêntico

Infraestrutura de chaves públicas

Page 58: 6   - segurança - criptografia

• PKI

• O navegador possui um conjunto de chaves públicas de entidades confiáveis (CAs)

• As instituições submetem suas chaves públicas a uma destas entidades para geração de um certificado

→ chave pública ASSINADA

• Sempre que recebe uma chave pública, verifica se foi assinada por uma CA

Infraestrutura de chaves públicas

Page 59: 6   - segurança - criptografia

PKI

Page 60: 6   - segurança - criptografia

• PKI

• A emissão de certificados por CAs é paga• Um certificado verisign:• Válido por 1 ano• Aprox. US$ 1500,00

• Nem todas as instituições tem interesse neste custo

• Sem certificado, não tem como o browser identificar a validade da chave público → Vai emitir aviso ao usuário

Infraestrutura de chaves públicas

Page 61: 6   - segurança - criptografia

• PKI

Infraestrutura de chaves públicas

Page 62: 6   - segurança - criptografia

• PKI

• O usuário deve decidir se aceita ou não a conexão

• Para evitar este tipo de aviso, pode-se instalar o certificado não assinado no browser manualmente

• … se o atacante possuir acesso à máquina alvo poderá instalar certificados falsos também...

→ nunca use máquinas nas quais não confia !!!!

Infraestrutura de chaves públicas

Page 63: 6   - segurança - criptografia

• Exemplo de ataque MIM

• computadores LENOVO a partir de setembro de 2014• pré-instalado: Superfish VirtualDiscovery (spyware)• interceptação de tráfego de navegação para propaganda

direcionada

• computadores com certificado de CA root instalada (superfish)• MIM em conexões HTTPS

• era apresentado o certificado da superfish para o navegador

Superfish VirtualDiscovery

Page 64: 6   - segurança - criptografia

• Exemplo de ataque MIM

• Sistemas afetados com o superfish (source: Facebook Security Research)

Superfish VirtualDiscovery

Page 65: 6   - segurança - criptografia

• Implantação de PKI

• Existe a possibilidade de se criar uma CA em uma empresa/instituição...

• Cria-se então uma Infra-estrutura de Chaves Públicas (ICP ou PKI)• Implementação complexa• Necessário montar uma estrutura para garantia de

funcionamento• Segurança da CA

• Gerência de chaves (perda, expiração, ...)• Histórico de chaves• …

Infraestrutura de chaves públicas

Page 66: 6   - segurança - criptografia

• Dados armazenados

• Para garantir a confidencialidade de dados armazenados:

• Utilização de sistemas criptográficos no local de armazenamento

• Disco / partição / diretório• Mídias de backup• Bancos de dados• ...

Uso de criptografia

Page 67: 6   - segurança - criptografia

• Dados em trânsito

• Para garantir a confidencialidade de dados em trânsito:

• Utilização de sistemas criptográficos nos serviços disponibilizados

• HTTPS• POPS / IMAPS• VPN• ...

Uso de criptografia

Page 68: 6   - segurança - criptografia

• Cuidados

• Gerência de chaves

• Dados cifrados, só podem ser decifrados por quem conhece a chave…

• Esqueceu a chave• Funcionário demitido/indisponível• Existem casos de sequestro de dados utilizando cifragem

• Existem formas de se ter uma “chave mestra”• Depende do sistema a ser utilizado

Uso de criptografia