La protezione dell'integrità MDC è importante per la crittografia / decodifica simmetrica dei file locali?

3

Sto configurando script ecc. per utilizzare la modalità simmetrica di GPG per crittografare alcuni file sul mio sistema desktop domestico.

Quando voglio modificare uno dei file crittografati lo decrypt e lo reindirizzo nel mio editor e poi, per salvarlo, l'editor scrive il file in una named pipe e il seguente lo crittografa: -

echo $ pwd | gpg --symmetric --passphrase-fd 0 epipe

La pipe denominata, epipe, viene quindi cancellata.

Funziona bene fino a quando non viene eseguito il controllo dell'integrità MDC, ma se uso --force-mdc o utilizzo un codice che per impostazione predefinita fa MDC, il comando sopra si blocca. Penso che questo sia dovuto al fatto che gpg sta cercando di leggere la stringa MDC di epipe, i dati del file e i blocchi di lettura.

Se desidero utilizzare AES256, disattivare il controllo dell'integrità MDC rende le cose effettivamente meno sicure? Questi sono file usati solo da me, mai scambiati con altri.

    
posta Chris Green 10.10.2015 - 20:50
fonte

2 risposte

1

Il problema originale era perché stavo cercando (ragionevolmente) di inserire in modo sicuro sia la password / frase che il file da crittografare in gpg.

Ho un semplice script che decrittografa il file e lo alimenta (tramite una pipe) nel mio editor. La sceneggiatura richiede la password e viene mantenuta in una variabile di ambiente, non perfetta ma meglio che metterla in un file o qualcosa del genere.

Il bit difficile era, dopo aver modificato il file, riportare sia il file che la password in gpg. Si scopre che gpg è in realtà abbastanza ben educato e dove dice "Solo la prima riga verrà letta dal descrittore di file n". nella descrizione di --passphrase-fd significa davvero. Quindi puoi semplicemente anteporre una riga contenente la password al file da cifrare e reindirizzare entrambi in gpg, come segue: -

<password + file> | gpg --symmetric --passphrase-fd 0 >file.gpg

Ora posso avere: -

s2k-cipher-algo AES256 s2k-digest-algo SHA512 s2k-count 65011712

nel mio file gpg.conf tale che la protezione dell'integrità MDC sia usata (perché viene fornita con AES256) e quindi non ricevo alcun avvertimento.

Modifico questi file sul mio computer desktop di casa, quindi l'uso di una variabile di ambiente per la passphrase è ragionevolmente OK e ho evitato di salvare qualsiasi cosa in un file che potrebbe persistere se qualcosa dovesse morire durante il percorso.

    
risposta data 12.10.2015 - 13:44
fonte
0

Il codice di rilevamento delle modifiche previene in particolare un attacco oracle di decrittazione piuttosto esoterico, che non sembra applicabile in caso di file crittografati localmente rilevanti solo quando è possibile inviare ripetutamente un messaggio crittografato a qualche entità decrittante che rivela alcune informazioni di successo su messaggi crittografati validi o non validi.

Alla fine, il codice di rilevamento delle modifiche consentirà di realizzare la modifica dei dati crittografati (e quindi di ottenere testo in chiaro dopo la decrittografia), se non firmerà comunque il messaggio (i messaggi firmati non possono essere modificati senza rompere la firma , Comunque). Quindi, se non hai bisogno del controllo di integrità durante la decrittazione, ma solo la privacy delle informazioni, sei al sicuro senza MDC.

    
risposta data 11.10.2015 - 01:14
fonte

Leggi altre domande sui tag