Archivia in modo sicuro le password in un'applicazione mobile

3

Nota: sto postando questo per un mio amico che non parla inglese molto bene ... Beh, non sono così bravo anch'io, quindi scusami in anticipo!

Il mio amico sta sviluppando un'applicazione per smartphone e vorrebbe avere qualche consiglio per proteggere gli ID del database.

L'unica idea che abbiamo ottenuto finora è:

  • Tutte le comunicazioni vengono eseguite utilizzando la crittografia asimmetrica (chiave privata sul server)
  • Le credenziali vengono archiviate, crittografate, sul lato client e la chiave di decrittografia è memorizzata sul lato server

Quando l'applicazione deve utilizzare le credenziali, chiede al server la chiave di decrittografia.

Sarebbe sicuro?

Non avremmo bisogno di autenticare il client? Immagino che se non lo facessimo, sarebbe come inviare la chiave di decodifica come testo semplice.

    
posta Katenkyo 29.09.2016 - 14:33
fonte

1 risposta

3

Odora di sicurezza con l'offuscamento. Se le credenziali vengono memorizzate sul lato client e se la chiave di decrittografia viene inviata al client, un utente malintenzionato può installare l'applicazione su un emulatore e tramite un debugger ottenere la chiave di decrittografia e le credenziali. Ok, è tutt'altro che semplice, ma tutto dipende dal valore del database.

Un utilizzo più comune (e più sicuro) è la creazione di un'applicazione multilivello: l'app anteriore (sullo smartphone) non conosce il database ma comunica solo con un server. Qui autenticiamo il client con user + password, certificato o altro ... E solo il server comunica effettivamente con il database. In questo modo le credenziali del database non sono mai presenti sul client e non vengono mai scambiate se non sulla connessione del database server.

TL / DR: la tua proposta renderebbe le cose più difficili per un possibile malintenzionato che vorrebbe rubare le credenziali del database, ma non impedisce tutte le possibilità. Utilizza il design a più livelli per una soluzione davvero sicura.

    
risposta data 29.09.2016 - 16:02
fonte

Leggi altre domande sui tag