Lisää salauksen purkuavaimia (ADSK) GnuPG:n kanssa#
Additional Decryption Subkeys (ADSK) voidaan käyttää vastaanottajien automaattiseen lisäämiseen, kun viestiä salataan GnuPG:llä. Tyypillisiä käyttötapauksia ovat
ryhmällä on yksi ainoa salausavain ilman, että yksityistä avainta tarvitsee jakaa ryhmän jäsenten kesken,
vara-avaimen lisääminen salausavaimeen, ja
perustamalla pääavain, jolla voidaan purkaa muiden avainten viestit.
Muista
ADSK:n määrittämiseen tarvitset GnuPG 2.4.1:n tai uudemman version. Jotta voit salata viestin ADSK-avaimelle, tarvitset GnuPG 2.2.42:n tai uudemman version.
Yleiskatsaus#
Tässä oppaassa kerrotaan, miten vara-avain (käyttäjätunnus backup@example.com
) lisätään ADSK:ksi pääavaimeen (käyttäjätunnus main@example.com
). Molemmat avaimet on tallennettu Nitrokey-avaimeen. Samoja vaiheita voidaan käyttää useiden ADSK:iden lisäämiseen avaimeen tai saman avaimen lisäämiseen ADSK:na useisiin muihin avaimiin.
Avainten valmistelu#
Seuraa jompaakumpaa näistä ohjeista kahden avaimen luomiseksi:
Varmista, että voit luetella molemmat avaimet osoitteessa gpg --list-keys
, esimerkiksi:
$ 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]
ADSK:n lisääminen#
Määritä ensin vara-avaimen salausavaimen sormenjälki:
$ 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
Etsi rivi, joka alkaa kirjaimella sub
ja sisältää kirjaimen E
, joka osoittaa salausominaisuuksia sisältävän aliavaimen. Tämän aliavaimen sormenjälki on lueteltu seuraavalla rivillä. Tässä tapauksessa sormenjälki on C1735CB29890EEDEABCF1D0DC9310F81D77519BC
.
Määritä sitten pääavaimen sormenjälki:
$ 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]
Löydät sen seuraavalta riviltä pub
jälkeen, tässä tapauksessa 55BC284C1D30D97638DA4A2C7963A4CD00C947CE
.
Nyt voit lisätä ADSK:n käyttämällä --quick-add-adsk
-lippua:
$ gpg --quick-add-adsk \
55BC284C1D30D97638DA4A2C7963A4CD00C947CE \
C1735CB29890EEDEABCF1D0DC9310F81D77519BC
Ensimmäinen argumentti on pääavaimen sormenjälki. Toinen argumentti on vara-avaimen salausavaimen aliavaimen sormenjälki.
Voit tarkistaa, että ADSK on luotu:
$ 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
Aliavain, jolla on R
(rajoitettu) kyky, on ADSK. Sillä on sama sormenjälki kuin vara-avaimen salausavaimella.
Nyt voit jakaa julkisen avaimen ADSK:n kanssa.
ADSK:n käyttäminen#
Kun viestiä salataan pääavainta varten, vara-avain lisätään nyt automaattisesti vastaanottajaksi. Ainoat vaatimukset tälle ovat seuraavat:
Viestin lähettäjällä on ajantasainen julkinen avain, joka sisältää ADSK:n.
Viestin lähettäjä käyttää GnuPG 2.2.42:ta tai uudempaa.
Jos lisäät --verbose
-lippulauseen, voit tarkistaa, millä avaimilla viesti on salattu:
$ 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>"
Voit myös käyttää --list-packets
-vaihtoehtoa salatun viestin tarkistamiseen:
$ 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
Jokainen pubkey enc packet
rivi edustaa yhtä avainta, jolla viesti voidaan purkaa.
ADSK:n peruuttaminen#
Jos peruutat ADSK:n, sitä ei enää lisätä vastaanottajaksi, kun viestiä salataan. Voit tehdä peruuttamisen avaamalla avaimen komennolla 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>
Valitse peruutettava aliavain osoitteella key N
. Valittu aliavain on merkitty tähdellä:
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>
Peruuta aliavain komennolla revkey
ja tallenna muutokset komennolla 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
Levitä nyt päivitetty julkinen avain.
Muista
Peruutus tulee voimaan vasta, kun lähettäjä on päivittänyt julkisen avaimen peruutetulla ADSK:lla. Jo salatut viestit voidaan edelleen purkaa ADSK:lla, vaikka ADSK peruutettaisiinkin.