Slide 1

Slide 1 text

Criptografia Aplicada Marcelo Martins exploitedbunker.com

Slide 2

Slide 2 text

Agenda §  O que é criptografia? §  Hash §  Criptografia simétrica §  Criptografia assimétrica §  Infraestrutura de Chaves Públicas (ICP) §  Ataques §  Esteganografia §  Boas práticas: uso doméstico §  Referências

Slide 3

Slide 3 text

§  Criptografia é uma palavra de origem grega e tem por objetivo o estudo dos princípios e técnicas pelas quais a informação pode ser escondida de forma que se torne incompreensível por pessoas não autorizadas §  O processo de codificação é chamado de encriptação ou cifragem §  O processo inverso, isto é, transformar a informação de modo que ela fique compreensível novamente, se chama decriptação ou decifragem O que é criptografia?

Slide 4

Slide 4 text

O que é criptografia?

Slide 5

Slide 5 text

§  Caesar Crypt ou Shift Crypt §  Usada por Júlio César para trocar mensagens com seus generais em campo §  É uma cifra baseada em substituição onde cada letra da mensagem é substituída por uma outra letra com uma posição fixa distante no alfabeto §  Por exemplo, com incremento de 3 posições para a direita Clear: ABCDEFGHIJKLMNOPQRSTUVWXYZ Ciphered: DEFGHIJKLMNOPQRSTUVWXYZABC the quick brown fox jumps over the lazy dog WKH TXLFN EURZQ IRA MXPSV RYHU WKH ODCB GRJ O que é criptografia?

Slide 6

Slide 6 text

§  Caesar Crypt ou Shift Crypt §  O ataque consiste em §  O atacante fazer algumas substituições mesmo sem saber que a cifragem de César foi usada §  O atacante sabe que a cifragem de César foi usada, mas não sabe qual é o valor do incremento O que é criptografia?

Slide 7

Slide 7 text

§  Ataque ao Caesar Crypt ou Shift Crypt O que é criptografia? Decremento Candidatos Original exxego ex srgi 1 dwwdfn dw rqfh 2 cvvcem cv qpeg 3 buubdl bu podf 4 attack at once 5 zsszbj zs nmbd 6 yrryai yr mlac ... 23 haahjr ha vujl 24 gzzgiq gz utik 25 fyyfhp fy tshj

Slide 8

Slide 8 text

§  Objetivos de Segurança da Informação §  Confidencialidade §  Que apenas pessoas autorizadas tenham acesso à informação §  Integridade §  Que a informação não seja modificada sem autorização §  Autenticidade e Não-repúdio §  Que seja possível garantir que o remetente enviou aquela mensagem e que isso não possa ser refutado O que é criptografia?

Slide 9

Slide 9 text

O que é criptografia? §  Criptografia ≠ Esteganografia! §  Esteganografia, do grego “escrita escondida”, é o estudo e uso das técnicas para ocultar a existência de uma mensagem dentro de outra. §  Enquanto a criptografia oculta o significado da mensagem, a esteganografia oculta a existência da mensagem §  Geralmente é feita escondendo um arquivo dentro de uma imagem ou arquivo de áudio

Slide 10

Slide 10 text

Agenda §  O que é criptografia? §  Hash §  Criptografia simétrica §  Criptografia assimétrica §  Infraestrutura de Chaves Públicas (ICP) §  Ataques §  Esteganografia §  Boas práticas: uso doméstico §  Referências

Slide 11

Slide 11 text

Hash §  É uma sequência de bits gerada por um algoritmo de dispersão, em geral representada em base hexadecimal, que permite a visualização em letras e números (0 a 9 e A a F), representando ½ byte cada §  É a transformação de uma grande quantidade de informação em uma pequena quantidade de informação §  Não é possível reverter hashes do tipo one way, ou seja, obter o texto em claro do qual foi gerado

Slide 12

Slide 12 text

Hash §  Exemplo de função de hash

Slide 13

Slide 13 text

Hash §  Funções de hash mais usadas Nome Bits de saída Criado em Colisão* Vulnerável* MD4 128 1990 Sim Sim MD5 128 1991 Sim Sim SHA-1 160 1995 Sim Sim SHA-224 224 2001 Não Não SHA-256 256 2001 Não Não SHA-384 384 2001 Não Não SHA-512 512 2001 Não Não WHIRLPOOL 512 2004 Não Não

Slide 14

Slide 14 text

Hash §  Exemplo: SHA-512 §  SHA512("The quick brown fox jumps over the lazy dog") 07e547d9 586f6a73 f73fbac0 435ed769 51218fb7 d0c8d788 a309d785 436bbb64 2e93a252 a954f239 12547d1e 8a3b5ed6 e1bfd709 7821233f a0538f3d b854fee6 §  SHA512("The quick brown fox jumps over the lazy cog") 3eeee1d0 e11733ef 152a6c29 503b3ae2 0c4f1f3c da4cb26f 1bc1a41f 91c7fe4a b3bd8649 4049e201 c4bd5155 f31ecb7a 3c860684 3c4cc8df cab7da11 c8ae5045

Slide 15

Slide 15 text

Hash §  Exemplo SHA-1 §  SHA1("The quick brown fox jumps over the lazy dog") 2fd4e1c6 7a2d28fc ed849ee1 bb76e739 1b93eb12 §  SHA1("The quick brown fox jumps over the lazy cog") de9f2c7f d25e1b3a fad3e85a 0bd17d9b 100db4b3 §  SHA1("") da39a3ee 5e6b4b0d 3255bfef 95601890 afd80709 A alteração de um bit produz um hash totalmente diferente

Slide 16

Slide 16 text

Hash §  Aplicações independentes §  HashTab (livre para uso privado, Windows) §  http://implbits.com/products/hashtab/ §  MD5, HAVAL, MD2, SHA (1, 256, 384, 512) §  File Checksum Tool (livre para uso privado e comercial, Windows) §  http://www.krylack.com/file-checksum-tool/ §  Adler32, CRC32, MD2, MD4, MD5, RIPEMD (128, 256, 320), SHA (1, 256, 384, 512), Tiger e Whirlpool §  HashCalc (livre para uso privado e comercial, Windows) §  http://www.slavasoft.com/hashcalc/ §  Adler32, CRC32, MD2, MD4, MD5, RIPEMD (128, 256, 320), SHA (1, 256, 384, 512), Tiger e Panama

Slide 17

Slide 17 text

Hash

Slide 18

Slide 18 text

Hash §  Verificação de integridade de arquivo §  Monitora ou verifica se arquivos foram alterados §  Tripwire (Windows/Unix, comercial) §  AIDE (Unix, freeware) §  Yafic (Unix, freeware) §  AFICK (Windows/Unix, freeware) §  nCircle File Integrity Monitoring (Win/Unix, comercial) §  Advanced Checksum Verifier (Windows, comercial) §  Slavasoft FSUM (Windows, freeware) §  Chkrootkit (Unix, freeware) §  Samhain (Unix, freeware)

Slide 19

Slide 19 text

Hash §  Verificação de integridade de arquivo §  macOS §  $ shasum test.jpg (o padrão é SHA1) §  a9b602d039d302867df743ab7dd056e3644bd208 test.jpg §  $ shasum -a512 test.jpg §  e0d4128da441d17ac02c039878a4ac1fae437656b51807b 85c0238deefcfe96bebaedc285edbc3e5d4e18b315b0d1b ce7a47dce130b39645d2372e6003c19fc4 test.jpg

Slide 20

Slide 20 text

Agenda §  O que é criptografia? §  Hash §  Criptografia simétrica §  Criptografia assimétrica §  Infraestrutura de Chaves Públicas (ICP) §  Ataques §  Esteganografia §  Boas práticas: uso doméstico §  Referências

Slide 21

Slide 21 text

Criptografia simétrica §  Uma única chave é usada para encriptar e decriptar a mensagem §  É chamada de chave simétrica, chave privada ou chave compartilhada §  Os algoritmos mais usados são: AES, Blowfish, DES, Triple DES, Serpent, Twofish DES e 3DES não devem mais ser usados

Slide 22

Slide 22 text

Criptografia simétrica

Slide 23

Slide 23 text

Criptografia simétrica §  Onde está a segurança da criptografia simétrica? §  Depende da segurança da chave privada §  Depende da qualidade da chave privada (assim como uma senha) §  Depende da segurança na troca da chave privada §  Depende da qualidade do método criptográfico (tipos de ataque)

Slide 24

Slide 24 text

Criptografia simétrica §  Problemas §  Como transmitir a chave para o destinatário através de um meio seguro? Telefone? Sinal de fumaça? E-mail sem criptografia? Papel de pão? §  Para que 5 pessoas possam trocar mensagens usando chaves simétricas, quantas chaves seriam necessárias? §  Chaves necessárias ¨  5 usuários ¨  20 usuários n*(n −1) 2 5*(5−1) 2 =10 20*(20 −1) 2 =190

Slide 25

Slide 25 text

§  Problema Criptografia simétrica Uma chave para cada dois usuários

Slide 26

Slide 26 text

Agenda §  O que é criptografia? §  Hash §  Criptografia simétrica §  Criptografia assimétrica §  Infraestrutura de Chaves Públicas (ICP) §  Ataques §  Esteganografia §  Boas práticas: uso doméstico §  Referências

Slide 27

Slide 27 text

Criptografia assimétrica §  Cada usuário possui o seu par de chaves, uma pública e outra privada §  A chave pública fica disponível para todos e a chave privada somente para o seu dono §  O que é feito com uma chave é desfeito com a outra, do mesmo par

Slide 28

Slide 28 text

Criptografia assimétrica Todo usuário tem um par de chaves

Slide 29

Slide 29 text

Criptografia assimétrica §  Exemplo de chave assimétrica (PGP) -----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.3ia mQCNAzR9bCAAAAEEAMbG7w5W0EJ/L4oAlOgsWwzVmS145eUF6knmOx/UUNBMdNRD DGgJO3z3aAq4nE4yR+3hSO2auiZlB604e006SPV3ZuLpCHuzaet59dHJGmT9adgx DMgaPv5q9CCsZa9B1lhh/SIV2eU4U17FDWfU8QWrimn+nLi/y+kli63F4U8VAAUX tEJDZW50cm8gZGUgQXRlbmRpbWVudG8gYSBJbmNpZGVudGVzIGRlIFNlZ3VyYW5j YSA8Y2Fpc0BjYWlzLnJucC5icj6JAJUDBRA0fWwg6SWLrcXhTxUBAU/WBACclOR+ MC4kGNAKsR7+HujUYC90BYB8QVFcg/jYAWXDMGYxFeCtvw9FQDUtk55B+/i7tdaX 2c4kZrlsjoc3dYROdB7OKDwIxw1pxmeuBBkT+I34i47YNcyRB15otW5sS9BJDb4X jw5YqDDhRCvevUCTczUvAIKSKnzg4Yl1I/JGaQ== =DjRv -----END PGP PUBLIC KEY BLOCK-----

Slide 30

Slide 30 text

Criptografia assimétrica

Slide 31

Slide 31 text

§  Encriptação e decriptação 1.  Chave pública do destinatário é obtida 2.  A mensagem é encriptada 3.  A mensagem é transmitida em um meio inseguro 4.  A chave privada do destinatário é usada para decriptar a mensagem 5.  A mensagem original é recuperada Criptografia assimétrica

Slide 32

Slide 32 text

Criptografia assimétrica §  Assinatura digital §  Processo criptográfico usado para garantir a integridade, autenticidade e não-repúdio de uma mensagem ou de um arquivo §  É possível assinar e-mails, arquivos pdf, doc, ppt, dll, exe, etc. §  A assinatura digital, sozinha, não protege o conteúdo da mensagem. Apenas garante a integridade do conteúdo e o seu remetente

Slide 33

Slide 33 text

Criptografia assimétrica §  Assinatura digital

Slide 34

Slide 34 text

Criptografia assimétrica §  Assinatura digital

Slide 35

Slide 35 text

Criptografia assimétrica §  Assinatura digital

Slide 36

Slide 36 text

Criptografia assimétrica §  Assinatura digital

Slide 37

Slide 37 text

Assinatura digital

Slide 38

Slide 38 text

Assinatura digital

Slide 39

Slide 39 text

§  Encriptação e decriptação 1.  Um hash é gerado a partir da mensagem 2.  O hash é encriptado usando a chave privada do remetente 3.  O hash encriptado é obtido 4.  O hash encriptado é adicionado à mensagem 5.  A mensagem é enviada através de meio inseguro 6.  Outro hash é gerado a partir da mensagem 7.  A chave pública do remetente é usada para decriptar o hash enviando anteriormente 8.  O hash original é obtido 9.  Comparação entre ambos os hashes ocorre; se forem iguais a mensagem não foi alterada Assinatura digital

Slide 40

Slide 40 text

Encriptação + Assinatura digital Versão simplificada

Slide 41

Slide 41 text

§  Encriptação e decriptação 1.  A chave pública do destinatário é obtida 2.  A mensagem é encriptada 3.  Um hash é gerado a partir da mensagem encriptada 4.  O hash é encriptado usando a chave privada do remetente 5.  Um hash encriptado é obtido 6.  O hash encriptado é adicionado à mensagem 7.  A mensagem é enviada em um meio inseguro 8.  Outro hash é gerado a partir da mensagem 9.  A chave pública do remetente é usada para decryptar o hash enviado anteriormente 10.  O hash original é obtido 11.  Comparação entre amos os hashes; se forem iguais a mensagem não foi alterada 12.  A chave privada do destinatário é usada para decriptar a mensagem 13.  A mensagem original é recuperada Encriptação + Assinatura digital

Slide 42

Slide 42 text

Envelopamento digital

Slide 43

Slide 43 text

§  Encriptação e decriptação 1.  Uma chave simétrica (chave de sessão) ‘gerada aleatoriamente 2.  A mensagem é encriptada usando a chave de sessão 3.  A mensagem encriptada é obtida 4.  A chave pública de Bob é obtida 5.  Uma cópia da chave de sessão é encriptada com a chave pública de Bob 6.  A chave pública de Charlie é obtida 7.  Uma cópia da chave de sessão é encriptada com a chave pública de Charlie 8.  A chave pública do remetente é obtida 9.  A chave de sessão é encriptada com a chave pública do remetente 10.  A chave de sessão encriptada é adicionada à mensagem 11.  A chave de sessão encriptada é adicionada à mensagem 12.  A chave de sessão encriptada é adicionada à mensagem 13.  A mensagem é enviada através de meio inseguro 14.  Charlie usa sua chave privada para obter a chave de sessão 15.  A chave original é obtida 16.  A chave de sessão é usada para decriptar a mensagem 17.  A mensagem original é obtida Envelopamento digital

Slide 44

Slide 44 text

Autenticação (Nonce) Versão simplificada

Slide 45

Slide 45 text

§  Geração de Hash 1.  O cliente tenta se autenticar 2.  O servidor gera sequencia de caracteres (Nonce) 3.  Nonce é enviado para o cliente 4.  Cliente usa sua chave privada para encriptar Nonce 5.  Nonce encriptado é obtido 6.  Um hash é gerado a partir do concatenação do Nonce, Nonce encriptado e da senha do cliente 7.  O novo hash é adicionado a um pacote que contém o usuário e o Nonce 8.  O pacote é enviado ao servidor 9.  O servidor gera um hash usando o Nonce original, a senha do cliente armazenada e o Nonce encriptado recebido 10.  Comparação entre ambos os hashes Autenticação (Nonce)

Slide 46

Slide 46 text

Autenticação (Hash chain, S/KEY) Versão simplificada

Slide 47

Slide 47 text

§  Geração de Hash 1.  O cliente tenta se autenticar 2.  O servidor pede o hash 1000 da senha do cliente 3.  O hash 1000 é gerado e enviado ao servidor. O servidor possui apenas o hash 1000 da senha do usuário, não a senha. Se forem iguais, o usuário está autenticado 4.  O cliente tenta uma nova autenticação 5.  Desta vez o servidor pede o hash 999 da senha do cliente 6.  O hash 999 é gerado e enviado ao servidor. O servidor tem apenas o hash 1000 da senha do usuário. O servidor precisa executar a função de hash no hash 999 para computar o hash 1000. Se forem iguais, o usuário está autenticado. 7.  O servidor então armazena o hash 999 no banco de dados. Na próxima vez o servidor pedirá o hash 998. A segurança vem do fato de que o servidor sempre pede o hash anterior, que só é possível para quem conhece a senha. Autenticação (Hash chain, S/KEY)

Slide 48

Slide 48 text

VPN

Slide 49

Slide 49 text

Autenticação (WPA / WPA2: Personal ou Enterprise)

Slide 50

Slide 50 text

Trusted Timestamps Versão Simplificada

Slide 51

Slide 51 text

§  Cálculo do Timestamp 1.  Um hash é gerado a partir da mensagem 2.  O servidor TSA (TimeStamp Authority) fornece o tempo correto (etiqueta de tempo) 3.  Outro hash é gerado a partir do hash e da etiqueta de tempo 4.  O hash e a etiqueta de tempo são encriptados usando a chave privada do servidor TSA 5.  A etiqueta de tempo é adicionado ao hash encriptado 6.  O hash e a etiqueta de tempo são enviados ao cliente e adicionados à mensagem Trusted Timestamps

Slide 52

Slide 52 text

Trusted Timestamps Versão Simplificada

Slide 53

Slide 53 text

Trusted Timestamps §  Verificação do Timestamp 1.  Um hash é gerado a partir da mensagem 2.  A etiqueta de tempo adicionada à mensagem é recuperada e um outro hash é gerado a partir do primeiro hash e da etiqueta de tempo 3.  A chave pública do servidor TSA é obtida 4.  O hash original gerado pelo servidor TSA é obtido 5.  Comparação entre ambos os hashes

Slide 54

Slide 54 text

Criptografia assimétrica §  Armazenamento externo da chave privada

Slide 55

Slide 55 text

Criptografia assimétrica §  Onde está a segurança da criptografia assimétrica? §  Depende da segurança da chave privada §  Depende da qualidade da senha chave privada (assim como uma senha) §  Depende da qualidade do método criptográfico (tipos de ataque)

Slide 56

Slide 56 text

Criptografia assimétrica §  Problemas §  Como fazer para que todos os usuários tenham acesso a todas as chaves públicas? Todos terão de enviar para todos? E em caso de revogação? Como substituir? §  Como saber se um par de chaves é confiável, ou seja, realmente pertence àquela pessoa?

Slide 57

Slide 57 text

Web of Trust Explicação simplificada

Slide 58

Slide 58 text

Criptografia assimétrica §  Problemas §  Como fazer para que todos os usuários tenham acesso a todas as chaves públicas? Todos terão de enviar para todos? E em caso de revogação? Como substituir? §  Web of Trust permite designar um revogador §  Como saber se um par de chaves é confiável, ou seja, realmente pertence àquela pessoa? §  Web of Trust depende de uma (ou várias pessoas) que endossem aquela chave e de uma “caminho de confiança” entre as duas pessoas Mas há ainda outros problemas

Slide 59

Slide 59 text

Agenda §  O que é criptografia? §  Hash §  Criptografia simétrica §  Criptografia assimétrica §  Infraestrutura de Chaves Públicas (ICP) §  Ataques §  Esteganografia §  Boas práticas: uso doméstico §  Referências

Slide 60

Slide 60 text

Infraestrutura de Chaves Públicas (ICP) Todo usuário tem um par de chaves e um certificado

Slide 61

Slide 61 text

Infraestrutura de Chaves Públicas (ICP) §  Certificado digital X.509 v3 §  Relações de confiança §  Importação e exportação de certificado §  Processo de emissão, verificação e revogação de certificado §  ICP-Brasil

Slide 62

Slide 62 text

Certificado digital §  Exemplo de certificado X.509 self-signed (parte) Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/[email protected] Validity Not Before: Aug 1 00:00:00 1996 GMT Not After : Dec 31 23:59:59 2020 GMT Subject: C=ZA, ST=Western Cape, L=Cape Town, O=Thawte Consulting cc, OU=Certification Services Division, CN=Thawte Server CA/[email protected] Subject Public Key Info:

Slide 63

Slide 63 text

Certificado digital Estrutura do diretório C=US ST=NY L=New York O=Acme Industries OU=IT CN=Bugs Bunny

Slide 64

Slide 64 text

Certificado digital

Slide 65

Slide 65 text

Certificado digital

Slide 66

Slide 66 text

Gerenciador de Certificados ou

Slide 67

Slide 67 text

Certificados-Raiz

Slide 68

Slide 68 text

Certificados-Raiz Root CA self- signed certificate

Slide 69

Slide 69 text

Certificados-Raiz Verificando os detalhes do Root CA certificate

Slide 70

Slide 70 text

Certificado digital §  Exportação de certificado digital

Slide 71

Slide 71 text

Certificado digital

Slide 72

Slide 72 text

Certificado digital §  Importação de certificado digital N Método #1 Cuidado: Quando um certificado é instalado (se torna confiável) as aplicações por ele assinadas também se tornam confiáveis

Slide 73

Slide 73 text

Certificado digital Método #2 N

Slide 74

Slide 74 text

Certificado digital

Slide 75

Slide 75 text

Certificado digital Certificado da CA Root Certificado CA segundo nível

Slide 76

Slide 76 text

SSL/TLS Sempre use a última versão do TLS

Slide 77

Slide 77 text

SSL/TLS §  Encriptação e decriptação 1.  O certificado do servidor é obtido 2.  O cliente gera uma chave de sessão 3.  A chave de sessão é encriptada usando a chave pública do servidor (contida no certificado) 4.  A chave de sessão encriptada é obtida 5.  A chave de sessão encriptada é enviada através de meio inseguro 6.  O servidor usa sua chave privada para decriptar a chave de sessão 7.  A chave de sessão é obtida 8.  Ambas as partes usam a chave de sessão para encriptar e decriptar mensagens

Slide 78

Slide 78 text

SSL/TLS §  Wireshark: www.legendas.tv

Slide 79

Slide 79 text

SSL/TLS §  Wireshark: www.legendas.tv (Follow TCP Stream)

Slide 80

Slide 80 text

SSL/TLS §  Wireshark: mail.google.com

Slide 81

Slide 81 text

SSL/TLS §  Wireshark: mail.google.com (Follow TCP Stream)

Slide 82

Slide 82 text

Autenticação (Certificado digital)

Slide 83

Slide 83 text

§  Encriptação e decriptação 1.  O cliente tenta se autenticar 2.  O servidor gera um Nonce 3.  O Nonce é enviado ao cliente 4.  O cliente usa sua chave privada para encriptar o Nonce 5.  Nonce encriptado é obtido 6.  Nonce encriptado é enviado ao servidor 7.  O servidor usa a chave pública do cliente (contida no certificado do cliente) para decriptar o Nonce 8.  O Nonce original é obtido 9.  Comparação entre os dois Nonces Autenticação (Certificado digital)

Slide 84

Slide 84 text

Infraestrutura de Chaves Públicas (ICP) §  Aplicações para o certificado digital §  E-mail §  VPN §  SSL/HTTPS §  Autenticação §  Criptografia de arquivos (ex: EFS) §  Assinatura digital de arquivos

Slide 85

Slide 85 text

Infraestrutura de Chaves Públicas (ICP) §  Processo de emissão de certificado digital

Slide 86

Slide 86 text

§  Processo de emissão de certificado digital 1.  O cliente pede a Autoridade Registradora (RA) um certificado 2.  A RA informa ao cliente para gerar o par de chaves 3.  As chaves são geradas pelo cliente 4.  A chave privada é gerada dentro do token ou exportada para o token 5.  A chave pública é enviada para a RA 6.  A RA envia a chave pública para a CA junto com as informações do cliente 7.  A CA gera o certificado digital e assina usando sua própria chave privada 8.  O certificado é armazenado na Certificates Store 9.  O certificado é enviado ao cliente 10.  O cliente armazena o certificado no token Infraestrutura de Chaves Públicas (ICP)

Slide 87

Slide 87 text

Infraestrutura de Chaves Públicas (ICP)

Slide 88

Slide 88 text

Infraestrutura de Chaves Públicas (ICP)

Slide 89

Slide 89 text

Infraestrutura de Chaves Públicas (ICP)

Slide 90

Slide 90 text

Infraestrutura de Chaves Públicas (ICP)

Slide 91

Slide 91 text

Infraestrutura de Chaves Públicas (ICP) §  Server-based Certification Validation Protocol (SCVP) §  O processo de construção do certification path se chama discovery path §  A responsabilidade pela construção dessa cadeia de certificados é da aplicação que recebe a mensagem §  Muitas aplicações usam a MS CAPI (Microsoft Crypto API) §  Não é possível construir a cadeia se um dos certificados não for encontrado

Slide 92

Slide 92 text

Infraestrutura de Chaves Públicas (ICP) §  Programas de inclusão de certificados-raiz §  Microsoft Root Certificate Program §  http://technet.microsoft.com/en-us/library/cc751157.aspx §  Apple Root Certificate Program §  http://www.apple.com/certificateauthority/ca_program.html §  Inclusos no iOS 10: https://support.apple.com/en-us/HT207177 §  Google Chromium §  https://www.chromium.org/Home/chromium-security/root-ca-policy §  OpenSSL: não possui §  Mozilla CA Certificate Store §  http://www.mozilla.org/projects/security/certs/ §  Opera §  http://www.opera.com/docs/ca/ §  Mono (open source .NET framework): não possui §  Motivo: http://www.mono-project.com/FAQ:_Security

Slide 93

Slide 93 text

Infraestrutura de Chaves Públicas (ICP) §  Programa de inclusão de certificados-raiz §  Regras gerais §  Não há taxa cobrada §  ISO 21188:2006 - Public key infrastructure for financial services -- Practices and policy framework §  NIST SP 800-57 - Recommendation for Key Management – Part 1: General §  Conformidade com WebTrust Program for Certification Authorities ¨  http://www.webtrust.org/homepage-documents/item27839.aspx §  RFC 3280 - Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile

Slide 94

Slide 94 text

Infraestrutura de Chaves Públicas (ICP) §  Processo de verificação de certificado digital §  OCSP (Online Certificate Status Protocol) §  Consulta o OCSP Responder através de protocolo §  Envia apenas o número serial do certificado a ser consultado §  A consulta ocorre em tempo real (ou próximo disso) §  Não expõe o número serial de todos os certificados §  Trafega menos informação, poupando o servidor, a rede e o cliente §  Funciona bem se o cliente fizer cache das consultas §  CRL (Certificate Revocation List) §  Tem que baixar toda a CRL (todo o processo é automático) §  Uma lista pode ter 500KB §  Costuma ser atualizada a cada 24h ou menos §  Quando a lista é alterada precisa ser copiada novamente §  É assinada digitalmente pela CA para evitar falsificações

Slide 95

Slide 95 text

Infraestrutura de Chaves Públicas (ICP) §  Processo de verificação de certificado digital §  OCSP

Slide 96

Slide 96 text

§  Processo de verificação via OCSP 1.  O cliente tenta acessar um servidor web, por exemplo 2.  O servidor web envia seu certificado digital 3.  O cliente (seu sistema operacional) procura no certificado pelo endereço do servidor OCSP e o contata pedindo informações sobre o número serial do certificado 4.  O servidor OCSP responde 5.  Se estiver tudo certo, o cliente continua a conexão A.  O certificado é armazenado na Certificates Store B.  A informação do sobre o número serial do certificado é enviada para o servidor OCSP Infraestrutura de Chaves Públicas (ICP)

Slide 97

Slide 97 text

Infraestrutura de Chaves Públicas (ICP) §  Processo de verificação de certificado digital §  Suporte ao OCSP IE 7+ (exceto no XP), automático Todas as versões, automático Todas as versões, automático da 3+ Opera 8.0+, automático Mac OS X. Todas as versões suportam, mas requer ativação manual até a 10.7

Slide 98

Slide 98 text

Infraestrutura de Chaves Públicas (ICP) §  Processo de verificação de certificado digital §  Suporte ao OCSP MS Outlook 2016: Sim Mozilla Thunderbird: Sim Apple Mail: Sim IBM Lotus Notes: Sim Opera Mail: Sim Seamonkey: Sim The Bat: Sim

Slide 99

Slide 99 text

Infraestrutura de Chaves Públicas (ICP) §  Processo de verificação de certificado digital (OCSP)

Slide 100

Slide 100 text

Infraestrutura de Chaves Públicas (ICP) §  Processo de alteração da CRL

Slide 101

Slide 101 text

§  Processo de revogação de certificado 1.  O cliente pede a Autoridade Registradora (RA) para revogar o certificado 2.  A RA, após executar seu processo de verificação, envia as informações para a CA 3.  A CA aceita o pedido de revogação e guarda a informação na Certificates Store 4.  A CA inclui o número serial do certificado revogado na CRL 5.  A CRL é digitalmente assinada usando a chave privada da CA Infraestrutura de Chaves Públicas (ICP)

Slide 102

Slide 102 text

Infraestrutura de Chaves Públicas (ICP) §  Processo de verificação de certificado digital (CRL)

Slide 103

Slide 103 text

Infraestrutura de Chaves Públicas (ICP) §  Processo de verificação de certificado digital (CRL)

Slide 104

Slide 104 text

Infraestrutura de Chaves Públicas (ICP) §  Processo de verificação de certificado digital (CRL)

Slide 105

Slide 105 text

Infraestrutura de Chaves Públicas (ICP) §  Wildcard certificate §  Certificado gerado para proteger vários subdomínios ou servidores §  Geralmente é mais prático e mais econômico §  Exemplo: Certificado emitido para *.empresa.com.br §  Serve para: pagamento.empresa.com.br, contato.empresa.com.br, intranet.empresa.com.br, etc.

Slide 106

Slide 106 text

Infraestrutura de Chaves Públicas (ICP) §  EV-SSL (Extended Validation) §  Verificação ‘completa’ da identidade do solicitante §  Segue as instruções do CA/Browser Forum §  Motivo: pressões comerciais fizeram as CAs fornecerem o certificado “domain validation only” §  Critérios para emissão do EV-SSL §  Verificar documentos e presença física da empresa §  Controle sobre o domínio é exclusivo ao dono §  Confirmar identidade e autoridade dos donos do website §  Suportado por Microsoft IE 7+ (exceto XP), Mozilla Firefox 3+, Opera 8+, Apple Safari 3.2+, Google Chrome

Slide 107

Slide 107 text

Infraestrutura de Chaves Públicas (ICP) Google Chrome Mac: Cmd+Opt+I Win: Ctrl+Alt+I Click on View Certificate

Slide 108

Slide 108 text

Google Chrome: View certificate Infraestrutura de Chaves Públicas (ICP)

Slide 109

Slide 109 text

Infraestrutura de Chaves Públicas (ICP) Exemplo de um certificado inválido Google Chrome

Slide 110

Slide 110 text

Infraestrutura de Chaves Públicas (ICP) Mozilla Firefox: Certificate Viewer

Slide 111

Slide 111 text

Mozilla Firefox: Certificate Viewer Infraestrutura de Chaves Públicas (ICP)

Slide 112

Slide 112 text

Microsoft Edge: Não faz Esta é toda a informação disponível Infraestrutura de Chaves Públicas (ICP)

Slide 113

Slide 113 text

MS IE 11: View certificate Infraestrutura de Chaves Públicas (ICP)

Slide 114

Slide 114 text

Apple Safari: View certificate Infraestrutura de Chaves Públicas (ICP)

Slide 115

Slide 115 text

Infraestrutura de Chaves Públicas (ICP) §  Revogação de certificado digital §  Revogação §  Suspensão (temporário) §  Motivos para revogação §  Suspeita ou comprometimento da chave privada §  Suspeita ou comprometimento da CA §  Término da operação §  Término da afiliação §  Revogação e expiração são eventos distintos!

Slide 116

Slide 116 text

Infraestrutura de Chaves Públicas (ICP) §  Tokens criptográficos

Slide 117

Slide 117 text

Infraestrutura de Chaves Públicas (ICP) §  Hardware Security Modules (HSM)

Slide 118

Slide 118 text

Infraestrutura de Chaves Públicas (ICP) §  Microsoft Crypto API §  Presente desde o Windows NT 4.0 §  Serve para acessar também os tokens e os HSMs §  Está presente no .NET Framework e no JDK (SunMSCAPI Provider, apenas como acesso ao MS- CAPI) §  Oracle SunJSSE Provider §  Está presente no JDK §  Capacidade para grande número de ciphersuites

Slide 119

Slide 119 text

ICP-Brasil §  Criada pela MP 2200-2, de 24.08.2001 §  Objetivo: “garantir a autenticidade, a integridade e a validade jurídica de documentos em forma eletrônica, das aplicações de suporte e das aplicações habilitadas que utilizem certificados digitais, bem como a realização de transações eletrônicas seguras.” §  É o cartório virtual §  Está ligada ao ITI e é gerenciada pelo Comitê Gestor da ICP- Brasil §  A AC Raiz não pode emitir certificados para o usuário final §  A estrutura completa pode ser vista em: http://www.iti.gov.br/twiki/bin/view/Certificacao/EstruturaIcp

Slide 120

Slide 120 text

ICP-Brasil §  CAs Nível 1 e 2

Slide 121

Slide 121 text

ICP-Brasil §  Tipos de certificado digital §  A1 §  Gerado e armazenado no computador §  Dispensa o uso de cartões inteligentes ou tokens §  Deve-se optar por protegê-lo com uma senha §  Recomenda-se armazenamento em um único computador além de uma cópia de segurança §  Possui validade de 1 ano

Slide 122

Slide 122 text

ICP-Brasil §  Tipos de certificado digital §  A3 §  Gerado e armazenado no cartão inteligente ou token §  Fica protegido pela senha do cartão ou token §  Possui validade de 3 anos

Slide 123

Slide 123 text

ICP-Brasil §  e-CPF e e-CNPJ §  Garantir a autenticidade e a integridade nas transações eletrônicas §  Enviar a declaração do Imposto de Renda via Internet §  Consultar e atualizar o cadastro de contribuinte §  Recuperar o histórico de declarações §  Verificar a situação na “malha fina” §  Cadastrar procurações e acompanhar processos tributários através da Internet §  Encriptar e assinar digitalmente os e-mails!

Slide 124

Slide 124 text

ICP-Brasil §  e-CPF e e-CNPJ §  Como pode funcionar um mecanismo de não-repúdio §  Hash(Data, Hora, CPF, Tipo de Operação, etc.) §  Encriptação(Hash()) com a chave privada §  Armazena no último campo do registro na tabela

Slide 125

Slide 125 text

Agenda §  O que é criptografia? §  Hash §  Criptografia simétrica §  Criptografia assimétrica §  Infraestrutura de Chaves Públicas (ICP) §  Ataques §  Esteganografia §  Boas práticas: uso doméstico §  Referências

Slide 126

Slide 126 text

Ataques §  Brute force, dicionários, default passwords §  Rainbow tables §  Pass-the-hash §  Recuperação da chave privada §  Comparação de arquivos §  Interceptação do túnel §  Falha no método criptográfico §  Chave simétrica X chave assimétrica

Slide 127

Slide 127 text

Ataques §  Default passwords list §  http://www.cirt.net/passwords §  Dicionários §  http://www.openwall.com/passwords/wordlists/ §  http://lastbit.com/dict.asp §  Gerador de dicionários §  L517 §  http://code.google.com/p/l517/

Slide 128

Slide 128 text

Ataques §  Brute force §  O atacante tenta todos os valores possível em uma determinada faixa de possibilidades. §  Rainbow tables §  Geralmente um conjunto de atacantes se junta para gerar arquivos que contém senhas e seus respectivos hashes §  Assim, quando o hash de uma senha é encontrado não é necessário passar pelo processo de brute force §  É só procurar o hash em questão no arquivo.

Slide 129

Slide 129 text

Ataques §  Brute force Chave em bits Permutações Tempo de brute force para dispositivo verificando 256 permutações/segundo 8 28 0 milissegundos 40 240 0.015 milissegundos 56 256 1 segundo 64 264 4 minutos e 16 segundos 128 2128 149.745.258.842.898 anos 256 2256 50.955.671.114.250.100.000.000.000.000.000. 000.000.000.000.000.000.000 anos Fonte: NIST SP 800-57 Part 1 (2007)

Slide 130

Slide 130 text

Ataques §  Rainbow tables (freerainbowtables.com / distributed.net)

Slide 131

Slide 131 text

Ataques §  Captura do Hash §  Offline NT Password and Registry Editor §  http://pogostick.net/~pnh/ntpasswd/ §  Suporta todas as versões do Windows, do NT 3.5 até Win 8.1, 32 ou 64 bit, a as versões Server (2003, 2008, 2012) §  Com o Windows offline, acessa os arquivos que contém os hashes das contas §  Pode alterar a senha, destravar e habilitar contas! (se o usuário usa o EFS, perderá o acesso aos arquivos) §  Não precisa da senha atual da conta §  Ophcrack, pwdump7 e outros softwares de captura de hashes §  Sniffers como o Wireshark N

Slide 132

Slide 132 text

Ataques §  Captura do Hash §  pwdump7

Slide 133

Slide 133 text

Ataques §  Rainbow tables (exemplo) LM #0 Caracteres [ABCDEFGHIJKLMNOPQRSTUVWXYZ] Combinações 8.353.082.582 Tamanho da tabela 610 MB Probabilidade de sucesso 0.9904 (99.04%) LM #1 Caracteres [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789] Combinações 80.603.140.212 Tamanho da tabela 3 GB Probabilidade de sucesso 0.991 (99.1%)

Slide 134

Slide 134 text

Ataques §  Rainbow tables (exemplo) LM #5 Caracteres [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$ %^&*()-_+= ] Combinações 915.358.891.407 (2 ^ 39.7) Tamanho da tabela 24 GB Probabilidade de sucesso 0.9990 (99,90%) LM #6 Caracteres [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$ %^&*()-_+=~`[]{}|\:;"'<>,.?/ ] Combinações 7.555.858.447.479 (2 ^ 42.8) Tamanho da tabela 64 GB Probabilidade de sucesso 0.9999 (99,99%)

Slide 135

Slide 135 text

Ataques §  Rainbow tables §  Problema de criptografia do hash LM

Slide 136

Slide 136 text

Ataques §  Rainbow tables §  Problema de criptografia do hash LM (exemplo)

Slide 137

Slide 137 text

Ataques §  Defesa contra Rainbow tables §  Salt: sequência aleatória de bits

Slide 138

Slide 138 text

Ataques §  Defesa contra Rainbow tables §  WPA2

Slide 139

Slide 139 text

Ataques §  Defesa contra Brute force e Rainbow tables §  A senha deve ter um mínimo de 12 caracteres §  Uma senha de 14 letras minúsculas é tão forte quanto uma senha de 10 caracteres que contém minúsculas, maiúsculas, números e símbolos §  Inclua números e símbolos se o sistema permitir §  Se o sistema diferenciar maiúsculas de minúsculas use as duas §  Evite usar a mesma senha em vários locais §  Exemplo: 4pRte!ai@3 – mistura maiúsculas, minúsculas, números e símbolos.

Slide 140

Slide 140 text

Ataques §  Senhas fracas §  Senhas padrão: password, default, admin, guest, etc. §  Dicionário: palavras que existem em qualquer idioma §  Número adicionado: password1, deer2000, john1234, etc. §  Com ofuscação simples: p@ssw0rd, h4cker, h3ll0, etc. §  Dobradas: crabcrab, stopstop, treetree, passpass, etc. §  Sequências comuns de teclado: qwerty, 12345, asdfgh, fred. §  Sequências numéricas conhecidas: 911, 3,14159... (π), 2,7182... (e). §  Identificadores: jsmith123, 1/1/1970, 555–1234, “login”, etc. §  Informações pessoais: placa do carro, números de telefone, aniversário, time favorito, nome de parentes ou animais de estimação, apelidos, etc. requerem apenas uma investigação

Slide 141

Slide 141 text

Ataques §  Senhas fracas §  Dave Kleiman, perito americano, detectou através da análise de 3 milhões de senhas de 8 caracteres que: §  A letra "e" foi usada mais de 1.5 milhão de vezes §  A letra "f" foi usada apenas 250.000 vezes §  Em uma distribuição uniforme cada caracter teria de ser usado cerca de 900.000 vezes §  O número mais comum é o “1” §  As letras mais comuns são “a”, “e”, “o”, “r”

Slide 142

Slide 142 text

Ataques §  Brute force §  Hashcat: http://hashcat.net/hashcat-gui/ (Windows / Linux) §  Ophcrack (Windows, gratuito e comercial) §  LC6 (Windows, comercial) §  John the Ripper (Unix, gratuito) §  Elcomsoft (Windows, comercial) §  Hydra (Unix, gratuito) §  Hashkill (Linux, gratuito) §  PDF: FreewarePDFUnlocker (Windows, gratuito) §  RAR: cRARk (Windows, gratuito) §  Rainbow tables §  OnlineHashCrack: www.onlinehashcrack.com §  Tobtu: www.tobtu.com/md5.php

Slide 143

Slide 143 text

Ataques Hashcat

Slide 144

Slide 144 text

Ataques §  Distribuição entre estações §  Boinc §  Softwares que distribuem a carga §  Aumento de capacidade §  Drives SSD §  GPUs em paralelo §  Aumento da capacidade de processamento §  Desenvolvimento para GPUs §  http://developer.nvidia.com/cuda-tools-ecosystem §  http://developer.amd.com/pages/default.aspx

Slide 145

Slide 145 text

Ataques §  Pass-the-hash (similar ao ataque de Replay)

Slide 146

Slide 146 text

Ataques §  Defesa contra Replay Attacks §  1. One Time Password (OTP) §  É gerado a partir de um algorítmo aberto §  Mesmo sabendo o número anterior, não é possível prever o próximo §  É possível utilizar de forma manual ou automática, através de software §  2. Nonce §  3. Timestamps

Slide 147

Slide 147 text

Ataques §  Rede sem fio com criptografia WPA2

Slide 148

Slide 148 text

Ataques §  Session hijacking (ataque similar ao Replay attack) §  É possível quando não há SSL (HTTPS)!

Slide 149

Slide 149 text

Ataques §  Session hijacking (com Firesheep)

Slide 150

Slide 150 text

Ataques §  OTP Realtime Man-in-the-middle

Slide 151

Slide 151 text

Ataques §  Recuperação da chave privada §  Recuperação de chave privada gerada no disco e exportada para o token USB, por exemplo §  Comparação de arquivos §  Quando o atacante tem a versão encriptada e a versão “em claro”, é possível “comparar” as duas e obter a chave usada, em alguns casos

Slide 152

Slide 152 text

Ataques §  Interceptação do túnel (Man-in-the-middle)

Slide 153

Slide 153 text

Ataques §  Chave simétrica X chave assimétrica §  Em 1977 o DES de 56 bits era suficiente §  O governo americano requer chave AES (simétrica) de 192 ou 256 bits para conteúdo altamente sensível §  O guia de boas práticas do NIST para gerenciamento de chaves sugere que chaves RSA de 15360 bits RSA são equivalentes em força a chaves simétricas de 256 bits!

Slide 154

Slide 154 text

Source: keylength.com Ataques

Slide 155

Slide 155 text

Source: keylength.com Ataques

Slide 156

Slide 156 text

Agenda §  O que é criptografia? §  Hash §  Criptografia simétrica §  Criptografia assimétrica §  Infraestrutura de Chaves Públicas (ICP) §  Ataques §  Esteganografia §  Boas práticas: uso doméstico §  Referências

Slide 157

Slide 157 text

Esteganografia §  História §  Origem do grego steganos (στεγανός), “escondido ou protegido”, e graphei (γράφη), “escrita” §  Segurança através de obscuridade §  Mensagens escritas na área do envelope coberta pelo selo postal §  Durante e depois da Segunda Guerra, agentes de espionagem usavam microdots produzidos fotograficamente para enviar e receber informações §  Hoje é usada para esconder watermarks em imagens, vídeos e áudios para proteger a propriedade intelectual

Slide 158

Slide 158 text

§  Métodos mais usados §  LSB (Bits menos significativos) R G B R G B pixels 0 1 1 0 0 1 0 1 1 1 0 1 imagem original 8 bits / byte imagem RGB = 3 bytes / pixel 1 0 1 1 Esteganografia

Slide 159

Slide 159 text

p u b 112 117 98 string 0 0 0 1 1 1 0 1 1 1 0 0 8 bits / byte 1 byte / char texto a ser escondido 0 0 1 1 §  Métodos mais usados §  LSB (Bits menos significativos) Esteganografia

Slide 160

Slide 160 text

0 0 0 1 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 imagem modificada §  Métodos mais usados §  LSB (Bits menos significativos) Esteganografia

Slide 161

Slide 161 text

Esteganografia 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 1 1 imagem modificada Recuperação texto original §  Métodos mais usados §  LSB (Bits menos significativos)

Slide 162

Slide 162 text

Esteganografia §  Métodos mais usados §  Alta frequência §  Áudio com qualidade de CD tem 44.100 Hz §  Possuem frequência efetiva de 22.050 Hz §  Os humanos conseguem distinguir sons de 15 Hz até 15.000 ou 20.000 Hz (dependendo do indivíduo). Os que escutam até 20.000 Hz não conseguem distinguir muito bem as frequências mais altas §  É possível alterar a informação nas altas frequências de um som e o resultado ser imperceptível

Slide 163

Slide 163 text

Esteganografia

Slide 164

Slide 164 text

Esteganografia

Slide 165

Slide 165 text

Esteganografia §  JPEG Original §  SHA-1: 2ebd0b60f51e38f0f0 1224e017e650e7b80f cd1f §  JPEG Modificado §  SHA-1: 254f2ed072beab5c3a 52c12281c48df5d0e4 8ddc

Slide 166

Slide 166 text

Esteganografia §  Aplicações da Esteganografia §  Terrorismo §  Espionagem §  Fingerprinting §  Watermark §  Esteganálise §  Comparação com o arquivo original §  Análise estatística de arquivos do mesmo dispositivo §  Análise de noise em busca de modificação nos bits menos significantes

Slide 167

Slide 167 text

Esteganografia §  Esteganálise §  Original §  Modificado

Slide 168

Slide 168 text

(Criptografia)

Slide 169

Slide 169 text

Agenda §  O que é criptografia? §  Hash §  Criptografia simétrica §  Criptografia assimétrica §  Infraestrutura de Chaves Públicas (ICP) §  Ataques §  Esteganografia §  Boas práticas: uso doméstico §  Referências

Slide 170

Slide 170 text

Boas práticas: uso doméstico §  Certificado digital nível 1 (A1) gratuito §  Instant SSL: www.instantssl.com §  Aloaha: www.aloaha.com §  CACert.org: www.cacert.org §  Certificado digital ICP-Brasil §  Certisign §  Serasa Experian §  OAB (para advogados) §  ... §  VeraCrypt

Slide 171

Slide 171 text

Referências §  Coursera / Stanford University §  Cryptography I §  Prof. Dan Boneh §  https://www.coursera.org/learn/crypto/

Slide 172

Slide 172 text

Referências §  ISO/IEC 18014 — Time-stamping services §  ISO/IEC 13888 — Non-repudiation §  ISO/IEC 10118 — Hash-functions §  ISO/IEC 27002 — Information technology - Security techniques - Code of practice for information security management §  ISO/IEC 19790 — Security Requirements §  for Cryptographic Modules

Slide 173

Slide 173 text

Referências Algoritmo criptográfico Special Publications ou FIPS Triple Data Encryption Standard (TDES) SP 800-67, Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher, and SP 800-38A, Recommendation for Block Cipher Modes of Operation – Methods and Techniques Advanced Encryption Standard (AES) FIPS 197, Advanced Encryption Standard, and SP 800-38A Digital Signature Standard (DSS) FIPS 186-3, Digital Signature Standard (DSS), dated June 2009 RSA algorithm ANSI X9.31 and Public Key Cryptography Standards (PKCS) #1 v2.1: RSA Cryptography Standard-2002 Hashing algorithms SHA-1, SHA-224, SHA- 256, SHA-384, and SHA-512 FIPS 180-3, Secure Hash Standard (SHS), dated October 2008