Verificación de archivos simple


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

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

SFV no se puede utilizar para verificar la autenticidad de 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 un cambio malicioso en el archivo no se detecta mediante una comparación de hash. 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 recupere todo el archivo. Las utilidades Parchive y rsync a menudo se prefieren 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 relativamente pequeña de tiempo que tardan las empresas de servicios públicos SFV en calcular las sumas de comprobación CRC32 en comparación con el tiempo necesario para 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 comprobación [1] en el formato NOMBRE DE ARCHIVO <espacios en blanco> 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 utilizan. Un archivo SFV de muestra es: