uso_de_claves_de_cifrado_con_gpg

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
uso_de_claves_de_cifrado_con_gpg [2021/06/05 22:41] – creado bruuso_de_claves_de_cifrado_con_gpg [2023/06/27 20:37] (actual) – [2. Comparte tu llave pública PGP con terceros] peron
Línea 1: Línea 1:
-La privacidad es un valor impostergable en un sistema de cómputo. Puedes aprender a cifrar mensajes de correo electrónico en el ambiente Texto-plano.+====== Uso de llaves de cifrado GPG ======
  
-Para ello debes utilizar el criptosistema **GnuPG v2.**+>La privacidad es un valor impostergable en un sistema de cómputo. Puedes aprender a cifrar mensajes de correo electrónico en el ambiente **Texto-plano**.xyz. Para ello debes utilizar el criptosistema **GnuPG**.
  
 Este criptosistema ofrece un mecanismo de cifrado para mensajes de punto a punto. Cada punto (remitente y receptor) posee dos tipos de clave: una llamada //Clave Privada//, y otra que se combina con la anterior pero que debe compartirse con el resto de tus destinatarios de correo: la //Clave Pública//. Este criptosistema ofrece un mecanismo de cifrado para mensajes de punto a punto. Cada punto (remitente y receptor) posee dos tipos de clave: una llamada //Clave Privada//, y otra que se combina con la anterior pero que debe compartirse con el resto de tus destinatarios de correo: la //Clave Pública//.
  
-En texto-plano, podrás utilizar el programa de correo electrónico **Mutt** para enviar y recibir correo electrónico convencional. Pero si adicionalmente utilizas el criptosistema, podrás asegurar el envío y recepción de correo cifrado y firmado digitalmente.+En texto-plano, podrás utilizar el programa de correo electrónico **Mutt** para enviar y recibir [[usar_tu_casilla_de_correo_con_mutt_en_texto-plano|correo electrónico convencional]]. Pero si adicionalmente utilizas el criptosistema, podrás asegurar el [[enviar_correo_cifrado_con_mutt|envío y recepción de correo cifrado y firmado digitalmente con Mutt]].
  
 Sigue este tutorial para poder usar el criptosistema. Sigue este tutorial para poder usar el criptosistema.
  
-====Crea un par de claves PGP =====+==== 1. Crea un par de llaves PGP ====
  
-En primer lugar genera el par de claves propias (privada y pública) necesarias. Ingresa el comando:+En primer lugargenera el necesario **par de llaves (privada y pública)** asociadas a tu dirección de correo electrónico. Ingresa el comando:
  
-**gpg2 –gen-key**+<code> 
 +gpg --full-generate-key 
 +</code>
  
 Aparecerá en tu terminal el siguiente diálogo. Completa el nombre y la dirección del correo electrónico: Aparecerá en tu terminal el siguiente diálogo. Completa el nombre y la dirección del correo electrónico:
  
 <code> <code>
-gpg (GnuPG) 2.2.23; Copyright (C) 2020 Free Software Foundation, Inc.+gpg (GnuPG) 2.2.36; Copyright (C) 2022 g10 Code GmbH
 This is free software: you are free to change and redistribute it. This is free software: you are free to change and redistribute it.
 +There is NO WARRANTY, to the extent permitted by law.
  
-Nombre apellidos: **Fulano Mengano** +Por favor seleccione tipo de clave deseado: 
-Dirección de correo electrónico: **fulano@texto-plano.xyz**+   (1) RSA RSA (por defecto) 
 +   (2) DSA y ElGamal 
 +   (3) DSA (sólo firmar) 
 +   (4) RSA (sólo firmar) 
 +  (14) Existing key from card 
 +Su elección 
 +</code> 
 + 
 +Pulsa 1 para indicar tipo de llave **RSA y RSA**. Cuando se te solicite el tamaño puedes indicar **4096**. Si lo deseas, puedes elegir que el par de llaves no caduque nunca (opción **0**) y confirma que todo es correcto. 
 + 
 +Introduce los datos para identificar la llave, por ejemplo: 
 + 
 +  * Nombre y apellidos: Fulana Mengana 
 +  * Dirección de correo electrónico: fulana@texto-plano.xyz 
 +  Comentario: en la tilde en castellano 
 + 
 +Se te indicará: 
 + 
 +<code> 
 +Está usando el juego de caracteres 'utf-8'.
 Ha seleccionado este ID de usuario: Ha seleccionado este ID de usuario:
-    "Fulano Mengano"+    "Fulana Mengana (en la tilde en castellano) <fulana@texto-plano.xyz>"
  
-¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir?**V**+¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? v
 </code> </code>
-\\ 
  
 +Acepta los cambios presionando la **tecla v**.
 +
 +Si estás inaugurando tu criptosistema en el entorno texto-plano, se te solicitará ahora que ingreses ahora una __contraseña de criptosistema__ (y confirmarla), a fin de proteger tu llavero (“Key-Ring”). Naturalmente, si ya hubieses utilizado el criptosistema previamente, se te solicitará ingresar la contraseña del llavero que le introdujiste al momento de su creación.
  
-Si esta es la primera vez que utilizas el criptosistema en el entorno texto-plano, se te solicitará que ingreses ahora una contraseña de criptosistema (y confirmarla) a fin de proteger tu llavero (“Key-Ring”). Este keyring es el programa que permite controlar todas tus acciones de encriptación, de modo que toma nota de la misma y consérvala a resguardoEn cambio, si ya hubieses utilizado el criptosistema previamente, se te solicitará ingresar la contraseña del llavero.+> El **Keyring** ("llavero") es el programa almacenamiento del criptosistema, y te permite controlar todas tus acciones de encriptación, de modo que toma nota de la contraseña del llavero y consérvala a en un lugar seguroSu directorio __de acceso exclusivo y reservado__ es ''~/.gnupg/''
  
 Una vez concluido se te informará: Una vez concluido se te informará:
Línea 37: Línea 61:
 <code> <code>
 gpg: clave XXXXXXXX marcada como de confianza absoluta gpg: clave XXXXXXXX marcada como de confianza absoluta
-gpg: certificado de revocación guardado como '/home/fulano/.gnupg/openpgp-revocs.d/xxxxxxxxxx.rev'+gpg: certificado de revocación guardado como ''/home/fulana/.gnupg/openpgp-revocs.d/xxxxxxxxxx.rev''
  
 gpg: clave pública y secreta creadas y firmadas. gpg: clave pública y secreta creadas y firmadas.
-pub   rsa3072 aaaa-mm-dd+pub   rsa4096 aaaa-mm-dd
       Huella de clave = zzzz zzzz zzzz zzzzz zzzz  zzzz zzzz zzzz zzzz zzzz       Huella de clave = zzzz zzzz zzzz zzzzz zzzz  zzzz zzzz zzzz zzzz zzzz
-uid                  Fulano Mengano [fulano@texto-plano.xyz]+uid                  Fulana Mengana [fulana@texto-plano.xyz]
 sub   rsa3072/ZZZZZZZZ aaaa-mm-dd sub   rsa3072/ZZZZZZZZ aaaa-mm-dd
 </code> </code>
-\\ 
  
  
-===== Comparte tu clave pública PGP con terceros ===== 
  
-Quienes deseen descifrar tu correo encriptado deben contar con tu clave públicaPara poder darle a futuros remitentes tu clave pública debes exportarla. Por ejemplo, utilizarías el comando:+==== 2Comparte tu llave pública PGP con terceros ====
  
-**gpg2 –armor –output fulano_tp_publica.asc –export fulano@texto-plano.xyz**+Quienes deseen descifrar tu correo encriptado deben contar con tu llave pública almacenada en un ficheroPrimero deberás exportar una copia de tu cable pública con un comando similar a este:
  
-Este ejemplo creará un archivo llamado fulano_tp_publica.asc. Este archivo podrá ser hecho público de la manera que desees, ya sea enviándolo adjunto por correo electrónico, ingresarlo a tu “finger” de Texto-plano, subirlo a tu www o gopherhole.+<code> 
 +gpg --export --armor fulana@texto-plano.xyz > ~/fulana_tp_publica.asc 
 +</code>
  
-\\+Este ejemplo creará en tu directorio de usuari@ un fichero de llave pública denominado ''fulana_tp_publica.asc''
  
 +Hazlo público de las manera que desees:
 +  * Enviáselo adjunto por correo electrónico a quien desees;
 +  * Copia este fichero a tu [[caja]] de Texto-plano;
 +  * Cópialo a tu directorio ''~/public_hmtl'' para dejarlo disponible en [[uso de html|tu página web]];
 +  * Cópialo a tu directorio ''~/public_gopher/'' para distribuirlo desde tu [[gopher|gopherhole]];
 +  * También puedes publicarlo en tu [[finger]] de texto-plano, etc.
  
-===== Agrega a tu criptosistema la Clave pública PGP de un tercero =====+Para hacer esto desde la shell, podrías modificar el siguiente bloque de comandos de ejemplo:
  
-Para poder enviarle correo electrónico cifrado a un tercero, deberás incorporar a tu critosistema la clave pública de dicha personaLa misma tendrá la misma forma que tu propia clave pública: es un archivo .asc, o eventualmente .gpg.+<code bash> 
 +cp ~/fulana_tp_publica.asc ~/public_html/
 +acthtml ; 
 +cp ~/fulana_tp_publica.asc /var/www/caja/$USER/
 +actcaja ; 
 +cp ~/fulana_tp_publica.asc ~/public_gopher/
 +cp ~/fulana_tp_publica.asc ~/.pgpkey 
 +</code>
  
-Suponiendo que te hacen llegar por correo electrónico no cifrado la clave pública de el destinatario pepita@texto-plano.xyz, que consiste en un archivo de clave pública llamado pepita_tp.asc. La incorporarás a tu criptosistema con el comando: 
  
-**gpg2 –import pepita_tp.asc** 
  
-Sólo si la clave está intacta, el sistema la incorporará. En tal caso nos devolverá algo como:+==== 3. Agrega a tu criptosistema la llave pública PGP de un tercero ==== 
 + 
 +Para poder enviarle correo electrónico cifrado a un tercero, deberás incorporar a tu critosistema la llave pública de dicha persona. La misma tendrá la misma forma que tu propia llave pública: es un fichero ''.asc'', o eventualmente ''.gpg''
 + 
 +>Las llaves públicas suelen dejarse disponibles en un sitio web personal, o incluso puedes solicitarlas al destinatario por medio directo o electrónico - incluso abierto. 
 + 
 +Suponiendo que te hacen llegar por correo electrónico no cifrado la llave pública del destinatario pepita@texto-plano.xyz, consistente en un fichero de llave pública denominado ''pepita_tp.asc'', la incorporarás a tu criptosistema con el comando: 
 + 
 +<code> 
 +gpg –-import pepita_tp.asc 
 +</code> 
 + 
 +Sólo si la llave está intacta, el sistema la incorporará. En tal caso te devolverá algo como:
  
 <code> <code>
Línea 77: Línea 124:
  
  
-===== Revisar y validar las llaves almacenadas en el criptosistema =====+==== 4. Revisa las llaves almacenadas en el criptosistema ====
  
-Podrás revisar las claves contenidas en tu criptosistema con el comando:+Podrás revisar las llaves públicas contenidas en tu criptosistema con el comando:
  
-**gpg2 list-keys**+<code> 
 +gpg 
 +</code>
  
-y este informará algo como:+y este informará las llaves públicas de terceros contenidas en tu llavero, de una forma similar a esta:
  
 <code> <code>
-/home/usuario/.gnupg/pubring.gpg+/home/fulana/.gnupg/pubring.gpg
 ------------------------------ ------------------------------
-pub   3072R/YYYYYYY aaaa-mm-dd +pub   4096R/YYYYYYY aaaa-mm-dd 
-uid                  Fulano Mengano +uid                  Fulana Mengana 
-sub   3072R/ZZZZZZ aaaa-mm-dd+sub   4096R/ZZZZZZ aaaa-mm-dd
  
 pub   2048R/3DE3f869 aaaa-mm-dd pub   2048R/3DE3f869 aaaa-mm-dd
Línea 96: Línea 145:
 sub   2048R/C3CFF358 aaaa-mm-dd sub   2048R/C3CFF358 aaaa-mm-dd
 </code> </code>
 +
 +==== 5. Valida las Llaves del Criptosistema ====
 +
 +Por favor revisa [[validar llaves de terceros|Cómo validar las llaves de terceros]]
 \\ \\
 +==== 6. Eliminar llave de terceros ====
 +
 +Si opcionalmente deseas remover alguna llave particular de un tercero de tu llavero, utiliza:
 +
 +<code>
 +gpg --delete-key (id. de llave)
 +</code>
 +Revisa las llaves del criptosistema para verificar que se haya eliminado.
 +
 +==== 7. Eliminar llave propia ====
 +> Solo debes eliminar tu llave privada si estás absolutamente seguro. Te impedirá descifrar mensajes que terceros podrían enviarte utilizando la llave pública asociada a la misma.
 +
 +Si deseas eliminar tu propia llave privada (y la llave pública asociada, naturalmente), primero lístala con ''-K'' (nota que es ''K'' mayúscula, en lugar de utilizar ''-k'', que lista las claves públicas solamente):
 +
 +<code>
 +gpg -K
 +</code>
  
 +Tras identificarla, elimínala con:
  
 +<code>gpg --delete-secret key (id.de llave privada)</code>
  
 ---- ----
  • uso_de_claves_de_cifrado_con_gpg.1622932917.txt.gz
  • Última modificación: 2021/06/05 22:41
  • por bru