Cifrar con GPG un documento de LibreOffice

En ocasións é necesario cifrar a documentación, fundamentalmente para o envío por correo electrónico a través da rede. Coa Lei Orgánica de Protección de Datos, este procedemento volveuse máis imprescindible fundamentalmente cando manexamos datos relacionados coa saúde, xa que presentan a máxima protección.

 

Para entender o procedemento imaxinemos que dous usuarios Xoel e Eire queren intercambiar entre si información, pero queren evitar que poida ser interceptada por calquera outra persoa. Ou, Eire quere levar documentos do traballo nun USB para rematalos na casa, pero quere estar segura que aínda que perda o lapis de memoria, un terceiro non será quen de ler a información que ten nese dispositivo.

1. O primeiro que deben de facer tanto Xoel como Eire é crear o par de chaves público - privadas, empregando o terminal

gpg --full-generate-key

O sistema imprime unha serie de información, indicándonos a ruta na cal gardará a información relativa ás claves público- privadas. Ademais pregúntanos que tipo de chave desexamos. Eliximos a (1),

gpg: directory '/home/usuario/.gnupg' created
gpg: keybox '/home/usuario/.gnupg/pubring.kbx' created
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)
¿A súa selección? 1

A continuación pregúntanos polo tamaño da chave. Canto máis tamaño máis difícil será de descifrar, pero lévalle máis tempo creala. Neste exemplo escollerei o valor máis baixo 1024 bits.

RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (3072) 1024

O seguinte que nos pregunta o sistema é se desexamos que a chave caduque, e o periodo de validez en caso afirmativo. Neste exemplo, indico que non caduca pulsando enter no teclado.

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)

E confirmo novamente con "y"

Key does not expire at all
Is this correct? (y/N) y

Como podemos ter moitas claves, cada unha delas para o uso que desexemos, debemos de poñerlle un nome ou ID para idenficalas:

GnuPG needs to construct a user ID to identify your key.

Nome: Eire_P

E ademais unha conta de correo electrónico e un comentario, se desexamos agregarllo

Enderezo de E-mail: eire_p@edu.xunta.es

Finalmente prememos en A para aceptar:

Nome: Eire_P
Enderezo de E-mail: eire_p@edu.xunta.es
Comentario:
Escolleu este ID de usuario:
    "Eire_P <eire_p@edu.xunta.es>"

¿Cambiar (N)ome, (C)omentario, (E)-mail ou (A)ceptar/(S)aír? a

Aparece unha fiestra onde tanto Eire como Xoel deben de configurar a clave privada. Esta clave, como o seu nome indica, nunca se pode facer pública!

Despois duns segundos, en función da capacidade do ordenador, o sistema imprimirá a clave pública (4736B160142178511D6A5A7ED05C8A59418A3309)

pub   rsa1024 2020-02-14 [SC]
      4736B160142178511D6A5A7ED05C8A59418A3309
uid                      Eire_P <eire_p@edu.xunta.es>
sub   rsa1024 2020-02-14 [E]

Podemos listar todas claves públicas que teñamos instaladas no ordenador coa orde:

gpg --list-keys


Agora os dous usuarios deben de exportar a clave pública para intercambiala entre si. Trátase de crear un ficheiro gpg. Neste exemplo, fíxate como Eire agrega a clave pública que o sistema imprime no paso anterior

gpg --output eire_p.gpg --export 4736B160142178511D6A5A7ED05C8A59418A3309

A clave xera na ruta na teñamos o terminal no momento de executar o comando. Esta clave é pública, como o seu nome indica. Podemos enviala por correo electrónico ou mesmo publicala na nosa páxina web.

(Na ligazón do proxecto gnupg temos toda a información para o intercambio de claves)

2. Xoel, debe de importar ao seu sistema a clave pública que lle facilitou Eire por medio do correo electrónico, por exemplo:

gpg --import eire_p.gpg
gpg: key D05C8A59418A3309: public key "Eire_P <eire_p@edu.xunta.es>" imported
gpg: Número total procesado: 1
gpg:            importadas: 1

 

Sen embargo non chega con importar a clave de Eire. Xoel debe de asinala clave pública de Eire coa clave privada de xoel, para que a importación sexa segura. Procede a editala:

gpg --edit-key eire_p@edu.xunta.es

pub  rsa1024/BBD6167DCF65EA6B
     created: 2020-02-14  expires: never       usage: SC  
     trust: unknown       validity: full
sub  rsa1024/5FEF6A9923F64460
     created: 2020-02-14  expires: never       usage: E   
[  full  ] (1). eire_p <eire_p@edu.xunta.es>

Para visualizala emprega o comando fpr (fingerprint)

gpg> fpr
pub   rsa1024/BBD6167DCF65EA6B 2020-02-14 eire_p <eire_p@edu.xunta.es>
 Primary key fingerprint: 4067 6A9A 9E46 F898 02A6  5D91 BBD6 167D CF65 EA6B

E finalmente asina a clave, co comando sign:

gpg> sign


O sistema solita a clave privada a Xoel, e quedará asinada de forma correcta no sistema a clave de Eire.

 

3. Xoel Crea un documento que quere enviarlle a Eire

 

Ficheiro -> Gardar Como

Insire o nome do documento.

Clic en "Cifrar con chave GPG"

E finalmente clic en Gardar

O sistema imprime unha fiestra onde Xoel debe de escoller o certificado de Eire, xa que é esta a destinataria do documento:

Clic en Cifrar

 

Cando Xoel recibe un correo electrónico de Eire, onde lle manda un ficheiro de Writer, cifrado coa clave pública de Xoel, ábrese a seguinte fiestra. Xoel debe de inserir a súa clave privada (non a de Eire), e visualizará o documento de forma correcta. E viceversa. Debemos de ter claro que non só chega con coñecer a clave privada. Neste exemplo, Eire poderá abrilo naquel equipo no que teña instalada a clave privada e ademais coñeza o contrasinal.