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.