Verificación de archivos simple


La verificación simple de archivos ( SFV ) es un formato de archivo para almacenar sumas de verificación CRC32 de archivos para verificar la integridad de los archivos. SFV se usa para verificar que un archivo no se haya dañado , pero no verifica la autenticidad del archivo . La extensión de archivo .sfv generalmente se usa para archivos SFV. [1]

Los archivos pueden corromperse por una variedad de razones, incluidos medios de almacenamiento defectuosos , errores en la transmisión , errores de escritura durante la copia o el movimiento y errores de software . La verificación de SFV garantiza que un archivo no se haya dañado al comparar el valor hash CRC del archivo con un valor calculado previamente. [1] Debido a la naturaleza de las funciones hash, las colisiones de hash pueden generar falsos positivos, pero la probabilidad de colisiones suele ser insignificante con corrupción aleatoria. (La cantidad de sumas de verificación posibles es limitada, aunque es grande, de modo que con cualquier esquema de suma de verificación, muchos archivos tendrán la misma suma de verificación. Sin embargo, la probabilidad de que un archivo corrupto tenga la misma suma de verificación que el original es extremadamente pequeña, a menos que se construya deliberadamente para mantener la misma. suma de comprobación.)

SFV no se puede utilizar para verificar la autenticidad de los archivos, ya que CRC32 no es una función hash resistente a colisiones ; incluso si el archivo de suma de hash no se manipula, es computacionalmente trivial para un atacante causar colisiones de hash deliberadas, lo que significa que una comparación de hash no detecta un cambio malicioso en el archivo. En criptografía, este ataque se denomina ataque de colisión . Por esta razón, las utilidades md5sum y sha1sum a menudo se prefieren en los sistemas operativos Unix , que utilizan las funciones hash criptográficas MD5 y SHA-1 respectivamente.

Incluso un error de un solo bit hace que tanto el CRC de SFV como el hash criptográfico de md5sum fallen, lo que requiere que se vuelva a recuperar todo el archivo. Las utilidades Parchive y rsync suelen ser las preferidas para verificar que un archivo no se haya dañado accidentalmente durante la transmisión, ya que pueden corregir pequeños errores comunes con una descarga mucho más corta.

A pesar de las debilidades del formato SFV, es popular debido a la cantidad de tiempo relativamente pequeña que toman las utilidades de SFV para calcular las sumas de verificación CRC32 en comparación con el tiempo que toma calcular hashes criptográficos como MD5 o SHA-1.

SFV utiliza un archivo de texto sin formato que contiene una línea para cada archivo y su suma de verificación [1] en el formato FILENAME<whitespaces>CHECKSUM . Cualquier línea que comience con un punto y coma ';' se considera un comentario y se ignora a los efectos de la verificación del archivo. El delimitador entre el nombre del archivo y la suma de comprobación es siempre uno o varios espacios; Las pestañas nunca se usan. Un archivo SFV de muestra es: