Semin rio de inform tica te rica
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

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


  • 44 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Seminário de Informática Teórica

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


Motiva o

Motivação


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


  • Login