Verificar archivos usando funciones de resumen o firmas digitales

Últimamente estoy muy concienciado en temas que podríamos calificar como de seguridad. Pero no hablo de grandes métodos, técnicas de hacking ni nada parecido. Solo pequeñas cosas que nos ayudan a sobrevivir en la jungla digital que son nuestros ordenadores, smartphones, etc…

Hoy la entrada va a ser muy pequeña. Solo hacer mención de un tema, el cual sinceramente creía que ya había tratado. Y es el uso de funciones de resumen, más conocidas como funciones hash. En la entrada referente al tema del uso de firmas digitales (aquí) ya hablaba del hash. No voy a repetirlo todo aquí de nuevo, si quieres puedes visitar esa entrada para refrescar la memoria.

En la entrada de hoy voy a explicarte como verificar los archivos descargados con el hash MD5, SHA1, SHA256 o SHA512 que suministra la web desde donde te has descargado el archivo. Explicado aquí puede parecer complicado y tedioso, pero a la que lo hagas 2 o 3 veces verás que es tremendamente simple.

 

Empecemos.

En las webs o ftp desde donde te vas a descargar los archivos deberías tener también uno o varios archivos con los respectivos hashes md5, sha1, sha256 o sha512.  Te dejo un ejemplo del ftp de Debian en la imagen de abajo. Donde puedes ver abajo del todo están las 3 imagenes ISO de los DVD’s, son los archivos acaban en .iso. Encima hay una serie de archivos, estos son los que nos interesan.

Los que acaban en .sign son los archivos de firma de sus respectivo archivos sin extensión. Es decir, por ejemplo, MD5SUMS continene los hashes MD5 de las 3 imagenes ISO. Y el archivo MD5SUMS.sign es la firma digital de MD5SUMS.

Archivos de hash
Archivos de hash

 

¿Por que tanto lío?

Si un pirata logra llegar hasta las iamgenes ISO y cambiarlas por otras pirateadas con virus también cambiaría los hashes del archivo MD5SUMS con  lo que al comprobarlos te arrojarían un valor positivo y tu estarías usando una ISO pirateada creyendo que legítima. Por eso se añade el archivo MD5SUMS.sign, este archivo se genera usando el archivo MD5SUMS y una clave privada de Debian. Como el pirata no tiene acceso a la clave privada nunca podrá piratear MD5SUMS.sign. Y al intentar verificar MD5SUMS con su firma digital nos dará un error.

A lo que tu te preguntaras, ¿por que no hacemos una firma directamente sobre los archivos ISO? Pues solamente por un tema de agilidad. Firmar un archivo de 1 o 2 Ks necesita menos de 1 segundo. Firmar una imagen ISO de 4Gb requiere de mucho más tiempo de procesamiento, memoria RAM y recursos en general. Si lo intentas hacer en un equipo poco potente podría dejarlo frito.

 

Vale, ya lo tengo claro… ¿Y ahora como lo uso?

Vamos a ponernos, de nuevo, en el supuesto de las 3 imágenes de Debian de la imagen anterior. Te las descargas. Ahora elige la función de resumen que más te apetezca. MD5 no te la aconsejo. De las 4 es la más débil. Yo suelo usar SHA256. Mientras se descargan las ISO’s aprovecha y descargate tanto el SHA256SUMS como el SHA256SUMS.sign, o la función que quieras.

Las ISO siguen bajandose, así que puedes ir comprobando la integridad del SHA256SUMS. Lo cual no te va a llevar mucho tiempo, apenas unos segundos, pero bueno. Esto se hace con el comando gpg –verify SHA256SUMS.sign SHA256SUMS. Lo que te devolverá algo similar a la imagen de abajo. Seguramente si lo haces en este momento te dará un error y te dirá que la firma no es valida. Si es que vas muy rápido…. Primero tienes que disponer de la clave pública.

Archivo verificado
Archivo verificado

Puedes descargar e importar la la llave publica manualmente o bien importarla directamente desde el servidor. En este caso lo más fácil es importarla directamente con la instrucción gpg –keyserver keyring.debian.org –recv-keys 6294BE9B. Donde 6294BE9B es la llave que tenemos que importar (y la llave activa al momento de redactar esta entrada), asegúrate de descargar la llave correcta, esta información debería estar disponible en la web de descarga. Ahora sí, ya puedes comprobar el archivo.

Importar clave
Importar clave

Ya lo tienes todo, las ISO descargadas y el archivo de hashes también descargado y verificado; asegúrate de tener todo en la misma carpeta. Pues ahora solo te queda comprobarlo con el comando sha256sum -c SHA256SUMS. Espera a que termine, le va a llevar un rato y en la pantalla te ira mostrando el progreso. Si no tienes el archivo con los hashes, solo el texto, puedes copiarlo en un bloc d notas, copiar debajo el que te genera el comando sha256sum y compararlo manualmente.  Pero este método es arriesgado, es fácil que se te escape algún número o letra.

 

Básicamente esto es todo. Con este método puedes asegurar la integridad de los archivos que bajas, por un lado aseguras que no se corrompen durante la descarga y por otro aseguras que ese archivo no ha sido alterado de forma ilegitima. Por cierto, hay mucha páginas que no usan los archivos de firmas, solo los hashes, si no los encuentras el .sign no te calientes mucho la cabeza, es posible que no lo hayan puesto.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies