È sicuro archiviare le password (crittografate) su GitHub?


21

Sto usando pass per gestire tutte le mie password. Sono crittografati utilizzando GPG con una chiave a 4096 bit, utilizzando l'algoritmo SHA256. Sto usando una password diversa per ogni accesso nel mio archivio di password.

Una delle caratteristiche più interessanti di pass è che tutto contiene in una cartella con una bella gerarchia, che è perfetta per impostare un repository git (pass fornisce anche quella capacità). Vorrei che la mia password fosse aggiornata su tutti i miei computer.

È quindi sicuro trasferire il repository pass git in un repository GitHub privato? In caso contrario, qual è l'anello debole?


Non consiglierei di farlo. Uno dei motivi, è che lasciare la password crittografata sarebbe soggetta ad attacchi di forza bruta offline.
pesante

Considerando che si tratta di un repository privato, suppongo (come fanno i clienti di GitHub) che nessuno, tranne GitHub, stesso avrà accesso al repository. A meno che, ovviamente, un giorno non mi impegni in qualche modo a un repo sbagliato.
Nicolas Mattia,

1
Inoltre, nessuno avrebbe accesso alla chiave GPG, quindi qualcuno avrebbe bisogno di rompere la crittografia a 4096 bit, che è improbabile anche per un attacco di forza bruta offline
Nicolas Mattia,

1
A meno che non abbiano fatto un casino e la password della chiave privata sia Password1;) solo perché l'ho tirata fuori una volta già oggi, sto ancora pensando a superfish usando il nome della sua azienda come password (komodia). Rende solo più facile il crack, ma comunque. Stupidi errori facilitano la decodifica delle password.
dakre18,

Il livello @ dakre18 va da "improbabile che accada" a "divertente decrittazione"
erm3nda

Risposte:


13

Risposta concisa

Va bene mettere un passaggio repo github.

Risposta dettagliata

Il tuo repository pass è crittografato GPG usando qualsiasi chiave privata selezionata, quindi è a prova di proiettile come la chiave che hai scelto. Inoltre, la chiave privata non è memorizzata nel repository pass. Ciò significa che la posizione privata o pubblica dei file di password crittografati non è l'anello debole nella sicurezza del gestore password. Piuttosto, è la chiave privata con cui li hai crittografati di cui devi preoccuparti.

Assicurati che sia una buona chiave (come quella che hai menzionato) e non esporla a nessuno perché non dovranno rompere la chiave più grande per usarla. Dovranno solo nascondere la tua password e, ammettiamolo, è davvero difficile essere certi che la tua password sia abbastanza buona da fermare tutti .

Quindi non lasciare che nessun altro veda la tua chiave. Se sposti la tua chiave privata su ciascuno dei tuoi computer che utilizzano pass, puoi semplicemente estrarre il repository pass da github e utilizzare la chiave privata memorizzata su quei computer individualmente. Ora rimarranno tutti sincronizzati e al sicuro.

Altre due cose da considerare

L'intero punto di passaggio è mantenere crittografate le password. Se non sei d'accordo con loro che si trovano su github.com, allora ciò su cui fai veramente affidamento è la loro posizione privata e non il loro stato crittografato. Se è così, allora perché crittografarli? Potresti semplicemente usare gli stessi file flat che passa e non disturbarti a crittografarli. Sarebbe abbastanza conveniente!

Inoltre, tieni presente che rendere più facile da usare il tuo gestore di password significa che è meno probabile che tu voglia / debba sovvertirlo. Ogni volta che devi fare il lavoro per farlo (ad es. Reimpostare una password su un account perché quello bello sicuro è stato generato su un altro computer e non sei ancora sincronizzato manualmente, ma devi entrare subito) ridurrà la sicurezza che fornisce.


Penso che tu stia facendo tre punti davvero positivi: 1) la chiave di crittografia non è presente sul server 2) chiedi a qualcuno di vedere la mia password è il motivo per cui è crittografata in primo luogo 3) le mie dita goffe sono per lo più tolte dal ciclo continuo. Ma come ha detto @Jens, allora devo fidarmi del software.
Nicolas Mattia,

1
Pass è abbastanza semplice da non fidarti davvero di Pass, ma ti fidi di PGP. Detto questo, sì, devi ancora fidarti di PGP. I miei pensieri su questo sono, perché usare PGP per qualsiasi cosa se non ti fidi che crittografa roba?
Tyler Abair,

7

Questo sarà sicuro, ma ti espone a rischi aggiuntivi rispetto a non mettere il tuo archivio di password in un luogo pubblico.

  • Caricamento accidentale di password non crittografate (non lo farai apposta, ma sicuro che potrebbe non accadere per caso o a causa di un bug del software?)
  • Debolezze sconosciute in RSA o crittografia simmetrica in uso
  • Schemi di utilizzo rivelati (le statistiche sono potenti)
  • Il rilascio accidentale del token di accesso risulta in dati pubblici; se lo avessi mantenuto privato, sarai molto più sicuro
  • Il caso peggiore è che viene rivelata l'intera cronologia dell'archivio password , rispetto solo a quella corrente

In altre parole: se non si commettono errori, fidarsi del software e la matematica dietro l'algoritmo di crittografia rimane sicura, l'archiviazione pubblica dell'archivio di password crittografate va bene. Se hai dei dubbi su uno di questi (e personalmente, la mia fiducia sarebbe esattamente in questo ordine, con la fiducia persa in me stesso come utente con alta riservatezza nella matematica dietro), mantieni il negozio privato.

Hai mai pubblicato una passphrase privata in una finestra di chat per caso che è spuntata? Conosco un sacco di persone che lo hanno fatto, incluso me stesso.


3

Questa è una buona domanda, poiché in passato è stato un problema in cui qualcuno ha inserito una password privata in un repository pubblico.

Pensala in questo modo, è buona norma non archiviare quel file (insieme ad altri file sensibili) in un repository pubblico, anche se è privato. È bene eseguirne il backup da qualche parte, ma se diciamo che la tua password è stata recuperata in qualche modo (ad esempio un sito di terze parti), potrebbero accedere al tuo github e comunque recuperare la password. Peggior caso, ma è ancora possibile. Di solito suggerirei di avere un qualche tipo di file archiviato su un disco rigido esterno, e possibilmente di archiviare il disco rigido da qualche parte nel caso ci fosse un incendio.

Se vuoi davvero usare un repository o un cloud per archiviarlo, fai tutto il possibile per tenerlo al sicuro.

Nel complesso non è la migliore idea. Non è il peggio, ma è meglio pensare al "che cosa accadrebbe se?" scenari. Potrebbe non succedere mai a te, ma se lo facesse, vale la pena?

Modifica: stavo pensando ai programmi in alcuni dei miei post, quindi ho deciso di rispondere meglio alla tua domanda.


0

Una delle caratteristiche più interessanti di pass è che tutto è contenuto in una cartella con una bella gerarchia, perfetta per configurare un repository git

Penso che non sia sicuro. Per tutto il tuo account (struttura della directory) non è crittografato. Solo la password era stata protetta da gpg.

(passare fornisce anche quell'abilità)

Se lo fa usando l'abilità pass. Forse è più sicuro. Ma devi ricostruire il tuo negozio usando "pass git init".

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.