GPG è adatto come parte di un gestore di password e di un generatore?

7

Suppongo che GPG sia molto strong da decifrare, supporre, ecc. Visto che ho fiducia in GPG, sarebbe appropriato usare la mia chiave GPG come chiave principale per un gestore di password o un generatore?

    
posta dzervas 05.03.2013 - 15:53
fonte

4 risposte

10

GPG crittografa i tuoi dati con una chiave simmetrica, quindi codifica quella chiave simmetrica con / per la coppia di chiavi pubblica / privata. Quella coppia di chiavi è solitamente mantenuta sicura crittografandola simmetricamente.

Quello che stai chiedendo è un programma che avrebbe un diagramma come tale:

Symmetric -> Asymmetric -> Symmetric

Quello che dovresti usare è un gestore di password che effettua il seguente passo:

Symmetric

Il compito di un gestore di password è quello di non inserire i dati in chiaro in quanto è semplice. Il lavoro di GPG è consentire la comunicazione di uno scambio di chiavi attraverso un canale chiaro. Dal momento che sarai l'unico a crittografare / decifrare le tue password, la crittografia simmetrica va bene. Crittograficamente parlando. GPG utilizza OpenSSL per il backend in ogni caso, come molto probabilmente un gran numero di gestori di password disponibili gratuitamente.

Ora, con tutto ciò che è stato detto, è logico farlo sul tuo computer se la tua chiave GnuPG è conservata su una smartcard esterna e funzionerebbe con un telefono se esistesse una versione NFC della scheda. Puoi usare git per sincronizzare vari file di password.

    
risposta data 05.03.2013 - 16:16
fonte
8

Inizierò con la risposta rapida alla tua domanda (che ha due parti). Innanzitutto, sì, GPG è adatto come gestore di password in termini di crittografia avanzata. È molto improbabile (per la maggior parte sarebbe impossibile) che la password venga crackata usando la crittografia asimmetrica.

La seconda parte della risposta è che, no, probabilmente non è adatto come gestore di password. Dover gestire le chiavi può essere irritante se utilizzi più computer e, se perdi la tua chiave privata, rischia di dover reimpostare molte, molte password - un vero dolore.

La soluzione rapida al problema della gestione delle chiavi consiste nell'utilizzare gpg -c , che consente di utilizzare la crittografia simmetrica con gpg utilizzando una passphrase. È fantastico, ma ora stiamo entrando nel territorio di ciò che effettivamente consiglierei per una soluzione alternativa poiché non utilizzi più il vantaggio principale di GPG (chiavi pubbliche / private).

Non ho intenzione di entrare nei dettagli completi della mia attuale configurazione, ma posso delineare rapidamente: piuttosto che usare gpg per gestire un file di testo di credenziali, io uso openssl . Il ragionamento alla base di questo è semplice: quasi ogni sistema Linux (e, credo, OS X) viene preinstallato con openssl. È universale, il che rende la portabilità molto facile se porto con me il mio file crittografato su una chiavetta USB (una copia di esso, ovviamente). Non ci sono chiavi da gestire e posso facilmente scegliere quale metodo di crittografia usare.

Tendo a preferire qualcosa del genere: openssl aes-256-cbc -salt -in passwords.txt -out passwords.aes per crittografare il mio database delle password. Non dimenticare di rm il testo in chiaro! Da lì, posso facilmente eseguire openssl aes-256-cbc -d -in passwords.aes e grep per i crediti che sto utilizzando. Aggiungere cose può diventare un po 'più complicato - in genere devo stampare su stdout, o aggiungere un file temporaneo e quindi ricodificare - ma ne vale la pena per la portabilità fornita da openssl.

    
risposta data 05.03.2013 - 20:26
fonte
4

Sì, e in effetti esiste un gestore di password di questo tipo, che utilizza gpg per la crittografia. Si chiama pass ed è disponibile all'indirizzo link per linux / Unix.

With pass, each password lives inside of a gpg encrypted file whose filename is the title of the website or resource that requires the password. These encrypted files may be organized into meaningful folder hierarchies, copied from computer to computer, and, in general, manipulated using standard command line file management utilities.

pass makes managing these individual password files extremely easy. All passwords live in ~/.password-store, and pass provides some nice commands for adding, editing, generating, and retrieving passwords. It is a very short and simple shell script. It's capable of temporarily putting passwords on your clipboard and tracking password changes using git.

You can edit the password store using ordinary unix shell commands alongside the pass command. There are no funky file formats or new paradigms to learn. There is bash completion so that you can simply hit tab to fill in names and commands, as well as completion for zsh and fish available in the completion folder. The community has even produced a GUI client, an Android app, an iOS app, a Firefox plugin, a dmenu script, and even an emacs package.

    
risposta data 23.03.2015 - 22:26
fonte
1

Per leggere le mie password, utilizzo un file crittografato nella mia home directory. Per decrittografarlo, semplicemente uso il comando decrypt di GnuPG, coperto da un simpatico script di shell rpw (per le password di lettura) - mi chiede quindi una pass-phrase e visualizza tutte le mie password nel terminale. Facoltativo, posso dare un termine di ricerca come ad es. %codice%. Quindi solo la riga, dove appare "ebay", quando distribuisco le password. Si prega di trovare il mio script da rpw ebay qui:

gpg -d -o - /home/USER/pw.gpg | grep "$1" 

Per scrivere / modificare il file della password, lo decrittogrado, lo modifico e quindi lo cripto di nuovo, mentre pulisco il file decrittografato. Ecco questo script, che è chiamato /usr/local/bin/rpw (per le password di scrittura). wpw :

gpg -d -o /home/USER/pw_unenc /home/USER/pw.gpg
vi /home/USER/pw_unenc
gpg -o /home/USER/pw.gpg -e /home/USER/pw_unenc
wipe -f -s /home/USER/pw_unenc

Questo è tutto molto semplice e si basa sulla sicurezza di GnuPG.

    
risposta data 06.09.2015 - 16:16
fonte

Leggi altre domande sui tag