Informazioni sensibili sicure inviate dal server all'app mobile

5

Ok, ho un server di back-end per binari che è praticamente solo un server di database.

Il database contiene informazioni sui diversi tipi di una sostanza e sulla composizione percentuale confidenziale inerente di quella sostanza.

Gli amministratori dell'applicazione possono creare richieste PATCH per aggiornare i record nel tempo e gli utenti dell'applicazione al momento del login sincronizzano il loro database REALM locale con il server nel caso in cui un amministratore abbia aggiunto / eliminato / modificato qualsiasi record. Il database di ream sull'app viene creato e crittografato con una chiave memorizzata nel portachiavi al primo utilizzo dell'app.

Anche al primo utilizzo, l'app si sincronizzerà completamente con il server, recuperando tutti i record delle sostanze sensibili e memorizzandoli nel database REALM locale crittografato.

Cifrò la trasmissione dall'esterno con ssl e implementerò il blocco di ssl per inibire gli attacchi MITM.

Ma cosa posso fare per evitare che il pubblico possa mai scoprire la composizione di queste sostanze riservate?

L'unico motivo per cui i dati sono archiviati localmente è per l'uso offline. In caso contrario, chiederei agli utenti di interrogare il server con i trucchi di percentuale di cui avevano bisogno e il server restituire i nomi delle opzioni appropriate.

    
posta Glenn-Mac 03.01.2016 - 23:16
fonte

2 risposte

1

Non fidarti mai di un utente

Che cosa significa? Assumere sempre che un utente abbia accesso a tutti i dati sul dispositivo dell'utente. Non puoi impedirgli di ottenerlo perché possono semplicemente seguire l'heap della memoria, trovarlo GIUSTO prima della crittografia e prenderlo.

Prevenzione

Alcuni boss delle cattive notizie. Non puoi . Anche se lo si limita ad essere sul server remoto, solo loro possono comunque forzare la forza bruta ogni combinazione di cui sono curiosi e ottenerla. L'unica cosa che puoi davvero fare è rendere non fattibile farlo con la limitazione della velocità in modo che gli occorressero ANNI. Se hanno una copia locale del database e guardano la chiave di crittografia in memoria, possono ottenere i dati in entrambi i modi.

If they can get the data through any way, they can get the data.

È una triste verità sulla sicurezza.

    
risposta data 02.06.2016 - 02:17
fonte
0

Come hai detto, SSL è valido solo per la protezione da MITM.

Non c'è nulla che tu possa veramente fare per proteggere i dati che hai archiviato sui dispositivi dei clienti. I client possono sempre trovare alcuni metodi semplici o avanzati (dipende da quanta fatica ci metti in questo) che permetteranno loro di leggere e accedere a qualsiasi cosa l'app del cliente possa accedere.

    
risposta data 03.04.2016 - 01:28
fonte

Leggi altre domande sui tag