para que, si alguien se queja de lo que recibió, pueda comprobar si el archivo es realmente el que envié o si alguien lo modificó.
La forma tradicional de verificar si un archivo se modifica es usar
la utilidad " md5sum ", o la utilidad (probablemente superior) " sha256sum " utilidad.
Muchas organizaciones utilizan esta técnica para verificar que los archivos, descargados de "sitios espejo" que están convenientemente cerca (y por lo tanto más rápidos que la descarga del "sitio original" en algún otro continente), no hayan sido modificados de manera maliciosa o accidental en algún lugar en la ruta del original, al sitio reflejado, al destino final.
a b c d e
Al usar esas utilidades, alguien con la versión original del archivo genera un hash md5 corto o un hash sha256 corto (o ambos) del archivo original,
y almacena ese hash corto en algún archivo de texto en alguna parte.
(Por lo general, en el "sitio original" y en cada sitio espejo).
Más tarde, alguien con un archivo cuestionable ejecuta la misma utilidad, produciendo un valor hash nuevo.
Si el valor de hash nuevo es idéntico al hash producido a partir del archivo original (ese hash generalmente se obtiene del "sitio original", posiblemente utilizando un navegador web y https y TLS), entonces puede estar seguro de que el archivo cuestionable es, de hecho, idéntico al archivo original.
Algunas personas paranoicas descargan la suma de hash de varios "sitios espejo" y otras fuentes.
(Esto es rápido, porque la suma de hash es muy corta; mucho más rápido que volver a descargar el archivo completo de todas esas fuentes).
La probabilidad de que todas esas fuentes hayan sido subvertidas es cada vez más improbable a medida que se consultan más fuentes.
(Dado que está generando el archivo ejecutable original, tenga en cuenta que la recompilación de exactamente los mismos archivos de origen con exactamente el mismo compilador generalmente produce un archivo ejecutable ligeramente diferente, lo que resulta en un hash completamente diferente.
Consulte " ¿Cómo verifica que 2 copias de un ejecutable VB 6 provienen de la misma base de código? "
para más detalles).
Hay muchas utilidades que se construyen sobre md4sum o sha256sum.
-
md5deep y hashdeep puede hacer un "resumen" de una carpeta completa en un determinado momento, tal vez su directorio de inicio, o el directorio / bin, o la carpeta raíz de un disco duro completo. Luego, más tarde, le puede decir exactamente qué archivos se han agregado, eliminado o cambiado desde que se realizó ese resumen. Cuando los hashes coinciden, puede estar seguro de que los archivos ejecutables no han sido infectados por un virus después de la instantánea original; esto incluso detecta nuevos virus que ningún escáner de virus aún no reconoce. (Los escáneres de virus siguen siendo útiles para detectar archivos infectados por un virus antes de la instantánea original).
-
bittorrent usa sha1 para confirmar que las partes de un archivo descargado desde máquinas completamente no confiables son idénticas a las piezas originales de ese archivo.
-
rsync usa md5sum para verificar rápidamente si el archivo local es idéntico a la copia maestra de un archivo en algún servidor de archivos remoto. Si son diferentes, asume que la copia local es una versión obsoleta y descarga automáticamente las diferencias entre los dos archivos, modificando el archivo local hasta que se vuelva idéntico al archivo maestro remoto.
Estoy bastante seguro de que se podría desarrollar algún protocolo utilizando un certificado autofirmado que funcionaría tan bien como usar sha256sum; pero no veo cómo este nuevo protocolo daría ventajas sobre la verificación de sha256sum utilizada comúnmente.