¿Cómo verificar el cliente cuando se actualiza la nueva tecnología de Bitcoin? Bitcoin se ha actualizado con la nueva tecnología. Muchas personas no saben cómo verificar el cliente. Espero que este artículo pueda resultarle útil. .
Hay tres pasos importantes para garantizar que el cliente Bitcoin que instale sea seguro:
Verifique la clave OpenPGP;
Verificar firma;
Verificar el documento en sí;
Tenga en cuenta que, por ejemplo, verificaré mi propia firma en el cliente Bitcoin Knots v0.19.0.1.knots20200104 para ppc64le Linux, mientras que para verificar la firma de otra persona u otros archivos necesitará cambiar la línea de comando para Usar eso. huella digital o nombre de archivo.
Paso 0: Instale el software de cifrado GNU Privacy Guard (GPG)
Antes de comenzar, debe asegurarse de tener instalada la herramienta GNU Privacy Guard (GPG), que es necesaria para la verificación del cifrado de archivos.
Si está ejecutando un sistema basado en Linux, que generalmente se instala a través del proveedor del sistema operativo (recientemente, generalmente se instala de manera predeterminada), puede verificar esto ejecutando gpg –version. De lo contrario, intente instalarlo usando uno de los siguientes comandos (si falla, pase al siguiente):
apt-get instala gnupg
instalar dnf gnupg2
mmm instalar gnupg2
emerge aplicación-crypt/gnupg
pacman -S gnupg
apk agregar gnupg
Si tiene la mala suerte de utilizar un sistema operativo Windows o macOS, puede descargar GnuPG desde el sitio web oficial, pero no conozco ninguna forma segura de verificar dicha descarga y, por supuesto, proporcionan una firma. pero aquí está el problema. El problema del huevo: ¡no puedes verificar estas firmas hasta que instales una buena copia!
Paso 1: verificar la clave OpenPGP
Podría decirse que este paso es la parte más difícil del proceso de verificación: debe confirmar que la clave que realmente está utilizando es la correcta emitida por alguien en quien confía. ¡Si no tienes cuidado, podrías obtener una clave falsa de "Luke Dashjr"!
Cada clave OpenPGP tiene una "huella digital", que consta de 40 caracteres hexadecimales (los dígitos 0-9 y aF), a veces se muestran espacios para facilitar la lectura. Sabrá que tiene la clave correcta si se asegura de que la huella digital de la clave que utiliza coincida con la huella digital de un firmante confiable.
Obtener una clave o huella digital
La forma más segura de verificar una clave es reunirse en persona y confirmar la "huella digital" de la clave. Casi nadie recuerda la huella digital de su clave, por lo que es posible que tengamos que buscarla en nuestra propia computadora portátil o teléfono, y ocasionalmente (generalmente en una conferencia) puede haber un "firmante de claves", un grupo de personas en la conferencia que confirman otras de huellas dactilares, a cada participante se leería su propia huella digital en voz alta o se confirmaría manualmente que lo que todos vieron u oyeron era correcto. Si alguna vez participa en una reunión como esta, esta es una buena manera de verificar muchas claves a la vez.
Si no está interesado o no tiene la oportunidad de reunirse en persona, lo ideal sería verificar la clave de varias fuentes. Ocasionalmente, las conferencias publican videos de presentación en los que la huella digital clave puede aparecer en las diapositivas. Eso sí, debido a la existencia de nuevas tecnologías como los "deep fakes", ten en cuenta que las diapositivas del vídeo pueden ser fácilmente manipuladas.
Los desarrolladores generalmente publican sus claves o huellas digitales en su sitio web, y tal vez de otra manera (por ejemplo, mi clave o huella digital está en mi sitio web personal, bitcoinknots.org, bitcoin.org y GitHub).
Si ha instalado una copia del software en el que confía, a veces contendrá las claves necesarias para verificar las actualizaciones (actualmente, Bitcoin Core solo contiene el código fuente).
Verificar la huella digital del archivo clave
Para ver la huella digital de un archivo clave, puede utilizar el siguiente comando:
gpg –opciones de importación mostrar solo –importar –con huella digital luke-jr.asc
Esto generará mucha información sobre el archivo clave, con la información relevante en la parte superior:
pub rsa8192 2012-03-23 [SC] [expire: 2020-06-09]
E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F
En este ejemplo, E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F es mi huella digital clave.
NOTA: Si GPG dice que la clave ha caducado, probablemente esté bien. En el paso 2, actualizará a la última versión de la misma clave, que generalmente extiende la fecha de vencimiento.
Importar claves verificadas
No importa cómo verifique la clave, debe asegurarse de recordar qué clave utilizó para que futuras actualizaciones puedan verificar que se utilizó la misma clave. Incluso si omite el paso de verificación de clave (que no es seguro), al menos esto garantizará que sus actualizaciones tengan el mismo firmante.
Cuando esté seguro de que tiene la clave correcta, puede importarla de esta manera (reemplace luke-jr.asc con el nombre del archivo que contiene la clave deseada):
gpg –importar < luke-jr.asc
O si solo tienes huellas digitales, así (¡ingresa la huella digital de la llave que deseas usar!):
gpg –keyserver hkp://keyserver.ubuntu.com –recv-key E463A93F5F3117EEDE6C7316BD02942421F4889F
Paso 2: verificar la firma
Ahora que sabes qué clave utilizar para la verificación, el siguiente paso es comprobar que la firma es válida.
Antes de continuar con este paso, debe asegurarse de que su copia de la clave de firmante esté actualizada. Si no hace esto, es posible que reciba un mensaje indicando que la clave ha caducado. Ejecute (usando su huella digital deseada):
gpg –keyserver hkp://keyserver.ubuntu.com –refresh-key E463A93F5F3117EEDE6C7316BD02942421F4889F
A continuación, (además del archivo de programa que está verificando) necesitará dos archivos: el archivo ".assert" que contiene la lista de huellas digitales de archivos y el archivo ".assert.sig" que contiene las firmas de esa lista. Esto se debe a que lo que estamos haciendo no es firmar los archivos del programa en sí, sino tomar huellas digitales de todos los archivos y luego firmar esa lista. Por lo tanto, necesita ambos archivos.
El par de archivos "afirmar" de Bitcoin Core se publica aquí: https://github.com/Bitcoin-Core/gitian.sigs/find/master;
Los pares de archivos "afirmar" para Bitcoin Knots se publican aquí: https://github.com/bitconinkots/gitian.sigs/find/Knots
Tenga en cuenta que hay un par de archivos independiente para cada firmante. Si está verificando si varias personas firmaron su archivo (lo cual debería hacer), debe verificar cada par de archivos. Además, debe asegurarse de obtener la versión del archivo que desea verificar.
Una vez que encuentre el archivo que desea en la lista, haga clic en el enlace para abrir el archivo en su navegador, luego haga clic derecho en el botón "Sin formato" o "Descargar" y seleccione "Guardar enlace como".
Una vez que tenga estos dos archivos de "afirmación", puede verificar la firma ejecutando (ajuste el nombre del archivo al .assert.sig específico)
gpg –verificar bitcoin-core-linux-0.19-build.assert.sig
Si este paso es exitoso, obtendrá el siguiente resultado:
gpg: Firma realizada el domingo 19 de enero de 2020 03:47:15 a. m. UTC
gpg: usando la clave RSA E463A93F5F3117EEDE6C7316BD02942421F4889F
gpg: Buena firma de “Luke Dashjr” [ultimate]
Tenga en cuenta que la huella digital de la clave se muestra en negrita. La huella digital debe coincidir con la clave que verificaste en el paso 1; de lo contrario, podría estar firmada por otra persona. La parte sobre una "buena firma" también es importante, mientras que el nombre y la dirección de correo electrónico no lo son, los cuales podrían ser falsos si la huella digital es incorrecta.
Suponiendo que todo salió bien, ahora sabe que el archivo ".assert" está garantizado por el controlador de dicha clave y puede proceder a verificar que su archivo de programa real es el que figura en ese archivo ".assert".
Paso 3: verificar el archivo en sí
Para autenticar un archivo de programa, primero se le debe aplicar un hash criptográfico (básicamente, extraer su huella digital).
Esto se hace con un comando simple (¡tenga cuidado de reemplazar el nombre de archivo real que está validando!):
Linux: sha256sum bitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz
Windows: certUtil -hashfile bitcoin-0.19.0.1.knots20200104-win64.zip SHA256
macOS: shasum -a 256 bitcoin-0.19.0.1.knots20200104-osx-unsigned.dmg
Esto generará algo como esto:
d370692590c4546ac0de250da91c6c288d9ee5252f1a4b857a5b80c4e3d81149 bitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz
Esta es la huella digital del contenido del archivo, seguida del nombre del archivo especificado.
Ahora, abra el archivo ".assert" en cualquier editor/visor de texto plano y busque la huella digital. Debería estar en la sección "out_manifest" en la parte superior; si llegas a "in_manifest" o "base_manifests", entonces has ido demasiado lejos.
Si lo encuentra en el archivo ".assert", entonces habrá verificado que el archivo que tiene es el mismo archivo que el firmante avaló (lo verá en el archivo ".assert" a la derecha de la huella digital de su nombre de archivo). , que puede ser el mismo que el tuyo).
Y si falta en el archivo ".assert", puede significar que está utilizando el archivo ".assert" incorrecto o que su archivo no coincide (en cuyo caso verá junto al nombre de archivo esperado otro huella dactilar). Si un archivo aparece en la lista pero tiene una huella digital diferente, no abra el archivo, guárdelo (es posible que le solicitemos que proporcione una copia) y comuníquese con el equipo de seguridad del proyecto afectado.