Come ottimizzare la sicurezza per un repository di password? [chiuso]

2

Sto creando una password vault, che è composta da un sacco di servizi HTTP, un client Web, un'applicazione Android e un'applicazione iOS.

C'è una tabella molto semplice chiamata Passwords che ha queste colonne:

Id
UserId
Username
Password
Url
Notes

Un utente accede tramite qualsiasi client, aggiunge password a questo repository e quindi ha accesso all'elenco delle sue password.

In effetti sto creando KeePass, ma nel cloud.

Ovviamente ho bisogno di renderlo il più sicuro possibile. Ho configurato HTTPS per i servizi e sono accettabili solo le chiamate HTTPS. Ho anche crittografato le password nella colonna Password , ma tutte con una chiave.

Quali opzioni posso prendere per massimizzare la sicurezza di questo sistema? Qualsiasi suggerimento, anche il tiering fisico sarebbe accolto con favore.

Chiarificazione : come utenti del mondo moderno, la vita diventa molto complicata per noi. I nostri antenati avevano solo a che fare con pochi concetti e tutto ciò che avevano per la sicurezza erano i loro scudi e lance. Oggi, ogni utente ha probabilmente più di 100 account in tutto l'Internet. Sono stato oggetto di un hack e ho davvero perso alcune cose. Così ho deciso di usare le password in modo più sicuro. KeePass è un'opzione eccezionale. Ma l'utilizzo è offline e non può essere condiviso su più dispositivi. Ci sono servizi là fuori, ma sono tutti servizi a pagamento. Almeno un servizio gratuito dovrebbe esistere per aiutare le persone con i loro problemi di gestione delle password. Ecco perché ho deciso di interpretare il mio ruolo il più possibile. Non riesco a rendere questa domanda più specifica, in quanto è già specificata. Devo aiutare le persone a gestire le loro password e ad accedervi da qualsiasi dispositivo, quando vogliono, gratuitamente. Per arrivarci, ho bisogno di rendere il sistema il più sicuro possibile. Forse questo potrebbe diventare uno sforzo collaborativo, proprio come LetsEncrypt. Meritiamo di vivere in sicurezza e sicurezza. Ma abbiamo bisogno della tecnologia per aiutarci. Ora tutto ciò che chiedo è che le persone mi diano suggerimenti su come rendere questo sistema più sicuro. Questo è totalmente oggettivo, rispondibile come già mostrato e pertinente a questo sito tanto quanto ho letto nel Centro assistenza.

    
posta Saeed Neamati 18.10.2017 - 12:34
fonte

1 risposta

9

Salvare le password di altre persone in altri servizi è una pessima idea. Significa che ora hai la possibilità di rubare ogni singola password dai tuoi utenti, perché hai la chiave di decodifica e gli utenti hanno solo la tua parola che non la userai. E anche se riesci a convincere i tuoi utenti che sei davvero un modello di incorruttibilità e non farei mai una cosa del genere (non prenderla sul personale, ma sicuramente non mi convincerai), c'è ancora il rischio che qualcuno possa hackerare tu. E considerando quanto sei prezioso come bersaglio, molte persone faranno del loro meglio per farlo. Non puoi davvero aspettarti che una persona sana di mente riposi tanta fiducia in te e nella tua sicurezza operativa.

Se hai veramente in mente il miglior interesse e la privacy dei tuoi utenti, archivia l'intero database delle password come un BLOB, crittografato con una chiave che è sotto il controllo dell'utente. Esegui sia la crittografia che la decrittografia del database delle password sul lato client, in modo che il tuo server non veda mai la chiave dell'utente oi relativi dati in chiaro. L'applicazione lato client può ricavare la chiave dalla password principale dell'utente (che non si dovrebbe conoscere) utilizzando un algoritmo di derivazione della chiave come PBKDF2 .

Problema: quando l'utente dimentica la sua password principale, perde l'intero database delle password. Non puoi aiutarli, perché in base alla progettazione non hai la possibilità di decrittografarlo. Non c'è una buona soluzione per questo. La sicurezza dei dati richiede sempre un segreto e un segreto noto a una terza parte non è più un segreto.

    
risposta data 18.10.2017 - 14:05
fonte

Leggi altre domande sui tag