Baixe o app para aproveitar ainda mais
Prévia do material em texto
Segurança Computacional Resumo de Mensagem Universidade CEUMA Sistemas de Informação Prof. Emanoel Claudino Resumo de Mensagem (Hash) O resumo de mensagem, também conhecido como função de hash (ou função de espalhamento), é um algoritmo matemático que, tomando como base um arquivo de qualquer tamanho, gera um número com dimensão definida, normalmente de 128 a 512 bits, denominado resumo criptográfico. Essa sequência busca identificar um arquivo ou uma informação de forma única. Uma função hash é um algoritmo que mapeia dados de comprimento variável para dados de comprimento fixo. Os valores retornados por uma função hash são chamados valores hash, códigos hash, somas hash (hash sums), checksums ou simplesmente hashes. Resumo de Mensagem (Hash) Para a geração do resumo criptográfico (ou código hash), operações matemáticas realizam cálculos que levam em consideração todo o conteúdo do documento. Essa operação resulta em um número com tamanho fixo e, caso ocorra uma modificação no arquivo, ainda que de um único bit, o novo número gerado será totalmente diferente. Resumo de Mensagem (Hash) Um hash é uma sequência de bits geradas por um algoritmo de dispersão, em geral representada em base hexadecimal, que permite a visualização em letras e números (0 a 9 e A a F. O conceito teórico diz que "hash é a transformação de uma grande quantidade de dados em uma pequena quantidade de informações". Em criptografia, um algoritmo de hashing ou dispersão é um método de cifrar dados de forma a manter a sua integridade. Resumo de Mensagem (Hash) Trata-se de uma função matemática aplicada sobre um conjunto de dados que gera outro número, este conhecido como hash. De forma bem simplista, pode ser equivalente a um dígito verificador. Um exemplo bem simples do dia-a-dia é o boleto bancário. Quando temos uma representação numérica como 23790.12301 60000.000053 25000.456704 1 63380000013580, o dígito destacado é calculado em função de todos os outros dígitos do boleto, de forma que qualquer alteração nos demais dados do boleto geraria um novo dígito verificador, permitindo assim que perceba-se facilmente qualquer erro de digitação em um sistema de Internet Banking por exemplo. Neste caso, o hash contendo apenas um dígito é bem simples e tem propósito simples também, apenas validar eventuais erros de digitação. Resumo de Mensagem (Hash) Essa sequência busca identificar um arquivo ou informação unicamente. Por exemplo, uma mensagem de correio eletrônico, uma senha, uma chave criptográfica ou mesmo um arquivo. É um método para transformar dados de tal forma que o resultado seja (quase) exclusivo. Além disso, funções usadas em criptografia garantem que não é possível a partir de um valor de hash retornar à informação original. Resumo de Mensagem (Hash) Outra aplicação de hashes é o download de arquivos da Internet. Especialmente no caso de arquivos grandes, é comum que sejam disponibilizados nos sites a informação do hash do arquivo. Desta forma, após a conclusão do download, pode-se calcular o hash sobre o arquivo baixado, comparando-o com o esperado. Em caso de qualquer alteração no conteúdo do arquivo durante o download, o hash calculado será diferente do esperado, e o erro será detectado. Resumo de Mensagem (Hash) Com o uso das funções hash, pode-se aferir a integridade de um arquivo ou de uma mensagem, pois qualquer modificação que ocorra, por menor que seja, gerará um número de hash totalmente diferente, se submetido à verificação. Caso alguém deseje enviar um arquivo a outra pessoa, e assegurar- se que ele chegou íntegro, poderá submeter a mensagem a um algoritmo de hashing, que produzirá como resultado um determinado código. Resumo de Mensagem (Hash) O número de hash gerado poderá ser enviado ao destinatário por outro meio (por telefone, por exemplo). O destinatário, ao receber a mensagem, submete-a ao mesmo algoritmo de hashing, que lhe fornecerá um número. Comparam-se os dois números gerados e, se forem iguais, isso significa que não houve alteração na mensagem, que chegou, inequivocamente, íntegra. Resumo de Mensagem (Hash) hashing 39ed75f4eabc2fa51e0 9772c3d7d7d79 texto claro Internet texto claro hashing 39ed75f4eabc2fa51e0 9772c3d7d7d79 hash Emissor Receptor hash Resumo de Mensagem (Hash) Uma função resumo poderá ser usada para várias finalidades, como criptografia e autenticação, mas um de seus usos mais comuns é na assinatura digital de documentos, arquivos e mensagens. Dos fundamentos da comunicação segura, o uso de funções de hashing garante claramente a integridade dos dados. Como a sequência do hash é limitada, muitas vezes não passando de 512 bits, existem colisões (sequências iguais para dados diferentes). Quanto maior for a dificuldade de se criar colisões intencionais, melhor é o algoritmo. Resumo de Mensagem (Hash) Os Resumos Criptográficos são únicos no sentido de que dois arquivos diferentes nunca terão o mesmo Resumo Criptográfico, exceto no evento improvável de uma colisão de hash, intercorrência cuja probabilidade diminui exponencialmente na medida em que se aumenta o tamanho do código de hash. Resumo de Mensagem (Hash) A função mais difundida da atualidade é o SHA-1 (Secure Hash Algoritm), evolução do SHA, em que foram identificadas algumas fraquezas. Existem ainda a SHA-2 256, SHA-2 384 e SHA-2 512 e, como se pode inferir, os números se referem ao tamanho do número hash gerado, em bits. Resumo de Mensagem (Hash) Os algoritmos de hash mais usados são os de 16 bytes (ou 128 bits, tamanho do message digest) MD4 e MD5 ou o SHA-1, de 20 bytes (160 bits). MD4: Desenvolvido em 1990/91 por Ron Rivest, vários ataques foram detectados, o que fez com que o algoritmo fosse considerado frágil. Descrito na RFC 1320. MD5: O MD5 (Message-Digest algorithm 5) é um algoritmo de hash de 128 bits unidirecional desenvolvido pela RSA Data Security, Inc., descrito na RFC 1321, e muito utilizado por softwares com protocolo par-a-par (P2P, ou Peer-to-Peer, em inglês), verificação de integridade e logins. Existem alguns métodos de ataque divulgados para o MD5. Resumo de Mensagem (Hash) SHA-1 (Secure Hash Algorithm): Desenvolvido pelo NIST e NSA. Já foram exploradas falhas no SHA. WHIRLPOOL: função criptográfica de hash desenvolvida por Paulo S. L. M. Barreto e por Vincent Rijmen (co-autor do AES). A função foi recomendada pelo projeto NESSIE (Europeu). Foi também adotado pelo ISO e IEC como parte do padrão internacional ISO 10118-3.
Compartilhar