Perché GPG / PGP utilizza per impostazione predefinita chiavi diverse per la firma / la crittografia?


22

Se crei una nuova chiave GPG, per impostazione predefinita otterrai una coppia di chiavi master di sola firma e una coppia di chiavi secondarie di sola crittografia.

pub  2048R/XXXXXXXX  created: 2013-02-09  expires: 2014-02-09  usage: SC  
sec  2048R/XXXXXXXX           2013-02-09 [expires: 2014-02-09]

sub  2048R/ZZZZZZZZ  created: 2013-02-09  expires: 2014-02-09  usage: E
ssb  2048R/ZZZZZZZZ           2013-02-09 [expires: 2014-02-09]  

(Output combinato da gpg --list-keyse gpg --list-secret-keys)

Si consiglia inoltre di non utilizzare la chiave principale per la firma regolare (di posta / dati), ma di creare un'altra sottochiave di sola firma e di rimuovere / eseguire il backup della chiave principale in una posizione sicura e offline solo per la firma chiave .

Ciò ha senso poiché la maggior parte degli endpoint di crittografia sono laptop / telefoni o altri dispositivi mobili sempre online che mettono le tue chiavi private a rischio di furto o smarrimento. Con una chiave master memorizzata in modo sicuro, è sempre possibile revocare tali sottochiavi perse e non perdere mai le firme delle chiavi.

Quindi, sebbene la separazione della sottochiave <-> chiave principale sia chiara per me, non capisco perché vi sia questa enfasi sulla separazione delle chiavi di firma e crittografia (anche se entrambe sono sottochiavi). Qualcuno può spiegare perché questo è necessario o almeno qual è il vantaggio dal punto di vista della sicurezza o pratico?

Tecnicamente è del tutto fattibile e supportato da GnuPG per creare una sottochiave di firma e crittografia.

pub  2048R/YYYYYYYY  created: 2013-08-13  expires: 2014-08-13  usage: SCEA
sub  2048R/VVVVVVVV  created: 2013-08-13  expires: 2014-08-13  usage: SEA 

2
C'è una buona risposta a questa domanda su Security.SE nel caso qualcuno fosse interessato.
GnP,

Risposte:


9

Nel Regno Unito, il Regolamento del Investigatory Powers Act 2000 afferma

49 (9) Un avviso ai sensi della presente sezione non richiede la divulgazione di alcuna chiave che:

a) è inteso per essere utilizzato al solo scopo di generare firme elettroniche; e

(b) non è stato infatti utilizzato per nessun altro scopo.

... che significa che il governo del Regno Unito può, in alcune circostanze, essere in grado di costringere a mano sopra la chiave di decrittazione (se sei un residente) ma sono senza permesso di impersonare voi con la vostra chiave di firma.


1
Interessante ... questo si applicherebbe anche alle chiavi private Bitcoin (utilizzate solo per la firma, non utilizzate per la crittografia).
Jonathan Cross,

... e sembra che questa esenzione rimanga in vigore nell'atto del 2016 .

8

Non so esattamente perché GPG / PGP faccia quello che fa, ma una possibile motivazione per questo tipo di cose è il ripristino di emergenza. Potresti voler dare una copia della tua chiave privata di crittografia a un amico molto vicino e fidato, quindi, se la tua casa viene colpita da un meteorite, puoi ancora leggere i tuoi vecchi messaggi salvati nel cloud. (Allo stesso modo, ti potrebbe essere richiesto di fornire la tua chiave di crittografia 1 al tuo capo, in modo che possa leggere la tua email dopo che te ne sei andato.)

Ma non c'è motivo per nessun altro di avere una copia della tua coppia di chiavi di firma.
________________
1  "potrebbe essere necessario fornire la chiave di crittografia" a qualcuno - vedere la risposta di TEV .


2

La semplice risposta è che più si utilizza una chiave, più informazioni si perde sulla chiave.

Una chiave di firma viene utilizzata da te per autenticare la fiducia di una chiave e, di conseguenza, il proprietario, ma soprattutto che le tue comunicazioni provengono da te. Questo si chiama non ripudio .

Ad esempio, supponiamo che l'uso di una chiave 10000 volte significhi che perdi tutte le informazioni necessarie a qualcuno per ricostruire quella chiave. L'uso di una chiave> 9999 volte significherebbe che qualcun altro potrebbe potenzialmente impersonarti e trasmettere la tua firma attendibile alla chiave o al documento di una terza parte malvagia, facendo credere a tutta la tua rete fidata che questa parte sia te o che il documento provenga da te.

Tuttavia, se si esegue anche la crittografia con quella stessa chiave, la soglia viene raggiunta più rapidamente.

Per evitare quel potenziale fastidio, viene creata una seconda chiave, che viene utilizzata solo per la crittografia / decrittografia, che viene utilizzata solo per crittografare i dati come te. Una volta che questa chiave è stata utilizzata 9999 volte, è possibile farla scadere senza perdere tutta la fiducia accordata con la chiave di firma valida. Rekey, generi una nuova chiave di crittografia e la firmi con la tua chiave di firma per mostrare che si tratta di una chiave di crittografia affidabile che tutti possono verificare.

MODIFICARE:

Nel rileggere ciò che ho scritto sopra e il Manuale sulla privacy di GNU , la mia conclusione è che subè una chiave privata e pubdeve essere una chiave pubblica. @GnP questa risposta:

" The keyword pub identifies the public master signing key, and the keyword sub identifies a public subordinate key."


Suppongo che per la maggior parte delle persone la chiave di firma sia utilizzata molto più spesso della chiave di crittografia, poiché quasi tutte le e-mail verranno firmate ma solo alcune verranno crittografate. In questo caso, gpg-default è il modo sbagliato, come encr. la chiave è facile da cambiare mentre la chiave di firma non lo è.
Chaos_99,

Dato che di solito crittografate con la chiave pubblica di qualcun altro, questo suona in qualche modo logico, e probabilmente ci sono buone ragioni per questo che attualmente non sono a conoscenza.
Daniël W. Crompton,

Hai ragione. Si prega di scambiare "crittografia" con "decrittografia" nel mio commento. Ma il punto rimane valido. Firmi più spesso di DECRypt. Ho fatto questa domanda per scoprire esattamente i "probabilmente buoni motivi" che hai citato.
Chaos_99,

1
Sia il master che la sottochiave sono coppie di chiavi valide con chiave pubblica e privata. L'abbreviazione per il master privato è 'sec', per la sottochiave privata 'ssb'. Entrambi possono essere visti con gpg --list-secret-keys. Gli elenchi sopra riportati mostrano solo le chiavi pubbliche restituite da gpg --list-keys.
Chaos_99,

1
"più usi una chiave più informazioni perdi sulla chiave" hai una fonte per quella richiesta?
GnP,

0

Se crei una nuova chiave GPG, per impostazione predefinita otterrai una coppia di chiavi master di sola firma e una coppia di chiavi secondarie di sola crittografia.

I messaggi possono essere:

  • non firmato e non crittografato
  • firmato e non crittografato
  • non firmato e crittografato
  • firmato e crittografato

e ci sono usi per ciascuno di questi casi, a seconda di ciò che si sta tentando di realizzare con la firma e la crittografia.

Se firmando stai stabilendo identità / approvazione e crittografando stai rendendo i messaggi privati, essere in grado di crittografare ma non firmare ti dà la possibilità di inviare un messaggio privato che non è necessariamente associato alla tua identità o approvato da te. In questo caso vorresti chiavi separate.


2
Correggimi se sbaglio, ma credo che, quando crittografi un messaggio, usi la chiave (pubblica) del destinatario , quindi, una volta che lasci le mani, non è rintracciabile per te. La chiave di crittografia consente ad altri di inviarti messaggi crittografati.
Scott,

@Scott sì, ma la maggior parte delle persone di solito ha anche un set di chiavi predefinito in modo che possano leggere tutto ciò che è nella loro posta in uscita e di solito per specificare una firma predefinita. In questi casi, tuttavia, l'ID chiave della chiave master / di certificazione viene utilizzato per selezionare la sottochiave corretta.
Ben
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.