Come posso automatizzare la decrittazione di gpg che usa una passphrase mantenendola segreta?


13

Ho il compito di automatizzare una decrittazione di gpg usando cron (o qualsiasi strumento di pianificazione dei lavori compatibile con Ubuntu Server). Dato che deve essere automatizzato, l'ho usato --passphrasema finisce nella cronologia della shell, quindi è visibile nell'elenco dei processi.

Come posso automatizzare la decrittazione mantenendo standard di sicurezza buoni (preferibilmente grandi)?

Un esempio sarà molto apprezzato.


Argomenti come questo sono visibili nel psetc se non si dispone hidepidsu /proc, ma un guscio esecuzione di uno script (da cron o altro) è non interattivo e la storia non dovrebbe scrivere a meno che non configurato correttamente.
dave_thompson_085

Risposte:


23

Memorizza la passphrase in un file che è leggibile solo dall'utente del lavoro cron e usa l' --passphrase-fileopzione per dire gpgdi leggere lì la passphrase.

Ciò garantirà che la passphrase non sia visibile nelle informazioni di processo in memoria. Il livello di sicurezza sarà determinato dal livello di accesso al file che memorizza la passphrase (così come dal livello di accesso al file contenente la chiave), incluso ovunque il suo contenuto finisca per essere copiato (quindi fai attenzione con i backup), e accessibilità off-line (estrarre il disco dal server). Se questo livello di sicurezza è sufficiente dipenderà dai tuoi controlli di accesso al server che contiene il file, fisicamente e nel software, e dagli scenari che stai cercando di mitigare.

Se si desiderano elevati standard di sicurezza, è necessario utilizzare un modulo di sicurezza hardware anziché archiviare la chiave (e la passphrase) localmente. Ciò non impedisce che la chiave venga utilizzata in situ , ma impedisce che venga copiata e utilizzata altrove.


+1 per menzionare il modulo di sicurezza hardware, l'unica soluzione, davvero, a questo enigma.
MariusMatutiae,

Stephen, grazie per la menzione del modulo di sicurezza hardware, farò qualche ricerca. Grazie per avermi indicato nella giusta direzione.
Zakk Coetzee,

@StephenKitt Le chiavi hardware sono fantastiche quando il lavoro. Quando non lo fanno, beh ...
Satō Katsura,

@ SatōKatsura vero, anche se vorrei sottolineare che Yubikey non è un HSM. (Il che non significa ovviamente che gli HSM non siano vulnerabili .)
Stephen Kitt,

"Se si desiderano elevati standard di sicurezza", non è possibile decodificare o firmare nulla un lavoro automatizzato.
JimmyB,

5

L'automazione della decrittazione significa che devi memorizzare la passphrase da qualche parte o non utilizzare una passphrase (a meno che tu non usi opzioni aggiuntive come indicato nell'altra risposta inviata da Stephen mentre stavo digitando la mia)! Nessuno di questi soddisfa i tuoi requisiti di standard di sicurezza buoni o grandi.

cioè il tuo requisito non è compatibile con la sua sicurezza.

Puoi fare affidamento su cose come: devi essere root, ho dato al file in cui è memorizzata la mia passphrase un nome davvero confuso, ho crittografato i file system sottostanti, ecc. Ecc., Ma sono tutti livelli che sono banali da eludere una volta che si è root in primo luogo.

L'opzione che impedisce la visualizzazione della passphrase nell'elenco dei processi è --passphrase-file <file-name>.

Tuttavia, non è più sicuro della semplice rimozione della passphrase.


Grazie per aver spiegato Tony, hai dato una visione migliore della questione. L'obiettivo principale sarà un modulo di sicurezza hardware come menzionato da Stephen.
Zakk Coetzee,

@ZakkCoetzee: come ho detto nell'altra risposta, cosa impedisce all'aggressore di usare l'HSM se sono root?
Martin Bonner supporta Monica il

@MartinBonner Come detto sopra da Stephen Kitt, impedisce loro di ottenere la chiave, il che è decisamente meglio che ottenere la chiave.
Zakk Coetzee,

Lo è, ma non molto meglio. Chiedi a Diginotar (che aveva la chiave in un HSM, ma lasciò l'HSM collegato e con la relativa smart card nello slot - in modo che un attaccante potesse firmare un numero di certificati dell'attaccante.)
Martin Bonner supporta Monica
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.