1 / 15

Introdução à Criptografia

Introdução à Criptografia. Geradores pseudo-aleatórios. Carlos Eduardo dos Santos (cesps) René Araújo (raa2). Conteúdo. Introdução Propriedades Geradores seguros para criptografia Ataques a PRNG Conclusão. Introdução. Números verdadeiramente aleatórios

roana
Télécharger la présentation

Introdução à Criptografia

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introdução à Criptografia Geradores pseudo-aleatórios • Carlos Eduardo dos Santos (cesps) • René Araújo (raa2)

  2. Conteúdo • Introdução • Propriedades • Geradores seguros para criptografia • Ataques a PRNG • Conclusão

  3. Introdução • Números verdadeiramente aleatórios • Possuem real aleatoriedade, exemplo: Tempo entre desintegrações de um elemento radioativo • Números pseudo-aleatórios • Possuem a aparência de aleatoriedade, mas possuindo um padrão específico repetitivo. • Números calculados por um computador através de processos determinísticos não podem, por definição, serem aleatórios

  4. Introdução • Conhecendo o algoritmo usado para os números e seu estado interno (semente), pode-se prever todos os números retornados por chamadas subsequentes ao algoritmo. • Para geradores verdadeiramente aleatórios, o conhecimento de uma sequencia longa de bits não é de utilidade para se prever o proximo número a ser gerado. • Teste do próximo bit • Números aleatórios são gerados por algoritmos determinísticos através de geradores pseudo-aleatórios (PRNG)

  5. Propriedades desejáveis dos números pseudo-aleatórios • Sequencias sem correlação – As sequencias de números aleatórios não devem possuir relação com as anteriores • Período longo – O gerador deve possuir um período entre repetições muito longo (idealmente, o gerador não deve repetir) • Uniformidade- A sequencia de números aleatórios deve ser uniforme. Frações iguais de números aleatórios devem cair em áreas iguais do espaço de números. Ex: Se serão gerados números no intervalo [0,1) seria uma péssima prática se mais do que metade caisse no intervalo [0, 0.1) presumindo que a quantidade de números gerados é elevada • Eficiência – O gerador deve ser eficiente, gerando um baixo overhead

  6. Quantidades físicas utilizadas na geração de sementes • Tempo entre digitações de teclas quando o usuário entra com um password • Medição da turbulência de ar ocasionada pelo movimento das cabeças de leitura de discos rígidos • Tempo de acesso a memoria sob determinadas condições de sobrecarga • Medição precisa de atrasos na CPU ou outro dispositivo • Captação de interferência em ondas de rádio • Tempos de desintegração de átomos radioativos

  7. O ciclo dos números pseudo-aleatórios • Quase todos os PRNG possuem como base, uma sequencia de inteiros pseudo-aleatorios • Estes inteiros são manipulados aritmeticamente para gerar números de ponto flutuante • A natureza do ciclo • A sequencia tem um numero finito de inteiros • Asequencia é percorrida em uma ordem particular • Caso o periodo se exceda, a sequencia é repetida • Os inteiros devem ser distintos

  8. Geradores seguros para criptografia • Aplicações • Geração de chaves • Nonces • Salts • One-time pads

  9. Geradores seguros para criptografia • Um bom gerador de números aleatórios não necessariamente é adequado à criptografia • Deve-se dificultar ao adversário a previsão dos números gerados • Precisa passar pelo teste do próximo bit

  10. Teste do próximo bit • Dado um adversário A e um oráculo O. • O oráculo conhece uma seqüência de bits s, e o adversário A é capaz de consultar o oráculo sobre o próximo bit qualquer número de vezes, contanto que reste pelo menos um bit não consultado. • Depois de ter analisado os primeiros l bits, A deve adivinhar o bit l + 1. A ganhará se sua adivinhação for correta. A vantagem de A é definida por AdvA = [1/2 - Pa] , onde Pa é a probabilidade de A ter sucesso no teste. • Um gerador pseudo-aleatório é seguro para criptografia se ele passa no teste do próximo bit. • O parâmetro de segurança do teste pode ser estendido para além dos bits, muitas vezes são utilizados números primos neste teste.

  11. Ataques a PRNGs • Ataque de criptoanálise direta • Quando um adversário pode diretamente distinguir entre números pseudo-aleatórios e números aleatórios (Criptoanálise do PRNG) • Ataque baseado em entradas • Quando o adversário é capaz de usar seu conhecimento e controle das entradas do PRNG para fazer criptoanálise do mesmo • Extensão de ataques: • Quando o adversário pode adivinhar alguma informação através de uma falha de segurança. A vantagem de um ataque anterior é estendida

  12. Ataque de criptoanálise direta • Quando o adversário pode usar criptoanalise diretamente no PRNG • Aplicável à maioria dos PRNGs • Não pode ser aplicado quando o adversário não pode ser capaz de ver diretamente a saída do gerador • Ex: Seja um PRNG usado para gerar chaves para o triplo-DES. Neste caso, a saída do PRNG nunca é vista diretamente pelo adversário.

  13. Ataque baseado em entradas • Usado quando o adversário utiliza-se de conhecimento ou controle das entradas para fazer criptoanálise da saída do PRNG • Tipos: • Entrada conhecida • Se as entradas da PRNG, que são idealizadas para serem difícil ao usuário adivinhar, se tornam facilmente dedutíveis. Ex. Ltencia de disco rigido. Quando o usuário está acessando um disco da rede, o adversário pode observar a latencia • Entrada escolhida • Muito utilizada contra smartcards e outras aplicações em que são utilizadas informações do usuário como entropia para o PRNG • Entrada repetida • Similar ao de entrada escolhida, a nao ser pelo fato de exigir menos sofisticação por parte do atacante.

  14. Extensão de ataques • Tenta extender as vantagens dos ataques se aproveitando de brechas na segurança • As brechas podem ser: • Vazamento de informações • Sucesso criptográfico anterior • Estes ataques são bem sucedidos quando o sistema é iniciado sem entropia

  15. Conclusão • Números aleatórios são a base para muitas aplicações de criptografia. • Não existe uma função “independente” para gerar números aleatórios. • Os computadores atuais podem apenas aproximar os números aleatórios, usando os geradores de números pseudo-aleatórios. • Ataques à diversas aplicações criptográficas são possíveis através de ataques a PRNGs. • Aplicações computacionais cada vez mais utilizam-se de fontes físicas externas para obterem números aleatórios.

More Related