GnuPG / OpenPGP: come eliminare la ridondanza nella chiave privata PGP?

2

Ho esaminato alcune chiavi private generate casualmente generate da PG Gnu e ho trovato molta ridondanza.

  1. È racchiuso tra -----BEGIN PGP PRIVATE KEY BLOCK----- e -----END PGP PRIVATE KEY BLOCK-----
  2. C'è un checksum CRC alla fine (ad esempio =WXYZ )
  3. Tutte le chiavi RSA che ho generato iniziano con "lQ"

Ho provato a rimuovere il checksum e le operazioni di importazione. Inoltre, rimuovere i marcatori BEGIN / END e il prefisso "lQ" comune sembra reversibile. Mi chiedo quanto ancora posso andare per rendere la chiave meno ridondante e più offuscata?

Il mio principale problema di sicurezza è:

Se l'utente malintenzionato ruba la chiave privata crittografata , può (più) verificare rapidamente e facilmente che la decrittografia sia riuscita (nel caso precedente, verificando che inizi con "lQ" e che il checksum è giusto).

Nota : Ho usato gpg -a --export-secret-key , ma sembra che la chiave codificata non ASCII (no -a ) abbia praticamente la stessa ridondanza (l'ho verificato usando un editor esadecimale).

Esiste una specifica / standard che specifica quali parti delle chiavi private sono "veramente segrete" e quali servono come descrittore, checksum e possono essere rimosse in sicurezza (a condizione che abbia fiducia che la chiave non sia modificata)?

    
posta leden 21.09.2014 - 00:57
fonte

1 risposta

1

OpenPGP è definito in RFC 4880 , che probabilmente è la specifica che stai cercando. I file OpenPGP (indipendentemente dal fatto che siano binari o con armatura ASCII) sono composti da singoli pacchetti, ciascuno con un'intestazione (che probabilmente è ciò che si stava osservando in merito al "QI").

In un pacchetto di chiavi segrete OpenPGP, vengono memorizzati molti metadati. Poiché contiene anche la chiave pubblica, aspettati che vengano inclusi i pacchetti di ID utente. Se sono uguali, ci sarà più ridondanza.

Per elaborare le parti non specifiche delle chiavi RSA di una certa dimensione, meglio lavorare con file binari invece di quelli con armatura ASCII (sei più vicino ai valori dati nelle specifiche). Molto utile per sezionare i file OpenPGP sarà gpg --list-packets , che scarica il contenuto di ogni pacchetto in una versione più leggibile, ma ti fornisce anche identificatori di pacchetti e dati simili che puoi cercare in un editor esadecimale.

    
risposta data 21.09.2014 - 10:25
fonte

Leggi altre domande sui tag