Papildu atšifrēšanas apakšatslēgas (ADSK) ar GnuPG¶
`Nitrokey U2F <x id=“14“></x><x id=“66“></x> |
|||||||
---|---|---|---|---|---|---|---|
✓ |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
Papildu atšifrēšanas apakšatslēgas (ADSK) var izmantot, lai automātiski pievienotu saņēmējus, šifrējot ziņojumu ar GnuPG. Tipiski izmantošanas gadījumi ir šādi
vienota šifrēšanas atslēga grupai bez nepieciešamības dalīties ar privāto atslēgu starp grupas dalībniekiem,
šifrēšanas atslēgas dublēšanas atslēgas pievienošana šifrēšanas atslēgai, un
izveidot galveno atslēgu, ar kuru var atšifrēt citu atslēgu ziņojumus.
Piezīme
Lai konfigurētu ADSK, ir nepieciešama GnuPG 2.4.1 vai jaunāka versija. Lai šifrētu ziņojumu atslēgai ar ADSK, ir nepieciešama GnuPG 2.2.42 vai jaunāka versija.
Pārskats¶
Šajā rokasgrāmatā ir izskaidrots, kā pievienot dublējuma atslēgu (lietotāja ID backup@example.com
) kā ADSK galvenajai atslēgai (lietotāja ID main@example.com
). Abas atslēgas tiek glabātas Nitrokey. Tās pašas darbības var izmantot, lai atslēgai pievienotu vairākus ADSK vai lai to pašu atslēgu kā ADSK pievienotu vairākiem citiem atslēgām.
Atslēgu sagatavošana¶
Lai ģenerētu abas atslēgas, izpildiet vienu no šīm rokasgrāmatām:
Pārliecinieties, ka abas atslēgas var uzskaitīt ar gpg --list-keys
, piemēram:
$ 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 pievienošana¶
Vispirms nosakiet dublējumatslēgas šifrēšanas atslēgas pirkstu nospiedumu:
$ 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
Meklējiet rindu, kas sākas ar sub
, kurā ir burts E
, kas norāda uz apakšatslēgu ar šifrēšanas iespēju. Šī apakšatslēgas pirkstu nospiedums ir norādīts nākamajā rindā. Šajā gadījumā pirkstu nospiedums ir C1735CB29890EEDEABCF1D0DC9310F81D77519BC
.
Pēc tam nosakiet galvenās atslēgas pirkstu nospiedumu:
$ 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]
To var atrast nākamajā rindā pēc pub
, šajā gadījumā 55BC284C1D30D97638DA4A2C7963A4CD00C947CE
.
Tagad varat pievienot ADSK, izmantojot --quick-add-adsk
karogu:
$ gpg --quick-add-adsk \
55BC284C1D30D97638DA4A2C7963A4CD00C947CE \
C1735CB29890EEDEABCF1D0DC9310F81D77519BC
Pirmais arguments ir galvenās atslēgas pirkstu nospiedums. Otrais arguments ir dublējumatslēgas šifrēšanas apakšatslēgas pirkstu nospiedums.
Varat pārbaudīt, vai ADSK ir izveidots:
$ 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
Apakšatslēga ar R
(ierobežotas) spējas ir ADSK. Tam ir tāds pats pirkstu nospiedums kā rezerves atslēgas šifrēšanas apakšatslēgai.
Tagad varat izplatīt publisko atslēgu ar ADSK.
ADSK izmantošana¶
Šifrējot ziņu ar galveno atslēgu, dublējuma atslēga tagad tiek automātiski pievienota kā saņēmējs. Vienīgās prasības ir šādas:
Ziņojuma sūtītājam ir atjaunināta publiskā atslēga, kas ietver ADSK.
Ziņojuma sūtītājs izmanto GnuPG 2.2.42 vai jaunāku versiju.
Ja pievienosiet --verbose
karodziņu, varat pārbaudīt, ar kādām atslēgām ziņojums ir šifrēts:
$ 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>"
Lai pārbaudītu šifrētu ziņojumu, varat izmantot arī --list-packets
opciju:
$ 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
Katra pubkey enc packet
rinda apzīmē vienu atslēgu, ar kuru var atšifrēt ziņojumu.
ADSK atsaukšana¶
Ja atceļat ADSK, tas vairs netiks pievienots kā saņēmējs, šifrējot ziņojumu. Lai veiktu atsaukšanu, atveriet atslēgu ar 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>
Atlasiet atceļamo atslēgu, izmantojot key N
. Izvēlētais pakārtotais atslēgas atslēgs ir apzīmēts ar zvaigznīti:
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>
Atceliet apakšatslēgu ar revkey
un pēc tam saglabājiet izmaiņas ar 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
Tagad izplatiet atjaunināto publisko atslēgu.
Piezīme
Atsaukšana stāsies spēkā tikai tad, kad sūtītājs būs atjauninājis publisko atslēgu ar atsaukto ADSK. Ziņojumus, kas jau ir šifrēti, joprojām var atšifrēt ar ADSK, pat ja tas ir atsaukts.