¿Cuál es el valor de las sumas de verificación MD5 si el hash MD5 también podría haber sido manipulado?

39

Las descargas en sitios web a veces tienen una suma de comprobación MD5, lo que permite a las personas confirmar la integridad del archivo. He oído que esto es para permitir que no solo los archivos corruptos se identifiquen instantáneamente antes de que causen un problema, sino también para que cualquier cambio malicioso se detecte fácilmente.

Sigo la lógica en lo que respecta a la corrupción de archivos, pero si alguien deliberadamente desea cargar un archivo malicioso , podría generar una suma de verificación MD5 correspondiente y publicarla en el sitio de descarga junto con el archivo alterado. Esto engañaría a cualquiera que descargue el archivo y piense que no ha sido modificado.

¿Cómo pueden las sumas de verificación MD5 proporcionar protección contra archivos alterados deliberadamente si no hay forma de saber si la suma de verificación en sí misma ha sido comprometida?

Austin '' Peligro '' Poderes
fuente
3
Si confiamos en que el host del sitio web observe discrepancias sutiles de marca de tiempo en lugar de que el hash MD5 actúe como un sello de autenticidad ... entonces la protección proporcionada por la suma de control se ha evaporado prácticamente.
Austin '' Peligro '' Powers
44
@BigChris No estoy seguro de lo que quieres decir, pero suena mal. Algoritmos hash criptográficos como MD5 son completamente acerca de los datos del mensaje. Dos mensajes aleatorios de la misma longitud casi seguramente tendrán hashes diferentes.
Matt Nordhoff
3
@MattNordhoff exactamente. Si una suma de control MD5 no se genera sobre la base de datos de archivo, lo que se basa?
Austin '' Peligro '' Powers
2
Los datos de hash MD5 se construirían sobre los datos, sí, pero no tomaría demasiado esfuerzo crear un archivo malicioso con el mismo hash. Como se dijo, no habría forma de verificar si el archivo era malicioso o no. Leer: mscs.dal.ca/~selinger/md5collision
Kinnectus
2
A veces, los hash se publican en el servidor de origen, mientras que las descargas reales se alojan en servidores espejo y / o CDN de terceros.
el.pescado

Respuestas:

89

He oído que esto es para permitir que [...] también se detecten cambios maliciosos.

Bueno, entonces escuchaste mal. Las sumas de verificación MD5 (o SHA o lo que sea) se proporcionan ( junto a los enlaces de descargas, específicamente ) solo para verificar una descarga correcta. Lo único que pretenden garantizar es que tenga el mismo archivo que el servidor. Nada más y nada menos. Si el servidor está comprometido, eres SOL. Es realmente tan simple como eso.

Daniel B
fuente
31
+1. Se utilizan principalmente para proteger contra la corrupción accidental (errores de transferencia de red, sectores defectuosos en el disco, etc.). Para protegerse contra la corrupción maliciosa, la suma de verificación debe venir de una ubicación desconectada de confianza. Lo mismo con PGP / GPG / mensajes firmados similares: solo aseguran completamente el contenido si confía en dónde obtuvo la clave pública.
David Spillett
1
Es posible que también desee agregar a su respuesta que las firmas diferenciales abordan esta limitación (suponiendo que confía en el certificado / autoridad de certificación)
atk
2
Es incluso peor que esto: si alguien puede alterar su tráfico hacia / desde el servidor, incluso si el servidor no está comprometido, puede modificar tanto el archivo como la suma de verificación que recibe.
cpast
3
Para ampliar: Si se hizo garantía de que tenía el mismo archivo que el servidor tenía, sería una medida de seguridad legítima, porque significaría que no tiene que confiar en la red. Eso es exactamente lo que hacen los MAC en TLS: demostrar que lo que recibió es lo que envió el servidor, pero TLS tampoco puede hacer nada con respecto a un servidor comprometido. Si se transmite un buen hash a través de una conexión confiable, puede proporcionar seguridad (que se deriva de la conexión confiable); si se envía a través de la misma conexión que el archivo, entonces es inútil porque no es más resistente a la manipulación que el archivo mismo.
cpast
2
Esto está mal. A veces, las sumas de verificación se proporcionan de forma segura, pero la descarga no. Dado que MD5 está roto, las sumas de verificación de seguridad de MD5 son más débiles que las sumas de verificación más seguras, pero antes de que MD5 se rompiera, un MD5 provisto de forma segura (por ejemplo, uno que fue firmado o enviado por HTTP) que coincidía con el MD5 de la descarga fue una fuerte evidencia de que el la descarga recibida fue la que el servidor estaba haciendo disponible. Agregaré una respuesta con más detalles a continuación ahora.
Matthew Elvey
15

La solución utilizada por algunos sistemas de administración de paquetes como dpkg es firmar el hash : use el hash como entrada para uno de los algoritmos de firma de clave pública. Ver http://www.pgpi.org/doc/pgpintro/#p12

Si tiene la clave pública del firmante, puede verificar la firma, lo que demuestra que el hash no se ha modificado. Esto solo te deja con el problema de obtener la clave pública correcta por adelantado, aunque si alguien alguna vez manipula la distribución de la clave, también tiene que manipular todo lo que puedas verificar con ella; de lo contrario, verás que algo extraño está sucediendo.

pjc50
fuente
9

Su suposición es correcta. Sin embargo, hay una excepción. Si el servidor que proporciona el archivo y la página donde se encuentra el hash no son administrados por la misma entidad. En ese caso, el desarrollador de software puede querer decir "oye, la gente descarga esto desde ese lugar pero solo cree si hash = xxxx". (Esto podría ser útil para CDN como ejemplo). Supongo que esta fue la razón por la que alguien lo hizo en primer lugar. Que otros solo siguieron pensando lo genial que sería mostrar el hash. Sin siquiera pensar en lo útil que es, ni siquiera el archivo y el hash están en la misma ubicación.

Dicho esto, esto vale lo que es. No asumas demasiado sobre seguridad como otros ya han dicho. Si y solo si puede confiar absolutamente en el hash original, entonces el archivo es bueno. De lo contrario, un atacante con suficiente motivación y conocimiento puede alterar tanto el archivo como el hash, incluso si están en diferentes servidores y administrados por diferentes entidades.

nsn
fuente
8

A veces, las sumas de verificación se proporcionan de forma segura, pero la descarga no. Dado que MD5 está roto , las sumas de verificación de seguridad de MD5 son más débiles que las sumas de verificación más seguras, pero antes de que MD5 se rompiera, un MD5 proporcionado de forma segura (por ejemplo, uno que fue firmado con PGP o GPG o Gatekeeper, o obtenido a través de HTTPS) que coincidía con el MD5 de la descarga fue una fuerte evidencia de que la descarga recibida fue la que el servidor estaba poniendo a disposición.

He estado escribiendo sobre la lamentable falta de sumas de verificación seguras durante años, aquí .

Los usuarios no deben descargar ejecutables no confiables a través de redes no confiables y ejecutarlos, debido al riesgo de ataques MITM. Ver, por ejemplo, "Inseguridades dentro de los sistemas de actualización automática" por P. Ruissen, R. Vloothuis.

Anexo 2014: No, NO está mal "que las sumas de verificación publicadas en las páginas web se usen para detectar modificaciones maliciosas", porque ESTE es un rol que pueden desempeñar. Ayudan a proteger contra la corrupción accidental, y si se sirve a través de HTTPS o con una firma verificada (o mejor aún, ambas) ayudan a proteger contra la corrupción maliciosa. Obtuve sumas de verificación sobre HTTPS y verifiqué que coincidían con las descargas HTTP muchas veces.

Hoy en día, los archivos binarios a menudo se distribuyen con hashes firmados y verificados automáticamente, aunque incluso esto no es perfectamente seguro .

Extracto del enlace anterior: "La aplicación KeRanger se firmó con un certificado de desarrollo de aplicación Mac válido; por lo tanto, pudo evitar la protección Gatekeeper de Apple". ... "Apple ha revocado el certificado abusado y actualizado la firma del antivirus XProtect, y Transmission Project ha eliminado los instaladores maliciosos de su sitio web. Palo Alto Networks también ha actualizado el filtrado de URL y la prevención de amenazas para evitar que KeRanger afecte los sistemas. Análisis técnico

Los dos instaladores de transmisión infectados por KeRanger fueron firmados con un certificado legítimo emitido por Apple. El desarrollador que enumeró este certificado es una empresa turca con la identificación Z7276PX673, que era diferente de la identificación del desarrollador utilizada para firmar versiones anteriores del instalador de la transmisión. En la información de firma de código, encontramos que estos instaladores fueron generados y firmados en la mañana del 4 de marzo ".

Addenda 2016:

@Cornstalks: Re. tu comentario a continuación: Incorrecto. Como se señaló actualmente en el artículo de Wikipedia sobre ataque de colisión al que se vincula, "En 2007, se encontró un ataque de colisión con prefijo elegido contra MD5" y "el atacante puede elegir dos documentos arbitrariamente diferentes y luego agregar diferentes valores calculados que resultan en el conjunto documentos que tienen un valor hash igual ". Por lo tanto, incluso si el MD5 se proporciona de forma segura y un atacante no puede modificarlo, un atacante PUEDE usar un ataque de colisión de prefijo elegido con un prefijo elegido que contenga malware, lo que significa que MD5 NO es seguro para fines de cifrado. Esta es en gran parte la razón por la cual US-CERT dijo que MD5 "debe considerarse criptográficamente roto y no apto para su uso posterior".

Un par de cosas más: CRC32 es una suma de verificación. MD5, SHA, etc. son más que sumas de verificación; están destinados a ser hashes seguros. Eso significa que se supone que son muy resistentes a los ataques de colisión. A diferencia de una suma de comprobación, un hash seguro comunicado de forma segura protege contra un ataque de hombre en el medio (MITM) donde el MITM está entre el servidor y el usuario. No protege contra un ataque donde el servidor en sí está comprometido. Para protegerse contra eso, las personas generalmente confían en algo como PGP, GPG, Gatekeeper, etc.

Matthew Elvey
fuente
Me gusta esta respuesta porque resalta una parte fundamental de una suma de verificación : es simplemente una métrica, de muchas, para verificar la validez del contenido de un archivo. Si la red en sí no es confiable, no es inviable imaginar uno reemplazando los hash MD5 y parcheando binarios sobre la marcha (como ya hemos visto en algunos nodos de salida de Tor) ... Por supuesto, MD5 no proporciona protección contra archivos modificados deliberadamente porque ya está confiando en el proveedor de dichos archivos para empezar.
Avance el
2
MD5 no está totalmente roto: el ataque es un ataque de colisión , no un archivo adjunto de preimagen (que sería mucho, mucho peor). Si el MD5 se proporciona de forma segura y un atacante no puede modificarlo, entonces un atacante no puede usar un ataque de colisión (y debe usar un ataque de preimagen), lo que significa que el MD5 sigue siendo bastante seguro para ese propósito. Vale la pena eliminar el MD5 debido a su vulnerabilidad de colisión, pero no tiene una vulnerabilidad de imagen previa (conocida), por lo que no está totalmente roto. Solo medio roto.
Cornstalks
+1! Pero ... ¿Es un hash firmado realmente tan seguro ( confiable ) como un hash sin firmar obtenido a través de https (ssl / tls)? Creo que todavía es preferible que el hash en sí mismo esté firmado de todos modos ... ''
dijo el
4

Esta es la razón precisa por la que las sumas de verificación publicadas a menudo llevan un descargo de responsabilidad que dice "Esto no puede proteger contra la modificación maliciosa del archivo". Entonces, la respuesta corta es "no pueden proporcionar ninguna protección contra un archivo alterado deliberadamente" (aunque, si la página se entrega a través de HTTPS, HTTPS protege contra modificaciones; si el archivo no se entrega a través de HTTPS pero la suma de verificación es decir, eso podría ayudar a algunos, pero no es un caso común). Quien le dijo que las sumas de verificación publicadas en las páginas web se utilizan para detectar modificaciones maliciosas estaba equivocado, porque este no es un rol que puedan realizar; todo lo que hacen es ayudar a protegerse contra la corrupción accidental y la corrupción maliciosa perezosa (si alguien no se molesta en interceptar la página que le da la suma de verificación).

Si desea protegerse contra la modificación deliberada, debe evitar que las personas jueguen con la suma de verificación o hacer que sea imposible para cualquier otra persona generar una suma de verificación válida. El primero puede implicar entregarlo en persona o similar (por lo que la suma de verificación en sí misma es confiable); este último va a los algoritmos de firma digital (donde necesita obtener de forma segura su clave pública para el descargador; en TLS, esto se hace confiando en última instancia en las autoridades de certificación directamente y haciendo que verifiquen a todos los demás; también se puede hacer a través de una red de confianza , pero el punto es que algo debe transferirse de forma segura en algún momento, y simplemente publicar algo en su sitio no es suficiente).

cpast
fuente
2
Los hashes pueden proteger contra la alteración maliciosa si se sabe a través de una fuente independiente cuál debería ser el hash esperado de una versión confiable de un archivo. El valor de que el sitio web enumere los valores hash de sus archivos no radica en permitir que las personas que descargan archivos de un sitio verifiquen el hash del archivo descargado en el mismo sitio, sino en dejar que las personas que conocen de alguna otra fuente el hash del archivo que desean , sepa si el archivo en cuestión coincidirá antes de descargarlo. Por cierto, una cosa que me gustaría ver ...
supercat
... sería una forma de URL / URI que incluyera un valor hash esperado (probablemente SHA en lugar de MD5), y especificaría que un navegador solo debería aceptar un archivo si el hash coincide con lo especificado. En los casos en que muchas personas necesiten acceder al mismo archivo grande, darles a todas esas personas una URL a través de https: // pero hacer que descarguen el archivo desde un proxy podría ser más eficiente que hacer que todos usen https: // directamente de la fuente.
supercat
@supercat Eso es lo que quise decir con "evitar que la gente juegue con la suma de verificación": algo debe transferirse de forma segura, y si esa es la suma de verificación, la suma de verificación puede ayudar a proteger contra la manipulación maliciosa del archivo.
cpast
Una suma de comprobación MD5 transmitida a través de alguna ruta distinta de un archivo en sí mismo proporcionaría protección contra la manipulación a menos que el archivo se haya creado deliberadamente para facilitar dicha manipulación. Por el contrario, algo como CRC32 casi no proporcionaría protección contra la manipulación, incluso si la fuente original del archivo fuera confiable y el CRC32 se entregara de forma segura.
supercat
4

Esto es realmente un problema. Mostrar sumas de comprobación en el mismo sitio que el archivo a descargar no es seguro. Una persona que puede cambiar el archivo también puede cambiar la suma de verificación. La suma de verificación debe mostrarse a través de un sistema separado completo, pero esto no es factible, porque cómo decirle al usuario de manera segura dónde se puede encontrar la suma de verificación.

Una posible solución es el uso de archivos firmados.

(Por cierto: MD5 no es seguro en ningún lugar y ya no debería usarse).

meneo de pantano
fuente
2

¿Cómo pueden las sumas de verificación MD5 proporcionar protección contra archivos alterados deliberadamente si no hay forma de saber si la suma de verificación en sí misma ha sido comprometida?

Estás completamente en lo correcto. El objetivo, entonces, sería equivocarse "si": si sabemos que un hash criptográfico seguro de un archivo no está comprometido, entonces sabemos que el archivo tampoco está comprometido.

Por ejemplo, si publica un hash de un archivo en su sitio web y luego se vincula a una copia del archivo en un servidor espejo de terceros, una práctica común en la distribución de software libre anticuada, sus usuarios pueden estar protegidos contra algunos tipos de los ataques Si el servidor espejo es malicioso o está comprometido, pero su sitio web está bien, el espejo no podrá subvertir su archivo.

Si su sitio web usa HTTPS, o si firma el hash gpg, su archivo también puede estar (en su mayoría) protegido de los atacantes de la red, como puntos de acceso Wi-Fi maliciosos, nodos de salida de Tor corruptos o NSA.

Matt Nordhoff
fuente
1
Con respecto a gpg: recuerde que esto tiene problemas similares si no confía por completo en que la clave pública no ha sido reemplazada por una comprometida y el contenido firmado con la clave privada correspondiente.
David Spillett
1

No puede modificar la suma de comprobación MD5 sin modificar también el archivo. Si descarga el archivo, luego descargue el hash, y luego su cálculo de los has del archivo no coincide con lo que se proporciona, ya sea el hash o el archivo es incorrecto o está incompleto.

Si desea "vincular" el archivo a algo externo, como autor, máquina, etc., debe estar firmado , utilizando un proceso de tipo PKI con certificados. El autor del archivo, etc., puede firmar el archivo con su clave privada, y usted puede verificar las firmas con la clave pública, que debe estar disponible públicamente, firmada por una CA en la que usted y el autor confían, y descargable, preferiblemente desde múltiples localizaciones.

Si modifica el archivo, la firma no será válida, por lo que también se puede usar para verificar la integridad del archivo.

LawrenceC
fuente
1

Los hashes indican si su versión del archivo (la "descarga") difiere de la versión del servidor. No ofrecen ninguna garantía de autenticidad del archivo.

Las firmas digitales (cifrado asimétrico + función hash) se pueden usar para verificar que el archivo no haya sido modificado por nadie que no tenga la clave privada correspondiente.

El creador del archivo procesa el archivo y encripta el hash usando su clave privada (secreta). De esa manera, cualquier persona con la clave pública correspondiente (no secreta) puede verificar que el hash coincida con el archivo, pero si bien el contenido del archivo puede modificarse, nadie puede reemplazar el hash correspondiente con uno que coincida con el archivo (después de que el hash se descifre usando la clave pública), a menos que logren forzar la clave privada por fuerza bruta u obtener acceso a ella de alguna manera.

¿Qué impide que el Sr. "A.Hacker" simplemente modifique el archivo y luego lo firme con su propia clave privada?

Para validar el archivo, debe comparar su hash con el que obtuvo descifrando la firma digital asociada. Si crees que el archivo es de "IMAwesome", entonces descifras el hash usando su clave y el hash no coincide con el archivo, ya que el hash fue encriptado usando la clave de A.Hacker.

Las firmas digitales permiten detectar cambios accidentales y maliciosos.

Pero, ¿cómo obtenemos la clave pública de IMAwesome en primer lugar? ¿Cómo podemos asegurarnos de que cuando obtuvimos su clave, en realidad no fue la clave de A. Hacker servida por un servidor comprometido o un ataque man-in-the-middle? Aquí es donde entran las cadenas de certificados y los certificados raíz de confianza, ninguno de los cuales son soluciones perfectamente seguras [1] para el problema, y ​​ambos probablemente deberían explicarse bien en Wikipedia y en otras preguntas sobre SO.

[1] Tras la inspección, los certificados raíz que se enviaron con el sistema operativo Microsoft en mi PC de trabajo incluyen un certificado del Gobierno de los EE. UU. Cualquier persona con acceso a la clave privada correspondiente tos NSA tos , por tanto, puede servir contenido a mi navegador web que pasa por el "¿hay un candado en la barra de direcciones" cheque. ¿Cuántas personas realmente se molestarán en hacer clic en el candado y ver quién está usando el par de llaves para "asegurar" la conexión?

Mark K Cowan
fuente
Solo se necesita una persona que revise la cadena de certificados para causar un escándalo. Si cree que la NSA usaría una clave de CA del gobierno para MITM en lugar de usar una robada de una autoridad de certificación privada o, mejor aún, extranjera (lo que proporciona una negación plausible), tengo un puente para venderle.
Charles Duffy
Estaba sugiriendo la posibilidad de que podría usarse para apuntar un MITM a un usuario en particular. En cuanto a si es realmente probable, eso es para que la gente de papel de aluminio debata sobre
Mark K Cowan
No estoy cuestionando si es probable un MITM específico. Me pregunto si es probable que sea lo suficientemente descuidado como para usar una clave de CA fácilmente atribuible y rastreada. Particularmente para un objetivo de alto valor suficiente, es probable que el tráfico neto saliente se registre con suficiente detalle para incluir metadatos hasta e incluyendo la parte pública del protocolo de enlace SSL, por lo que incluso si el usuario no mira, su personal de seguridad o la infraestructura automatizada podría hacerlo en análisis retrospectivo.
Charles Duffy
1

¿Cómo pueden las sumas de verificación MD5 proporcionar protección contra archivos alterados deliberadamente si no hay forma de saber si la suma de verificación tampoco se ha visto comprometida?

Esta es una muy buena pregunta. En general, su evaluación de la manipulación de MD5 es acertada. Pero creo que el valor de las sumas de verificación MD5 en las descargas es superficial en el mejor de los casos. Quizás después de descargar un archivo puede verificar el MD5 que tiene en un sitio web, pero tiendo a ver el almacenamiento MD5 en paralelo como un "recibo" o algo que es bueno tener pero no confiable. Como tal, en general nunca me han importado las sumas de verificación MD5 de los archivos descargados, pero puedo hablar desde mi experiencia creando procesos MD5 ad-hoc basados ​​en servidor.

Básicamente, lo que he hecho cuando un cliente quiere barrer un sistema de archivos para sumas de verificación MD5 es que se generen en archivos CSV que mapeen el nombre del archivo, la ruta, el MD5 y otra información diversa en un formato de datos estructurados que luego he ingerido en una base de datos para comparación y almacenamiento.

Entonces, usando su ejemplo, mientras que una suma de verificación MD5 podría estar junto a un archivo en su propio archivo de texto, la suma de verificación MD5 del registro de autoridad se almacenaría en un sistema de base de datos no conectado. Entonces, si alguien piratea de alguna manera un recurso compartido de archivos para manipular datos, ese intruso no tendría acceso a los registros de autoridad MD5 o al historial conectado.

Recientemente descubrí una buena pieza de software de archivo de biblioteca llamada ACE Audit Manager, que básicamente es una aplicación Java diseñada para sentarse y mirar un sistema de archivos en busca de cambios. Registra los cambios a través de los cambios MD5. Y opera con una filosofía similar a mi proceso ad-hoc: almacenar las sumas de verificación en una base de datos, pero va un paso más allá, pero crea una suma de verificación MD5 de sumas de verificación MD5 que se conoce como árbol hash o árbol Merkle .

Entonces, digamos que tiene 5 archivos en una colección. Esos 5 archivos en el Administrador de Auditoría ACE obtendrían luego otra, llamémosla “padre”, suma de comprobación que es un hash generado a partir de las 5 sumas de verificación MD5 de cada archivo. Entonces, si alguien manipulara solo un archivo, el hash para el archivo cambiaría y también el hash para toda la colección "padre".

En general, la forma en que necesita ver las sumas de verificación MD5 y los hashes de integridad relacionados es a menos que no estén conectados a algún almacenamiento no directo para los hash MD5, pueden estar dañados. Y su valor como herramienta de integridad de datos a largo plazo es equivalente a una cerradura barata que viene "gratis" en una nueva pieza de equipaje; Si se toma en serio el bloqueo de su equipaje, recibirá un candado que no se puede abrir en 5 segundos con un clip.

JakeGould
fuente
La "suma de comprobación MD5 de las sumas de comprobación MD5" se conoce como Merkle Tree .
pjc50
@ pjc50 ¡Gracias! Editó la respuesta para hacer referencia a eso.
JakeGould
0

velocidad

A menudo, las personas encuentran que es mucho más rápido (a) descargar un archivo grande de alguna red de entrega de contenido (CDN) "cercana" no confiable, sitio espejo, pares de torrents, etc. y también descargar el archivo de suma de verificación corto correspondiente (a menudo SHA256; software antiguo a menudo se usa MD5) de algunas fuentes confiables. Les resulta insoportablemente lento (b) descargar todo el archivo grande directamente de una fuente confiable.

validación

A menudo, esa persona descubre que todo se valida: las fuentes (confiables y no confiables) acuerdan la misma suma de verificación y ejecutan shasum (o md5sum) con cualquiera de esos archivos cortos de suma de verificación (no importa cuál, cuando son todos idénticos ) indica que el archivo grande tiene una suma de comprobación coincidente.

modificación

Tiene razón en que cuando Mallory altera maliciosamente un archivo grande que se encuentra en algún sitio de descarga, sería fácil para Mallory también malintencionadamente la suma de comprobación de ese archivo en el mismo sitio de descarga para que se ejecute shasum (o md5sum) en ese archivo de suma de verificación maliciosa parece validar el archivo grande. Pero ese archivo de suma de comprobación no es el (único) que el descargador debe usar para la validación.

Cuando el descargador compara ese archivo de suma de verificación malicioso con los archivos de suma de verificación descargados de fuentes confiables, si la suma de verificación original se desliza incluso una vez, entonces el descargador verá que no todo se valida y sabrá que algo salió mal.

Como ha dicho antes cpast, si una buena suma de verificación criptográfica se transmite a través de una conexión confiable, puede proporcionar seguridad (que se deriva de la conexión confiable).

Como ha dicho supercat antes, los archivos de suma de verificación de un sitio no ayudan a las personas que descargan archivos grandes del mismo sitio y de la misma manera que descargan los archivos de suma de verificación: ayudan a las personas que desean descargar archivos de otro sitio.

"En términos de seguridad, los hash criptográficos como MD5 permiten la autenticación de datos obtenidos de espejos inseguros. El hash MD5 debe estar firmado o provenir de una fuente segura (una página HTTPS) de una organización en la que confía". - https://help.ubuntu.com/community/HowToMD5SUM

Las sumas de verificación criptográficas son una parte importante de las firmas prácticas de clave pública (como se implementa en GnuPG y otro software compatible con OpenPGP). Las firmas de clave pública tienen algunas ventajas sobre las sumas de verificación solo.

David Cary
fuente
0

Escuché que esta [suma de verificación MD5] es para permitir [...] también que cualquier cambio malicioso sea fácilmente detectado.

Bueno, no has escuchado totalmente mal . La firma digital es en realidad lo que se usa para detectar cambios maliciosos. Por algunas razones importantes, el hash es una parte fundamental de la firma digital, ya que solo el hash está firmado , no todo el archivo original.

Dicho esto, si la fuente no proporciona la firma del hash y una forma confiable de verificarlo , entonces tiene razón, no se brinda protección contra archivos alterados deliberadamente , pero el hash sigue siendo útil como suma de comprobación contra accidental la corrupción .

Aquí hay un ejemplo del mundo real que puede aclarar todo. El siguiente pasaje es particularmente significativo sobre el tema:

Para versiones de CD archivadas más antiguas, solo se generaron sumas de verificación MD5 [...] Para versiones más nuevas, se utilizan algoritmos de suma de verificación más nuevos y criptográficamente más fuertes (SHA1, SHA256 y SHA512)

matpop
fuente