Dimensioni chiave master OpenPGP

5

Attualmente la dimensione massima della chiave predefinita è 4096. So che questo può essere cambiato ricompilando il software, e non mi dispiace farlo.

Il mio problema riguarda problemi di compatibilità. Ha senso che alcune implementazioni potrebbero non avere / potrebbe avere problemi nel supportare chiavi 8k o 16k.

Tuttavia, ho sentito parlare di sottochiavi. Non voglio che le mie chiavi di crittografia / firma "giorno per giorno" siano incompatibili con gli altri. È anche probabile che tali sottochiavi debbano avere una data di scadenza.

Una "chiave di firma principale" (ovvero la tua identità) dovrebbe essere abbastanza sicura per tutta la vita, perché idealmente non vuoi mai cambiarla, vero?

Sto prendendo in considerazione l'utilizzo delle chiavi 4k per la crittografia e la firma dei documenti e un tasto 8k + come "chiave principale". Ciò significa che userò la mia chiave principale solo per firmare le mie chiavi e quelle degli altri. Dovrebbe essere ok, dato che il mio gpg2 binario supporterà chiavi 8k +. È un'ipotesi corretta?

Tuttavia, ho bisogno anche che altre persone firmino la mia chiave. E questo è quando potrebbero sorgere problemi. Un'implementazione predefinita sarebbe in grado di firmare un 8k + chiavi?

Hai perso qualcosa? Lo considereresti un buon modo per iniziare a utilizzare OpenPGP?

    
posta Xaqq 02.04.2014 - 06:29
fonte

3 risposte

5

A "master signing key" (ie your identity) should be safe enough for a lifetime, because ideally you don't ever want to change it, right ?

Sì, è l'idea.

I am considering using 4k keys for encryption and documents signing, and a 8k+ key as "master key". That means I will use my master key only to sign my owns keys, and other ppls keys.

Anche il percorso che stavo andando, e fino ad ora andava bene.

[...] as my pgp2 binary would support 8k+ keys. Is that a correct assumption?

Non conosco pgp2 , ma se parli di gpg2 , vale a dire GnuPG versione 2: sì se è abbastanza nuovo. E questo include tutte le versioni degli ultimi anni.

However, I also need other ppl signing my key. And that is when trouble could arise. Would a default implementation be able to sign a 8k+ keys?

In teoria, questo non dovrebbe importare, dato che gli altri utenti firmano l'impronta digitale della chiave e dell'ID utente con la propria chiave. Ma alla fine, l'implementazione dovrà capire cosa sta firmando (ad esempio per visualizzare la stringa ID utente) e potrebbe non riuscire per le chiavi grandi. Per quale motivo userete la chiave? La maggior parte delle persone nel mondo del software libero usa GnuPG, che supporta chiavi grandi da molto tempo (era mai limitato?). Se devi gestire alcune aziende con versioni molto vecchie di PGP, dovresti pensare un po 'più a fondo sulla compatibilità.

Have a missed something? Would you consider that a good way to start using OpenPGP?

Anche se utilizzi sottochiavi più piccole, l'altro client / utente deve supportare le chiavi di grandi dimensioni per verificare la tua chiave primaria. Ricorda inoltre che il guadagno effettivo nella forza della chiave non è lineare rispetto alla dimensione della chiave RSA!

Creare chiavi grandi come 8K RSA non richiede più la ricompilazione di GnuPG sulla maggior parte dei sistemi e da un bel po 'di tempo. Penso di aver creato il mio usando la generazione di chiavi batch.

Ho messo insieme un elenco di pro e contro di tasti grandi su SuperUser , fornendo anche riferimenti ulteriori riferimenti. Questa risposta sullo scopo di più chiavi potrebbe anche essere di interesse, anche se sembra già essere a conoscenza delle implicazioni e possibilità utilizzando le sottochiavi.

    
risposta data 02.04.2014 - 10:13
fonte
2

La "chiave principale" ha valore solo nella misura in cui la sua parte pubblica può essere utilizzata per verificare ciò che è stato firmato con esso; e questo include altre persone. Ad esempio, la tua "chiave principale" è la tua ultima risorsa per revocare i sottochiavi. Quindi, se ti preoccupi dell'interoperabilità, non puoi rendere la chiave master grande quanto vorresti, anche se il tuo binario GnuPG il tuo è stato compilato con il supporto appropriato.

Ovviamente, altre persone potrebbero usare solo le tue sotto-chiavi, ma quale sarebbe il punto della chiave principale allora? Se le persone devono fidarsi delle proprie sottochiavi con mezzi fuori banda, senza salire sulla propria chiave principale, i sottochiavi sono in realtà le chiavi principali. Se vuoi che i sottochiavi siano realmente "sub" e che la chiave principale sia il "master", devi usare una chiave master che altre persone possono utilizzare (ad esempio, verifica le firme fatte con la chiave privata principale).

Poiché lo standard dice:

 * OpenPGP does not put limits on the size of public keys.  However,
   larger keys are not necessarily better keys.  Larger keys take
   more computation time to use, and this can quickly become
   impractical.  Different OpenPGP implementations may also use
   different upper bounds for public key sizes, and so care should
   be taken when choosing sizes to maintain interoperability.  As of
   2007 most implementations have an upper bound of 4096 bits.

La prima frase è tecnicamente sbagliata, perché il formato per i grandi numeri interi è utilizzato in OpenPGP (il " MPI ") funziona" solo "fino a 524280 bit (che è ancora abbastanza grande). Il punto importante è che nel 2007, utilizzando una chiave di oltre 4096 bit, si è verificato il rischio di problemi di interoperabilità. Dato il ritmo con cui le persone, nel complesso , aggiornano il loro software, sarebbe straordinariamente ottimistico presumere che le chiavi più grandi possano essere utilizzate ovunque nel 2014.

Per quanto riguarda le prestazioni, raramente conta per le e-mail, perché le e-mail avvengono a ritmi umani, quindi l'uso di un algoritmo "lento" non è un grosso problema finché accade ancora in meno di un secondo. Le implementazioni RSA usuali hanno una dimensione cubica della chiave, il che significa che la firma con una chiave a 4096 bit sarà 64 volte più lenta della firma con una chiave da 1024 bit; quindi non vuoi usare tasti veramente grandi. Tuttavia, i problemi di interoperabilità ti morderanno molto prima dei problemi di prestazioni.

Al momento, nell'aprile 2014, nessuna chiave RSA a 1024 bit correttamente generata è mai stata aperta pubblicamente. Gli accademici hanno lavorato a lungo sull'argomento e sono giunti alla conclusione che la rottura di una chiave a 1024 bit è fattibile con la tecnologia esistente, ma comporta la costruzione di una macchina dedicata con un'architettura molto specifica, a un costo di diverse dozzine di milioni di dollari (anche se la forza lavoro è "libera", cioè studenti di dottorato). In questo senso, RSA a 1024 bit è in una situazione che ricorda il DES di 56 bit nei primi anni '80. Chiavi più grandi, ad es. 1536 bit, sono ben al di là dell'attuale tecnologia basata sulla Terra. Anche con una previsione molto ottimistica dei progressi tecnologici, le chiavi RSA a 2048 bit dovrebbero andare bene per almeno 30 anni, probabilmente di più.

Le chiavi da 4096 bit sono overkill e possono essere giustificate "razionalmente" solo come un modo per calmare la tua paranoia. Le chiavi a 8192 bit sono semplicemente sbagliate.

Ora, naturalmente, si può immaginare che potrebbe esserci un anticipo matematico , nella forma di un matematico mezzo-pazzo proveniente da una località remota di cui non hai mai sentito parlare, trovando un elegante e modo efficiente per risolvere la scomposizione in fattori interi . Questo è altamente speculativo. Credere che una chiave più grande possa ancora ostacolare quell'ipotetico metodo di rottura sta accumulando speculazioni sulla speculazione: difficilmente un modo sano per valutare i rischi. Infatti, i medici hanno già trovato un metodo efficiente per interrompere RSA, chiamato computer quantistico . Fortunatamente (o no?), Costruire un QC funzionante di dimensioni non ridicole appare abbastanza difficile. Il punto importante qui, però, è che una chiave RSA a 8192 bit non è realmente più strong di una chiave RSA a 2048 bit quando l'utente malintenzionato ha un controllo di qualità.

Ricorda che la sicurezza è un campo onnicomprensivo. Che tu usi OpenPGP con chiavi grandi non significa che gli attaccanti sono costretti ad attaccarti solo attraverso la tua chiave. Attraversare la tua porta e piantare una videocamera nascosta nel tuo appartamento sono efficaci e modi più economici per spiarti. Se i tuoi segreti sono davvero interessanti da meritare attenzione da parte dei cattivi, allora useranno metodi di intercettazione fisica che sono noti per funzionare, sono stati usati per secoli e hanno un costo moderato; più grandi chiavi RSA non cambieranno nulla ad esso.

(D'altra parte, l'uso di enormi chiavi RSA può inviare il segnale di essere un pazzoide irrealistico e classificarlo come "innocuo pazzo" è un buon modo per eludere l'esame approfondito. Potrebbe funzionare.)

    
risposta data 02.04.2014 - 15:17
fonte
1

Ho creato una chiave di firma master a 16384 bit con sottochiavi a 4096 bit utilizzando una versione modificata di GnuPG circa una settimana fa. Quindi l'ho importato in una versione di prova di Symantec Encryption Desktop (precedentemente PGP Desktop). La chiave (e tutte le sue sottochiavi):

  1. non crittografa, firma o decodifica nulla.
  2. non può cambiare la password.
  3. non può modificare le preferenze (come algoritmi di crittografia, hash e compressione)

In realtà, nulla potrebbe essere fatto con la chiave.

Per quanto riguarda l'utilizzo di una normale versione di GnuPG, alcune operazioni daranno errori fuori dalla memoria. Tieni presente che avere un'enorme chiave master potrebbe rendere inutilizzabili anche tutte le sue sottochiavi in alcuni software.

    
risposta data 03.04.2014 - 07:48
fonte

Leggi altre domande sui tag