- Introducción a GnuGP
- Consultar máis información sobre GPG
- Algo de teoría sobre o GPG
- Instalación de GPG
- Creación de chaves
- Creación de subchaves
- Uso que ten a chave
- Explicación dos termos “sinatura”, “certificar”, “cifrar” e “autenticar”
- Editalas preferenzas para xeración do HASH
- Xerar unha subchave
- Xerar un certificado de revocación
- Exportar as chaves
- Transformalo xogo de chaves mestras no teu xogo de chaves portable
- Subir a túa chave a internet
- Algúns comandos soltos
- Fontes
- Notas ao pé
Introducción a GnuGP
Vou crear unhas chaves asimétricas GPG ( GNU Privacy Guard ) basadas en OpenPGP unha versión aberta e libre de PGP, cuxa ferramenta actualizaron sendo agora GPG2.
Este artigo vai ser bastante largo, por conter moitas aclaracións e exemplos, mais unha vez conoces GPG e o tes configurado, só leva uns segundos poñela contrasinal para cifrar e asinar os teus correos electrónicos.
“A diferenza entre un email sen cifrar e un cifrado, é como no correo analóxico enviar unha mensaxe nun sobre pechado e precintado a enviala nunha postal que podrá leela toda persoa que teña contacto con ela” - Delio Docampo Cordeiro.
Consultar máis información sobre GPG
No man de gpg2:
man gpg2
...
DESCRIPTION
gpg2 is the OpenPGP part of the GNU Privacy Guard (GnuPG). It is a tool to provide digital encryption and
signing services using the OpenPGP standard. gpg2 features complete key management and all bells and whis‐
tles you can expect from a decent OpenPGP implementation.
In contrast to the standalone command gpg from GnuPG 1.x, which is might be better suited for server and
embedded platforms, the 2.x version is commonly installed under the name gpg2 and targeted to the desktop
as it requires several other modules to be installed.
...
Unha expliación menos técnica para tódolos públicos: https://emailselfdefense.fsf.org/es/ Na propia web de GPG explicacións técnicas: https://www.gnupg.org/
Algo de teoría sobre o GPG
En qué consiste o cifrado “asmiétrico”
Cando creamos unha chave asimétrica facemos unha “palabra” clave de X lonxitude ( poden ser 4096 bits ‘unha chea de letras’ como nesta guía, dita chave se parte en 2 subchaves.
Cada metade vai a un arquivo, un é usado cómo chave pública (Cómo indicar cal é a dirección de envío nun sobre ) e o outro cómo chave privada ou secreta ( esta última, hai que gardala do mundo coma si se tratara da chave que “abriría os sobres destinados só para nós”).
O que unha chave cifra, a outra chave o descifra. Esta é a frase básica que tes que lembrate para saber en qué se basa o sistema asimétrico.
A seguridade deste sistema radica en que o código é aberto e libre, polo tanto está sometido a revisións e probas para súa mellora, tanto organismos gubernamentáis, cómo activistas, particulares e empresas serias, usan OpenGPG para o cifrado das súas comunicacións, todo o mundo pode saber cómo funciona e cómo se crean as chaves, mais non poden romper ou vulneralas chaves que xenera.
Usos para esta tecnoloxía
Cifrado de correos electrónicos:
O uso máis característico é no cifrado de emails, estos non son máis que arquivos de texto plano que se envían entre servidores. Calquera que os intercepte polo camiño pode leelos, modificalos e reenvialos ao seu destino sen deixar pegada neles, se parecerían ao envío dunha postal analóxica.
Sinatura dixital:
Outro uso para esta tecnoloxía está no firmado dos emails ou documentos de texto, onde se fai unha función resumo do texto, que logo se procesa coa chave privada e resulta nun código, que se comproba coa mesma chave pública, esto serve para enviar contido sen cifrar e poder comprobar que non foi modificado por otra persoa que non teña acceso a chave privada.
Explicación dos correos cifrados
Cando a dirección chamemoslle “AAA” lle quere enviar un email a “BBB”, e o quere enviar dunha maneira segura e confidencial (cal carta nun sobre pechado).
Crea o seu correo electrónico no seu cliente de emails con soporte para GPG ( Exemplo: O programa Mozilla Thunderbird, que o recomendo, dos mesmos que fan o Firefox ), este procesa o contido de texto do email e o cifra usando a chave pública de BBB.
Sustitue o texto “claro” do correo, por unha secuencia de letras e números complexos que só os podes descifrar coa chave privada de BBB.
“Pasos” que segue un email ao ser enviado cifrado pola internet
| 1 | O editor de emails de AAA envía o email xa difrado ao seu servidor de emails Gmail na internet. |
| 2 | Este recibe a orde de trasmitir ese email a BBB que ten a súa conta de emails no servidor de Yahoo, o envía e se queda unha copia do mismo (no cartafol enviados por exemplo). |
| 3 | O servidor Gmail de AAA non pode indexalo contido para obter máis información sobre AAA xa que ao estar cifrado non poden pois non teñen a “chave secreta” para poder descifralo a texto claro. |
| 4 | Yahoo recibe o email e trata de escudriñalo para recopilar información persoal sobre nós, que logo lla vendería a “terceiras empresas” ou gobernos. Informa a BBB de que recibiu un email novo. |
| 5 | Se BBB abre o email polo xestor de correo web de Yahoo https://mail.yahoo.com verá un correo non lexible pois estará cifrado. |
| 6 | BBB Accede ao seu cliente de correo (exp: Thunderbird ) quen descargará o arquivo de texto que son os emails, do servidor de Yahoo. |
| 7 | O cliente de BBB (Thunderbird) procesa o email e se atopa co bloco do corpo cifrado con GPG (onde vai a mensaxe escrita por AAA ), solicita o contrasinal da chave privada de BBB para descifrar a mensaxe. |
| 8 | Finalmente BBB pode leer o contido do email. |
Neste proceso de envío dun email hai mínimo 4 hosts ( equipos ) polos que pasa o email, sen contalos internos de Gmail, Yahoo e polos que haxa pasado o arquivo que é o email.
Cada host polo que pasa pode reter unha copia sen que o saibamos.
- AAA Ten unha copia local.
- GMAIL Outra.
- A NSA outra (quizáis xD).
- YAHOO outra.
- BBB outra.
- E probablemente máis xente e intermediarios a teñan, coma o exercito chino e ruso, que quizáis algún día a utilicen como parte dun arma cibernética, ou en caso da nosa empresa para o espionaxe industrial.
De todos eles só AAA e BBB poden velo contido claramente.
Os demáis deberían de ter varios superordenadores ou un ordenador cuántico para poder descifrar a mensaxe en 50 anos facendo un ataque de forza bruta.
Os computadores cuánticos en 2015 todavía son unha teoría da que comezan a fabricarse prototipos moi rudimentarios, mais se a teoría sobre estos equipos se chaga a realizar, din que con só 1 podrán ter o equivalente a toda a potencia de calculo informático do planeta.
Máis para entón os drons, o internet das cousas e as nanomáquinas que nos metan coas vacinas tendrán un rexistro exahustivo dos nosos actos xD
Engadir que mentres editalo teu email, se o editor de emails é bo (Thunderbird), cifrará o borrador antes de envialo ao servidor inda que só sexa gardado en borradores, por seacaso non o gardase en local cifrado, nada cómo ter unha partición cifrada, pois xa se sabe o dito “polos arquivos temporales morre o peixe” xD.
Explicación da firma de emails, textos e arquivos
Na informática cando se quere comprobar se un arquivo foi modificado o procesamos con unha “función resumo” esta nos da como resultado un “HASH· que ven sendo un “churro de letras” que é resultado único de procesares un arquivo ou texto con esa función resumo.
Existen múltiples tipos de funcións resumo, as máis coñecidas son MD5 e SHA256.
No seguinte exemplo proceso un texto counha función resumo dúas veces para que se vexa cómo amosa sempre o mesmo resultado:
$ echo Ola Mundo! | md5sum
63b0f4945a14765b8ed817d46fdd1099 -
$ echo Ola Mundo! | md5sum
63b0f4945a14765b8ed817d46fdd1099 -
$ echo Ola Mundo! | sha256sum
fd4a1013d10d9e5cd1c93eb995b62f4bc44e360172333df0054b34112382dde8 -
$ echo Ola Mundo! | sha256sum
fd4a1013d10d9e5cd1c93eb995b62f4bc44e360172333df0054b34112382dde8 -
Agora que sabemos cómo comprobar a integridade dun texto ou arquivo, teremos que facer que o “hash de orixen” que creamos unha vez terminamos o correo non é modificado polo camiño.
Pra elo ciframos o hash do noso correo coa nosa chave privada e enviamos o correo (cifrado ou non ), con esto estaría firmado.
| 1 | O receptor do email recibirá o correo ( o descifrará ou non ) e verá que hai unha parte cifrada coa nosa chave privada. |
| 2 | Cómo as chaves son asimétricas usará a nosa chave pública para descifrar ese contido e obter o HASH que nos saiu a nós. |
| 3 | Agora comprobará o noso hash co seu, e se coinciden se asegurará de que nadie modificou o contido, creando un novo hash e sustituindo o noso polo seu. |
| 4 | Polo que o receptor se asegurará de que o que ten é da nosa creación e non foi modificado polo camiño, tamén coñecido como non repudio. |
Explicación do cifrado de arquivos
Cómo expliquei antes, podes cifrar arquivos, esto se fai para subilos a sitios de “confianza” ( calquera cousa que non administres ti, por moito que digan que é da túa CONFIANZA é “da túa confianza” ) como nubes, FTPs e demáis… que logo polos seus xestores, políticas de uso, un faio na seguridade ou un mandato xudicial…
Poden facer que os teus datos queden comprometidos e accesibles a terceiras persoas alleas a ti.
Cifrándonos con GPG podes evitar que teñan acceso aos teus ficheiros, co cal compensa adicarlle uns minutos a protexelos teus arquivos con GnuPG xa que é o máis robusto e sinxelo de usar que se coñeza hoxe en día.
Entonces, podes cifrar os teus arquivos coa túa chave pública e subilos, así logo se supón que só ti coa túa chave privada podrás descifralos.
Ou ben, podes cifralos coa túa chave privada para que os demáis cando os descarguen os descifren coa túa chave pública asegurando así que son teus. Tamén os podes asinar no caso de que sexan moi grandes, para non ter que cifralos e asegurar que non son modificados por outros.
Instalación de GPG
Para instalalo en Fedora usamos “pgp-tools”:
sudo dnf install pgp-tools
Creación de chaves
Vou usala opción máis exaustiva, a que máis persoalización ten -full-gen-key con -expert:
$ gpg2 --expert --full-gen-key
gpg (GnuPG) 2.1.4; Copyright (C) 2015 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Por favor, seleccione o tipo de chave que quere:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (só asinar)
(4) RSA (só asinar)
(7) DSA (set your own capabilities)
(8) RSA (set your own capabilities)
(9) ECC and ECC
(10) ECC (sign only)
(11) ECC (set your own capabilities)
¿A súa selección? 1
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 4096
O tamaño de chave requerido son 4096 bits
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want for the subkey? (2048) 4096
O tamaño de chave requerido son 4096 bits
Por favor, indique canto tempo debería ser válida a chave.
0 = a chave non caduca
<n> = a chave caduca en n días
<n>w = a chave caduca en n semanas
<n>m = a chave caduca en n meses
<n>y = a chave caduca en n anos
¿Por canto tempo é válida a chave? (0) 5y
Key expires at Ven 19 Xuñ 2020 12:02:34 CEST
Is this correct? (y/N) y
GnuPG needs to construct a user ID to identify your key.
Nome: USUARIO
Enderezo de E-mail: usuario@inventado.com
Comentario: Chave de probas creada por Delio Docampo para http://deliodc.com
Escolleu este ID de usuario:
"USUARIO (Chave de probas creada por Delio Docampo para http://deliodc.com) <usuario@inventado.com>"
¿Cambiar (N)ome, (C)omentario, (E)-mail ou (A)ceptar/(S)aír? A
Cómpre xerar unha morea de bytes aleatorios. E unha boa idea facer outras
cousas (premer teclas no teclado, move-lo rato, usa-los discos duros)
mentres se xeran os números primos; isto proporciónalle ao xerador de
números aleatorios unha opoertunidade de acumular entropía de abondo.
Cómpre xerar unha morea de bytes aleatorios. E unha boa idea facer outras
cousas (premer teclas no teclado, move-lo rato, usa-los discos duros)
mentres se xeran os números primos; isto proporciónalle ao xerador de
números aleatorios unha opoertunidade de acumular entropía de abondo.
gpg: key A5674CB8 marked as ultimately trusted
gpg: directory '/home/<NOME_USUARIO>/.gnupg/openpgp-revocs.d' created
creáronse e asináronse as chaves pública e secreta.
gpg: comprobando a base de datos de confianza
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: hase comproba-la base de datos de confianza o 2020-06-19
pub rsa4096/A5674CB8 2015-06-21 [expires: 2020-06-19]
Key fingerprint = 2E84 EFCD 1649 5E5D 7BF2 6B6B DE36 6AF2 A567 4CB8
uid [ultimate] USUARIO (Chave de probas creada por Delio Docampo para http://deliodc.com) <usuario@inventado.com>
sub rsa4096/1A91C5AE 2015-06-21 [expires: 2020-06-19]
| 1 | Na primeira opción: Eleximos a 1 RSA e RSA. |
| 2 |
Na segunda opción: Eleximos o número máis alto que podamos neste caso 4096. Se queremos chaves maiores ca 4096 bits, deberemos modificalo código de GnuGP e compilalo.1 2 |
| 3 |
Na terceira opción: Podemeos elexir 5 anos “5y”. O tempo de caducidade é unha forma de indicar “canto tempo ten soporte pola nosa parte esa chave”. Serve para que os nosos contactos sepan que o que nos van a enviar vai poder ser descifrado por nos, ou siguen activas, as chaves sempre van funcionar, máis os xestores de correo poden bloquear o seu uso ou eliminalas se a data de caducidade xa se cumpriu. |
| 4 | A cuarta opción: Nos indica a data na que caduca e se estamos dacordo coa xeración da chave. |
| 5 | A quinta opción: O formulario. |
Son campos opcionáis que axudan a describila chave, logo de enchelos nos preguntará se queres modificar algo, se está todo escribimos “A” prememolo enter e nos preguntará polo contrasinal.
Este contrasinal serve para descifrares a nosa chave privada, se considera o punto máis feble de GPG, se perdémola chave privada permitiría a un atacante descifrala a través da forza bruta, deberemos usar unha longa que non saia en diccionarios.
Agora nos pedirán xerar “entropía”, cómo os computadores non son moi “creativos” se quere evitala vulnerabilidade de xerar as chaves en base a un patrón pseudoaleatorio, para elo deberemos realizar accións no pc que desestabilicen o procesamento lineal do mesmo.
No meu caso, estou a reproducir música e para facer máis entropía accedo a unha terminal cómo root e fago un ls de tódala raíz do sistema mentres movo o rato:
sudo ls -LRa /
Cando finaliza amósanos os datos acerca do noso xogo de chaves e nos indica o directorio no que se gardaron.
Soe ser na nosa home en .gnupg:
$ ls ~/.gnupg
Con isto xa teriamos creadas as chaves mestras, pública e privada.
Creación de subchaves
A creación de subchaves serve para que no caso de perda ou comprometimento da nosa subchave privada, poidamos revogala mais non perdamolo anel de confianza da nosa identidade.
Os emails enviados coa chave comprometida se verán comprometidos sempre, mais podemos revogar esa chave para facer unha nova e non perdela confianza na nosa identidade.
Para crear unha subchave deberemos usar
$ gpg2 --expert --edit usuario
gpg (GnuPG) 2.1.4; Copyright (C) 2015 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
A chave secreta está disponible.
pub rsa4096/A5674CB8
created: 2015-06-21 expires: 2020-06-19 usage: SC
trust: ultimate validity: ultimate
sub rsa4096/1A91C5AE
created: 2015-06-21 expires: 2020-06-19 usage: E
[ultimate] (1). USUARIO (Chave de probas creada por Delio Docampo para http://deliodc.com) <usuario@inventado.com>
Onde usamos o nome que ten asociado a chave e o -expert se queremos máis opcións.
Nos saldrá algo coma isto:
$ gpg2 --edit <nombre_llave>
gpg (GnuPG) 2.1.4; Copyright (C) 2015 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
A chave secreta está disponible.
pub rsa4096/<identificador_clave_pública>
created: <fecha_creación> expires: <fecha_caducidad> usage: <tipo_uso_de_la_clave>
trust: full validity: descoñecido
sub rsa4096/<identificador_clave_privada>
created: <fecha_creación> expires: <fecha_caducidad> usage: <tipo_uso_de_la_clave>
[ unknown] (1). <nombre_asociado_a_la_llave> <descripción> <<email>>
gpg>
Uso que ten a chave
O tipo de uso que ten unha chave non está documentado, o usuario maxschlepzing no seu post publicou unha maneira de atopar o seu significado escarbellando no código de GnuPG2 baixo Debian:
$ apt-get source gnupg2
$ cd gnupg2-2.0.17
$ cscope -bR
$ grep 'usage: %' . -r --exclude '*po*'
$ vim g10/keyedit.c
jump to usage: %
jump to definition of `usagestr_from_pk`
E como resultado se amosa isto:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Constant Character
───────────────────────────────
PUBKEY_USAGE_SIG S
PUBKEY_USAGE_CERT C
PUBKEY_USAGE_ENC E
PUBKEY_USAGE_AUTH A
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Onde nos atopamos cos 4 usos que ten esa chave:
| Letra: | Uso: |
|---|---|
| S | Signing ( firma ). |
| C | Certification ( Certificación ). |
| E | Encryption ( Cifrado ). |
| A | Authentication ( Autenticación ). |
Como podremos observar na nosa chave pública irá “sc”, isto quere dicir que se usará para nosa firma ( o que expliquei do hash que se cifra coa nosa chave privada ) e para certificar que só nos cheguen mensaxes ou arquivos que se cifren con ela.
Explicación dos termos “sinatura”, “certificar”, “cifrar” e “autenticar”
Por sinatura pode entenderse:
| sinatura. substantivo feminino |
|
| 1. | Nome escrito pola propia persoa, xeralmente acompañado de rúbrica, en documentos ou cartas, para comprometerse ou facerse responsable do que neles se di, ou para indicar que son auténticos. Poña aquí a súa sinatura. |
| 2. | Acción de asinar. Hoxe terá lugar a sinatura do tratado. |
Polo tanto a chave que teña asociada unha “S” quere decir que a utilizamos como Sinatura, cuxa definición máis perta sería a 1ª posto que a firma é o hash cifrado coa nosa chave privada e pode ser descifrado coa nosa chave pública, deixando claro que só nós podríamos facer dito hash. Polo tanto é o noso selo e sinatura.
Por certificar pode entenderse:
| certificar. verbo transitivo. |
|
| 1. | Garantir ou asegurar que [algo] é certo, verdadeiro ou que se vai cumprir. Certificar unha sinatura. Certificou a súa participación. SINÓNIMOS autenticar, legalizar, lexitimar. |
| 2. | Obter, mediante pagamento, un recibo ou resgardo que acredita que se enviou por correo [unha carta, paquete etc.]. |
Polo tanto sería a chave que teña unha “C”. Neste caso é máis perto a 1ª definición. Permite (certifica) que o contido procesado por esa chave chegue a nos ( Somos os que temos a chave segreda para descifralo ).
Por cifrar pode entenderse:
| cifrar verbo transitivo |
|
| 1 | Escribir [algo] en cifra ou en clave. Cifrar un telegrama, unha mensaxe, un texto. |
| 2 | Informática Ocultar mediante unha clave [o contido dun texto]. Se o receptor coñece a clave, pode recuperar a información que se cifrou. SINÓNIMO encriptar ANTÓNIMOS descifrar, desencriptar. |
| 3 | Fixar ou determinar a contía de [algo, especialmente perdas ou ganancias] en cifra. Cifraron as perdas da empresa en varios millóns. SINÓNIMOS avaliar, taxar, valorar. |
Ás que teñan a letra “E” de “Encrypt” ( cifrar ). Neste caso sería a 2ª, xa que procesámolos nosos textos ou arquivos literalmente cunha chave a pública e nadie os pode descifrar sen a outra metade da chave que seria a chave privada.
Por autenticar pode entenderse:
| autenticar verbo transitivo |
|
| 1 | Garantir que [un documento, unha sinatura etc.] é auténtico. O notario autenticou as escrituras presentadas. SINÓNIMOS certificar, legalizar, lexitimar. CONFRONTAR compulsar. |
Total, que se firmamos un correo coa nosa chave privada estamos autenticando a valided do mismo, conforme o enviamos nós.
Editalas preferenzas para xeración do HASH
Se queremos mudalo hash que usamos con GPG podemos usar “gpg2 -edit
Editámolas chaves e lle poñemos as seguintes preferenzas:
setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
gpg> showpref
[ultimate] (1). Delio <email>
Cifra: AES256, AES192, AES, 3DES
Resumo: SHA256, SHA384, SHA512, SHA224, SHA1
Compresión: ZLIB, BZIP2, ZIP, Sen comprimir
Características: MDC, Keyserver no-modify
gpg> setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
Set preference list to:
Cifra: AES256, AES192, AES, CAST5, 3DES
Resumo: SHA512, SHA384, SHA256, SHA224, SHA1
Compresión: ZLIB, BZIP2, ZIP, Sen comprimir
Características: MDC, Keyserver no-modify
Really update the preferences? (y/N) y
Xerar unha subchave
Máis abaixo en “comandos gpg2” amoso máis detalles sobre a consola de GPG.
Por resumir vou poñer aquí cómo xerar unha subchave directamente:
gpg> addkey
Con isto indicamos que queremos engadir unha subchave as chaves que estamos a editar.
Unha vez executado nos amosará:
Por favor, seleccione o tipo de chave que quere:
(3) DSA (só asinar)
(4) RSA (só asinar)
(5) Elgamal (encrypt only)
(6) RSA (só cifrar)
¿A súa selección?
| 1. | Se seleccionamos a opción 6 “RSA” só cifrar, sería unha subchave co uso “E” ( Faría unha chave para cifrar ). |
| 2. | Se seleccionamos a opción 4 “RSA” só firmar, sería unha subchave co uso “S” (Pra “sing” firmar ). |
Xerar un certificado de revocación
Crear un certificado de revocación nos servirá para usar este certificado como identificación para poder anular unha chave pública, é a peza que permite decirlle aos distribuidores de chaves “Esta chave era miña e a quero dar de baixa”.
Para xerala:
$ gpg2 --output <nome_do_arquivo> --gen-revoke <email_asociado_a_chave_privada>
Exportar as chaves
A chave pública:
$ gpg2 --export --armor <email_asociado_a_chave> > <nombre_arquivo_chave_pública>
A chave privada:
$ gpg2 --export-secret-subkeys --armor <email_asociado_a_chave> > <nombre_arquivo_chave_privada>
–export-secret-subkeys e –export-secret-keys ofrecen o mesmo resultado, consultar man.
Transformalo xogo de chaves mestras no teu xogo de chaves portable
Agora mesmo temolo noso xogo de chaves mestras no noso chaveiro, con tres arquivos que representan o xogo de chaves mestras máis o certificado de revogación das mesmas.
Pra transformalas nun par de chaves portables para o noso portátil ou móbil, teremos que eliminala subchave de firmado orixinal do noso xogo de chaves mestras ( non da copia de seguridade ).
1.- Exportamos todalas subchaves do noso novo par de chaves a un arquivo:
$ gpg2 --export-secret-subkeys --armor <email_asociado_as_chaves> > <nome_arquivo_subchaves>
2.- Borrámola subchave orixinal de firmado do noso par de chaves:
$gpg2 --delete-secret-key <email_asociado_a_chave>
Preguntará como 3 veces se queres borrala, lémbrate de facer unha copia de seguridade antes.
3.- Importámolas subchaves segredas que exportamos no paso 1
$ gpg2 --import <nome_arquivo_subchaves>
4.- Borrámolo arquivo do paso 1 de maneira segura con shred e nos aseguramos de gardalas mudanzas no disco antes e despóis:
$ sync & shred -zuv -n 1200 <nombre_archivo_subllaves> & sync
5.- Para comprobar o estado das nosas chaves:
$gpg2 -K
Podremos ver que con “sec#” aparece un cancelo, isto quere dicir que a subchave asinada non está no par de chaves aloxado no noso chaveiro.
Para máis info o man:
...
-K List all keys from the secret keyrings, or just the ones given on the command line. A # after the
letters sec means that the secret key is not usable (for example, if it was created via --export-
secret-subkeys).
...
Con isto estaría.
Se editámola chave, e tratamos de facer “addkey” para engadir outra subchave, nos amosará un erro coma este:
gpg> addkey
as partes secretas da chave primaria non están dispoñibles.
...
Onde nos indica que faltan partes da chave primaria ( mestra ) polo que non se pode xerar subchaves, a continuación lista as subchaves dispoñibles.
Entón quen teña este xogo de chaves “capado” podrá suplantala nosa identidade, ata que enviemos un certificado de revogación ao servidor de chaves, quen ao recibilo impugnará a lexitimidade destas subchaves.
Tras unhas probas realizadas no Thunderbird, podremos comprobar como podemos envialos emails cifrados a nosa conta e descifralos, mais non podremos crear novas subchaves.
Subir a túa chave a internet
Agora que xa tes unha chave pública, toca difundila o máis posible.
O mellor sitio para esta lavor pode ser: https://pgp.mit.edu/
para elo podemos subir a chave polo seu formulario web, a través de enigmal ou por liña de comandos da seguinte maneira:
$ gpg2 --keyserver pgp.mit.edu --send-keys <id_key>
Finalmente se accedemos a web e buscamos no servidor de chaves o meu nome aparecerá a miña chave pública: https://pgp.mit.edu/pks/lookup?op=vindex&search=0xF1970E1FEA8CB241
Nalgúns xestores de correo como Thunderbird con enigmail buscan a chave nestos servidores eles mesmos se é preciso.
Algúns comandos soltos
Listalas subchaves:
gpg2 --export-secret-subkeys | gpg2 --list-packets
Listalas propiedades dun arquivo que contén unha chave:
gpg2 --list-packets <nome_arquivo_da_chave>
Fontes
Quero agradecer aos autores dos post a información compartida libre e gratuitamente por internet, que me serviu en momentos puntuáis para elaborala información deste post.
Notas ao pé
-
Para elo deberemos baixalo da páxina oficial https://gnupg.org e modificalo para quitares a limitación. ↩
-
Neste outro proxecto (non o probei…) https://gist.github.com/anonymous/3d928a0bcbb3ed92c454 pódese ver sobre a liña 311 a función “raise_limits_in_source_code_dir()” que se encargará de poñer un novo límite duns 10 Mb, ter chaves de máis de 4096 bits, pode facer que os nosos contactos non poidan cifralos emails coa nosa chave pública, debido a limitacións do seu software ou hardware. ↩