Ho cercato su Google informazioni per quanto riguarda password per le applicazioni e sicurezza SQLite per un po 'di tempo e nulla di ciò che ho trovato ha veramente risposto alle mie domande.Password dell'applicazione e sicurezza SQLite
Qui è quello che sto cercando di capire:
1) La mia applicazione sta per avere un'attività password opzionale che verrà chiamato quando l'applicazione prima apertura. Le mie domande per questo sono a) Se memorizzo la password tramite preferenze Android o database SQLite, come posso garantire la sicurezza e la privacy per la password, e b) come deve essere gestito il recupero della password?
Per quanto riguarda b) da sopra, ho pensato di richiedere un indirizzo e-mail quando la funzione password è abilitata, e anche una domanda di suggerimento password da usare quando si richiede il recupero della password. Dopo aver risposto correttamente alla domanda di suggerimento, la password viene inviata via email all'indirizzo email che è stato inviato. Non sono completamente sicuro della sicurezza e della privacy del metodo di posta elettronica, soprattutto se l'e-mail viene inviata quando l'utente è connesso a una rete wireless pubblica aperta.
2) La mia applicazione utilizzerà un database SQLite, che verrà memorizzato sulla scheda SD se l'utente ne ha uno. Indipendentemente dal fatto che sia memorizzato sul telefono o sulla scheda SD, quali opzioni sono disponibili per la crittografia dei dati e in che modo ciò influisce sulle prestazioni dell'applicazione?
Grazie in anticipo per il tempo necessario per rispondere a queste domande. Penso che potrebbero esserci altri sviluppatori alle prese con le stesse preoccupazioni.
Non ho alcuna esperienza effettiva con queste cose, quindi esito a pubblicare una risposta, ma so che non dovresti memorizzare la password - dovresti conservare un hash salato. Lo stesso può presumibilmente essere fatto per le risposte alle domande di sicurezza (dopo un po 'di standardizzazione - convertire in minuscolo, tagliare gli spazi bianchi, ecc.). Per la reimpostazione della password, la cosa più sicura è porre la domanda e consentire il ripristino di tutto in una sessione sicura. In caso contrario, è possibile inviare un messaggio di posta elettronica all'utente per informarli che possono effettuare l'accesso (entro un limite di tempo) e immettere/recuperare la nuova password in modo sicuro. – Cascabel