semin rio de inform tica te rica
Download
Skip this Video
Download Presentation
Seminário de Informática Teórica

Loading in 2 Seconds...

play fullscreen
1 / 27

Seminário de Informática Teórica - PowerPoint PPT Presentation


  • 69 Views
  • Uploaded on

Seminário de Informática Teórica. Henrique Borges Alencar Siqueira. Motivação. Geradores randômicos. Blocos fundamentais da Segurança. Roteiro. Motivação Algoritmos de criptografia Geradores pseudo-randômicos Explorando a falha Requisitos para geradores seguros Corrigindo a falha

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Seminário de Informática Teórica' - kolya


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
semin rio de inform tica te rica

Seminário de Informática Teórica

Henrique Borges Alencar Siqueira

geradores rand micos

Geradores randômicos

Blocos fundamentais da Segurança

roteiro
Roteiro
  • Motivação
  • Algoritmos de criptografia
  • Geradores pseudo-randômicos
  • Explorando a falha
  • Requisitos para geradores seguros
  • Corrigindo a falha
  • Conclusão
algoritmos de criptografia
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
algoritmos de criptografia1
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.
roteiro1
Roteiro
  • Motivação
  • Algoritmos de criptografia
  • Geradores pseudo-randômicos
  • Explorando a falha
  • Requisitos para geradores seguros
  • Corrigindo a falha
  • Conclusão
geradores pseudo rand micos
Geradores pseudo-randômicos
  • Ou “Deterministic Random Bit Generator”
  • Todos os geradores randômicos por software
geradores pseudo rand micos1
Geradores pseudo-randômicos

java.util.Random

Número “randômico”

Função geradora

One-way Hash

Solicitação

r.nextInt()

seed = (seed * multiplier + addend) & mask

return seed >> 16

Hora atual

Estado interno

Seed:

(Fontes de entropia)

geradores pseudo rand micos2
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);
roteiro2
Roteiro
  • Motivação
  • Algoritmos de criptografia
  • Geradores pseudo-randômicos
  • Explorando a falha
  • Requisitos para geradores seguros
  • Corrigindo a falha
  • Conclusão
explorando a falha
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
explorando a falha1
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
explorando a falha2

Explorando a falha

Código Java: Usando RSA com gerador randômico ruim

roteiro3
Roteiro
  • Motivação
  • Algoritmos de criptografia
  • Geradores pseudo-randômicos
  • Explorando a falha
  • Requisitos para geradores seguros
  • Corrigindo a falha
  • Conclusão
requisitos para geradores seguros
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)
requisitos para geradores seguros1
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
requisitos para geradores seguros2
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)
roteiro4
Roteiro
  • Motivação
  • Algoritmos de criptografia
  • Geradores pseudo-randômicos
  • Explorando a falha
  • Requisitos para geradores seguros
  • Corrigindo a falha
  • Conclusão
corrigindo a falha
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
corrigindo a falha1
Corrigindo a falha
  • OpenWRT: Fontes de entropia
    • Hora de inicialização
    • Recebimento de pacotes desde a inicialização
corrigindo a falha2
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
corrigindo a falha3
Corrigindo a falha
  • Código Java: Fontes de entropia
    • Timestamp
corrigindo a falha4
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
roteiro5
Roteiro
  • Motivação
  • Algoritmos de criptografia
  • Geradores pseudo-randômicos
  • Explorando a falha
  • Requisitos para geradores seguros
  • Corrigindo a falha
  • Conclusão
conclus o
Conclusão
  • Um atacante sofisticado pode descobrir ser mais fácil reproduzir oambiente que gerou os dados e procurar noconjunto de possibilidades geradas do que em todo o espaço amostral
d vidas

Dúvidas?

Obrigado

ad