Dato una coppia di chiavi pubblica / privata Gnupg, come posso identificare la forza della crittografia utilizzata?

3

Ho usato una coppia di chiavi a casa con lo strumento da riga di comando gpg su Ubuntu, per crittografare i file di testo delle password per alcuni anni. Non ho più alcuna registrazione del tipo di crittografia e lunghezza di bit utilizzati quando ho creato le chiavi, quindi vorrei identificarlo e decidere se la crittografia è abbastanza strong per il prossimo passo, o se dovrei creare una coppia di chiavi più strong e ri-crittografare un gruppo di file che vorrei evitare.

Il prossimo passo sarebbe caricare la coppia di chiavi e tutti i file con password per l'hosting cloud, probabilmente Google Drive. Presumo che il cloud hosting potrebbe non essere pienamente degno di fiducia e ho bisogno di mantenere un'elevata crittografia. Dato questo requisito, è sufficiente una passphrase lunga (oltre 32 caratteri) per proteggere la chiave privata?

    
posta DanH 01.01.2014 - 03:55
fonte

1 risposta

5

is a long passphrase (over 32 chars) enough to secure the private key?

Se è crittograficamente casuale e ha un set di caratteri grandi, probabilmente, a meno che non venga trovato un difetto. Nota che prenderei in considerazione l'idea di mettere la mia chiave segreta sulla macchina di qualcun altro a rischio molto alto, e un rischio anche se l'ho avvolto in un altro strato (7-zip o Truecrypt o qualcos'altro). La pratica più sicura è quella di mantenere la chiave privata principale completamente offline e lasciare che le sottochiavi si colleghino solo alle macchine di connessione di rete, anche se possono essere ingombranti.

whether I should create a stronger key pair and re-encrypt a bunch of files which I'd like to avoid.

Ci sono tre livelli di crittografia su cui riflettere:

  • crittografia asimmetrica: utilizzata per le firme e per crittografare l'utilizzo della chiave generata a caso PGP / GPG per la crittografia simmetrica (di file)
    • L'hai identificato come RSA 2048, che a marzo 2014 è "accettabile" per il prevedibile futuro per US NIST SP 800-131A e valutato come "103 bit" di sicurezza (dove "84 bit" è il minimo [pochi mesi di protezione] livello se il tuo avversario ha un budget di $ 300 milioni) ECRYPT II Rapporto annuale sugli algoritmi e le lunghezze chiave (2012) , quindi sembra soddisfacente.
    • "gpg --list-keys" lo mostra automaticamente - 2048R significa 2048 bit RSA e 4096R significa 4096 bit RSA.
  • crittografia simmetrica (di file): si tratta di una combinazione delle preferenze della vostra chiave pubblica e delle funzionalità del softare gpg / pgp che utilizzate. Dal momento che presumibilmente utilizzi software con capacità uguali o migliori rispetto a ciò che hai usato per generare le chiavi, questo sarà il primo cifrario nell'elenco.
    • "gpg --edit-key [chiave]" seguito da "showpref" lo mostrerà in forma leggibile.
    • nella sezione edit-key, puoi usare setpref per cambiarli con un elenco delimitato da spazi di cifrature, hash e algoritmi di compressione.
    • Questo è al 100% un aspetto della chiave PUBLIC e può essere modificato in qualsiasi momento - puoi, infatti, avere diverse chiavi pubbliche per la stessa chiave segreta con diverse opzioni, e tutto funzionerà.
    • Vedi GnuPG.org, Gestione della tua coppia di chiavi
    • "gpg -vv [file crittografato]", oltre a decifrare il file, mostrerà effettivamente ciò che è stato effettivamente scelto per crittografare un determinato file - prima visualizzerà (nel tuo caso) "gpg: crittografato con 2048- bit RSA key ... "e quindi visualizzerà" gpg: [algorithm] encrypted data "
    • I riferimenti sopra riportati concordano che tutte le lunghezze delle chiavi AES vanno bene. TripleDES a tre chiavi è buono fino al 2030 per l'analisi 2012 ECRYPT II. CAST5 non è stato analizzato. CAMELIA non è stata analizzata, ma AFAIK è considerata sicura al momento; è un cifrario europeo e giapponese utilizzato nei loro standard invece del codice AES statunitense.
  • crittografia simmetrica (della tua chiave segreta, con la tua passphrase): questa è la password che ha + la crittografia della tua chiave segreta.
    • "gpg --list-pacchetti ~ / .gnupg / secring.gpg" può essere usato per vedere questo (cambia il percorso del tuo portachiavi segreto, ovviamente)
    • Si noti che GPG 1.4.12 sta elencando "protezione SHA1" anche quando elenca "hash: 10" (ad esempio SHA-512).
    • "gpg --cert-digest-algo sha512 --s2k-cipher-algo CAMELLIA256 --s2k-mode 3 --s2k-digest-algo SHA512 --s2k-count 40480000 --gen-key" sarebbe, per istanza, consentire la creazione di una chiave abbastanza sicura.
    • "gpg --s2k-cipher-algo CAMELLIA256 --s2k-mode 3 --s2k-digest-algo SHA512 --s2k-count 40480000 --edit-key key" seguito da "passwd" e salvataggio di una passphrase (anche con la passphrase SAME che hai ora) cambierà la crittografia proteggendo una chiave segreta esistente.
    • Nota che GPG tende a arrotondare --s2k-count fino a un valore che considera valido.
risposta data 23.02.2014 - 07:56
fonte

Leggi altre domande sui tag