Spiegazione completa:Una chiave OpenPGP è composta da varie chiavi: una chiave
primaria, che è usata per apporre firme digitali, e, opzionalmente,
delle sottochiavi che possono essere usate per la firma o per la
cifratura. Per dimostrare che le sottochiavi appartengono alla
chiave primaria e non sono state inserite da un impostore, esse
sono firmate digitalmente con la chiave primaria. La maggior parte degli utenti usa la propria chiave primaria per
la firma e una sottochiave per la cifratura: questa è la
configurazione predefinita sia in GnuPG che in PGP. Alcuni utenti
più sofisticati usano due sottochiavi: una per la cifratura e
un'altra per la firma. Questo permette ancora più flessibilità
nella gestione delle proprie chiavi, visto che in questo modo
la chiave primaria non deve necessariamente essere conservata sul
proprio computer. C'è un sottile punto debole nel modo in cui OpenPGP gestisce la firma
delle sottochiavi. Ricordiamo che le sottochiavi devono essere
firmate con la chiave primaria per dimostrare la propria
appartenenza ad essa, però la sottochiave di firma non deve
necessariamente firmare la chiave primaria. C'è quindi la
possibilità per un impostore di prendere una sottochiave di firma
e aggiungerla alla propria chiave. Questo non significa che un impostore può
emettere firme facendosi passare per qualcun altro: l'impostore
non può emettere alcuna firma usando quella sottochiave, visto che
ne detiene solo la parte pubblica. L'unica cosa che può tentare di
fare è prendere una firma emessa dalla sottochiave e affermare di
averla apposta con la propria chiave. Il risultato è che la firma
può essere verificata con entrambe le chiavi: quella del vero
firmatario e quella dell'impostore. In pratica questo attacco può
essere scoperto chiedendo all'impostore di emettere una nuova
firma su una serie di dati forniti (una "sfida"). L'impostore non
sarà in grado di emettere firme con la chiave in questione. L'OpenPGP Working Group ha definito una soluzione per evitare
questo problema immediatamente, prima ancora che un impostore possa
tentare di dichiarare come propria una firma. La certificazione incrociata delle sottochiavi (a volte chiamata
"back signing") prevede che la sottochiave apponga una firma sulla
chiave primaria, così come la chiave primaria fa con la
sottochiave. Poiché solo il vero possessore della sottochiave può
emettere una tale firma, la chiave di un impostore non può godere
di questa certificazione incrociata. GnuPG dà la possibilità di aggiungere questa certificazione
incrociata alle sottochiavi di firma che sono state create prima
di questa modifica dell'architettura OpenPGP. Basta eseguire
"gpg --edit-key (propria-chiave)" e quindi dare il comando
"cross-certify". Dopo aver digitato la propria passphrase, GnuPG
aggiungerà la certificazione incrociata. |