|
funções
"HASH"
Por
Claudemir C. Santos
Introdução Imaginem
a seguinte situação: "Um
arquivo é periciado, devolvido a delegacia/justiça em mídia
magnética (disquete ou hd), depois de algum tempo, levanta-se uma
dúvida sobre o que foi feito no trabalho pericial. Como
garantir que o material não sofreu nenhuma alteração isto é,
o arquivo está com o mesmo conteúdo e formato quando da
perícia?" O
que podemos fazer para garantir que um arquivo examinado por um agente
investigativo, possa ser identificado posteriormente e ainda ter
a certeza que nenhuma alteração acometeu a prova? Um
documento escrito ou impresso numa folha de papel, possui como
proteção o suporte onde ele foi posto. Isto é, em caso de
dúvida sobre sua autenticidade, poderíamos analisar
fisicamente o material (uso de lentes, padrões do fabricante,
rasuras, etc).
Funções "Hash" em arquivos digitais Denominam-se
funções "Hash" o método de autenticação pelo
qual, por meio de algoritmos verificamos a autenticidade de um
arquivo. O procedimento é simples, por meio de funções
específicas um conjunto de letras e números de tamanho fixo
são associados ao arquivo. Para se ter certeza que o arquivo é
o mesmo executa-se o programa e gera-se a chave, se não ocorreram
mudanças no conjunto "hash", o arquivo não foi alterado. Um
ponto chave para a segurança é o fato de ser impossível
retornar ao arquivo por meio de analise do resumo gerado. Exemplo,
método SHA Vamos
utilizar como exemplo o algoritmo SHA, para gerar uma chave fixa
de autenticação, para o arquivo exemplo carta.txt, o qual
contem o seguinte conteúdo: .
=============
CARTA EXEMPLO
=============
Número serial : 234432265236342xxx
Usuario : Joao Claudio de Almeida
Texto exemplo para uso de SHA.
===========================================
fim do documento
===========================================
Etapa
1 Digita-se
o nome do arquivo hash <sha> seguido do nome do arquivo
<carta.txt> : sha
carta.txt
07e660bb bfb4cb85 1aa3367e fa5c4bd6 2c42ea46
Imagine
que alguém intercepta este arquivo e altera o "Número
serial" em um único digito.
Original "Número serial : 234432265236342xxx"
Adulterado "Número serial : 234432267236342xxx"
Em nosso exemplo é o 9° digito.
Novo
arquivo carta.txt:
=============
CARTA EXEMPLO
=============
Número serial : 234432267236342xxx
Usuario : Joao Claudio de Almeida
Texto exemplo para uso de SHA.
===========================================
fim do documento
===========================================
Etapa
2 Determinamos
o "hash" do arquivo carta.txt com a adulteração. sha
carta.txt
58095d3e 42b2cee0 15f6a7e7 af53b02b 84db94b9
Etapa3 Comparar
as chaves do arquivo carta.txt original e o arquivo adulterado.
Note que a chave gerada pelo SHA é completamente diferente, a
alteração foi somente para um digito!!!. Hash
do arquivo original
07e660bb bfb4cb85 1aa3367e fa5c4bd6 2c42ea46
Hash
do arquivo adulterado em um dígito
58095d3e 42b2cee0 15f6a7e7 af53b02b 84db94b9
Nenhuma
alteração é tolerada pela função "HASH". Desta
forma a autenticidade fica preservada. Algoritmos
mais comuns MD5(Message-Digest-Algoritm
5) Criado
por R. Rivest do MIT Laboratory for Computer Sciense and RSA
Data Security, em 1992. O uso deste algoritmo gera um resumo de
128bits (16 dígitos). SHA(Secure
Hash Algoritm) Desenvolvido
a partir do MD4 (versão anterior do MD5) em 1994, foi criado pelo governo dos Estados Unidos. Sua
vantagem sobre o MD5 é o tamanho do resumo que é de 160bits
(20 dígitos). RISCOS COLISÕES EXISTE
A POSSIBILIDADE DE ARQUIVOS DIFERENTES GERAREM O MESMO RESUMO,
CONTUDO ALEM DE REMOTA É IMPREVISÍVEL.
|