¿Cómo verificar la suma de comprobación de un archivo descargado (pgp, sha, etc.)?

4

Tal vez he sido negligente con la verificación del software que descargo a través de Internet, pero yo (o cualquiera que haya conocido) nunca he intentado verificar la suma de comprobación de los contenidos que descargué. Y debido a esto, no tengo idea de cómo verificar la integridad del elemento descargado.

Entonces, ¿cómo verifico la suma de comprobación de un archivo descargado?

    
pregunta ThankYouSRT 05.07.2018 - 11:20
fuente

2 respuestas

4

Por lo general, esto comenzaría en el lado de los propietarios, mostrando la suma de comprobación del archivo que desea descargar. Que se vería algo así como lo siguiente:

md5: ba411cafee2f0f702572369da0b765e2

sha256: 2e17b6c1df874c4ef3a295889ba8dd7170bc5620606be9b7c14192c1b3c567aa

Ahora, dependiendo del sistema operativo que esté utilizando, una vez que haya descargado el archivo requerido, puede calcular un hash del mismo.

Windows

En una máquina con Windows, debe abrir el símbolo del sistema, navegar al directorio del archivo que descargó, por ejemplo. La carpeta Descargas, y luego use la función incorporada CertUtil , seguida del nombre del archivo y luego el algoritmo hash que desea usar. El comando se vería algo así.

CertUtil -hashfile filename MD5 o CertUtil -hashfile filename SHA256 etc. etc.

Donde reemplazaría filename con el nombre del archivo del que desea obtener un hash.

Linux

Para una máquina Linux, el proceso es muy similar. Simplemente navegue hasta el directorio del archivo del que desea obtener el hash y luego escriba md5sum filename o sha256sum filename . ¡Simple!

El problema que viene con la comprobación de un hash desde un sitio web es que no determina que el archivo sea seguro para descargar, solo que lo que ha descargado es el archivo correcto, byte por byte. Si el sitio web ha sido comprometido, se le podría mostrar el hash para un archivo diferente, que a su vez podría ser malicioso.

    
respondido por el Connor J 05.07.2018 - 11:46
fuente
0

Checksums vs Hashes vs Signatures

Menciona las sumas de comprobación, PGP y SHA en el título de su pregunta, pero todas estas son cosas diferentes.

¿Qué es una suma de comprobación?

Una suma de comprobación simplemente verifica con un alto grado de confianza que no hubo corrupción que haga que un archivo copiado difiera del original (para las definiciones variables de "alto"). En general, una suma de comprobación no ofrece ninguna garantía de que no se hayan realizado modificaciones intencionales , y en muchos casos es trivial cambiar el archivo mientras se tiene la misma suma de comprobación. Ejemplos de sumas de comprobación son CRC, Adler-32, XOR (byte (s) de paridad).

¿Qué es un hash criptográfico?

Los hashes criptográficos proporcionan propiedades adicionales sobre sumas de comprobación simples (todos los hashes criptográficos pueden usarse como sumas de comprobación, pero no todas las sumas de comprobación son hashes criptográficos).

Los hash criptográficos (que no están rotos o débiles) proporcionan resistencia a la colisión y la preimagen. La resistencia a la colisión significa que no es posible crear dos archivos que tengan el mismo hash, y la resistencia de preimagen significa que no es posible crear un archivo con el mismo hash como un archivo objetivo específico.

MD5 y SHA1 están rotos con respecto a las colisiones, pero son seguros contra ataques de preimagen (debido a la paradoja de cumpleaños Las colisiones son mucho más fáciles de generar). SHA256 se usa comúnmente hoy en día y es seguro contra ambos.

Uso de un hash criptográfico para verificar la integridad

Si planea usar un hash para verificar un archivo, debe obtener el hash de una fuente confiable separada . Recuperar el hash del mismo sitio desde el que está descargando los archivos no garantiza nada. Si un atacante puede modificar archivos en ese sitio o interceptar y modificar su conexión, simplemente puede sustituir los archivos por versiones maliciosas y cambiar los hashes para que coincidan.

El uso de un hash que no sea resistente a la colisión puede ser problemático si su adversario puede modificar el archivo legítimo (por ejemplo, contribuir con una solución de error aparentemente inocente). Es posible que puedan crear un cambio inocente en el original que haga que tenga el mismo hash que un archivo malicioso, que luego podrían enviarle.

El mejor ejemplo de dónde tiene sentido verificar un hash es cuando se recupera el hash del sitio web de confianza del software (usando HTTPS, por supuesto), y se usa para verificar los archivos descargados de un espejo no confiable.

Cómo calcular un hash para un archivo

En Linux puede usar las utilidades md5sum , sha1sum , sha256sum , etc. La respuesta de Connor J proporciona ejemplos para Windows.

¿Qué es una firma?

A diferencia de las sumas de comprobación o los hashes, una firma implica un secreto. Esto es importante, ya que si bien el hash para un archivo puede ser calculado por cualquier persona, una firma solo puede ser calculada por alguien que tenga el secreto.

Las firmas utilizan criptografía asimétrica, por lo que hay una clave pública y una clave privada. Una firma creada con la clave privada puede ser verificada por la clave pública, pero la clave pública no puede usarse para crear firmas. De esta manera, si firmo algo con mi llave, puedes estar seguro de que fui yo.

Por supuesto, ahora el problema es cómo asegurarse de utilizar la clave pública correcta para verificar la firma. La distribución de claves es un problema difícil, y en algunos casos, cuando regresó a donde estaba con hashes, aún debe obtenerla de una fuente de confianza separada. Pero como lo explica esta , es posible que ni siquiera tenga que preocuparse por ello. Si está instalando software a través de un administrador de paquetes o usando ejecutables firmados, la verificación de firmas probablemente se maneja automáticamente usando claves públicas preinstaladas (es decir, la distribución de claves se maneja mediante la confianza implícita en los medios de instalación y quien hizo la instalación).

Preguntas relacionadas

respondido por el AndrolGenhald 10.07.2018 - 22:02
fuente

Lea otras preguntas en las etiquetas