SóProvas


ID
153214
Banca
CESPE / CEBRASPE
Órgão
TJ-DFT
Ano
2008
Provas
Disciplina
Segurança da Informação
Assuntos

Julgue os itens subseqüentes, acerca da segurança em redes de
computadores.

Uma condição necessária para a segurança de uma função de hash e seu respectivo uso em assinaturas digitais é a inexistência de colisões.

Alternativas
Comentários
  • Colisões não afetam a integridade e/ou segurança dos dados, elas apenas geram atrasos na rede.
  • A função hash não está livre de colisões, ela otimiza muito a indexação mas não garante a inexistência de colisão. É uma característica inerente a definição dos algoritmos de hash.
  • Colisão é a possibilidade de se ter um hash igual para duas mensagens/arquivos diferentes.

    EX:

    Se tenho o arquivo A (300KB) e gero um hash dele e encontro = X

    E se possuou um arquivo B (1GB) e gero um hash dele e encontro = X

    Os dois arquivos (apesar de serem diferentes) possuem o mesmo hash....

     

    Qual o problema disso??

    Em servidores de autenticação, geralmente, por segurança, não se autentica a sua senha (que vc digita) e sim se compara o hash da sua senha com o hash da sua senha armazenada no servidor de autenticação.

    Ex: au se logar na rede (em um doimínio), vc digita sua senha, teu micro gera um hash e envia ao servidor de autenticação, este servidor compara o hash que recebeu com o que esta armazenada e referente a teu usuário, se forem iguais, senha correta, se diferente senha incorreta.

    Então, se o usuário fulando possui a senha "123456" e o hash da mesma é Y, eu não preciso saber a senha do usuário fulano para logar com o usuário dele, preciso achar apenas uma senha que gere o mesmo hash Y.

     

  • "Se as mensagens possíveis são infinitas, mas o tamanho do hash é fixo, é impossível impedir que mensagens diferentes levem a um mesmo hash. De fato, isto ocorre. Quando se encontram mensagens diferentes com hashs iguais, é dito que foi encontrada uma colisão de hashes. Um algoritmo onde isso foi obtido deve ser abandonado. As funções de hash estão em constante evolução para evitar que colisões sejam obtidas. Cabe destacar porém que a colisão mais simples de encontrar é uma aleatória, ou seja, obter colisões com duas mensagens geradas aleatoriamente, sem significado real. Quando isto ocorre os estudiosos de criptografia já ficam atentos, porém para comprometer de maneira imediata a assinatura digital seria necessário obter uma mensagem adulterada que tenha o mesmo hash de uma mensagem original fixa, o que é teoricamente impossível de ocorrer com os algoritmos existentes hoje."

    Fonte: http://pt.wikipedia.org/wiki/Assinatura_digital
  • Todo hash tem colisões se o tamanho do hash é menor que o possível tamanho das mensagens.
    Se o hash tem 128 bits e as mensagens podem ter milhares de bits, alguma mensagem vai ter que gerar o mesmo hash se todas as mensagens forem testadas.
  • O erro da questão está em dizer que "a condição necessária para a segurança de uma função de hash... é a inexistência de colisões". Em toda função de hash podem haver colisões. O que garante a segurança de um função de hash é a dificuldade computacional que a função implementa para que ocorram essas colisões. Além da lógica bem estruturada do algoritmo de hash, existe a preocupação com o tamanho do resumo (hash) gerado. Por exemplo,um algoritmo que gere  hashes de 10 bits, pode gerar 2 elevado a 10 hashs diferentes = 1024. Em um ataque de colisão por força bruta, após a geração de 1024 hashes diferentes, os próximos hashes gerados necessariamente colidirão com algum hash já existente.
    Portanto, deve-se utilizar um tamanho de hash grande o suficiente para inviabilizar o esforço computacional necessário para a obtenção de colisões.
  • Gabarito Errado

    Inserindo novamente a melhor resposta para melhor vizualização dos companheiros:

     

    Colisão é a possibilidade de se ter um hash igual para duas mensagens/arquivos diferentes.

    EX:

    Se tenho o arquivo A (300KB) e gero um hash dele e encontro = X

    E se possuou um arquivo B (1GB) e gero um hash dele e encontro = X

    Os dois arquivos (apesar de serem diferentes) possuem o mesmo hash....

     

    Qual o problema disso??

    Em servidores de autenticação, geralmente, por segurança, não se autentica a sua senha (que vc digita) e sim se compara o hash da sua senha com o hash da sua senha armazenada no servidor de autenticação.

    Ex: au se logar na rede (em um doimínio), vc digita sua senha, teu micro gera um hash e envia ao servidor de autenticação, este servidor compara o hash que recebeu com o que esta armazenada e referente a teu usuário, se forem iguais, senha correta, se diferente senha incorreta.

    Então, se o usuário fulando possui a senha "123456" e o hash da mesma é Y, eu não preciso saber a senha do usuário fulano para logar com o usuário dele, preciso achar apenas uma senha que gere o mesmo hash Y.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • Colisão (diferentes entradas podem gerar uma mesma saída)

    • Para evitar colisões, atualmente, Algoritmos Criptográficos de Hash exigem pelo menos 128 bits de saída.

    Principais algoritmos: SHA-1 (Hash de 160 bits), MD5 (Hash de 128 bits), etc.

    • MD5 e SHA1 ainda são utilizados em alguns mecanismos que fazem uso de assinatura digital, mas, atualmente, ambos são considerados inseguros.