Validar imágenes ISO en macOS: sumas y comprobación de firmas

  • Las sumas de verificación y funciones hash permiten comprobar la integridad de ISOs y DMG detectando cualquier alteración en los datos.
  • En macOS puedes validar imágenes con comandos como shasum o md5 y apoyarte en firmas digitales y certificados para verificar la autenticidad.
  • Herramientas como balenaEtcher o Ventoy comparan lo escrito en la USB con la ISO de origen para asegurar que la copia es fiel.
  • Usar algoritmos modernos como SHA-256 y obtener los hashes desde fuentes oficiales es clave para minimizar riesgos de corrupción o manipulación.

Comprobar suma de verificación de imagen ISO en macOS

Cuando descargamos una imagen ISO o un archivo DMG para instalar software en macOS, Windows o Linux, no basta con que «parezca» que todo ha ido bien. Necesitamos asegurarnos de que los datos son idénticos a los que publicó el desarrollador, que no se han corrompido por el camino y que nadie los ha manipulado con mala intención.

En este contexto entran en juego las sumas de comprobación, los hashes criptográficos y, en el caso de macOS, las firmas digitales y la validación de certificados. Entender bien cómo funciona todo esto es clave para confiar en un instalador, validar una ISO que vas a grabar en una USB con balenaEtcher o Ventoy y, en general, mover archivos importantes sin sustos.

Qué es realmente una suma de comprobación (checksum) y qué papel juega

Una suma de comprobación es, en esencia, una cadena de caracteres alfanuméricos que resume el contenido de un archivo. Se obtiene aplicando un algoritmo matemático (una función hash criptográfica) sobre los bits del archivo, y sirve como huella única para verificar su integridad.

Cuando un proveedor de software publica un instalador, una ISO o una actualización grande, suele acompañarla de su checksum. El usuario descarga el archivo, calcula localmente el mismo tipo de hash y compara ambos valores: si coinciden, es extremadamente probable que el archivo sea idéntico al original; si no, algo ha ido mal (corrupción en la descarga, manipulación maliciosa, errores de almacenamiento, etc.).

Estas sumas también se conocen como valores hash, códigos hash, sumas hash o, simplemente, hash. Su utilidad va mucho más allá de las descargas: se usan para comprobar paquetes en redes, para guardar contraseñas de forma segura en bases de datos, para firmar correos electrónicos o para garantizar la integridad de imágenes forenses de discos completos.

checksum

Cómo funciona una función hash: del archivo a la huella

Las funciones hash criptográficas son algoritmos unidireccionales: cogen una entrada de cualquier tamaño y producen una salida de longitud fija. Da igual si el archivo de entrada pesa unos pocos kilobytes o varios gigas; el resultado de SHA-256, por ejemplo, siempre será una secuencia de 256 bits (64 caracteres hexadecimales).

Una propiedad clave es el llamado efecto avalancha: un cambio mínimo en los datos de entrada provoca un hash completamente diferente. Si calculas el MD5 de la frase «This is a test.» y luego quitas el punto final, el valor resultante no se parecerá en nada, lo que permite detectar cambios incluso minúsculos.

Además, una buena función hash está diseñada para que resulte computacionalmente inviable reconstruir el contenido original a partir del hash, y también para que sea extremadamente difícil encontrar dos entradas distintas que generen el mismo valor (colisión). Cuando se descubren colisiones prácticas en un algoritmo, como ha ocurrido con MD5 o SHA-1, se considera que deja de ser seguro para ciertos usos.

Tipos de algoritmos de suma de comprobación y en qué se diferencian

Detrás de cada checksum hay un algoritmo concreto. No todos sirven para lo mismo ni ofrecen el mismo nivel de garantía, y es útil conocer al menos las categorías más habituales para saber qué estamos usando en cada momento.

Algoritmos sencillos de control de errores

En redes y sistemas básicos se usan desde hace décadas mecanismos ligeros que no son realmente criptográficos, pero sí ayudan a detectar errores de transmisión. Un caso clásico es la palabra o byte de paridad longitudinal, que agrupa los datos en palabras de n bits, aplica una operación XOR entre todas ellas y añade el resultado como palabra extra al final.

En la recepción, se vuelve a calcular el XOR incluyendo la palabra de suma, y si el resultado no es todo ceros, se asume que ha habido un fallo. Es un método barato en cómputo y razonablemente eficaz ante errores de un solo bit o de un número impar de bits, pero no detecta bien ciertos patrones (como cambios simétricos en dos palabras o reordenación de bloques).

El algoritmo de complemento de suma fue un intento de mejorar lo anterior. Suma las palabras como enteros binarios sin signo y añade como checksum el complemento a dos de esa suma. En el destino se vuelve a sumar todo, incluyendo la suma de comprobación, y si el resultado no es una palabra de ceros, sabemos que algo ha ido mal. Sigue siendo sencillo, y al igual que la paridad, detecta errores simples pero no es robusto frente a manipulaciones intencionadas.

Checksums dependientes de la posición

Para reducir los casos en los que un error pasa desapercibido, aparecieron algoritmos que tiene en cuenta no solo los valores de las palabras, sino también su orden. Los checksums dependientes de la posición asignan un peso distinto a cada bloque según su ubicación en la secuencia.

Ejemplos de esta familia son Adler-32, los diferentes tipos de CRC (comprobación de redundancia cíclica) o la suma de comprobación de Fletcher. Son muy frecuentes en protocolos de red, archivos comprimidos y sistemas de almacenamiento, ya que mejoran notablemente la detección de errores repetidos, inserciones o eliminaciones de bloques, aunque siguen sin ser algoritmos criptográficamente fuertes.

Suma de comprobación difusa o fuzzy checksum

En el mundo del filtrado antispam y la detección colaborativa de correo basura se usan técnicas distintas: las fuzzy checksums o sumas de comprobación difusas. En lugar de buscar que cualquier pequeño cambio altere por completo el valor, se busca lo contrario: que correos muy parecidos generen hashes iguales o muy similares.

Para lograrlo, se normaliza y reduce el contenido del mensaje a una versión mínima (eliminando partes variables, formatos, etc.) y se calcula entonces el checksum. Servicios como DCC reciben millones de estos hashes desde distintos proveedores de correo, y marcan patrones como potencialmente spam cuando un mismo valor se repite por encima de cierto umbral.

Funciones hash criptográficas modernas

Cuando hablamos de verificar imágenes ISO, instaladores o firmware, lo normal es encontrarse con algoritmos hash criptográficos como MD5, SHA-1, SHA-2 o SHA-3. Su objetivo no es solo detectar errores accidentales, sino también resistir ataques concretos que pretendan generar archivos maliciosos con el mismo hash que un original legítimo.

MD5, por ejemplo, fue durante años el estándar de facto para validar descargas, con hashes de 128 bits. Sin embargo, se han demostrado colisiones prácticas y hoy se considera inseguro para proteger integridad frente a atacantes, aunque aún se usa en contextos donde solo importa la detección de daños accidentales.

SHA-1 (160 bits) siguió un camino similar: ampliamente adoptado en certificados, firmas y validación de archivos, pero actualmente desaconsejado para nuevos sistemas debido a vulnerabilidades. La familia SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512) ha reemplazado en gran medida a MD5 y SHA-1, y SHA-256 se ha convertido en el estándar recomendado por NIST y utilizado en navegadores, protocolos como TLS, VPNs o incluso en redes como Bitcoin.

SHA-3 es la generación más reciente estandarizada, con longitudes de salida similares a SHA-2 pero un diseño interno distinto. Algoritmos modernos como BLAKE2 o BLAKE3 ofrecen además gran velocidad y alta seguridad, por lo que son habituales en herramientas de verificación masiva de archivos y en aplicaciones que requieren rendimiento extremo.

winux

Cómo comprobar sumas de verificación en Windows

En Windows no necesitas instalar nada para calcular hashes básicos de archivos. Puedes usar el comando certutil en el Símbolo del sistema o PowerShell, o bien recurrir a la cmdlet Get-FileHash en PowerShell para un uso más cómodo.

Con certutil, bastaría con abrir una ventana de comandos y ejecutar algo como certutil -hashfile «ruta\al\archivo.iso» SHA256. La herramienta generará la suma de verificación usando el algoritmo que indiques (MD5, SHA1, SHA256, SHA384, SHA512, etc.), y solo tienes que compararla con la que ofrece el desarrollador en su página.

En PowerShell, el comando Get-FileHash C:\ruta\al\archivo.iso devuelve por defecto un hash SHA-256 del archivo, aunque puedes especificar otros algoritmos con el parámetro -Algorithm (MD5, SHA1, SHA384, SHA512, RIPEMD160, MACTripleDES…).

Si el valor mostrado coincide carácter por carácter con el publicado en la web oficial, puedes asumir que el archivo está intacto. Si difiere, lo razonable es eliminarlo y volver a descargarlo, porque podrías estar ante un fichero corrupto o manipulado por un tercero con intenciones maliciosas.

Cómo validar checksums en macOS: Terminal, ISO y DMG

macOS incluye de serie todo lo necesario para generar y comparar hashes de archivos, tanto para ISO como para DMG u otros formatos. No hace falta instalar software adicional, basta con usar la app Terminal.

El comando más versátil es shasum, que permite seleccionar distintos algoritmos de la familia SHA. Por ejemplo, si has descargado un instalador como vlc-3.0.6.dmg y la web del proyecto publica su hash SHA-256, en macOS puedes hacer:

shasum -a 256 vlc-3.0.6.dmg

La terminal mostrará una línea con el valor hash y el nombre del archivo, y solo tienes que colocarlo al lado del que aparece en la web y comprobar que no hay ninguna diferencia. Para otros algoritmos, dispones de comandos directos: md5 para MD5, shasum -a 1 para SHA-1, -a 384 para SHA-384, -a 512 para SHA-512, etc.

En el caso de las imágenes ISO que incorporan un archivo md5sum.txt o similar, lo normal es que dicho fichero contenga el hash de cada archivo interno de la ISO, no solo de la propia imagen. Una vez grabada la ISO en la USB, podrías montar la unidad y usar md5sum -c md5sum.txt en Linux o equivalentes en macOS para verificar archivo a archivo, aunque en macOS es más habitual verificar el hash de la ISO completa antes de copiarla al pendrive.

Firmas y certificados en macOS: más allá del hash

Además de los hashes, macOS se apoya fuertemente en un sistema de firmas digitales, certificados y políticas de confianza que se gestionan desde Acceso a Llaveros y Gatekeeper. El simple hecho de que un instalador tenga el hash correcto no garantiza que provenga de un desarrollador legítimo; para eso se usan las firmas de código.

Con la app Acceso a Llaveros puedes usar el Asistente para Certificados para examinar un certificado concreto, revisar su política de confianza y determinar si es válido. macOS comprueba que el certificado está emitido por una autoridad raíz de confianza, que no ha caducado y que no ha sido revocado, y en función de eso permite o bloquea la ejecución de ciertos binarios.

En el día a día, cuando abres un DMG o ejecutas una app descargada de Internet, macOS combina la verificación de la firma del desarrollador con mecanismos como Gatekeeper y notarización. La parte del hash se centra en la integridad del archivo; la parte de la firma y el certificado se encarga de la autenticidad del emisor.

Cómo validan las herramientas como balenaEtcher o Ventoy el contenido de la USB

Cuando usas utilidades como balenaEtcher o Ventoy para hacer un USB de arranque, no se limitan a copiar bytes y cruzar los dedos. Estas herramientas hacen una validación posterior para comprobar que lo escrito en la unidad coincide con la fuente, normalmente comparando el contenido leído desde el dispositivo con el de la ISO original.

El flujo típico se parece mucho a lo que harías a mano con dd: se descarga la ISO, se limpia la unidad, se escriben los datos y luego se lee de nuevo. balenaEtcher, por ejemplo, suele leer bloques de la USB y compararlos directamente con los mismos bloques de la imagen en disco. Si detecta cualquier diferencia, marca el proceso como fallido sin necesidad de que exista un md5sum.txt en la ISO.

Ventoy sigue otra estrategia, ya que no «quema» la ISO en la unidad, sino que la copia tal cual a una partición especial y arranca mostrando un menú desde el que eliges qué ISO usar. En este caso, la integridad se puede verificar comparando el hash del archivo ISO almacenado en el pendrive con el hash que tenía en el equipo de origen, sin necesidad de inspeccionar el contenido interno de la imagen.

Si la ISO de una distribución Linux incluye archivos como md5sum.txt o SHA256SUMS, y el bootloader de instalación está preparado para ello, durante el propio arranque se pueden validar los archivos internos de la imagen. Pero las utilidades de grabación no dependen de estos ficheros: su verificación se basa, sobre todo, en comparar datos escritos con datos fuente a nivel de bloques.

Qué hacer cuando la ISO no trae archivo de checksum interno

No todas las imágenes ISO incluyen un md5sum.txt o un archivo similar con hashes de su contenido. Lo que sí deberías exigir siempre es que la web oficial proporcione al menos un hash de la ISO completa (normalmente SHA-256) en la página de descargas o en un archivo separado (SHA256SUMS, CHECKSUMS, etc.).

Si no existe ningún archivo interno con sumas por fichero, la validación se reduce a comparar el hash de la ISO. Calculas en tu sistema el SHA-256 del archivo descargado y lo comparas con el valor publicado. Si coinciden, ya sabes que la imagen completa es la misma que la que generó el desarrollador, y a partir de ahí puedes grabarla en la USB con bastante tranquilidad.

En caso de que el proveedor no publique ningún tipo de checksum ni firma, la cosa se complica. Podrías comparar el hash de tu ISO con el de otra copia descargada desde otra red o por otra persona, pero seguirías sin referencia oficial. En estos escenarios, lo prudente es desconfiar si el software es sensible (sistema operativo, herramienta de seguridad, monedero de criptomonedas, etc.) y buscar una fuente más seria.

Recuerda que incluso con hash publicado, la seguridad depende de que lo obtengas de una fuente de confianza y a través de una conexión segura (HTTPS). Un atacante podría crear una web falsa con una ISO maliciosa y su propio hash, por lo que la verificación solo es significativa si estás realmente en el sitio oficial del proyecto.

quickhash

Herramientas específicas para trabajar con hashes y verificar integridad

Además de las utilidades integradas en cada sistema operativo, existen multitud de programas especializados que facilitan el manejo de hashes, sobre todo cuando necesitas calcular sumas para muchos archivos, comparar carpetas enteras o automatizar copias verificadas.

Aplicaciones como QuickHash ofrecen una interfaz gráfica muy completa para Windows, Linux y macOS, con soporte para MD5, SHA-1, SHA-2 (256 y 512), SHA-3, BLAKE2, BLAKE3 y otros. Permiten generar hashes de texto, de un solo archivo, de múltiples ficheros, comparar dos archivos o incluso dos directorios, así como realizar copias verificadas mediante hash.

Otras herramientas como HashMyFiles, MultiHasher o MD5 & SHA Checksum Utility se centran en Windows y permiten generar de forma masiva hashes para carpetas y subcarpetas completas, e incluso integrarse en el menú contextual del Explorador para invocarlas con un clic derecho.

También hay soluciones ligeras o portables (HashCalc, MD5 Hash Check, Hasher Lite, DeadHash, Hash Generator, FCIV, Checksum Control…) que cubren necesidades más puntuales, como comprobar rápidamente un instalador descargado, sin tener que recordar comandos o abrir la terminal.

Riesgos, ataques y límites de seguridad de los hashes

Aunque muchas veces se habla de los hashes como algo «irrompible», conviene tener claro que existen técnicas para intentar derrotarlos. La más directa es el ataque de fuerza bruta, probando todas las combinaciones posibles de entrada hasta encontrar una que genere el hash buscado, algo poco realista para contraseñas largas con algoritmos modernos.

Los ataques de diccionario y las tablas arco iris agilizan el proceso cuando el atacante sospecha del tipo de entrada (por ejemplo, contraseñas humanas típicas). En lugar de probar cadenas aleatorias, se trabaja con listas precompiladas y hashes precalculados, reduciendo mucho el tiempo necesario para destapar claves débiles.

Los ataques de colisión explotan el hecho de que, al haber un espacio finito de salidas, deben existir entradas distintas que generen el mismo hash. Si un algoritmo tiene debilidades matemáticas, es posible encontrar colisiones de forma relativamente eficiente, lo que permitiría crear dos archivos diferentes con el mismo hash. Esto es precisamente lo que ha ocurrido con MD5 y SHA-1, que han dejado de resultar fiables para usos críticos.

Para mitigar muchos de estos riesgos se recurre a varias estrategias: usar hashes fuertes y actualizados, añadir «salts» aleatorios a las entradas antes de hashearlas, y recurrir a algoritmos específicos para contraseñas (bcrypt, scrypt, Argon2) diseñados para ser deliberadamente lentos y costosos de paralelizar.

Buenas prácticas al verificar imágenes ISO y DMG en macOS

Si vas a descargar una ISO o DMG para usarla en macOS, especialmente si vas a instalar un sistema o una herramienta sensible, conviene seguir una rutina clara. Primero, descarga siempre desde el sitio oficial del proyecto, asegurándote de que la URL y el certificado HTTPS son correctos.

A continuación, localiza la sección donde se publiquen las sumas de verificación o las firmas PGP asociadas. Da preferencia a algoritmos modernos como SHA-256 o superiores, y evita MD5 o SHA-1 salvo que solo te importe la detección de corrupciones accidentales en ficheros poco sensibles.

Con la ISO o DMG ya en tu carpeta de Descargas, abre Terminal, navega hasta esa carpeta y calcula el hash con shasum o md5 según corresponda. Compara el resultado con el valor oficial, cuidando de no omitir dígitos ni confundir caracteres similares. Si no coinciden, borra el archivo sin dudarlo.

Si después vas a usar balenaEtcher, Ventoy u otra herramienta para grabar la imagen en una USB, fíjate en que la aplicación ofrezca una fase de validación posterior a la escritura. De este modo, no solo confías en que la ISO es correcta, sino también en que la copia en la unidad flash reproduce fielmente los datos de origen.

Aunque puede parecer un poco más de trabajo, este proceso de comprobación te ahorra dolores de cabeza y reduce el riesgo de ejecutar código corrupto o manipulado. Entender bien cómo funcionan las sumas de verificación, las firmas y los certificados en macOS te permite usar tus ISO y DMG con mucha más tranquilidad, sabiendo que lo que instalas es exactamente lo que quería entregar el desarrollador y no otra cosa distinta.

Herramientas para comparar archivos de texto y detectar cambios sutiles
Artículo relacionado:
Herramientas para comparar archivos de texto y detectar cambios sutiles