Linux Professional Institute Learning Logo.
Pasar al contenido principal
  • Inicio
    • Todos los recursos
    • LPI Learning Materials
    • Conviértete en colaborador
    • Publishing Partners
    • Conviértase en un Publishing Partner
    • Acerca de nosotros
    • FAQ
    • Colaboradores
    • Roadmap
    • Contáctenos
  • LPI.org
110.3 Lección 2
Tema 105: Shells y scripts
105.1 Personalizar y usar el entorno de shell
  • 105.1 Lección 1
  • 105.1 Lección 2
  • 105.1 Lección 3
105.2 Personalizar y escribir scripts sencillos
  • 105.2 Lección 1
  • 105.2 Lección 2
Tema 106: Interfaces de usuario y escritorios
106.1 Instalar y configurar X11
  • 106.1 Lección 1
106.2 Escritorios gráficos
  • 106.2 Lección 1
106.3 Accesibilidad
  • 106.3 Lección 1
Tema 107: Tareas administrativas
107.1 Administrar cuentas de usuario y de grupo y los archivos de sistema relacionados con ellas
  • 107.1 Lección 1
  • 107.1 Lección 2
107.2 Automatizar tareas administrativas del sistema mediante la programación de trabajos
  • 107.2 Lección 1
  • 107.2 Lección 2
107.3 Localización e internacionalización
  • 107.3 Lección 1
Tema 108: Servicios esenciales del sistema
108.1 Mantener la hora del sistema
  • 108.1 Lección 1
  • 108.1 Lección 2
108.2 Registros del sistema
  • 108.2 Lección 1
  • 108.2 Lección 2
108.3 Conceptos básicos del Agente de Transferencia de Correo
  • 108.3 Lección 1
108.4 Gestión de la impresión y de las impresoras
  • 108.4 Lección 1
Tema 109: Fundamentos de redes
109.1 Fundamentos de los protocolos de Internet
  • 109.1 Lección 1
  • 109.1 Lección 2
109.2 Configuración de red persistente
  • 109.2 Lección 1
  • 109.2 Lección 2
109.3 Resolución de problemas básicos de red
  • 109.3 Lección 1
  • 109.3 Lección 2
109.4 Configuración DNS en el lado del cliente
  • 109.4 Lección 1
Tema 110: Seguridad
110.1 Tareas de administración de seguridad
  • 110.1 Lección 1
110.2 Configuración de la seguridad del sistema
  • 110.2 Lección 1
110.3 Protección de datos mediante cifrado
  • 110.3 Lección 1
  • 110.3 Lección 2
How to get certified
  1. Tema 110: Seguridad
  2. 110.3 Protección de datos mediante cifrado
  3. 110.3 Lección 2

110.3 Lección 2

Versión:

5.0

Tema:

110 Seguridad

Objetivo:

110.3 Protección de datos mediante cifrado

Lección:

2 de 2

Introducción

En la lección anterior aprendimos a utilizar OpenSSH para cifrar las sesiones de inicio de sesión remotas, así como cualquier otro intercambio de información posterior. Puede haber otros escenarios en los que quiera cifrar archivos o correos electrónicos para que lleguen a su destinatario de forma segura y libre de miradas indiscretas. También puede necesitar firmar digitalmente esos archivos o mensajes para evitar que sean manipulados.

Una gran herramienta para este tipo de usos es el GNU Privacy Guard (también conocido como GnuPG o simplemente GPG), que es una implementación libre y de código abierto del sistema propietario Pretty Good Privacy (PGP). GPG utiliza el estándar OpenPGP definido por el OpenPGP Working Group del Internet Engineering Task Force (IETF) en el RFC 4880. En esta lección revisaremos los fundamentos del GNU Privacy Guard.

Configuración básica de GnuPG, uso y revocación

Al igual que con SSH, el mecanismo subyacente a GPG es el de la criptografía asimétrica o criptografía de clave pública. Un usuario genera un par de claves que se compone de una clave privada y una clave pública. Las claves están relacionadas matemáticamente de tal manera que lo que se cifra con una sólo puede ser descifrado por la otra. Para que la comunicación se realice con éxito, el usuario debe enviar su clave pública al destinatario.

Configuración y uso de GnuPG

El comando para trabajar con GPG es gpg. Puede pasarle una serie de opciones para realizar diferentes tareas. Empecemos por generar un par de claves como usuario carol. Para ello, utilizaremos el comando gpg --gen-key:

carol@debian:~$ gpg --gen-key
gpg (GnuPG) 2.2.12; Copyright (C) 2018 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.

gpg: directory '/home/carol/.gnupg' created
gpg: keybox '/home/carol/.gnupg/pubring.kbx' created
Note: Use "gpg --full-generate-key" for a full featured key generation dialog.

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

Real name:

(...)

Después de informarle (entre otras cosas) que el directorio de configuración ~/.gnupg y su llavero público ~/.gnugpg/pubring.kbx han sido creados, gpg pasa a pedirle que proporcione su nombre real y su dirección de correo electrónico:

(...)
Real name: carol
Email address: carol@debian
You selected this USER-ID:
    "carol <carol@debian>"

Change (N)ame, (E)mail, or (O)kay/(Q)uit?

Si está de acuerdo con el USER-ID resultante y pulsa O, se le pedirá una frase de contraseña (se recomienda que tenga suficiente complejidad):

┌──────────────────────────────────────────────────────┐
│ Please enter the passphrase to                       │
│ protect your new key                                 │
│                                                      │
│ Passphrase:  │

(...)

Se mostrarán algunos mensajes finales que le informarán sobre la creación de otros archivos, así como de las propias claves, y entonces habrá terminado el proceso de generación de claves:

(...)
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.
gpg: /home/carol/.gnupg/trustdb.gpg: trustdb created
gpg: key 19BBEFD16813034E marked as ultimately trusted
gpg: directory '/home/carol/.gnupg/openpgp-revocs.d' created
gpg: revocation certificate stored as '/home/carol/.gnupg/openpgp-revocs.d/D18FA0021F644CDAF57FD0F919BBEFD16813034E.rev'
public and secret key created and signed.

pub   rsa3072 2020-07-03 [SC] [expires: 2022-07-03]
      D18FA0021F644CDAF57FD0F919BBEFD16813034E
uid                      carol <carol@debian>
sub   rsa3072 2020-07-03 [E] [expires: 2022-07-03]

Ahora puede ver lo que hay dentro del directorio ~/.gnupg (el directorio de configuración de GPG):

carol@debian:~/.gnupg$ ls -l
total 16
drwx------ 2 carol carol 4096 Jul  3 23:34 openpgp-revocs.d
drwx------ 2 carol carol 4096 Jul  3 23:34 private-keys-v1.d
-rw-r--r-- 1 carol carol 1962 Jul  3 23:34 pubring.kbx
-rw------- 1 carol carol 1240 Jul  3 23:34 trustdb.gpg

Expliquemos el uso de cada archivo:

opengp-revocs.d

Aquí se guarda el certificado de revocación que se creó junto con el par de claves. Los permisos de este directorio son bastante restrictivos, ya que cualquiera que tenga acceso al certificado podría revocar la clave (más información sobre la revocación de claves en la siguiente subsección).

private-keys-v1.d

Este es el directorio que guarda sus claves privadas, por lo que los permisos son restrictivos.

pubring.kbx

Este es su llavero público. Almacena sus propias claves públicas, así como cualquier otra importada.

trustdb.gpg

La base de datos de confianza. Esto tiene que ver con el concepto de Web of Trust (que está fuera del alcance de esta lección).

Note

La llegada de GnuPG 2.1 trajo consigo algunos cambios significativos, como la desaparición de los archivos secring.gpg y pubring.gpg en favor de private-keys-v1.d y pubring.kbx, respectivamente.

Una vez creado su par de claves, puede ver sus claves públicas con gpg --list-keys que mostrará el contenido de su llavero público:

carol@debian:~/.gnupg$ gpg --list-keys
/home/carol/.gnupg/pubring.kbx
------------------------------
pub   rsa3072 2020-07-03 [SC] [expires: 2022-07-03]
      D18FA0021F644CDAF57FD0F919BBEFD16813034E
uid           [ultimate] carol <carol@debian>
sub   rsa3072 2020-07-03 [E] [expires: 2022-07-03]

La cadena hexadecimal D18FA0021F644CDAF57FD0F919BBEFD16813034E es su huella digital de clave pública.

Note

Además del USER-ID (carol en el ejemplo), también existe el KEY-ID. El mismo consiste en los últimos 8 dígitos hexadecimales de la huella digital de tu clave pública (6813 034E). Puede comprobar su huella digital con el comando gpg --fingerprint USER-ID.

Distribución y revocación de claves

Ahora que tiene su clave pública, debe guardarla (es decir, exportarla) en un archivo para ponerla a disposición de sus futuros destinatarios. Ellos podrán utilizarla para encriptar archivos o mensajes destinados a usted (como es el único que posee la clave privada, también será el único capaz de desencriptarlos y leerlos). Del mismo modo, tus destinatarios también la utilizarán para descifrar y verificar sus mensajes/archivos cifrados o firmados. El comando a utilizar es gpg --export seguido del USER-ID y una redirección al nombre del archivo de salida que elija:

carol@debian:~/.gnupg$ gpg --export carol > carol.pub.key
carol@debian:~/.gnupg$ ls
carol.pub.key  openpgp-revocs.d  private-keys-v1.d  pubring.kbx  trustdb.gpg
Note

Pasando la opción -a o --armor a gpg --export (por ejemplo: gpg --export --armor carol > carol.pub.key) se creará una salida blindada ASCII (en lugar del formato binario OpenPGP por defecto) que puede ser enviada por correo electrónico de forma segura.

Como ya hemos dicho, ahora debe enviar su archivo de clave pública (carol.pub.key) al destinatario con el que quiere intercambiar información. Por ejemplo, enviemos el archivo de clave pública a ina en el servidor remoto halof utilizando scp(secure copy):

carol@debian:~/.gnupg$ scp carol.pub.key ina@halof:/home/ina/
Enter passphrase for key '/home/carol/.ssh/id_ecdsa':
carol.pub.key                                                                                         100% 1740   775.8KB/s   00:00
carol@debian:~/.gnupg$

ina está ahora en posesión de carol.pub.key. La utilizará para encriptar un archivo y enviarlo a carol en la siguiente sección.

Note

Otro medio de distribución de claves públicas es mediante el uso de servidores de claves: sube su clave pública al servidor con el comando gpg --keyserver keyserver-name --send-keys KEY-ID y otros usuarios las obtendrán (es decir, las importarán) con gpg --keyserver keyserver-name --recv-keys KEY-ID.

Terminemos esta sección hablando de la revocación de claves. La revocación de claves debe ser utilizada cuando sus claves privadas han sido comprometidas o retiradas. El primer paso es crear un certificado de revocación pasando a gpg la opción --gen-revoke seguida del USER-ID. Puede preceder a --gen-revoke con la opción --output seguida de una especificación de nombre de archivo de destino para guardar el certificado resultante en un archivo (en lugar de imprimirlo en la pantalla del terminal). Los mensajes de salida a lo largo del proceso de revocación son bastante autoexplicativos:

sonya@debian:~/.gnupg$ gpg --output revocation_file.asc --gen-revoke sonya

sec  rsa3072/0989EB7E7F9F2066 2020-07-03 sonya <sonya@debian>

Create a revocation certificate for this key? (y/N) y
Please select the reason for the revocation:
  0 = No reason specified
  1 = Key has been compromised
  2 = Key is superseded
  3 = Key is no longer used
  Q = Cancel
(Probably you want to select 1 here)
Your decision? 1
Enter an optional description; end it with an empty line:
> My laptop was stolen.
>
Reason for revocation: Key has been compromised
My laptop was stolen.
Is this okay? (y/N) y
ASCII armored output forced.
Revocation certificate created.

Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable.  But have some caution:  The print system of
your machine might store the data and make it available to others!

El certificado de revocación se ha guardado en el archivo evocation_file.asc (asc para el formato ASCII):

sonya@debian:~/.gnupg$ ls
openpgp-revocs.d  private-keys-v1.d  pubring.kbx  revocation_file.asc  trustdb.gpg
sonya@debian:~/.gnupg$ cat revocation_file.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: This is a revocation certificate

iQHDBCABCgAtFiEEiIVjfDnnpieFi0wvnlcN6yLCeHEFAl8ASx4PHQJzdG9sZW4g
bGFwdG9wAAoJEJ5XDesiwnhxT9YMAKkjQiMpo9Uyiy9hyvukPPSrLcmtAGLk4pKS
pLZfzA5kxa+HPQwBglAEvfNRR6VMxqXUgUGYC/IAyQQM62oNAcY2PCPrxyJNgVF7
8l4mMZKvW++5ikjZwyg6WWV0+w6oroeo9qruJFjcu752p4T+9gsHVa2r+KRqcPQe
aZ65sAvsBJlcsUDZqfWUXg2kQp9mNPCdQuqvDaKRgNCHA1zbzNFzXWVd2X5RgFo5
nY+tUP8ZQA9DTQPBLPcggICmfLopMPZYB2bft5geb2mMi2oNpf9CNPdQkdccimNV
aRjqdUP9C89PwTafBQkQiONlsR/dWTFcqprG5KOWQPA7xjeMV8wretdEgsyTxqHp
v1iRzwjshiJCKBXXvz7wSmQrJ4OfiMDHeS4ipR0AYdO8QCzmOzmcFQKikGSHGMy1
z/YRlttd6NZIKjf1TD0nTrFnRvPdsZOlKYSArbfqNrHRBQkgirOD4JPI1tYKTffq
iOeZFx25K+fj2+0AJjvrbe4HDo5m+Q==
=umI8
-----END PGP PUBLIC KEY BLOCK-----

Para revocar efectivamente su clave privada, ahora necesita fusionar el certificado con la clave, lo que se hace importando el archivo del certificado de revocación a su llavero:

sonya@debian:~/.gnupg$ gpg --import revocation_file.asc
gpg: key 9E570DEB22C27871: "sonya <sonya@debian>" revocation certificate imported
gpg: Total number processed: 1
gpg:    new key revocations: 1
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   1  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: next trustdb check due at 2022-07-04

Anote sus claves ahora y se le informará sobre su clave revocada:

sonya@debian:~/.gnupg$ gpg --list-keys
/home/sonya/.gnupg/pubring.kbx
pub   rsa3072 2020-07-04 [SC] [revoked: 2020-07-04]
      8885637C39E7A627858B4C2F9E570DEB22C27871
uid           [ revoked] sonya <sonya@debian>

Por último, pero no por ello menos importante, asegúrese de que la clave revocada esté disponible para cualquier parte que tenga claves públicas asociadas a ella (incluidos los servidores de claves).

Usar GPG para cifrar, descifrar, firmar y verificar archivos

En la sección anterior, carol envió su clave pública a ina. La usaremos ahora para discutir cómo GPG puede encriptar, desencriptar, firmar y verificar archivos.

Cifrado y descifrado de archivos

En primer lugar, ina debe importar la clave pública de carol (carol.pub.key) a su llavero para poder empezar a trabajar con ella:

ina@halof:~> gpg --import carol.pub.key
gpg: /home/ina/.gnupg/trustdb.gpg: trustdb created
gpg: key 19BBEFD16813034E: public key "carol <carol@debian>" imported
gpg: Total number processed: 1
gpg:               imported: 1
ina@halof:~> gpg --list-keys
/home/ina/.gnupg/pubring.kbx
----------------------------
pub   rsa3072 2020-07-03 [SC] [expires: 2022-07-03]
      D18FA0021F644CDAF57FD0F919BBEFD16813034E
uid           [ unknown] carol <carol@debian>
sub   rsa3072 2020-07-03 [E] [expires: 2022-07-03]

A continuación creará un archivo escribiendo algún texto en él y luego lo encriptará usando gpg (como no firmó la clave de carol, se le preguntará explícitamente si quiere usar esa clave):

ina@halof:~> echo "This is the message ..." > unencrypted-message
ina@halof:~> gpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message
gpg: 0227347CC92A5CB1: There is no assurance this key belongs to the named user
sub  rsa3072/0227347CC92A5CB1 2020-07-03 carol <carol@debian>
 Primary key fingerprint: D18F A002 1F64 4CDA F57F  D0F9 19BB EFD1 6813 034E
      Subkey fingerprint: 9D89 1BF9 39A4 C130 E44B  1135 0227 347C C92A 5CB1

It is NOT certain that the key belongs to the person named
in the user ID.  If you really know what you are doing,
you may answer the next question with yes.

Use this key anyway? (y/N) y

Desglosemos el comando gpg:

--output encrypted-message

Especificación del nombre del archivo para la versión encriptada del archivo original (mensaje-encriptado en el ejemplo).

--recipient carol

Especificación del ID de usuario del destinatario (carol en nuestro ejemplo). Si no se proporciona, GnuPG lo pedirá (a menos que se especifique --default-recipient).

--armor

Esta opción produce una salida blindada ASCII, que puede copiarse en un correo electrónico.

--encrypt unencrypted-message

Especificación del nombre del archivo original a cifrar.

Ahora puede enviar el mensaje encriptado a carol en debian usando scp:

ina@halof:~> scp encrypted-message carol@debian:/home/carol/
carol@debian's password:
encrypted-message                                                             100%  736     1.8MB/s   00:00

Si ahora se conecta como carol e intenta leer el mensaje encriptado, confirmará que en realidad está encriptado y, por tanto, es ilegible:

carol@debian:~$ cat encrypted-message
-----BEGIN PGP MESSAGE-----

hQGMAwInNHzJKlyxAQv/brJ8Ubs/xya35sbv6kdRKm1C7ONLxL3OueWA4mCs0Y/P
GBna6ZEUCrMEgl/rCyByj3Yq74kuiTmzxAIRUDdvHfj0TtrOWjVAqIn/fPSfMkjk
dTxKo1i55tLJ+sj17dGMZDcNBinBTP4U1atuN71A5w7vH+XpcesRcFQLKiSOmYTt
F7SN3/5x5J6io4ISn+b0KbJgiJNNx+Ne/ub4Uzk4NlK7tmBklyC1VRualtxcG7R9
1klBPYSld6fTdDwT1Y4MofpyILAiGMZvUR1RXauEKf7OIzwC5gWU+UQPSgeCdKQu
X7QL0ZIBS0Ug2XKrO1k93lmDjf8PWsRIml6n/hNelaOBA3HMP0b6Ozv1gFeEsFvC
IxhUYPb+rfuNFTMEB7xIO94AAmWB9N4qknMxdDqNE8WhA728Plw6y8L2ngsplY15
MR4lIFDpljA/CcVh4BXVe9j0TdFWDUkrFMfaIfcPQwKLXEYJp19XYIaaEazkOs5D
W4pENN0YOcX0KWyAYX6r0l8BF0rq/HMenQwqAVXMG3s8ATuUOeqjBbR1x1qCvRQP
CR/3V73aQwc2j5ioQmhWYpqxiro0yKX2Ar/E6rZyJtJYrq+CUk8O3JoBaudknNFj
pwuRwF1amwnSZ/MZ/9kMKQ==
=g1jw
-----END PGP MESSAGE-----

Sin embargo, como está en posesión de la clave privada, puede descifrar fácilmente el mensaje pasando a gpg la opción --decrypt seguida de la ruta al archivo cifrado (se requerirá la frase de contraseña de la clave privada):

carol@debian:~$ gpg --decrypt encrypted-message
gpg: encrypted with 3072-bit RSA key, ID 0227347CC92A5CB1, created 2020-07-03
      "carol <carol@debian>"
This is the message ...

También puede especificar la opción --output para guardar el mensaje en un nuevo archivo sin cifrar:

carol@debian:~$ gpg --output unencrypted-message --decrypt encrypted-message
gpg: encrypted with 3072-bit RSA key, ID 0227347CC92A5CB1, created 2020-07-03
      "carol <carol@debian>"
carol@debian:~$ cat unencrypted-message
This is the message ...

Firma y verificación de archivos

Además de encriptar, GPG también puede utilizarse para firmar archivos. La opción --sign es relevante aquí. Comencemos creando un nuevo mensaje (message) y firmándolo con la opción --sign (se requerirá la frase de contraseña de su clave privada):

carol@debian:~$ echo "This is the message to sign ..." > message
carol@debian:~$ gpg --output message.sig --sign message
(...)

Desglose del comando gpg:

--output message

Especificación del nombre de la versión firmada del archivo original (mensaje.sig en nuestro ejemplo).

--sign message

Ruta de acceso al archivo original.

Note

Con --sign se comprime el documento y se firma. La salida está en formato binario.

A continuación transferiremos el archivo a ina en halof usando scp mensaje.sig ina@halof:/home/ina . De vuelta como ina en halof, ahora puede verificarla usando la opción --verify:

ina@halof:~> gpg --verify message.sig
gpg: Signature made Sat 04 jul 2020 14:34:41 CEST
gpg:                using RSA key D18FA0021F644CDAF57FD0F919BBEFD16813034E
gpg: Good signature from "carol <carol@debian>" [unknown]
(...)

Si también quiere leer el archivo, tiene que desencriptarlo a un nuevo archivo (mensaje en nuestro caso) usando la opción --output:

ina@halof:~> gpg --output message --decrypt message.sig
gpg: Signature made Sat 04 jul 2020 14:34:41 CEST
gpg:                using RSA key D18FA0021F644CDAF57FD0F919BBEFD16813034E
gpg: Good signature from "carol <carol@debian>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: D18F A002 1F64 4CDA F57F  D0F9 19BB EFD1 6813 034E
ina@halof:~> cat message
This is the message to sign ...
Agente GPG

Completaremos esta lección tocando brevemente el tema de gpg-agent. El gpg-agent es el demonio que gestiona las claves privadas para GPG (se inicia a petición de gpg). Para ver un resumen de las opciones más útiles, ejecute gpg-agent --help o gpg-agent -h:

carol@debian:~$ gpg-agent --help
gpg-agent (GnuPG) 2.2.4
libgcrypt 1.8.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Syntax: gpg-agent [options] [command [args]]
Secret key management for GnuPG

Options:

     --daemon                        run in daemon mode (background)
     --server                        run in server mode (foreground)
     --supervised                    run in supervised mode
 -v, --verbose                       verbose
 -q, --quiet                         be somewhat more quiet
 -s, --sh                            sh-style command output
 -c, --csh                           csh-style command output
(...)
Note

Para más información, consulte la página man de gpg-agent.

Ejercicios guiados

  1. Complete la tabla proporcionando el nombre de archivo correcto:

    Descripción Archivo

    Base de datos de confianza

    Directorio de certificados de revocación

    Directorio de claves privadas

    Lector de claves públicas

  2. Responda a las siguientes preguntas:

    • ¿Qué tipo de criptografía utiliza GnuPG?

    • ¿Cuáles son los dos componentes principales de la criptografía de clave pública?

    • ¿Cuál es el KEY-ID de la huella digital de la clave pública 07A6 5898 2D3A F3DD 43E3 DA95 1F3F 3147 FA7F 54C7?

    • ¿Qué método se utiliza para distribuir las claves públicas a nivel global?

  3. Ponga los siguientes pasos en el orden correcto con respecto a la revocación de la clave privada:

    • Poner la clave revocada a disposición de sus corresponsales.

    • Crear un certificado de revocación.

    • Importar el certificado de revocación a su llavero.

      El orden correcto es:

      Paso 1:

      Paso 2:

      Paso 3:

  4. En cuanto al cifrado de archivos, ¿qué implica la opción --armor en el comando gpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message?

Ejercicios de exploración

  1. La mayoría de las opciones gpg tienen una versión larga y otra corta. Complete la tabla con la versión corta correspondiente:

    Versión larga Versión corta

    --armor

    --output

    --recipient

    --decrypt

    --encrypt

    --sign

  2. Responda a las siguientes preguntas sobre la exportación de claves:

    • ¿Qué comando utilizaría para exportar todas sus claves públicas a un archivo llamado all.key?

    • ¿Qué comando utilizaría para exportar todas sus claves privadas a un archivo llamado all_private.key?

  3. ¿Qué opción de gpg permite llevar a cabo la mayoría de las tareas relacionadas con la gestión de llaves presentando un menú?

  4. ¿Qué opción de gpg permite realizar una firma en texto claro?

Resumen

Esta lección ha cubierto GNU Privacy Guard, una excelente opción para cifrar/descifrar y firmar/verificar digitalmente los archivos. Usted aprendió:

  • Cómo generar un par de claves.

  • Cómo listar las llaves en su llavero.

  • El contenido del directorio ~/.gnupg.

  • Qué son USER-ID y KEY-ID.

  • Cómo distribuir las claves públicas a sus corresponsales.

  • Cómo dividir globalmente las claves públicas a través de servidores de claves.

  • Cómo revocar las claves privadas.

  • Cómo encriptar y desencriptar archivos.

  • Cómo firmar y verificar los archivos.

  • Los fundamentos del GPG-Agent.

El siguiente comando fue discutido en esta lección:

gpg

Herramienta de cifrado y firma OpenPGP.

Respuestas a los ejercicios guiados

  1. Complete la tabla proporcionando el nombre de archivo correcto:

    Descripción Archivo

    Base de datos de confianza

    trustdb.gpg

    Directorio de certificados de revocación

    opengp-revocs.d

    Directorio de claves privadas

    private-keys-v1.d

    Lector de claves públicas

    pubring.kbx

  2. Responda a las siguientes preguntas:

    • ¿Qué tipo de criptografía utiliza GnuPG?

      Criptografía de clave pública o asimétrica.

    • ¿Cuáles son los dos componentes principales de la criptografía de clave pública?

      Las claves pública y privada.

    • ¿Cuál es el KEY-ID de la huella digital de la clave pública 07A6 5898 2D3A F3DD 43E3 DA95 1F3F 3147 FA7F 54C7?

      FA7F 54C7

    • ¿Qué método se utiliza para distribuir las claves públicas a nivel global?

      Key servers.

  3. Ponga los siguientes pasos en el orden correcto con respecto a la revocación de la clave privada:

    • Poner la clave revocada a disposición de sus corresponsales

    • Crear un certificado de revocación

    • Importar el certificado de revocación a su llavero

      El orden correcto es:

      Paso 1:

      Crear un certificado de revocación

      Paso 2: 

      Importar el certificado de revocación a su llavero

      Paso 3:

      Poner la clave revocada a disposición de sus corresponsales

  4. En cuanto al cifrado de archivos, ¿qué implica la opción --armor en el comando gpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message?

    Produce una salida blindada ASCII, que permite copiar el archivo cifrado existente resultante en un correo electrónico.

Respuestas a los ejercicios de exploración

  1. La mayoría de las opciones gpg tienen una versión larga y otra corta. Complete la tabla con la versión corta correspondiente:

    Versión larga Versión corta

    --armor

    -a

    --output

    -o

    --recipient

    -r

    --decrypt

    -d

    --encrypt

    -e

    --sign

    -s

  2. Responda a las siguientes preguntas sobre la exportación de claves:

    • ¿Qué comando utilizaría para exportar todas sus claves públicas a un archivo llamado all.key?

      gpg --export --output all.key o gpg --export -o all.key

    • ¿Qué comando utilizaría para exportar todas sus claves privadas a un archivo llamado all_private.key?

      gpg --export-secret-keys --output all_private.key o gpg --export-secret-keys -o all_private.key (--export-secret-keys puede ser sustituido por --export-secret-subkeys con un resultado ligeramente diferente — consulte man pgp para más información).

  3. ¿Qué opción de gpg permite llevar a cabo la mayoría de las tareas relacionadas con la gestión de llaves presentando un menú?

    --edit-key

  4. ¿Qué opción de gpg permite realizar una firma en texto claro?

    --clearsign

Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

Siguiente lección

110.2 Configuración de la seguridad del sistema (110.2 Lección 1)

Leer la próxima lección

Linux Professional Insitute Inc. Todos los derechos reservados. Visite el sitio web de Learning Materials: https://learning.lpi.org
Este trabajo está registrado bajo la Licencia Internacional Creative Commons Attribution-NonCommercial-NoDerivatives 4.0

LPI es una organización sin fines de lucro.

© 2023 Linux Professional Institute (LPI) es la organización global de certificación y apoyo académico para profesionales de código abierto. Con más de 200,000 titulares de certificación, es el primer y más grande organismo de certificación no comercial del mundo para Linux y Open Source. LPI cuenta con profesionales certificados en más de 180 países, realiza exámenes en varios idiomas y tiene cientos de socios de capacitación.

Nuestro propósito es hacer que las oportunidades económicas y creativas estén disponibles para todos, haciendo que el conocimiento de código abierto y la certificación sea universalmente accesible.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Contáctenos
  • Política de privacidad y cookies

¿Detecta un error o desea ayudar a mejorar esta página? Por favor háznoslo saber.

© 1999–2023 The Linux Professional Institute Inc. Todos los derechos reservados.