O documento apresenta uma introdução sobre criptografia, resumindo alguns dos principais tópicos que serão abordados, como hash, criptografia simétrica e assimétrica, infraestrutura de chaves públicas, ataques e esteganografia. A agenda inclui também boas práticas de uso doméstico e referências.
2. 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
3. § 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?
5. § 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?
6. § 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?
7. § 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
8. § 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?
9. 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
10. 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
11. 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
13. 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
14. 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
15. 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
16. 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
19. 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
20. 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
21. 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
23. 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)
24. 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
26. 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
27. 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
31. § 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
32. 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
39. § 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
41. § 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
43. § 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
45. § 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)
47. § 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)
51. § 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
53. 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
55. 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)
56. 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?
58. 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
59. 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
61. 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
62. 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/emailAddress=server-certs@thawte.com
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/emailAddress=server-certs@thawte.com
Subject Public Key Info:
72. 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
77. 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
83. § 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)
84. 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
86. § 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)
91. 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
92. 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
93. 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
94. 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
96. § 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)
97. 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
98. 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: SimSeamonkey: Sim
The Bat: Sim
101. § 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)
105. 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.
106. 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
107. Infraestrutura de Chaves Públicas (ICP)
Google Chrome
Mac: Cmd+Opt+I
Win: Ctrl+Alt+I
Click on View
Certificate
115. 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!
118. 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
119. 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
121. 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
122. 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
123. 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!
124. 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
125. 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
126. 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
128. 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.
129. 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)
131. 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
139. 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.
140. 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
141. 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”
144. 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
146. 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
151. 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
153. 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!
156. 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
157. 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
158. § Métodos mais usados
§ LSB (Bits menos significativos)
R G B R G B
pixels
0 1 1 0 0 10 1 1 1 0 1
imagem original
8 bits / byte
imagem RGB = 3 bytes / pixel
1 0 1 1
Esteganografia
159. p u b
112 117 98
string
0 0 0 1 1 10 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
162. 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
166. 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
169. 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
170. 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
171. Referências
§ Coursera / Stanford University
§ Cryptography I
§ Prof. Dan Boneh
§ https://www.coursera.org/learn/crypto/
172. 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
173. 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