Ho creato un sistema di accesso . L'utente può accedere tramite:
- utilizzando una normale email / password (briptata).
- utilizzando un servizio come Facebook, Gmail, ecc.
Fin qui tutto bene. Ora voglio memorizzare le informazioni sensibili (credenziali ftp) nel database in modo sicuro. Questo è molto facile per i primi utenti: quando l'utente accede con la propria email / password, la password viene sottoposta a hash con uno (predefinito) salt per verificare l'autenticazione e con un'altra salt per ottenere un hash strong X.
Quindi uso questo hash X come password per crittografare i dati sensibili che l'utente desidera archiviare. In questo modo, l'accesso completo al codice e al database NON compromette i dati dell'utente. *
C'è un modo per raggiungere un livello di sicurezza simile per gli utenti che accedono con un servizio che intrinsecamente non ha password per cominciare? Altamente raccomandato per essere una seccatura sul lato server e non aggiungere ulteriore complessità per l'utente. Queste sono tutte le opzioni che posso vedere con i loro problemi:
-
Richiede che ogni utente, anche Facebook / Gmail / ecc., scriva e ricordi una password. Questo è di nuovo il principio che mi ha fatto integrare quei servizi in primo luogo.
-
Utilizzare una password di crittografia univoca sul sito, lato server. Voglio proteggermi dall'accesso completo al codice e al database, quindi nessuno (compresi gli sviluppatori / gli amministratori / ecc.) Può sfruttare questi dati privati.
-
Utilizza alcuni dati specifici dell'utente. Questo sarebbe l'id di Facebook dell'utente, per esempio. Potrebbe essere recuperato semplicemente facendo una ricerca per la loro email in fb, quindi non sicuro.