22 may 2013

¿INTEGRIDAD EN LA COPIA DE ARCHIVOS?, COMPRUÉBALO CON SU "HASH"



Se conoce como "Hashing" a la producción de valores "hash" utilizando funciones criptográficas.

Este tipo de funciones, se caracterizan por tener unas propiedades perfectas a la hora de comprobar la integridad de los archivos, además son extremadamente seguras y también consumen muy pocos recursos en su creación. A partir de una cadena de texto se obtiene un único número, el "hash".

¿Como sabemos si la copia exacta de un archivo ha sido correcta y no ha sido alterada?, la respuesta es, mediante los valores "hash". Comúnmente se conoce también como "digital fingerprint", (huella digital) o como "digital DNA", (ADN Digital).

Este método es tan seguro que cualquier cambio realizado en el archivo, incluso de un solo Bit, da como resultado un hash totalmente distinto, pudiendo así identificar las alteraciones producidas.

Podemos distinguir varios tipos de algoritmos de Hash, los mas usados y conocidos son: Message Digest 5 (MD5) y Security Hashing Algorithm (SHA) 1 y 2.

1. MD5:

Desarrollado por Ron Rivest en 1991 como sustituto del MD4. Procesa mensajes de una longitud arbitraria en bloques de 512 bits generando un compendio de 128 bits. Es utilizado actualmente, sobretodo, para comprobar la integridad de un fichero tras una descarga.



2. SHA-1:

Desarrollado por la "Agencia de Seguridad Nacional" (NSA) de los Estados Unidos, el SHA-1 toma como entrada un mensaje de longitud máxima 264 bits (más de dos mil millones de Gigabytes) y produce como salida un resumen de 160 bits. Este número es mayor que el que se utilizaba en el algoritmo SHA original, 128 bits. Ya existen nuevas versiones de SHA que trabajan con resúmenes de 224,256,384 e incluso 512 bits, SHA-224, SHA-256, SHA-384, Y SHA-512, (llamandose SHA-2 a todos ellos).



Para ver más claramente todo esto, vamos a poner un ejemplo, y veremos como un pequeño cambio hace que el hash cambie radicalmente.

Vamos a producir el hash para la cadena de texto, "Defconsecnews" (sin las comillas), usando el algoritmo SHA1. El resultado es:


Cadena de texto:  Defconsecnews
SHA1:                 dce2 bf49 cd39 6613 1405 c70c 03b9 061d 014f 56eb


Ahora, haciendo una pequeña modificación en la frase, poniendo la primera letra en minúsculas,obtenemos el siguiente resultado en el hash:


Cadena de texto:  defconsecnews
SHA1:                 8c2f eafb 0694 fc40 e79e a947 c054 36ed 44d5 f3d4


Podemos comprobar a continuación los dos hashes:


1.   dce2 bf49 cd39 6613 1405 c70c 03b9 061d 014f 56eb
2.   8c2f eafb 0694 fc40 e79e a947 c054 36ed 44d5 f3d4



Como se puede observar con sólo un pequeño cambio se obtiene un hash totalmente diferente.

Os animamos a que lo probéis, y para eso podéis utilizar la herramienta online disponible en, http://www.wolframalpha.com



Proceder de la siguiente manera:


SHA1 [espacio] cadena de texto.





Donde "SHA1" es el algoritmo elegido y "cadena de texto" es el texto a "hashear".

Comprobando nuestros ejemplos anteriores obtenemos los siguientes resultados ya mostrados:


Cadena de texto:  Defconsecnews
SHA1:                  dce2 bf49 cd39 6613 1405 c70c 03b9 061d 014f 56eb






y el segundo ejemplo seria:


Cadena de texto:  defconsecnews
SHA1:                 8c2f eafb 0694 fc40 e79e a947 c054 36ed 44d5 f3d4






En resumen, cuando clonamos un archivo, un disco duro, etc, se produce una copia exacta bit-por-bit. Gracias a los valores Hash podemos comprobar la integridad de los mismos, evitando así posibles modificaciones realizadas, ya sea intencionadamente o no (malware).


Otras webs para comprobar "Hashes" online son:


Puedes crear tus propios "Hashes" y comprobarlos con la ayuda de cualquiera de estos programas:

  • Microsoft File Checksum Integrity Verifier: IR.
  • MD5 & SHA Checksum Utility 2.0: IR.
  • Hyper Hasher 6.0.4.: IR.
  • MD5 Checksum Verifier 4.8: IR.
  • Hashtab 5.0: IR.
  • HashMyFiles v1.96: IR.
  • The HashCheck Shell Extension 2.1.11: IR.
  • Febooti Hash & CRC 3.5: IR.
  • MD5 Calculator: IR.
  • IgorWare Hasher 1.6.0: IR.


No hay comentarios:

Publicar un comentario