Kiegészítő dekódoló alkulcsok (ADSK) a GnuPG-vel#

További dekódolási alkulcsok (ADSK) a GnuPG-vel titkosított üzenetek automatikus címzettek hozzáadására használható. Tipikus felhasználási esetek a következők

  • egyetlen titkosítási kulcs a csoport számára anélkül, hogy a privát kulcsot meg kellene osztani a csoport tagjai között,

  • egy tartalékkulcs hozzáadása egy titkosítási kulcshoz, és

  • egy olyan mesterkulcs felállítása, amely képes a többi kulcs üzeneteinek visszafejtésére.

Megjegyzés

Az ADSK konfigurálásához GnuPG 2.4.1 vagy újabb verzióra van szükség. Egy ADSK kulcshoz tartozó üzenet titkosításához GnuPG 2.2.42 vagy újabb verzióra van szükség.

Áttekintés#

Ez az útmutató elmagyarázza, hogyan adhat hozzá egy tartalékkulcsot (felhasználói azonosító backup@example.com) ADSK-ként egy fő kulcshoz (felhasználói azonosító main@example.com). Mindkét kulcsot egy Nitrokey-n tároljuk. Ugyanezek a lépések használhatók több ADSK hozzáadására egy kulcshoz, vagy ugyanazon kulcs ADSK-ként történő hozzáadására több más kulcshoz.

A kulcsok előkészítése#

Kövesse az alábbi útmutatók egyikét a két kulcs létrehozásához:

Győződjön meg róla, hogy mindkét kulcsot fel tudja sorolni a gpg --list-keys címmel, például:

$ 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 hozzáadása#

Először határozza meg a biztonsági kulcs titkosítási alkulcsának ujjlenyomatát:

$ 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

Keresse a sub kezdetű sort, amely tartalmazza a E betűt, ami a titkosítási képességgel rendelkező alkulcsot jelzi. Ennek az alkulcsnak az ujjlenyomata a következő sorban szerepel. Ebben az esetben az ujjlenyomat a C1735CB29890EEDEABCF1D0DC9310F81D77519BC.

Ezután határozza meg a fő kulcs ujjlenyomatát:

$ 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]

A pub utáni következő sorban található, ebben az esetben 55BC284C1D30D97638DA4A2C7963A4CD00C947CE.

Most már hozzáadhatja az ADSK-t a --quick-add-adsk jelszóval:

$ gpg --quick-add-adsk \
      55BC284C1D30D97638DA4A2C7963A4CD00C947CE \
      C1735CB29890EEDEABCF1D0DC9310F81D77519BC

Az első argumentum a fő kulcs ujjlenyomata. A második argumentum a tartalékkulcs titkosítási alkulcsának ujjlenyomata.

Ellenőrizheti, hogy az ADSK létre lett-e hozva:

$ 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 R (korlátozott) képességgel rendelkező alkulcs az ADSK. Ugyanazzal az ujjlenyomattal rendelkezik, mint a biztonsági kulcs titkosítási alkulcsa.

Most már terjesztheti a nyilvános kulcsot az ADSK-val.

ADSK használata#

A fő kulcshoz tartozó üzenet titkosításakor a biztonsági kulcs mostantól automatikusan hozzáadódik a címzetthez. Ennek egyetlen feltételei a következők:

  • Az üzenet küldője rendelkezik egy naprakész nyilvános kulccsal, amely tartalmazza az ADSK-t.

  • Az üzenet küldője GnuPG 2.2.42 vagy újabb verziót használ.

Ha hozzáadja a --verbose jelzőt, ellenőrizheti, hogy az üzenet milyen kulcsokkal van titkosítva:

$ 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>"

A --list-packets opciót is használhatja a titkosított üzenet ellenőrzésére:

$ 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

Minden egyes pubkey enc packet sor egy olyan kulcsot jelöl, amellyel az üzenet visszafejthető.

ADSK visszavonása#

Ha visszavon egy ADSK-t, akkor az többé nem kerül hozzá címzettként az üzenet titkosításakor. A visszavonás végrehajtásához nyissa meg a kulcsot a 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>

Válassza ki a visszavonandó alkulcsot a key N segítségével. A kiválasztott alkulcsot csillaggal jelöljük:

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>

Vonja vissza az alkulcsot a revkey, majd mentse a változásokat a 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

Most terjessze a frissített nyilvános kulcsot.

Megjegyzés

A visszavonás csak akkor lép hatályba, ha a feladó frissítette a nyilvános kulcsot a visszavont ADSK-val. A már titkosított üzenetek akkor is visszavehetők az ADSK-val, ha azt visszavonták.