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.