Nascondi il segreto del database nell'applicazione Java offline senza le credenziali dell'utente

2

Ho cercato tutta la settimana scorsa per qualsiasi soluzione, ma non sono riuscito a trovare una risposta adeguata e spero che qualcuno di voi possa aiutarmi.

Ho un'applicazione desktop Java che utilizza un database H2 locale (modalità embedded) su una macchina Linux. Il database utilizza una crittografia simmetrica con una password. L'applicazione può essere utilizzata da chiunque senza richiedere alcun tipo di credenziali, password o dati di accesso. Il segreto del database deve essere nascosto e non essere visibile o modificabile dagli utenti. Infine l'applicazione non ha una connessione internet.

Esiste una soluzione per fornire il segreto all'applicazione per la crittografia del database mentre protegge la password dagli utenti? O c'è qualche altra soluzione per proteggere i dati del database dall'accesso degli utenti fornendo i dati all'applicazione?

Grazie in anticipo

Sebastian

    
posta Seb 22.01.2018 - 18:11
fonte

2 risposte

2

I tuoi utenti hanno diritti di amministratore sui rispettivi computer desktop? Se sì, non è possibile nascondere a lungo la password di un utente motivato. Metodi come l'offuscamento e così via possono aiutare a impedire a un utente curioso ma pigro di scoprire i tuoi segreti, senza alcuna garanzia.

Se no, consenti ai tuoi utenti di eseguire l'applicazione ma proibisci di eseguirne il debug e di leggere il file dei segreti. Quanto esattamente fai ciò dipende da quale sistema operativo è utilizzato nella tua organizzazione.

Nota che questo richiede anche l'installazione di tutti gli aggiornamenti di sicurezza sulle macchine degli utenti non appena possibile, come elevazione dei privilegi è tra le più frequenti conseguenze delle vulnerabilità là fuori.

    
risposta data 22.01.2018 - 18:34
fonte
1

Fondamentalmente non esiste un modo corretto per crittografare i dati sensibili quando si parla di soluzioni basate su software. Una delle soluzioni che puoi adottare è un meccanismo di offuscamento molto strong che può aiutarti a nascondere il segreto. O meglio usa Crittografia white-box puoi controllare questo link per ulteriori informazioni: link

    
risposta data 22.01.2018 - 18:23
fonte

Leggi altre domande sui tag