Vuoi creare un gestore di password usando OpenPGP.js

1

Sono piuttosto stanco dei gestori di password che sono disponibili in giro ... Ne ho bisogno uno che sia open source, che funzioni su OSX, che mi permetta di memorizzare file .pem e di cui mi possa fidare.

Poiché non ne ho trovato uno, ho pensato che potesse essere un progetto interessante su cui lavorare. Userò AngularJS solo b / c è una tecnologia che voglio iniziare ad usare e questo progetto mi sembra una buona idea.

La mia idea sarebbe di avere uno stupido back-end che si occupasse delle operazioni di login / registrazione e CRUD delle password (con i tag per rendere la ricerca più semplice) ... ma tutta la crittografia / decrittografia dovrebbe essere eseguita dal browser .

L'unica cosa di cui non sono abbastanza sicuro è la sicurezza della chiave privata sul browser ... Possono accedere a diversi plugin / add-on quando lo carico in OpenPGP? la chiave privata è archiviata come è in memoria quando OpenPGP lo sta usando?

Ho visto che ci sono alcuni altri plugin che usano questo, ma non sono esattamente sicuro di quanto sarebbe bello.

Credo che potrei avere un profilo diverso, o un browser che non uso con questo ... quanto è buona l'idea?

    
posta g3rv4 19.07.2014 - 00:55
fonte

2 risposte

5

[Divulgazione: anch'io lavoro per una società di gestione delle password]

Molto tempo fa, ho provato a sviluppare la mia soluzione di gestione delle password utilizzando PGP / GnuPG. Come ho pensato di più, l'ho trovato insoddisfacente e alla fine passò a quello per cui ora sono venuto a lavorare.

Ecco alcune cose che dovresti prendere in considerazione prima di provare a lanciare il tuo sistema di gestione delle password:

  • Qual è la tua fonte di casualità per la generazione di chiavi e password?

    Do sai come usare un numero casuale crittograficamente sicuro generatore e perché funziona come fa

  • Qual è la funzione di derivazione della chiave?

    Usa qualcosa del genere PBKDF2 per resistere ai tentativi di cracking della password con la tua password principale?

    Sai come tutte le scelte nel tuo KDF interagiscono e ti oppongono attacchi attuali e prevedibili?

  • Quanti dati sensibili rimangono decrittografati in qualsiasi momento?

    Se tu decifrare un intero file, quindi tutti i dati decrittografati dovranno risiedi nella memoria o nella memoria virtuale del tuo computer, lasciandolo potenzialmente esposto dopo un arresto anomalo, in memoria, nel backup automatico file o nei file di scambio di sistema

  • Quali misure ha il sistema per prevenire la perdita di dati?

    Il Il sistema di backup (automatico) esegue qualsiasi controllo di integrità sui dati prima di fare un backup?

  • Come viene cancellata la memoria dei dati sensibili quando non è più necessaria?

    Esistono tecniche di offuscamento per dati sensibili (come ad esempio chiavi di decrittografia) che potrebbero dover essere salvate nella memoria dell'app per a mentre?

  • Il sistema si blocca automaticamente o richiede di essere eseguito azione per bloccare / chiudere i tuoi dati?

  • Puoi eliminare o minimizzare l'uso di Copia e Incolla di sensibili dati?

  • Se crei un supporto per il browser web, conosci i tipi di minacce contro gli strumenti di gestione delle password "nel browser"?

  • E, soprattutto, puoi tenere il passo con tutta la ricerca e sviluppo su tutti questi (e altri) problemi che potrebbero richiedere a cambio di progettazione o implementazione?

Non devi avere una risposta soddisfacente a tutti questi per provare a tirare il tuo. Ma se vuoi "ignorare" alcune di queste domande dovresti farlo deliberatamente.

Ti auguro il meglio con qualsiasi cosa tu decida di fare.

    
risposta data 20.07.2014 - 19:10
fonte
1

Full Disclosure: lavoro in un'azienda di gestione di password. Non dirò quale, perché non nominerò nessuno di loro per nome.

Stai meglio usando uno dei gestori di password commerciali o FOSS già esistenti.

Perché? Perché un gruppo di persone che lavorano a tempo pieno (o nei manager di FOSS, un team di volontari dedicati e intelligenti) sul progetto hanno molte più probabilità di farlo correttamente di te. Hanno una grande partecipazione nel garantire che i problemi vengano corretti tempestivamente e il flusso sia eseguito correttamente.

Non è una buona idea lanciare il tuo da un fine settimana di hacking.

    
risposta data 19.07.2014 - 03:37
fonte

Leggi altre domande sui tag