Verificación de archivos


La verificación de archivos es el proceso de utilizar un algoritmo para verificar la integridad de un archivo de computadora , generalmente mediante suma de comprobación . Esto se puede hacer comparando dos archivos bit a bit, pero requiere dos copias del mismo archivo y puede pasar por alto las corrupciones sistemáticas que pueden ocurrir en ambos archivos. Un enfoque más popular es generar un hash del archivo copiado y compararlo con el hash del archivo original.

La integridad del archivo puede verse comprometida, lo que generalmente se denomina archivo dañado . Un archivo puede corromperse de diversas formas: medios de almacenamiento defectuosos , errores de transmisión, errores de escritura durante la copia o movimiento, errores de software , etc.

La verificación basada en hash garantiza que un archivo no se haya dañado al comparar el valor hash del archivo con un valor calculado previamente. Si estos valores coinciden, se presume que el archivo no está modificado. Debido a la naturaleza de las funciones hash, las colisiones hash pueden resultar en falsos positivos , pero la probabilidad de colisiones es a menudo insignificante con la corrupción aleatoria.

A menudo es deseable verificar que un archivo no haya sido modificado durante la transmisión o el almacenamiento por partes no confiables, por ejemplo, para incluir código malicioso como virus o puertas traseras . Para verificar la autenticidad, una función hash clásica no es suficiente, ya que no están diseñadas para ser resistentes a colisiones ; Computacionalmente es trivial que un atacante cause colisiones de hash deliberadas, lo que significa que un cambio malicioso en el archivo no se detecta mediante una comparación de hash. En criptografía, este ataque se denomina ataque de preimagen .

Con este fin, a menudo se emplean funciones hash criptográficas . Siempre que las sumas hash no se puedan alterar, por ejemplo, si se comunican a través de un canal seguro, se puede suponer que los archivos están intactos. Alternativamente, se pueden emplear firmas digitales para asegurar la resistencia a la manipulación .

Varias utilidades, como md5deep , pueden usar dichos archivos de suma de comprobación para verificar automáticamente un directorio completo de archivos en una sola operación.