sottochiavi
I pacchetti di sottochiavi sono definiti in RFC 4880, OpenPGP, pacchetto di materiali chiave 5.5 . Si distinguono solo per un altro ID pacchetto e richiedono una firma vincolante per essere effettivamente utile (vedi sotto).
A Public-Subkey packet (tag 14) has exactly the same format as a
Public-Key packet, but denotes a subkey.
Utilizzo sottochiavi
Le sottochiavi OpenPGP sono utilizzate per diversi scopi:
- Essere in grado di memorizzare la chiave primaria offline o un dispositivo più sicuro. Se una macchina con una sottochiave viene danneggiata, puoi facilmente revocare la sottochiave senza tutti i fastidi di revocare la tua chiave primaria (condividendo una nuova chiave, ottenendo nuove firme, ...).
- Avere sottochiavi diverse su macchine diverse, ad esempio una sottochiave di firma su un server di build. Ancora una volta, la revoca delle singole chiavi è facile.
- Utilizzo di una chiave primaria più ampia per una lunga durata e sottochiavi più brevi ma più veloci per l'utilizzo quotidiano.
- Alcuni algoritmi non supportano sia la crittografia che la firma. Ad esempio, una chiave primaria DSA richiede un'altra chiave per la crittografia, generalmente abbinata a ElGamal.
Firme vincolanti
Esistono sottotipi di firma speciali per associare le sottochiavi alle chiavi primarie (e viceversa), elencate in RFC 4880 , OpenPGP, 5.2.1 Tipi di firma :
0x18: Subkey Binding Signature
This signature is a statement by the top-level signing key that
indicates that it owns the subkey. This signature is calculated
directly on the primary key and subkey, and not on any User ID or
other packets. A signature that binds a signing subkey MUST have
an Embedded Signature subpacket in this binding signature that
contains a 0x19 signature made by the signing subkey on the
primary key and subkey.
0x19: Primary Key Binding Signature
This signature is a statement by a signing subkey, indicating
that it is owned by the primary key and subkey. This signature
is calculated the same way as a 0x18 signature: directly on the
primary key and subkey, and not on any User ID or other packets.