Subchaves de desencriptação adicionais (ADSK) com GnuPG#
O LED da NextBox mudará para <x id=»31»></x>azul<x id=»36»></x> em cada pressão, após a segunda pressão mudará para azul intermitente (ver Documentação LED). Uma vez que o LED tenha finalmente atingido <x id=»187»></x>verde<x id=»193»></x> novamente durante pelo menos 20 segundos o seu NextBox está pronto para ser utilizado novamente. Por favor, não desligue o NextBox durante este processo, pois isso pode partir alguma coisa. |
|||||||
---|---|---|---|---|---|---|---|
✓ |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
Subchaves de desencriptação adicionais (ADSK) podem ser utilizadas para adicionar automaticamente destinatários ao encriptar uma mensagem com o GnuPG. Casos típicos de uso incluem
ter uma única chave de encriptação para um grupo sem necessidade de partilhar a chave privada entre os membros do grupo,
adding a backup key to an encryption key, and
definir uma chave mestra que possa decifrar mensagens para outras chaves.
Nota
Para configurar uma ADSK, é necessário o GnuPG 2.4.1 ou mais recente. Para encriptar uma mensagem para uma chave com uma ADSK, é necessário o GnuPG 2.2.42 ou mais recente.
Visão geral#
definir uma chave mestra que possa decifrar mensagens para outras chaves.
Preparing the Keys#
Follow one of these guides to generate the two keys:
Certifique-se de que pode listar ambas as chaves com gpg --list-keys
, por exemplo:
$ gpg --list-keys main@example.com backup@example.com
pub ed25519 2023-07-04 [SC]
55BC284C1D30D97638DA4A2C7963A4CD00C947CE
uid [ultimate] Main Key <main@example.com>
sub ed25519 2023-07-04 [A]
sub cv25519 2023-07-04 [E]
pub ed25519 2023-07-04 [SC]
5271152B531F7FFD8787818251FB75800E281241
uid [ultimate] Backup Key <backup@example.com>
sub ed25519 2023-07-04 [A]
sub cv25519 2023-07-04 [E]
Adicionar uma ADSK#
Primeiro, determine a impressão digital da subchave de encriptação para a chave de salvaguarda:
$ gpg --list-keys --with-subkey-fingerprints backup@example.com
pub ed25519 2023-07-04 [SC]
5271152B531F7FFD8787818251FB75800E281241
uid [ultimate] Backup Key <backup@example.com>
sub ed25519 2023-07-04 [A]
7AEA1A0EC7BD66FF03AFEFAC8F243D8EC7678FCC
sub cv25519 2023-07-04 [E]
C1735CB29890EEDEABCF1D0DC9310F81D77519BC
Procure a linha que começa com sub
que contém a letra E
, indicando uma subchave com capacidade de encriptação. A impressão digital desta subchave é listada na linha seguinte. Neste caso, a impressão digital é C1735CB29890EEDEABCF1D0DC9310F81D77519BC
.
definir uma chave mestra que possa decifrar mensagens para outras chaves.
$ gpg --list-keys main@example.com
pub ed25519 2023-07-04 [SC]
55BC284C1D30D97638DA4A2C7963A4CD00C947CE
uid [ultimate] Main Key <main@example.com>
sub ed25519 2023-07-04 [A]
sub cv25519 2023-07-04 [E]
Pode encontrá-lo na linha seguinte a pub
, neste caso 55BC284C1D30D97638DA4A2C7963A4CD00C947CE
.
Agora você pode adicionar o ADSK usando a flag --quick-add-adsk
:
$ gpg --quick-add-adsk \
55BC284C1D30D97638DA4A2C7963A4CD00C947CE \
C1735CB29890EEDEABCF1D0DC9310F81D77519BC
No meio, clique no botão <x id=»24»></x>Abrir uma janela KVM remota flutuante<x id=»58»></x>, no canto superior direito da caixa de saída VGA.
É possível verificar se o ADSK foi criado:
$ gpg --list-keys --with-subkey-fingerprints main@example.com
pub ed25519 2023-07-04 [SC]
55BC284C1D30D97638DA4A2C7963A4CD00C947CE
uid [ultimate] Main Key <main@example.com>
sub ed25519 2023-07-04 [A]
9DF42A789DA4E848295C529634E35A6897DFABFD
sub cv25519 2023-07-04 [E]
1DFD6EA8D8B88BEA063ADB4BD75708BAF0CD49C8
sub cv25519 2023-07-04 [R]
C1735CB29890EEDEABCF1D0DC9310F81D77519BC
A subchave com a capacidade R
(restrita) é a ADSK. Tem a mesma impressão digital que a subchave de encriptação da chave de backup.
Agora pode distribuir a chave pública com a ADSK.
Utilizar um ADSK#
Ao encriptar uma mensagem para a chave principal, a chave de segurança é agora automaticamente adicionada como destinatário. Os únicos requisitos para tal são:
O remetente da mensagem tem uma chave pública actualizada que inclui a ADSK.
O remetente da mensagem utiliza o GnuPG 2.2.42 ou mais recente.
Se adicionar o sinalizador --verbose
, pode verificar as chaves para as quais a mensagem está encriptada:
$ echo message | gpg --verbose --encrypt --armor --recipient main@example.com > /tmp/msg.asc
gpg: using pgp trust model
gpg: using subkey D75708BAF0CD49C8 instead of primary key 7963A4CD00C947CE
gpg: automatically retrieved 'main@example.com' via Local
gpg: This key belongs to us
gpg: reading from '[stdin]'
gpg: writing to stdout
gpg: ECDH/AES256 encrypted for: "D75708BAF0CD49C8 Main Key <main@example.com>"
gpg: ECDH/AES256 encrypted for: "C9310F81D77519BC Main Key <main@example.com>"
Também é possível utilizar a opção --list-packets
para verificar uma mensagem encriptada:
$ gpg --pinentry-mode cancel --list-packets /tmp/msg.asc | grep "pubkey enc packet"
:pubkey enc packet: version 3, algo 18, keyid D75708BAF0CD49C8
:pubkey enc packet: version 3, algo 18, keyid C9310F81D77519BC
Cada linha pubkey enc packet
representa uma chave que pode desencriptar a mensagem.
Revogação de uma ADSK#
Se revogar uma ADSK, esta deixará de ser adicionada como destinatário quando encriptar uma mensagem. Para efetuar uma revogação, abra a chave com gpg --edit-key
:
$ gpg --edit-key main@example.com
sec ed25519/7963A4CD00C947CE
created: 2023-07-04 expires: never usage: SC
card-no: FFFE 5E0E868D
trust: ultimate validity: ultimate
ssb ed25519/34E35A6897DFABFD
created: 2023-07-04 expires: never usage: A
card-no: FFFE 5E0E868D
ssb cv25519/D75708BAF0CD49C8
created: 2023-07-04 expires: never usage: E
card-no: FFFE 5E0E868D
ssb cv25519/C9310F81D77519BC
created: 2023-07-04 expires: never usage: R
[ultimate] (1). Main Key <main@example.com>
Selecionar a subchave a revogar com key N
. A subchave selecionada é marcada com um asterisco:
gpg> key 2
sec ed25519/7963A4CD00C947CE
created: 2023-07-04 expires: never usage: SC
card-no: FFFE 5E0E868D
trust: ultimate validity: ultimate
ssb ed25519/34E35A6897DFABFD
created: 2023-07-04 expires: never usage: A
card-no: FFFE 5E0E868D
ssb cv25519/D75708BAF0CD49C8
created: 2023-07-04 expires: never usage: E
card-no: FFFE 5E0E868D
ssb* cv25519/C9310F81D77519BC
created: 2023-07-04 expires: never usage: R
[ultimate] (1). Main Key <main@example.com>
Revogar a subchave com revkey
e, em seguida, guardar as alterações com save
:
gpg> revkey
Do you really want to revoke this subkey? (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
Your decision? 0
Enter an optional description; end it with an empty line:
>
Reason for revocation: No reason specified
(No description given)
Is this okay? (y/N) y
sec ed25519/7963A4CD00C947CE
created: 2023-07-04 expires: never usage: SC
card-no: FFFE 5E0E868D
trust: ultimate validity: ultimate
ssb ed25519/34E35A6897DFABFD
created: 2023-07-04 expires: never usage: A
card-no: FFFE 5E0E868D
ssb cv25519/D75708BAF0CD49C8
created: 2023-07-04 expires: never usage: E
card-no: FFFE 5E0E868D
ssb cv25519/C9310F81D77519BC
created: 2023-07-04 revoked: 2023-07-04 usage: R
[ultimate] (1). Main Key <main@example.com>
gpg> save
Now distribute the updated public key.
Nota
A revogação só se tornará efectiva quando o remetente tiver atualizado a chave pública com a ADSK revogada. As mensagens que já tenham sido encriptadas podem continuar a ser desencriptadas com a ADSK, mesmo que esta seja revogada.