Ao utilizar password-store como xestor de contrasinais nos teus dispositivos é posible que por calquera razón precises mudar a chave GPG que utilizaches no momento da instalación. Xa sexa para non utilizar a mesma que tes para o correo persoal, a chave do traballo ou simplemente para utilizar unha chave que non subiches a ningún repositorio público e queres manter só localmente.
Chave para password-store
Imos xerar nova chave co único propósito de utilizala con pass
O manual de password-store dinos que debemos proceder iniciando a password-store coa nova chave.
E resulta que é así de simple, non explica nada máis, porén xurde a dúbida de "qué pasa se me equivoco e perdo o acceso a TODOS os meus contrasinais?" Sería un #epicfail.
Creamos a nova chave
$ gpg --full-generate-key
que nos pregunta as características que desexamos para a chave, eu deixei as opcións RSA, 4096 e "non caduca".
Pídenos un "nome real", que para o caso sérvenos passwordstore, así é doada de identificar.
Tamén solicita asociar un enderezo de correo electrónico. Escribe o que queiras, pass@home.user vai ben. Esto ten utilidade para que os teus contactos localicen a chave pública nos servidores. Como non vas a usar a chave para o correo nin subila a internet podes escribir o que queiras.
Finalmente mostra o ID da chave creada
Escolleu este ID de usuario:
«passwordstore <pass@home.user>»
e un comentario (optativo): para cifrar os contrasinais
Pide agora un contrasinal: escollemos a nosa frase de paso, que será a que pida cada vez que se solicite un contrasinal a non ser que a almacenamos na carteira de contasinais que utilice o teu sistema operativo.
Créase a chave e o seu certificado de revogación por se fose preciso (informa de onde está e o seu id).
Xa temos a chave que utilizaremos para cifrar os contrasinais.
Comprobámolo con
$ gpg --list-keys
ahí debería aparecer a nova chave passwordstore cos datos que a identifican
Cambiar a chave de password-store
Respalda os datos!!
primeiro respaldo do cifrado actual, que nunca se sabe :P . Imos ao directorio de traballo de pass e
$ cp -r .password-store/ .passwordstore_backup/
no directorio onde está a password-store tamén temos un ficheiro co id da chave que estamos a utilizar actualmente
$ cat .password-store/.gpg-id
móstranos un id tipo XXXXXXXX hexadecimal.
Entón, seguindo as instruccións, "iniciamos" a password-store co novo "id"
If the specified gpg-id is different from the key used in any existing files, these files will be reencrypted to use the new id.
que será o noso caso.
$ pass init <gpg-id>
$ pass init XXXXXXXX
sendo XXXXXXXX o id da nova chave que acabamos de crear
pide o contrasinal da chave que queremos cambiar (a antiga, para descifrar os datos) e comeza a cifrar novamente todos os contrasinais utilizando a chave passwordstore.
agora
$ cat .password-store/.gpg-id
debería mostrar o valor XXXXXXXX da nova chave creada, e se pedimos un contrasinal con pass, a frase de paso que pide debería ser a da nova chave.
Sincroniza os outros equipos
Se temos a variable de PATH no binario de "pass" establecido a un directorio sincronizado con algún servidor externo (nexcloud por exemplo), entón este cambio afectará aos outros equipos onde estás a utilizar esos contrasinais.
Debes "exportar" a chave recén creada e impórtala de xeito seguro (por exemplo cifrándoa con GPG, copiándoa a un pincho usb ou enviandoa por correo).
No meu caso fíxeno utilizando OpenKeyChain no móbil. Fas unha copia de seguridade da chave (que estará cifrada) e "expórtala" a nextcloud. Así será enviada ao servidor nextcloud e estará dispoñible nos outros equipos para importala.
Vas ao equipo de escritorio e descífrala e impórtala ao sistema con
gpg --decrypt backup_yyyy-mm-dd.sec.pgp | gpg --import
pídeche a frase de paso da chave para importala ao chaveiro.
Unha vez no sistema, os contrasinais xa estarán actualizados a nova chave (se se sincronizou co servidor) e o ficheiro .gpg-id dentro do directorio .password-store tamén estará modificado indicando que debe utilizar a nova chave.
Manual GPG https://www.gnupg.org/documentation/manuals/gnupg/
Comments
June 3, 2019 08:22
@xosem I see you also went a little bit into the Android application side. What's nice about about OpenKeyChain (and also Password Store for Android) is that you can actually have a hardware token (Yubikey) holding your GPG keys and it works seamlessly across desktop and mobile. The only thing that's missing is a good synchronization method (but you can use Dropbox, Nextcloud, Google Drive).
June 3, 2019 08:42
@lvl@fosstodon.org thanks for your comment. I'm not using any 2nd factor (hardware) yet, so thanks for sharing your experience.
There are many ways to make things work on gnu/linux, we all have diferent needs, so every person has to choose what works best for him/her
December 16, 2022 00:05
There are a few major differences between the algorithms of the TOTP TOKEN and non-time-based algorithms. The first difference is that the time-based algorithms start with a seed value, while the non-time-based algorithms begin with a hash function.
July 3, 2023 05:04
Your article was excellent. You have given me and everyone else a ton of useful and fascinating knowledge. I sincerely appreciate it. mapquest directions
July 17, 2023 08:39
Podes utilizar a ferramenta gpg para xerar un novo par de chaves amanda the adventurer GPG no teu dispositivo.
May 31, 2024 07:11
Remember to back up your important slope unblocked keys and passwords to avoid data loss.