Академический Документы
Профессиональный Документы
Культура Документы
dfaranha (IC)
Contornando Criptografia
1/37
Introducao
Criptografia e difcil. Para funcionar a contento, uma tecnica
criptografica depende de in
umeros fatores:
- Um problema difcil subjacente;
- Um algoritmo que use o problema como fonte de seguranca;
- Uma forma segura de gerar e armazenar chaves para o algoritmo;
- Um protocolo que especifique como o algoritmo sera usado;
- Uma implementac
ao correta, segura e eficiente;
- Um regime jurdico amigavel?
Risco: Falsa sensacao de seguranca.
dfaranha (IC)
Contornando Criptografia
2/37
Introducao
Quando boa parte das premissas sao satisfeitas, as garantias podem ser
fortes. Segundo as Leis de Shamir:
1 Sistemas absolutamente seguros n
ao existem nem existirao no
futuro.
2 Para reduzir `
a metade o grau de vulnerabilidade, e preciso o dobro
do investimento.
3 Criptografia
e tipicamente contornada, nao penetrada.
dfaranha (IC)
Contornando Criptografia
3/37
dfaranha (IC)
Contornando Criptografia
4/37
dfaranha (IC)
Contornando Criptografia
5/37
Figura: https://xkcd.com/221/
Vulnerabilidade
Utilizar dados com baixa aleatoriedade no lugar de valores
pseudo-aleatorios ou verdadeiramente aleat
orios compromete a maioria
dos mecanismos de seguranca.
dfaranha (IC)
Contornando Criptografia
6/37
dfaranha (IC)
Contornando Criptografia
7/37
Exemplos:
- Implementacao SSL no navegador Netscape Navigator 1.1;
- Manutencao incorreta da biblioteca OpenSSL na plataforma Debian;
- Vazamento da chave privada da Sony por assinaturas digitais
ECDSA utilizando valores repetidos;
- Vazamento de chave privada de usuarios de BitCoin na plataforma
Android;
- Fatoracao de chaves p
ublicas RSA que compartilham fatores primos.
dfaranha (IC)
Contornando Criptografia
8/37
dfaranha (IC)
Contornando Criptografia
9/37
dfaranha (IC)
Contornando Criptografia
10/37
dfaranha (IC)
Contornando Criptografia
11/37
Discussao:
- Exemplo de funcao de hash resistente a colisao?
dfaranha (IC)
Contornando Criptografia
12/37
Discussao:
- Exemplo de funcao de hash resistente a colisao? SHA-2/3
- Exemplo de cifra de bloco segura?
dfaranha (IC)
Contornando Criptografia
12/37
Discussao:
- Exemplo de funcao de hash resistente a colisao? SHA-2/3
- Exemplo de cifra de bloco segura? AES (disponvel em hardware!)
- Exemplo de cifra de fluxo segura?
dfaranha (IC)
Contornando Criptografia
12/37
Discussao:
- Exemplo de funcao de hash resistente a colisao? SHA-2/3
- Exemplo de cifra de bloco segura? AES (disponvel em hardware!)
- Exemplo de cifra de fluxo segura? AES-CTR
- Exemplo de cifracao assimetrica segura?
dfaranha (IC)
Contornando Criptografia
12/37
Discussao:
- Exemplo de funcao de hash resistente a colisao? SHA-2/3
- Exemplo de cifra de bloco segura? AES (disponvel em hardware!)
- Exemplo de cifra de fluxo segura? AES-CTR
- Exemplo de cifracao assimetrica segura? RSA PKCS #1 v2.1
- Exemplo de acordo de chaves seguro?
dfaranha (IC)
Contornando Criptografia
12/37
Discussao:
- Exemplo de funcao de hash resistente a colisao? SHA-2/3
- Exemplo de cifra de bloco segura? AES (disponvel em hardware!)
- Exemplo de cifra de fluxo segura? AES-CTR
- Exemplo de cifracao assimetrica segura? RSA PKCS #1 v2.1
- Exemplo de acordo de chaves seguro? ECDH/Curve25519
dfaranha (IC)
Contornando Criptografia
12/37
dfaranha (IC)
Contornando Criptografia
13/37
Defesas:
- Definir precisamente propriedades de seguranca;
- N
ao projetar ou implementar algoritmos criptograficos (a nao ser
que voce saiba mesmo o que esta fazendo);
- Respeitar especificacao de algoritmos (nonces!)
- Controlar conjunto de algoritmos para agilidade;
- Utilizar algoritmos padronizados e revisados por comunidade;
- Consultar tamanhos de chaves em http://www.keylength.com;
- Utilizar modo de operacao para cifrac
ao autenticada (AES-GCM).
dfaranha (IC)
Contornando Criptografia
14/37
dfaranha (IC)
Contornando Criptografia
15/37
dfaranha (IC)
Contornando Criptografia
16/37
dfaranha (IC)
Contornando Criptografia
17/37
Contornando Criptografia
18/37
dfaranha (IC)
Contornando Criptografia
19/37
dfaranha (IC)
Contornando Criptografia
20/37
dfaranha (IC)
Contornando Criptografia
21/37
dfaranha (IC)
Contornando Criptografia
22/37
dfaranha (IC)
Contornando Criptografia
23/37
Vulnerabilidade
Algoritmos para cifracao assimetrica s
o fornecem seguranca se chave
p
ublica for autentica.
Defesa: Verificar autenticidade de certificado do lado do cliente:
1 Verificar assinatura do certificado;
2 Verificar cadeia de certificac
ao;
3 Verificar revogac
ao do certificado;
4 N
ao confiar base local de certificados autoassinados;
5 Equipar cliente com informac
ao sobre certificado futuro (pinagem!).
dfaranha (IC)
Contornando Criptografia
24/37
Contornando Criptografia
25/37
dfaranha (IC)
Contornando Criptografia
26/37
Contornando Criptografia
27/37
Contornando Criptografia
28/37
Contornando Criptografia
29/37
Contornando Criptografia
30/37
Contornando Criptografia
31/37
Contornando Criptografia
32/37
Contornando Criptografia
33/37
Conclusao
Criptografia e difcil. Que tal comecar resolvendo as partes mais faceis?
Perguntas?
Diego F. Aranha
https://sites.google.com/site/dfaranha
dfaranha@ic.unicamp.br
@dfaranha
dfaranha (IC)
Contornando Criptografia
34/37
Referencias
[1] N. Heninger, Z. Durumeric, E. Wustrow, J. A. Halderman:
Mining Your Ps and Qs: Detection of Widespread Weak Keys in
Network Devices. USENIX Security 2012: 205-220
[2] D. F. Aranha, M. M. Karam, A. de Miranda, F. Scarel: Software
vulnerabilities in the Brazilian voting machine. In: Design,
Development, and Use of Secure Electronic Voting Systems,
149-175, IGI Global, 2014.
[3] G. Alendal, C. Kison, modg. got HW crypto? On the (in)security
of a Self-Encrypting Drive series.
https://eprint.iacr.org/2015/1002, 2015.
[4] N. J. AlFardan, D. J. Bernstein, K. G. Paterson, B. Poettering, J.
C. N. Schuldt: On the Security of RC4 in TLS. USENIX Security
2013: 305-320
dfaranha (IC)
Contornando Criptografia
35/37
Referencias
dfaranha (IC)
Contornando Criptografia
36/37
Referencias
[8] D. Genkin, I. Pipman, E. Tromer: Get Your Hands Off My
Laptop: Physical Side-Channel Key-Extraction Attacks on PCs. J.
Cryptographic Engineering 5(2): 95-112 (2015)
[9] Daniel Genkin, Adi Shamir, Eran Tromer: RSA Key Extraction via
Low-Bandwidth Acoustic Cryptanalysis. CRYPTO (1) 2014: 444-461
[10] J. A. Halderman, S. D. Schoen, N. Heninger, W. Clarkson, W.
Paul, J. A. Calandrino, A. J. Feldman, J. Appelbaum, E. W. Felten:
Lest we remember: cold-boot attacks on encryption keys. Commun.
ACM 52(5): 91-98 (2009)
[11] G. T. Becker, F. Regazzoni, C. Paar, Wayne P. Burleson:
Stealthy Dopant-Level Hardware Trojans. 197-214
dfaranha (IC)
Contornando Criptografia
37/37