De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Sub chave OpenPGP da espécie "ED25519" para autenticação SSH

Colaboração: Jamenson Ferreira Espindula de Almeida Melo

Data de Publicação: 14 de março de 2023

Passo um: entrar no ambiente de edição de chaves do GnuPG (usou-se a versão 2.2.27 no ambiente Debian GNU/Linux 11 - "bullseye").

Passo dois: já dentro do ambiente de edição de chaves do GnuPG, executar o comando de adicionar a sub chave. Aqui cabe uma comparação entre os modos de edição de chaves "normal" e "especialista".

Primeiro, o modo "normal":

$ gpg --edit-key identificador_da_chave
gpg> addkey

Por favor selecione o tipo de chave desejado:
  (3) DSA (apenas assinatura)
  (4) RSA (apenas assinatura)
  (5) Elgamal (encrypt only)
  (6) RSA (apenas cifragem)
 (14) Existing key from card
Opção?

Agora, o modo "especialista" (observe-se que aparecem mais opções):

$ gpg --expert --edit-key 08a86180
gpg> addkey

Por favor selecione o tipo de chave desejado:
  (3) DSA (apenas assinatura)
  (4) RSA (apenas assinatura)
  (5) Elgamal (encrypt only)
  (6) RSA (apenas cifragem)
  (7) DSA (set your own capabilities)
  (8) RSA (set your own capabilities)
 (10) ECC (sign only)
 (11) ECC (set your own capabilities)
 (12) ECC (encrypt only)
 (13) Existing key
 (14) Existing key from card
Opção?

Escolher a opção onze (11). A seguinte mensagem será exibida:



Possible actions for a ECDSA/EdDSA key: Sign Authenticate Current allowed
actions: Sign Authenticate

  (S) Toggle the sign capability (A) Toggle the authenticate capability
  (Q) Finished

Opção?


Observar o campo "ações permitidas atualmente" ("current allowed actions"): duas ações estão permitidas atualmente: Assinar ("Sign"); e Autenticar ("Authenticate"). O ideal seria ter-se somente a ação de autenticar. Para isso, pressione a tecla "s" para alternar ("toggle") para desativar a ação de assinar e tecle "enter" para confirmar a desativação. Ou seja, atualmente a ação de assinar está ativada; teclando-se "s" e depois "enter" alterna para desativada. Uma vez confirmada a desativação da ação de assinar, tecle "q" e depois "enter" para ir para a próxima etapa (qual curva elíptica você quer).

A seguinte mensagem será exibida:


Please select which elliptic curve you want:
   (1) Curve 25519
   (3) NIST P-256
   (4) NIST P-384
   (5) NIST P-521
   (6) Brainpool P-256
   (7) Brainpool P-384
   (8) Brainpool P-512
   (9) secp256k1
 Opção?

Teclar um (1) e "enter" para escolher a curva elíptica 25519. A seguinte mensagem será exibida:


Por favor especifique por quanto tempo a chave deve ser válida.
         0 = chave não expira
        = chave expira em n dias
      w = chave expira em n semanas
      m = chave expira em n meses
      y = chave expira em n anos
 A chave é valida por? (0)	

Se você escolher, por exemplo, dez (10) anos (a escolha é sua!), então será exibida a seguinte mensagem de confirmação:



 Key expires at sex 11 mar 2033 08:58:00 -03
 Is this correct? (y/N)


Teclar "y" (sim) para confirmar e "enter". Então, será exibida mais uma mensagem de confirmação:

 Really create? (y/N) 

Mais uma vez, teclar "y" (sim) para confirmar e "enter".

O par de chaves (a privada e a pública) será criado.

Em seguida, digitar "save" e teclar "enter" para salvar as mudanças no disco rígido.

Para confirmar se o par de chaves foi efetivamente criado, emita:

$ gpg --list-secret-keys 08a86180

Saída gerada pelo comando gpg --list-secret-keys 08a86180:


sec   rsa2048/0x2AE025C008A86180 2014-06-10 [SC] [expires: 2024-09-11]
     Key fingerprint = 234D 1914 4224 7C53 BD13  6855 2AE0 25C0 08A8 6180
uid [ultimate] Jamenson Ferreira Espindula de Almeida Melo (Advogado. Recife, Pernambuco, Brasil) 
uid [ultimate] Jamenson Ferreira Espindula de Almeida Melo (Advogado. Recife, Pernambuco, Brasil) 
uid [ultimate] Jamenson Ferreira Espindula de Almeida Melo (Advogado. Recife, Pernambuco, Brasil) 
uid [ultimate] [jpeg image of size 4599]
uid [ unknown] Jamenson Ferreira Espindula de Almeida Melo (Advogado. Recife, Pernambuco, Brasil.) 
ssb rsa2048/0x7ED08E2C60833F3C 2014-06-10 [E] [expires: 2024-09-11]
ssb rsa2048/0x96066C5A2A8135A9 2018-02-12 [A] [expires: 2024-09-11]
ssb rsa4096/0x09352DACC90E7B51 2022-08-22 [S] [expires: 2032-08-19]
ssb ed25519/0xB88F951287A231B7 2023-03-13 [A] [expires: 2033-03-10]

A última linha da saída gerada mostra a informação da chave pública da espécie ed25519 seguida do identificador dela; da data da confecção; da finalidade (no caso, "A" de "Authenticate", Autenticar; somente essa ação é permitida); e da data da expiração.

Passo quatro: Falta apenas exportar essa sub chave recém criada para ser incluída no arquivo <${HOME}/.ssh/authorized_keys>.

Para exportar a sub chave pública, emita:

$ gpg --output pub_opengpg_ed25519_key.txt --export-ssh-key 08a86180

Agora sim! Tem-se uma sub chave assimétrica, padrão OpenPGP, específica para autenticação, da espécie "ed25519", que pode ser usada para acessar um servidor SSH.

Sobre o autor

Jamenson Ferreira Espindula de Almeida Melo
Jaboatão dos Guararapes, Pernambuco, Brasil
Usuário GNU/Linux nº 166197
https://linuxcounter.net/cert/166197.png
Impressão digital da chave PGP: 234D 1914 4224 7C53 BD13 6855 2AE0 25C0 08A8 6180

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Jamenson Ferreira Espindula de Almeida Melo