PCF-3

Questões comentadas, artigos e notícias

Prova de 2002: Criptografia – Questão 49

Posted by papacharliefox3 em 02/04/2009

primesSalve! Pra variar: criptografia! Mais uma das 4 deste tema, parte da prova de 2002. Note que o texto de algumas sentenças é imenso. Imagina o caboco lendo isso na hora da prova, não deve ser fácil. Os comentários estão logo abaixo.

Em um ambiente de segurança de informações, senhas e chaves
criptográficas devem ser imprevisíveis e, preferencialmente,
geradas de forma totalmente aleatória. Todo sistema criptográfico
apresenta o conhecido problema de gerenciamento de chaves, que
trata da geração, da distribuição, do armazenamento e da troca das
chaves utilizadas. Costuma-se considerar que a segurança de um
algoritmo criptográfico está na segurança das chaves utilizadas.
Com relação a esse assunto, julgue os itens que se seguem.

1 Para um determinado sistema criptográfico que utiliza chaves de
128 bits, optou-se por selecionar como gerador de chaves a
saída do algoritmo MD5, tendo por entrada os seguintes
parâmetros: a data/hora do sistema quando da geração da chave,
dada na forma DDMMAAHHMMSS, com o significado usual,
concatenado com uma seqüência de 16 bytes consecutivos
obtida de um arquivo fixo, contendo 64 kilobytes de dados que
foram gerados de forma totalmente aleatória, e cujo ponto
inicial de leitura é escolhido a partir de caracteres digitados por
um operador da forma mais imprevisível possível. Nessa
situação, como o algoritmo MD5 gera um hash de 128 bits e
não se pode, em princípio, determinar a entrada dada a saída,
pode-se considerar esse como um bom método para a geração
dos 128 bits necessários para uma chave com uma aparência
aleatória.

2 O algoritmo DES é considerado inseguro por possuir umespaço
de chaves de apenas 56 bits, sendo, portanto, susceptível a
ataques por exaustão das chaves, utilizando-se recursos
relativamente modestos com a tecnologia disponível atualmente.
Uma forma encontrada para aumentar o espaço de chaves de
algoritmos de bloco do tipo DES foi a implementação
denominada triplo-DES, emque se emprega o mesmo algoritmo
3 vezes consecutivas, potencialmente com 3 chaves distintas, o
que permite uma chave total efetiva correspondente a 3 vezes o
tamanho original, ou seja, nesse caso, 168 bits. Por raciocínio
semelhante, o uso de umduplo-DES deve prover uma segurança
equivalente a um algoritmo com chave efetiva de 112 bits.

3 Um tipo de função essencial para uso em ambiente criptográfico
é a das denominadas funções unidirecionais. Uma função
unidirecional é uma transformação fixa (sem chaves) para a qual
é impraticável se determinar a entrada a partir da saída. Uma
forma de se obter uma boa função unidirecional é tomar um
bom algoritmo criptográfico, fixar a entrada de dados
(mensagem) e utilizar a entrada de chave como entrada de
dados.

4 O algoritmo RSA é um conhecido e popular algoritmo
assimétrico. A segurança do algoritmo RSA é dada pelo
tamanho das chaves utilizadas, da ordem de 1 kilobits, o que
torna impraticável a determinação da chave pela exaustão das
possibilidades.

5 Ao comparar sistemas criptográficos simétricos e assimétricos,
conclui-se que aqueles facilitam a geração e a troca das chaves,
enquanto estes facilitam a distribuição e o armazenamento das
mesmas.

Comentários

1 Os hashes são chamados de algoritmos ‘one-way’, ou seja, não dá para chegar ao input (que pode ter qualquer tamanho) a partir do output (no texto da sentença 3, pode-se encontrar mais). Entretanto, não há entropia suficiente na semente a fim de adotar um mecanismo desse como chave para um sistema de criptografia, veja:

128 bits (16 bytes do arquivo digitado por um ser humando, algo altamente determinístico) + DDMMAAHHMMSS (31 x 12 x 1 x 24 x 60 x 60 ≈ 32 milhões)

O último dado (timestamp) é ínfimo em relação aos 128 bits. Sem contar que dia, mês e ano (se duvidar, até a hora) podem ser bem mais fáceis de se encontrar. Isso lembra um problema encontrado nas primeiras implementações SSL do navegador Netscape.

2 O primeiro período está OK, diferente do último. Para compararmos a segurança de dois algoritmos, não é suficiente comparar o universo de chaves possíveis.

3 Essa, sem dúvida é a mais scrota difícil das 5, sem dúvida. Nada a comentar sobre os dois primeiros períodos:

“Um tipo de função essencial para uso em ambiente criptográfico é a das denominadas funções unidirecionais. Uma função unidirecional é uma transformação fixa (sem chaves) para a qual é impraticável se determinar a entrada a partir da saída.”

Já o último, exige um pouco mais de raciocínio: “Uma forma de se obter uma boa função unidirecional é tomar um bom algoritmo criptográfico, fixar a entrada de dados (mensagem) e utilizar a entrada de chave como entrada de dados.”

O que o examinador afirma, em outras palavras, é: dado um – bom – sistema criptográfico qualquer (pensa em um ‘RSA da vida’, ele é bom, não é?), onde há necessidade de chave como input para geração de um produto (criptograma), utiliza-se sempre os mesmos dados para cifragem, entretanto, a chave será os dados dos quais deseja-se obter o resultado da função unidirecional. Fácil hein? Imagina na hora da prova, caboco.

4 1 kilobits = 1.000 bits, o que é diferente de 1024 bits.

5 Mais uma sem tirar nem pôr. Olha a pegadinha aí! ;)

Até o próximo post!

Gabarito Oficial

49 E E C E C

8 Respostas to “Prova de 2002: Criptografia – Questão 49”

  1. felipeel said

    Esse item 4 foi de matar.
    Eu iria errar com certeza. Pesquisando no mundão olha o que encontrei:

    A kibibit (a contraction of kilo binary digit) is a unit of information or computer storage, abbreviated Kibit, or sometimes Kib. (Note that the abbreviation is capitalized, while kbit is not.)

    1 kibibit = 210 bits = 1,024 bits
    1 kibibit = 27 bytes = 128 bytes

    The kibibit is closely related to the kilobit, which can either be a synonym for kibibit, or refer to 103 bits = 1,000 bits, depending on context.
    The National Institute of Standards and Technology of U.S.A. notes that “it is important to recognize that the new prefixes for binary multiples are not part of the International System of Units (SI), the modern metric system.” It should also be noted that they are not in general use among professional software and electrical engineers, who generally use decimal prefixes when referring to binary quantities.

  2. papacharliefox3 said

    Felipe, sinceramente, não entendi nada do que tá escrito aí. :P

  3. astrometa said

    Sobre o ítem 3 ficou uma dúvida. Quando o examinador afirma em fixar a entrada de dados e usar como chave os dados para cifragemeu imaginei que a questão estava errada porque isso limitaria o tamanho máximo de dados para serem cifrados. Isso porque o tamanho das chaves (que não passam de 4096) impediriam a cifragem de blocos de dados maiores que a chave padrão do algoritmo griptográfico.

    Esse reciocínio meu está errado?

  4. papacharliefox3 said

    Astrometa, entendi seu raciocínio. Mas de onde voce tirou que o espaço da chave está limitado a 4096?

    Acredito que mesmo com uma limitação qualquer, pode-se utilizar o mecanismo das cifras de bloco, onde os dados de tamanho variável são ‘quebrados’, não é isso?

  5. Leonardo Tiago said

    Pessoal o erro da primeira alternativa está relacionada ao problema gerado no ataque do aniversário (birthday attack). Ele afirma que o MD5 é um bom metodo para geração de uma chave de aparência aleatória, que não é verdade, com o ataque do aniversário, a chave teria uma segurança de 2e64 bits. então essa chave se tornaria muito ruim o que torna a questão falsa.

  6. papacharliefox3 said

    Leonardo,

    Eu entendo que o birthday attack está relacionado ao encontro de uma colisão (hashes iguais), dado um algoritmo de hash e mensagens quaisquer; diferente de encontrar um hash idêntico a outro, dado uma mensagem m.

    Um hash não tem _aparência_ aleatória?? Posso estar errado, mas acredito que a deficiência do procedimento apresentado está no processo de geração de dados aleatórios (entrada, semente) e não na função de hash.

    Imagina o procedimento apresentado sendo finalizado com um hash de 160 bits para gerar _aparência_ aleatória, não teríamos as memas chances de descobrir a chave? Não preciso atacar o hash porque sei a semente (entrada), esta é bem mais fácil de atacar. Após aplicar uma função de hash qualquer ao universo de sementes eu chego mais facilmente a reposta.

    Agradeço sua participação! Volte mais vezes! :)

  7. Felipeel said

    Bom, revendo a questão…
    Eu concordo com o papa e com o Leonardo.
    Pegando o livro do Stallings pág.243 tem uma boa base para responder essa questão.

    A força de uma função hash contra os ataques por força bruta depende apenas do tamanho do código de hash produzido pelo algoritmo.

    Resistência a colisões ou resistência forte a colisões: é computacionalmente inviável encontrar qualquer par (x,y) tal que H(x) = H(y).

    Fórmula= 2^(n/2)
    Logo, a força da chave cai pela metade com o MD5. Lembrando que a saída do MD5 é de 128 bits, usando a fórmula teríamos 2^64. Computacionalmente falando, nos dias de hoje isso é altamente viável. Portanto, o algoritmo não serve para ser usado como um gerador de chaves. Mas essa não é a única razão. Como o papa disse, o espaço de valores para DDMMMAAHHMMSS é muito pequeno e muito fácil de descobrir justamente por estar seguindo um padrão típico de timestamp.

    Conclusão, o examinador deu vários motivos para colocar a questão como ERRADA.

  8. Juliano said

    o Erro da do item 4 está na dificuldade de fatoração dos números primos.

    Eu mesmo tive essa mesma linha de raciocinio, de pensar que o erro consta-se no kilobit. Porém depois de conversar com um professor, acho que todos o conhecem, Paulo Licio de Geus, esse item nada tem a ver com o erro, pois refere-se a grandeza “na ordem…”.

    Bom é isso.

    Alexandre, breve enviarei um posts a vc…
    Abraços e não desânime meu caro..

    Juliano Ramalho

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

 
%d blogueiros gostam disto: