Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouBreno Trindade Alterado mais de 10 anos atrás
1
Seminário de Informática Teórica Henrique Borges Alencar Siqueira
2
Motivação
3
Geradores randômicos Blocos fundamentais da Segurança
4
Roteiro Motivação Algoritmos de criptografia Geradores pseudo-randômicos Explorando a falha Requisitos para geradores seguros Corrigindo a falha Conclusão
5
Algoritmos de criptografia Iludem tentativas de análise de padrões e ataques de força-bruta Assumem que existe uma fonte randômica (não reproduzível) de bits para gerar: Números primos Chaves públicas e privadas
6
Algoritmos de criptografia Falham quando não existe uma fonte randômica segura: Netscape implementation of SSL I. Goldberg and D. Wagner. Randomness and the Netscape browser. Dr Dobb’s, pages 66–70, January 1996. Java session-ids Z. Gutterman and D. Malkhi. Hold your sessions: An attack on Java session-id generation. In A. J. Menezes, editor, CT-RSA, LNCS vol. 3376, pages 44–57. Springer, February 2005.
7
Roteiro Motivação Algoritmos de criptografia Geradores pseudo-randômicos Explorando a falha Requisitos para geradores seguros Corrigindo a falha Conclusão
8
Geradores pseudo-randômicos Ou “Deterministic Random Bit Generator” Todos os geradores randômicos por software
9
r.nextInt()Solicitação Função geradora One-way Hash Hora atual Geradores pseudo-randômicos Seed: Número “randômico” Estado interno java.util.Random (Fontes de entropia) seed = (seed * multiplier + addend) & mask return seed >> 16
10
Geradores pseudo-randômicos Mesmas fontes (seeds) + mesmo algoritmo = mesma seqüência de números java.util.Random long seed = 0; Random r = new Random(seed); assert (r.nextInt() == -1155484576);
11
Roteiro Motivação Algoritmos de criptografia Geradores pseudo-randômicos Explorando a falha Requisitos para geradores seguros Corrigindo a falha Conclusão
12
Explorando a falha OpenWRT Implementação do Linux para roteadores wireless Provê SSL termination SSH server Wireless encryption A segurança de todos estes serviços depende do gerador pseudo-randômico
13
Explorando a falha OpenWRT Fontes de entropia (seeds) do gerador randômico (Março de 2006) Hora de inicialização Recebimento de pacotes desde a inicialização Fontes observáveis!!! Pacotes em rede wireless Ambiente facilmente reproduzido
14
Explorando a falha Código Java: Usando RSA com gerador randômico ruim
15
Roteiro Motivação Algoritmos de criptografia Geradores pseudo-randômicos Explorando a falha Requisitos para geradores seguros Corrigindo a falha Conclusão
16
Requisitos para geradores seguros Pseudorandomness A saída do gerador não pode ser prevista por um observador externo Provê segurança suficiente para adversários sem acesso ao estado interno do gerador Obtida usando fontes de entropia (seeds) randômicas (não reproduzíveis)
17
Requisitos para geradores seguros Forward security Saber o estado interno atual não implica descobrir saídas anteriores Obtida usando funções one-way (injetoras) para a geração de números randômicos
18
Requisitos para geradores seguros Break-in recovery / backward security Saber o estado interno atual não implica descobrir saídas futuras Obtida usando re-seed periódico (re- alimentação)
19
Roteiro Motivação Algoritmos de criptografia Geradores pseudo-randômicos Explorando a falha Requisitos para geradores seguros Corrigindo a falha Conclusão
20
Corrigindo a falha Usar fontes de entropia secretas e com a segurança desejada Seeds com 256 bits para segurança de 256 bits Usar múltiplas fontes de entropia real Hora atual, teclas digitadas, ruído do microfone, giro do HD,... Re-seed periódico
21
Corrigindo a falha OpenWRT: Fontes de entropia Hora de inicialização Recebimento de pacotes desde a inicialização
22
Corrigindo a falha OpenWRT: Fontes de entropia Persistir o estado do gerador randômico ao desligar o S.O. Re-seed Horário de (re) inicialização Recebimento de pacotes
23
Corrigindo a falha Código Java: Fontes de entropia Timestamp
24
Corrigindo a falha Código Java: Fontes de entropia Usar a implementação nativa do gerador randômico (que tem seeds melhores) Usar re-seed periódico com outras fontes de entropia
25
Roteiro Motivação Algoritmos de criptografia Geradores pseudo-randômicos Explorando a falha Requisitos para geradores seguros Corrigindo a falha Conclusão
26
Conclusão Um atacante sofisticado pode descobrir ser mais fácil reproduzir o ambiente que gerou os dados e procurar no conjunto de possibilidades geradas do que em todo o espaço amostral
27
Dúvidas? Obrigado
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.