
Cómo verificar la descarga de una wallet: checksums, firmas y builds reproducibles
Cuando instalas una wallet, confías en que el archivo de tu ordenador es exactamente el software que publicaron sus desarrolladores, y no una copia modificada procedente de un sitio web comprometido, de una página de descarga falsa o de un build manipulado. Para la mayoría de las personas, instalar desde la tienda oficial es suficiente. Pero quien prefiera comprobar en lugar de confiar puede recurrir, en las wallets de código abierto, a tres herramientas cada vez más sólidas: checksums, firmas y builds reproducibles.
Esto es lo que demuestra cada una y cómo usarlas con SSP Wallet.
Checksums: ¿es el mismo archivo?
Un checksum es la huella digital de un archivo, generada por una función hash como SHA-256. Basta con cambiar un solo byte para que la huella cambie por completo. Si el checksum del archivo que has descargado coincide con el que publicaron los desarrolladores, tienes el mismo archivo.
En macOS o Linux puedes calcularlo en una terminal:
shasum -a 256 ssp-wallet-chrome-v2.1.3.zip
Un checksum por sí solo tiene un punto débil: si un atacante controla la página de descarga, puede sustituir tanto el archivo como el checksum publicado. Por eso importa el siguiente paso.
Firmas: ¿lo publicaron realmente los desarrolladores?
Una firma demuestra quién publicó los checksums. Los desarrolladores firman el archivo de checksums con una clave privada, y cualquiera que tenga la clave pública correspondiente puede verificar esa firma. Un atacante que modifique el archivo o los checksums no puede generar una firma válida sin esa clave privada.
Lo único que debes hacer bien es obtener la clave pública correcta. Consíguela en una fuente oficial del proyecto, comprueba su huella en más de un canal oficial y, a partir de entonces, usa la misma clave para cada versión.
Builds reproducibles: ¿se generó este archivo realmente a partir del código publicado?
Las firmas demuestran quién publicó un archivo, no qué contiene. La máquina de compilación de un desarrollador podría estar comprometida y firmar de buena fe un resultado malicioso.
Los builds reproducibles, o deterministas, cierran esa brecha. El proceso de compilación está fijado de forma que el mismo código fuente produzca siempre un archivo idéntico byte a byte, en cualquier máquina. Cualquiera puede recompilar una versión a partir del código público y comparar los checksums. Si coinciden, el archivo publicado contiene exactamente lo que dice el código fuente, y nada más. Ataques a la cadena de suministro y builds deterministas explica por qué esto es tan importante para las wallets.
Cómo verificar SSP Wallet
Las versiones de SSP Wallet en GitHub (RunOnFlux/ssp-wallet) se compilan de forma determinista para Chrome y Firefox e incluyen dos archivos adicionales: SHA256SUMS, con el checksum de cada paquete, y SHA256SUMS.asc, una firma GPG sobre esa lista.
1. Descarga los archivos de la versión. Desde la página de la versión, descarga el paquete para tu navegador, con un nombre como ssp-wallet-chrome-v2.1.3.zip o ssp-wallet-firefox-v2.1.3.zip, junto con SHA256SUMS y SHA256SUMS.asc, en una misma carpeta.
2. Comprueba la firma. Con la clave pública de firma de versiones de SSP importada en GPG:
gpg --verify SHA256SUMS.asc SHA256SUMS
GPG debería indicar una firma válida de la clave esperada. Si indica una firma incorrecta o una clave desconocida, detente.
3. Comprueba los archivos con la lista.
sha256sum -c SHA256SUMS
En macOS, shasum -a 256 -c SHA256SUMS hace lo mismo. Cada archivo que hayas descargado debería mostrar OK. La lista incluye tanto el paquete de Chrome como el de Firefox; si solo has descargado uno, añade --ignore-missing para que el otro no aparezca como ausente.
4. Opcionalmente, compílalo tú mismo. Clona el repositorio en la etiqueta de la versión y ejecuta el build determinista:
git clone https://github.com/RunOnFlux/ssp-wallet.git
cd ssp-wallet
git checkout <release-tag>
yarn build:deterministic
El build se ejecuta en un entorno Docker fijado y genera su propio SHA256SUMS. Si tus checksums coinciden con los publicados, habrás confirmado de forma independiente que la versión se compiló a partir de ese código fuente.
¿Y las tiendas de los navegadores?
La mayoría de las personas instala SSP Wallet desde Chrome Web Store o Firefox Add-ons, y es una opción razonable: las instalaciones desde la tienda se actualizan automáticamente y las tiendas tienen sus propios procesos de revisión. Los checksums anteriores cubren los paquetes de las versiones publicadas en GitHub. Si instalas desde una tienda, las comprobaciones más importantes son más sencillas: que hayas llegado a la ficha desde el sitio web oficial y que el editor coincida. Cómo detectar apps de wallet falsas explica esos pasos, y la higiene de las extensiones del navegador explica cómo mantener tu navegador seguro después.
El resumen honesto
Un checksum demuestra que tienes el mismo archivo; una firma demuestra quién lo publicó; un build reproducible demuestra que el archivo procede del código publicado. Cada paso elimina un tipo distinto de confianza.
La mayoría de las personas instalará desde la tienda oficial, y está bien. Si quieres verificarlo por ti mismo, las versiones de SSP Wallet te ofrecen las tres herramientas: una lista de checksums firmada, una comprobación de una sola línea y un build que puedes reproducir byte a byte.


