luego cree un RP para fusionarse con el repositorio de tejido.
Hemos firmado repositorio de tejido (que significa BNSD). Firmar el repositorio tendermint https://github.com/iov-one/tendermint-build es similar a firmar bnsd. Puede seguir un script casi idéntico en el archivo README.md.
Llevemos la seguridad un paso más allá. Las claves PGP son vulnerables a los mismos vectores de riesgo, principalmente: secuestro. Si un actor malicioso se apodera de tus llaves, puede firmar cualquier cosa en tu nombre. Podemos aplicar el mismo enfoque introducido por las billeteras de hardware. En lugar de mantener nuestras claves privadas PGP en local, podemos mantener las claves en una SmartCard como YubiKey. Todos los cálculos relacionados con PGP podrían realizarse en una tarjeta inteligente sin exponerse al exterior.
Crearemos una clave maestra para la certificación y las subclaves que genera la clave maestra de certificación. Para obtener más información sobre este modelo de clave PGP, consulte https://blog.eleven-labs.com/en/openpgp-almost-perfect-key-pair-part-1/
Recomiendo usar un ubuntu de arranque USB limpio en vivo mientras sigo los pasos mencionados a continuación. Si queremos usar YubiKey para asegurar las claves, significa que valoramos la seguridad del software, ¿por qué no dar un paso más con una distribución en vivo?
Primero, cree un directorio temporal para la generación GPG:
https://medium.com/media/14d37509f45f111d5e476e1e7554d33b/href
En segundo lugar, genere una clave GPG con subclaves individuales para firmar, cifrar y autenticar:
https://medium.com/media/addeb2d61725c5afe1064b548108e2dd/href
Configure su correo electrónico como se muestra arriba.
Luego verifique que su clave PGP se haya generado correctamente:
https://medium.com/media/877974542966bb0fe00a7aa9cbc41fc9/href
Exporte la identificación de clave generada a una variable de entorno:
export KEYID = 0xFF3E7D88647EBCDB
Guarde una copia de la clave:
gpg –armor –export-secret-keys $ KEYID> $ GNUPGHOME / mastersub.keygpg –armor –export-secret-subkeys $ KEYID> $ GNUPGHOME / sub.key
Le recomiendo que guarde estas claves en una ubicación segura, como una unidad USB cifrada con LUKS, y guárdelas en un lugar seguro de su hogar.
Hemos generado nuestras claves, ahora tenemos que transferirlas a la tarjeta inteligente.
Conecte la tarjeta inteligente (YubiKey en nuestro caso) y verifique que la tarjeta inteligente esté funcionando:
https://medium.com/media/68640bdfc47cbbb2aa7c10b718e35e3b/href
Cambie el pin del dispositivo para mayor seguridad.
Transferencia de llaves:
https://medium.com/media/b8042115791b10aa94c8767ecc94022b/href
Cambie a la tecla 1 escribiendo la tecla 1:
https://medium.com/media/cc0f9a6cff3fbe442d4211907a2895de/href
Repita el proceso para las otras teclas también alternando la tecla 2 y la tecla 3.
Guarde las llaves en la tarjeta:
https://medium.com/media/3a35b1237f71fcea43e87c142a87cfa1/href
Verifique que las claves estén guardadas:
https://medium.com/media/e9b50742bfa120297f7bc4be25fdfa49/href
Notará que ssb tiene> diferentes de los ejemplos anteriores. > significa que la clave está en la tarjeta.
Verifique que haya guardado las claves en el USB encriptado, luego elimine todas las claves del local ya sea por rm $ GNUPGHOME o reiniciando. Recuerde que si pierde su tarjeta inteligente, siempre puede recuperar sus llaves del USB almacenado. Siempre puede crear nuevas claves a partir de su clave maestra.
Publique su clave en un servidor de claves para que la gente pueda encontrarlo
gpg –keyserver keyserver.ubuntu.com –send-keys $ KEYID
Ahora sabe cómo distribuir su código de forma segura y también cómo proteger su identidad.
¡Feliz codificación!
Distribuya software de código abierto: la forma correcta y verificable se publicó originalmente en IOV Blog on Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.