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.