SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Crypt0 na pr4t!ca:

A3S
-> ~ whoami
@talir0drigues
Tali
Information Systems - USP



Computer Science - YorkU



Homomorphic encryption researcher
- Poli USP



Security engineer - Nubank
-> ~ agenda
AES
O que eh
Da onde surgiu
Como funciona
ECB
CBC
CTR
Como usar errado
Uso ideal
Ataques em criptografia moderna
Ataques em AES por má implementação
AES

Advanced Encryption Standard
AES é uma mistura entre
permutação e substituição.
Ele separa a entrada em blocos de
128 bits e faz derivações da
chave original para criptografar
Criado por criptógrafos belgas
no início dos anos 90, quando o
DES já tinha sido quebrado
Modos de operação - ECB
➜ ~ echo 6d656e736167656d20616265727461 | openssl enc -
aes-256-ecb -K 74686520707572706c6520726f6164 -a
kZABLvWzpqHy8nB3GHvbQANIEMmhzpjbnMZ+ln3ipiE=

➜ ~ echo 6d656e736167656d | openssl enc -aes-256-ecb -K
74686520707572706c6520726f6164 -a

kZABLvWzpqHy8nB3GHvbQCtfegi4K3q5LvsSGlMZVas=

➜ ~ echo 6d656e736167656d626c61626c61626c61 | openssl enc -
aes-256-ecb -K 74686520707572706c6520726f6164 -a

kZABLvWzpqHy8nB3GHvbQAObBaMdQAY4HNllJ4t9tSDH9UlLyrN57kLdnLFo
RZUL
ECB - Porque não usar
Modos de operação - CBC
Modos de operação - CBC
➜ ~ echo 6d656e736167656d73656772657461 | openssl enc -aes-256-cbc -iv 0 -K
74686520707572706c6520726f6164 -a

kZABLvWzpqHy8nB3GHvbQABBqcoSa4mpJOg6dYuuJN4=



➜ ~ echo 6d656e736167656d6f63756c7461 | openssl enc -aes-256-cbc -iv 0 -K
74686520707572706c6520726f6164 -a

kZABLvWzpqHy8nB3GHvbQGsTrANXFJh2lZOW2LtjhIA=
Modos de operação - CTR
P1 xor k1 = C1



P2 xor k1 = C2
C1 xor C2 = (P1 xor k1) xor (P2 xor k1)
P1 xor P2
C1 xor C2 = P1 xor P2
O básico
• Evitar a criptografia fraca ou obsoleta 

• DES, 3DES, RC4, MD5, MD2, SHA-1
• Evitar tamanhos de chave inseguros
• 2048 para RSA
• 2048 para DH
• 128 para cripto simétrica
• 256 para hashes
• 256 para ECC
O que preciso prestar atenção
• Função randômica com seeds mutáveis que não dependem de
hardware ou funções com poucos recursos

• Não usar coisas que não deveriam ser usadas, como chaves,
nounces, IV.
• Timming and power attacks - O algoritmo usa o mesmo tempo e a
mesma quantidade de energias para fazer todas computações?
• Side channel attacks - cache de memória que deveria ter sido
limpo, criptografia perfumada em áreas de memória de acesso
publico.
• Acoustic cryptanalysis - Analise dos cons feitos pelo
processador
Tipos de ataque
Mal uso de criptografia
Cipher e = Cipher.getInsytance(“AES");



e.init(Cipher.Encrypt_Mode, k);
Mal uso de criptografia
var fileEncoded = 



CryptoJS.AES.encrypt(contents, password).toString();
Mal uso de criptografia
var BlockCipher = C_lib.BlockCipher =
Cipher.extend({
/**
* Configuration options.
* @property {Mode} mode The block
mode to use. Default: CBC
* @property {Padding} padding The
padding strategy to use. Default: Pkcs7
*/
cfg: Cipher.cfg.extend({
mode: CBC,
padding: Pkcs7
}),
Mal uso de criptografia
var fileEncoded =
CryptoJS.AES.encrypt(contents, WordArray).toString();
Onde aprender:
https://cryptopals.com/
Understanding Cryptography

Christof Paar & Jan Pelz
Applied Cryptography

Bruce Scheiner
Applied Cryptanalysis

Mark Stamp, Richard M. Low
Obrigada!
@talir0drigues

Mais conteúdo relacionado

Semelhante a Criptografia e criptpanalise na pratica

Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Bruno Castelucci
 
Join community criptography in .net
Join community criptography in .netJoin community criptography in .net
Join community criptography in .netRaphael Freitas
 
Arp e DNS Spoof - Prática de Ataques
Arp e DNS Spoof - Prática de AtaquesArp e DNS Spoof - Prática de Ataques
Arp e DNS Spoof - Prática de AtaquesAndre Peres
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Filipo Mór
 
Conceitos Básicos de Criptografia
Conceitos Básicos de CriptografiaConceitos Básicos de Criptografia
Conceitos Básicos de CriptografiaMariana Carvalho
 
Análise de Segurança dos Sistemas Criptográficos Utilizados em Redes IEEE 802.11
Análise de Segurança dos Sistemas Criptográficos Utilizados em Redes IEEE 802.11Análise de Segurança dos Sistemas Criptográficos Utilizados em Redes IEEE 802.11
Análise de Segurança dos Sistemas Criptográficos Utilizados em Redes IEEE 802.11Aline Cruz
 
Criptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCriptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCícero Bruno
 
Certificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosCertificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosLeandro Rezende
 
Segurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - CriptografiaSegurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - CriptografiaCleber Fonseca
 
Criptografia (1).pdf
Criptografia (1).pdfCriptografia (1).pdf
Criptografia (1).pdfclaudio864549
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Ministério Público da Paraíba
 
Montagem manutenção de computadores
Montagem manutenção de computadoresMontagem manutenção de computadores
Montagem manutenção de computadoressetilsonadobmov
 

Semelhante a Criptografia e criptpanalise na pratica (20)

Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
 
Seminário de SD - criptografia
Seminário de SD - criptografiaSeminário de SD - criptografia
Seminário de SD - criptografia
 
Join community criptography in .net
Join community criptography in .netJoin community criptography in .net
Join community criptography in .net
 
Arp e DNS Spoof - Prática de Ataques
Arp e DNS Spoof - Prática de AtaquesArp e DNS Spoof - Prática de Ataques
Arp e DNS Spoof - Prática de Ataques
 
Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Conceitos Básicos de Criptografia
Conceitos Básicos de CriptografiaConceitos Básicos de Criptografia
Conceitos Básicos de Criptografia
 
Psi apostila2
Psi apostila2Psi apostila2
Psi apostila2
 
Análise de Segurança dos Sistemas Criptográficos Utilizados em Redes IEEE 802.11
Análise de Segurança dos Sistemas Criptográficos Utilizados em Redes IEEE 802.11Análise de Segurança dos Sistemas Criptográficos Utilizados em Redes IEEE 802.11
Análise de Segurança dos Sistemas Criptográficos Utilizados em Redes IEEE 802.11
 
Criptografia - Redes de Computadores
Criptografia - Redes de ComputadoresCriptografia - Redes de Computadores
Criptografia - Redes de Computadores
 
Certificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 ExercíciosCertificação Digital - Aula1 Exercícios
Certificação Digital - Aula1 Exercícios
 
Criptografia EAS.pdf
Criptografia EAS.pdfCriptografia EAS.pdf
Criptografia EAS.pdf
 
Segurança de Redes
Segurança de RedesSegurança de Redes
Segurança de Redes
 
Criptografia
CriptografiaCriptografia
Criptografia
 
Pentest conisli07
Pentest conisli07Pentest conisli07
Pentest conisli07
 
Segurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - CriptografiaSegurança da Informação - Aula 5 - Criptografia
Segurança da Informação - Aula 5 - Criptografia
 
Criptografia (1).pdf
Criptografia (1).pdfCriptografia (1).pdf
Criptografia (1).pdf
 
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
Tecnologias Atuais de Redes - Aula 1 - Criptografia [Apostila]
 
Defesa de Mestrado
Defesa de MestradoDefesa de Mestrado
Defesa de Mestrado
 
Montagem manutenção de computadores
Montagem manutenção de computadoresMontagem manutenção de computadores
Montagem manutenção de computadores
 

Criptografia e criptpanalise na pratica

  • 2. -> ~ whoami @talir0drigues Tali Information Systems - USP
 
 Computer Science - YorkU
 
 Homomorphic encryption researcher - Poli USP
 
 Security engineer - Nubank
  • 3. -> ~ agenda AES O que eh Da onde surgiu Como funciona ECB CBC CTR Como usar errado Uso ideal Ataques em criptografia moderna Ataques em AES por má implementação
  • 4. AES
 Advanced Encryption Standard AES é uma mistura entre permutação e substituição. Ele separa a entrada em blocos de 128 bits e faz derivações da chave original para criptografar Criado por criptógrafos belgas no início dos anos 90, quando o DES já tinha sido quebrado
  • 6. ➜ ~ echo 6d656e736167656d20616265727461 | openssl enc - aes-256-ecb -K 74686520707572706c6520726f6164 -a kZABLvWzpqHy8nB3GHvbQANIEMmhzpjbnMZ+ln3ipiE=
 ➜ ~ echo 6d656e736167656d | openssl enc -aes-256-ecb -K 74686520707572706c6520726f6164 -a
 kZABLvWzpqHy8nB3GHvbQCtfegi4K3q5LvsSGlMZVas=
 ➜ ~ echo 6d656e736167656d626c61626c61626c61 | openssl enc - aes-256-ecb -K 74686520707572706c6520726f6164 -a
 kZABLvWzpqHy8nB3GHvbQAObBaMdQAY4HNllJ4t9tSDH9UlLyrN57kLdnLFo RZUL
  • 7. ECB - Porque não usar
  • 9. Modos de operação - CBC ➜ ~ echo 6d656e736167656d73656772657461 | openssl enc -aes-256-cbc -iv 0 -K 74686520707572706c6520726f6164 -a
 kZABLvWzpqHy8nB3GHvbQABBqcoSa4mpJOg6dYuuJN4=
 
 ➜ ~ echo 6d656e736167656d6f63756c7461 | openssl enc -aes-256-cbc -iv 0 -K 74686520707572706c6520726f6164 -a
 kZABLvWzpqHy8nB3GHvbQGsTrANXFJh2lZOW2LtjhIA=
  • 11.
  • 12. P1 xor k1 = C1
 
 P2 xor k1 = C2 C1 xor C2 = (P1 xor k1) xor (P2 xor k1) P1 xor P2 C1 xor C2 = P1 xor P2
  • 13. O básico • Evitar a criptografia fraca ou obsoleta • DES, 3DES, RC4, MD5, MD2, SHA-1 • Evitar tamanhos de chave inseguros • 2048 para RSA • 2048 para DH • 128 para cripto simétrica • 256 para hashes • 256 para ECC
  • 14. O que preciso prestar atenção • Função randômica com seeds mutáveis que não dependem de hardware ou funções com poucos recursos
 • Não usar coisas que não deveriam ser usadas, como chaves, nounces, IV.
  • 15. • Timming and power attacks - O algoritmo usa o mesmo tempo e a mesma quantidade de energias para fazer todas computações? • Side channel attacks - cache de memória que deveria ter sido limpo, criptografia perfumada em áreas de memória de acesso publico. • Acoustic cryptanalysis - Analise dos cons feitos pelo processador Tipos de ataque
  • 16. Mal uso de criptografia Cipher e = Cipher.getInsytance(“AES");
 
 e.init(Cipher.Encrypt_Mode, k);
  • 17. Mal uso de criptografia var fileEncoded = 
 
 CryptoJS.AES.encrypt(contents, password).toString();
  • 18. Mal uso de criptografia var BlockCipher = C_lib.BlockCipher = Cipher.extend({ /** * Configuration options. * @property {Mode} mode The block mode to use. Default: CBC * @property {Padding} padding The padding strategy to use. Default: Pkcs7 */ cfg: Cipher.cfg.extend({ mode: CBC, padding: Pkcs7 }),
  • 19. Mal uso de criptografia var fileEncoded = CryptoJS.AES.encrypt(contents, WordArray).toString();
  • 20. Onde aprender: https://cryptopals.com/ Understanding Cryptography
 Christof Paar & Jan Pelz Applied Cryptography
 Bruce Scheiner Applied Cryptanalysis
 Mark Stamp, Richard M. Low