Linux Professional Institute Learning Logo.
Ir para o conteúdo principal
  • Home
    • Todos os recursos
    • LPI Materiais Didáticos
    • Colabore Conosco
    • Publishing Partners
    • Seja um Publishing Partner
    • Quem Somos
    • FAQ
    • Colaboradores
    • Contato
  • LPI.org
110.3 Lição 2
Tópico 105: Shells e scripts do Shell
105.1 Personalizar e trabalhar no ambiente shell
  • 105.1 Lição 1
  • 105.1 Lição 2
  • 105.1 Lição 3
105.2 Editar e escrever scripts simples
  • 105.2 Lição 1
  • 105.2 Lição 2
Tópico 106: Interfaces de usuário e Desktops
106.1 Instalar e configurar o X11
  • 106.1 Lição 1
106.2 Desktops gráficos
  • 106.2 Lição 1
106.3 Acessibilidade
  • 106.3 Lição 1
Tópico 107: Tarefas administrativas
107.1 Administrar contas de usuário, grupos e arquivos de sistema relacionados
  • 107.1 Lição 1
  • 107.1 Lição 2
107.2 Automatizar e agendar tarefas administrativas de sistema
  • 107.2 Lição 1
  • 107.2 Lição 2
107.3 Localização e internacionalização
  • 107.3 Lição 1
Tópico 108: Serviços essenciais do sistema
108.1 Manutenção da data e hora do sistema
  • 108.1 Lição 1
  • 108.1 Lição 2
108.2 Log do sistema
  • 108.2 Lição 1
  • 108.2 Lição 2
108.3 Fundamentos de MTA (Mail Transfer Agent)
  • 108.3 Lição 1
108.4 Configurar impressoras e impressão
  • 108.4 Lição 1
Tópico 109: Fundamentos de Rede
109.1 Fundamentos de protocolos de internet
  • 109.1 Lição 1
  • 109.1 Lição 2
109.2 Configuração persistente de rede
  • 109.2 Lição 1
  • 109.2 Lição 2
109.3 Soluções para problemas simples de rede
  • 109.3 Lição 1
  • 109.3 Lição 2
109.4 Configurar DNS cliente
  • 109.4 Lição 1
Tópico 110: Segurança
110.1 Tarefas administrativas de segurança
  • 110.1 Lição 1
110.2 Configurar a segurança do host
  • 110.2 Lição 1
110.3 Proteção de dados com criptografia
  • 110.3 Lição 1
  • 110.3 Lição 2
How to get certified
  1. Tópico 110: Segurança
  2. 110.3 Proteção de dados com criptografia
  3. 110.3 Lição 2

110.3 Lição 2

Certificação:

LPIC-1

Versão:

5.0

Tópico:

110 Segurança

Objetivo:

110.3 Proteção de dados com criptografia

Lição:

2 de 2

Introdução

Na lição anterior, aprendemos como usar o OpenSSH para criptografar sessões de login remoto, bem como qualquer outra troca de informações subsequente. Claro, existem outras situações em que é necessário criptografar arquivos ou emails para que cheguem ao destinatário em segurança, longe de olhares indiscretos. Também pode ser preciso assinar digitalmente esses arquivos ou mensagens para evitar que sejam adulterados.

Para essas finalidades, recomendamos vivamente o GNU Privacy Guard (também conhecido como GnuPG ou simplesmente GPG), uma implementação gratuita e de código aberto do Pretty Good Privacy (PGP), que é proprietário. O GPG usa o padrão OpenPGP, definido pelo Grupo de Trabalho OpenPGP da Internet Engineering Task Force (IETF) no RFC 4880. Nesta lição, abordaremos os fundamentos do GNU Privacy Guard.

Como executar a configuração, uso e revogação básicos do GnuPG

Como no caso do SSH, o mecanismo que rege o GPG é a criptografia assimétrica ou criptografia de chave pública. Um usuário gera um par de chaves composto de uma chave privada e uma chave pública. As chaves estão matematicamente relacionadas de tal forma que o que é criptografado por uma só pode ser descriptografado pela outra. Para que a comunicação ocorra com sucesso, o usuário deve enviar sua chave pública ao destinatário pretendido.

Configuração e uso do GnuPG

O comando para trabalhar com o GPG é gpg. Ele inclui diversas opções para realizar diferentes tarefas. Vamos começar gerando um par de chaves como a usuária carol. Para isso, usamos o 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:

(...)

Depois de informar — entre outras coisas — que o diretório de configuração ~/.gnupg e seu chaveiro público ~/.gnugpg/pubring.kbx foram criados, o gpg pede seu nome real e endereço de email:

(...)
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?

Se você estiver de acordo com o USER-ID resultante e pressionar O, será solicitada uma frase secreta (recomenda-se escolher uma senha complexa):

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

(...)

Aparecem mais algumas mensagens sobre a criação de outros arquivos, bem como as próprias chaves, e o processo de geração de chaves é concluído:

(...)
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]

Agora você pode ver o que está dentro do diretório ~/.gnupg (o diretório de configuração do 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

Vamos explicar o uso de cada arquivo:

opengp-revocs.d

O certificado de revogação criado junto com o par de chaves é mantido aqui. As permissões deste diretório são bastante restritivas, pois qualquer pessoa que tenha acesso ao certificado pode revogar a chave (trataremos da revogação da chave na próxima subseção).

private-keys-v1.d

Este é o diretório que preserva suas chaves privadas, portanto as permissões são restritivas.

pubring.kbx

Este é o seu chaveiro público. Ele armazena suas próprias chaves públicas, bem como quaisquer outras que tenham sido importadas.

trustdb.gpg

Banco de dados de confiabilidade. Está relacionado ao conceito de Web of Trust (que está fora do escopo desta lição).

Note

A chegada do GnuPG 2.1 trouxe algumas mudanças importantes, como o desaparecimento dos arquivos secring.gpg e pubring.gpg em favor de private-keys-v1.d e pubring.kbx, respectivamente.

Depois de criar o par de chaves, você pode visualizar suas chaves públicas com gpg --list-keys — que exibe o conteúdo de seu chaveiro 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]

A string hexadecimal D18FA0021F644CDAF57FD0F919BBEFD16813034E é sua impressão digital da chave pública.

Note

Além de USER-ID (carol, no exemplo), também existe o KEY-ID. O KEY-ID consiste nos últimos 8 dígitos hexadecimais da impressão digital da chave pública (6813 034E). Para conferir a impressão digital de sua chave, use o comando gpg --fingerprint USER-ID.

Distribuição e revogação de chaves

Agora que você tem sua chave pública, é preciso salvá-la (ou seja, exportá-la) em um arquivo para ser possivel disponibilizá-la para os futuros destinatários. Eles a usarão para criptografar arquivos ou mensagens destinadas a você (como você é o único detentor da chave privada, também será o único capaz de descriptografar e ler esses arquivos). Da mesma forma, seus destinatários também a usarão para descriptografar e verificar suas mensagens/arquivos criptografados ou assinados. O comando a ser usado é gpg --export, seguido pelo USER-ID e um redirecionamento para o nome do arquivo de saída de sua escolha:

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

Passe as opções -a ou --armor para gpg --export (p. ex.: gpg --export --armor carol > carol.pub.key) para criar uma saída ASCII blindada (ao invés do formato OpenPGP binário padrão) que pode ser enviada com segurança por email.

Como já observado, você deve enviar seu arquivo de chave pública (carol.pub.key) para o destinatário com quem deseja trocar informações. Por exemplo, vamos enviar o arquivo de chave pública para ina, no servidor remoto halof, usando scp (cópia segura):

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 agora está em posse de carol.pub.key. Ela a usará para criptografar um arquivo e enviá-lo para carol na próxima seção.

Note

Outra maneira de distribuir chaves públicas é usar servidores de chave: você envia sua chave pública para o servidor com o comando gpg --keyserver keyserver-name --send-keys KEY-ID e os outros usuários podem baixá-la (ou seja, importá-la) com gpg --keyserver keyserver-name --recv-keys KEY-ID.

Para encerrar esta seção, vamos falar da revogação da chave. A revogação da chave deve ser usada quando suas chaves privadas forem comprometidas ou aposentadas. O primeiro passo é criar um certificado de revogação passando ao gpg a opção --gen-revoke seguida pelo USER-ID. Para salvar o certificado resultante em um arquivo (em vez de imprimi-lo na tela do terminal), inclua a opção --output, seguida pelo nome de um arquivo de destino, antes de --gen-revoke. As mensagens de saída ao longo do processo de revogação são bastante autoexplicativas:

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!

O certificado de revogação foi salvo no arquivo revocation_file.asc (asc indica o 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 revogar de fato sua chave privada, agora você precisa mesclar o certificado com a chave, o que é feito importando o arquivo do certificado de revogação para o seu chaveiro:

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

A seguir, liste suas chaves, e você será informado sobre a chave revogada:

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>

Para terminar, não deixe de disponibilizar a chave revogada para qualquer terceiro que tenha chaves públicas associadas a ela (incluindo servidores de chaves).

Como usar o GPG para criptografar, descriptografar, assinar e verificar arquivos

Na seção anterior, carol enviou sua chave pública para ina. Vamos usá-la agora para aprender como o GPG é capaz de criptografar, descriptografar, assinar e verificar arquivos.

Criptografando e descriptografando arquivos

Primeiro, ina deve importar a chave pública de carol (carol.pub.key) para seu chaveiro antes de poder começar a trabalhar com ela:

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]

Em seguida, criamos um arquivo com um texto qualquer e o criptografamos usando gpg (como você não assinou a chave de carol, o programa pergunta explicitamente se deseja usar essa chave):

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

Vamos analisar o comando gpg:

--output encrypted-message

Especificação do nome de arquivo para a versão criptografada do arquivo original (encrypted-message no exemplo).

--recipient carol

Especificação do USER-ID do destinatário (carol em nosso exemplo). Se não for fornecido, o GnuPG irá solicitá-lo (a menos que --default-receiver esteja especificado).

--armor

Esta opção produz uma saída ASCII blindada, que pode ser copiada para um email.

--encrypt unencrypted-message

Especificação do nome do arquivo original a ser criptografado.

Em seguida, enviamos encrypted-message para carol em 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

Se você se logar como carol agora e tentar ler encrypted-message, poderá constatar que ela está realmente criptografada e — portanto — ilegível:

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-----

No entanto, como você possui a chave privada, pode descriptografar a mensagem facilmente passando ao gpg a opção --decrypt seguida pelo caminho até o arquivo criptografado (será necessária a senha da chave 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 ...

Também é possível especificar a opção --output para salvar a mensagem em um novo arquivo não criptografado:

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 ...

Assinatura e verificação de arquivos

Além de criptografar, o GPG também pode ser usado para assinar arquivos. A opção --sign serve para isso. Vamos começar criando uma nova mensagem (message) e assinando-a com a opção --sign (a senha de sua chave privada será solicitada):

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

Vamos explicar melhor o comando gpg:

--output message

Especificação do nome de arquivo da versão assinada do arquivo original (message.sig em nosso exemplo).

--sign message

Caminho para o arquivo original.

Note

Com --sign, o documento é compactado e depois assinado. A saída será em formato binário.

Em seguida, transferimos o arquivo para ina em halof usando scp message.sig ina@halof:/home/ina. De volta a ina em halof, podemos verificar o resultado com a opção --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]
(...)

Se quiser ler o arquivo, você precisa descriptografá-lo em um novo arquivo (message, em nosso caso) usando a opção --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 ...
GPG-Agent

Vamos encerrar esta lição com algumas palavras sobre o gpg-agent. gpg-agent é o daemon que gerencia as chaves privadas para o GPG (ele é iniciado sob demanda pelo gpg). Para ver um resumo das opções mais úteis, execute gpg-agent --help ou 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 saber mais, consulte a página de manual do gpg-agent.

Exercícios Guiados

  1. Complete a tabela com o nome de arquivo correto:

    Descrição Nome de arquivo

    Banco de dados de confiabilidade

    Diretório dos certificados de revogação

    Diretório das chaves privadas

    Chaveiro público

  2. Responda às questões a seguir:

    • Que tipo de criptografia é usado pelo GnuPG?

    • Quais os dois componentes principais da criptografia de chave pública?

    • Qual o KEY-ID da impressão digital de chave pública 07A6 5898 2D3A F3DD 43E3 DA95 1F3F 3147 FA7F 54C7?

    • Qual o método usado para distribuir chaves públicas em nível global?

  3. Coloque as seguintes etapas na ordem correta para a revogação de uma chave privada:

    • Tornar a chave revogada disponível para seus correspondentes.

    • Criar um certificado de revogação.

    • Importar o certificado de revogação para seu chaveiro.

      A ordem correta é:

      Passo 1:

      Passo 2:

      Passo 3:

  4. Quando falamos em criptografia de arquivos, o que a opção --armor significa no comando gpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message?

Exercícios Exploratórios

  1. A maioria das opções do gpg têm uma versão longa e uma curta. Complete a tabela com a versão curta correspondente:

    Versão longa Versão curta

    --armor

    --output

    --recipient

    --decrypt

    --encrypt

    --sign

  2. Responda às seguintes questões sobre a exportação de chaves:

    • Qual comando você usaria para exportar todas as suas chaves públicas para um arquivo chamado all.key?

    • Qual comando você usaria para exportar todas as suas chaves privadas para um arquivo chamado all_private.key?

  3. Qual opção do gpg permite realizar a maioria das tarefas de gerenciamento de chaves por meio de um menu?

  4. Qual opção do gpg permite fazer uma assinatura em texto não criptografado?

Resumo

Esta lição tratou do GNU Privacy Guard, uma excelente opção para criptografar/descriptografar e assinar/verificar arquivos digitalmente. Você aprendeu:

  • como gerar um par de chaves.

  • como listar as chaves em seu chaveiro.

  • o conteúdo do diretório ~/.gnupg.

  • o que são USER-ID e KEY-ID.

  • como distribuir chaves públicas para seus correspondentes.

  • como distribuir chaves públicas globalmente por meio de servidores de chaves.

  • como revogar chaves privadas.

  • como criptografar e descriptografar arquivos.

  • como assinar e verificar arquivos.

  • o básico sobre o GPG-Agent.

Os seguintes comandos foram discutidos nesta lição:

gpg

ferramenta de criptografia e assinatura do OpenPGP.

Respostas aos Exercícios Guiados

  1. Complete a tabela com o nome de arquivo correto:

    Descrição Nome de arquivo

    Banco de dados de confiabilidade

    trustdb.gpg

    Diretório dos certificados de revogação

    opengp-revocs.d

    Diretório das chaves privadas

    private-keys-v1.d

    Chaveiro público

    pubring.kbx

  2. Responda às questões a seguir:

    • Que tipo de criptografia é usado pelo GnuPG?

      Criptografia de chave pública ou criptografia assimétrica.

    • Quais os dois componentes principais da criptografia de chave pública?

      A chave pública e a chave privada.

    • Qual o KEY-ID da impressão digital de chave pública 07A6 5898 2D3A F3DD 43E3 DA95 1F3F 3147 FA7F 54C7?

      FA7F 54C7

    • Qual o método usado para distribuir chaves públicas em nível global?

      Servidores de chave.

  3. Coloque as seguintes etapas na ordem correta para a revogação de uma chave privada:

    • Tornar a chave revogada disponível para seus correspondentes.

    • Criar um certificado de revogação.

    • Importar o certificado de revogação para seu chaveiro.

      A ordem correta é:

      Passo 1:

      Criar um certificado de revogação.

      Passo 2: 

      Importar o certificado de revogação para seu chaveiro.

      Passo 3:

      Tornar a chave revogada disponível para seus correspondentes.

  4. Quando falamos em criptografia de arquivos, o que a opção --armor significa no comando gpg --output encrypted-message --recipient carol --armor --encrypt unencrypted-message?

    Ela produz uma saída ASCII blindada, que permite copiar o arquivo criptografado resultante em um email.

Respostas aos Exercícios Exploratórios

  1. A maioria das opções do gpg têm uma versão longa e uma curta. Complete a tabela com a versão curta correspondente:

    Versão longa Versão curta

    --armor

    -a

    --output

    -o

    --recipient

    -r

    --decrypt

    -d

    --encrypt

    -e

    --sign

    -s

  2. Responda às seguintes questões sobre a exportação de chaves:

    • Qual comando você usaria para exportar todas as suas chaves públicas para um arquivo chamado all.key?

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

    • Qual comando você usaria para exportar todas as suas chaves privadas para um arquivo chamado all_private.key?

      gpg --export-secret-keys --output all_private.key ou gpg --export-secret-keys -o all_private.key (--export-secret-keys pode ser trocado por --export-secret-subkeys com um resultado ligeiramente diferente — confira man pgp para saber mais).

  3. Qual opção do gpg permite realizar a maioria das tarefas de gerenciamento de chaves por meio de um menu?

    --edit-key

  4. Qual opção do gpg permite fazer uma assinatura em texto não criptografado?

    --clearsign

Linux Professional Insitute Inc. Todos os direitos reservados. Visite o site dos Materiais Didáticos: https://learning.lpi.org
31/5000 Este trabalho está licenciado sob a Licença Creative Commons Atribuição-Uso Não-Comercial-NãoDerivativos 4.0 Internacional.

Próxima Lição

110.2 Configurar a segurança do host (110.2 Lição 1)

Ir para a próxima lição

Linux Professional Insitute Inc. Todos os direitos reservados. Visite o site dos Materiais Didáticos: https://learning.lpi.org
31/5000 Este trabalho está licenciado sob a Licença Creative Commons Atribuição-Uso Não-Comercial-NãoDerivativos 4.0 Internacional.

A LPI é uma organização sem fins lucrativos.

© 2023 O Linux Professional Institute (LPI) é um organismo de apoio aos profissionais de Open Source e referência mundial em certificação. Com mais de 200.000 pessoas certificadas, somos o principal organismo de certificação independente para Linux e Open Source do mundo. O LPI certificou profissionais de mais de 180 países, oferece exames em diversos idiomas e tem centenas de parcerias de formação em todo o globo.

Nossa missão é proporcionar oportunidades econômicas e criativas para todos, tornando universalmente acessível a certificação de conhecimentos e competências em matéria de Open Source.

  • LinkedIn
  • flogo-RGB-HEX-Blk-58 Facebook
  • Twitter
  • Entre em Contato
  • Política de Privacidade e Cookies

Encontrou um erro ou quer ajudar a aprimorar esta página? Escreva pra nós.

© 1999–2023 The Linux Professional Institute Inc. Todos os direitos reservados.