Miglior soluzione per proteggere un file db SqLite

di il
7 risposte

Miglior soluzione per proteggere un file db SqLite

Gentili,
devo fare un app per un tablet win10 che scarica dei dati da un web service e li deve salvare in locale ogni tot di tempo, per poi permettere la lettura offline ed avrei pensato ad un file SqlLite come db; essendo dati sensibili lo vorrei criptare.
Fino a qualche tempo fa per connettermi usavo le librerie per il Net 4.0 che avevano i metodi SetPassword e ChangePassword per inserire una password, con le ultime versioni della libreria questo non è più possibile e bisogna usare altre librerie esterne che mi sembrano, se non ho visto male, a pagamento.
A qualcuno è capitato di dover criptare il file? Che metodo usate? A me servirebbe anche poterle usare in combinazione con l'orm Dapper visto che tutta la logica è stata implementata così.
Ringrazio chiunque mi darà qualche dritta.
Lucius

7 Risposte

  • Re: Miglior soluzione per proteggere un file db SqLite

    luciusinfabula ha scritto:


    devo fare un app per un tablet win10 che scarica dei dati da un web service e li deve salvare in locale ogni tot di tempo, per poi permettere la lettura offline ed avrei pensato ad un file SqlLite come db; essendo dati sensibili lo vorrei criptare.
    Se si tratta di dati sensibili nel significato stretto del termine, non sono sicuro che la protezione da password di qualsivoglia database sia un metodo sufficiente per proteggerli nel modo adeguato, ma credo si debba ricercare una soluzione che preveda la possibilità di criptare i dati impedendo qualsiasi lettura anche manuale a livello binario degli stessi che possa rivelare informazioni in chiaro (nomi, cognomi, ecc.).

    Nello sviluppo con Delphi ad esempio, uno dei database maggiormente noti è InterBase: si tratta di un DB client/server che, nella sua edizione IB ToGo, può essere anche deployato in modalità "embedded" e supporta il data encrypting (anche su piattaforme mobile).

    Al momento non mi vengono in mente altri formati di database analoghi, almeno con pari potenzialità...
  • Re: Miglior soluzione per proteggere un file db SqLite

    Salve Marco,
    d'accordissimo con le tue conclusioni sulla necessità di avere un file criptato e non soltanto protetto da password.
    Dopo aver parecchio googlato e fatto vari tentativi ho trovato alla fine questa libreria che permette di gestire anche i file sqlite cifrati, provato sia con un db non protetto che con un db protetto e funziona.
    Da quello che ho potuto capire l'inserimento di una password nel db non solo lo protegge ma ne causa anche la cifratura.
    Per creare il db e cifrarlo utilizzo Db Browser per SqLite , la cui installazione crea due versioni del client: una per gestire i file aperti e una per gestire anche i file protetti da password.
    Ho creato con quest'ultima un db, protetto con password e aperto con la libreria di cui sopra e funziona.
    Saluti.
    Lucius
  • Re: Miglior soluzione per proteggere un file db SqLite

    La protezione dei dati e' sacrosanta MA bisogna vedere DA CHI.

    Le soluzioni ""caserecce"" nel 99.9999% dei casi non servono a nulla per i seguenti motivi:

    1) un utente NON ESPERTO NON E' in grado di accedere ai dati ANCHE se questi sono in chiaro
    2) un utente ESPERTO sta' TEMPO ZERO ad hackerare la soluzione ""casereccia"". Vabbe, qualche minuto!
    3) le informazioni che si vogliono proteggere stanno in un dispositivo (un cellulare/tablet) che contiene INFORMAZIONI BEN PIU' PREZIONE.
    Quindi la perdita del dispositivo E' INFINITAMENTE PIU' GRAVE per la presenza DELLE ALTRE INFORMAZIONI che non per la presenza delle info nel database. Per questo Android, Apple ecc hanno messo a disposizone degli strumenti per RESETTARE il cellulare da remoto.

    E comunque, come avrai gia' sentito, con abbastanza soldi e tempo si puo' far saltare QUALUNQUE protezione.

    Questo per dire che, se si vuole mettere in piedi un sistema di protezioni dei dati, o lo si fa in modo SERIO, oppure non vale la pena nemmeno iniziare perche' un'implementazione NON SERIA non fermerebbe (e NEMMENO rallenterebbe) il male-intenzionato di turno. E fermare un gia' fermo non e' un gran risultato
  • Re: Miglior soluzione per proteggere un file db SqLite

    A parte che: lungi da me il solo pensare di implementare una soluzione fatta da me medesimo per criptare qualsiasi cosa. Tutto posso provare tranne mettermi ad implementare personalmente una soluzione di cifratura dei dati, di qualsiasi natura.
    So benissimo che esistono hacker là fuori millemila volte più esperti di me nel forzare qualsiasi sistema di cifratura, per carità.
    Detto questo però non mi hai fornito nessuna dritta reale da dove partire, sto parlando di implementare librerie ufficiali create appositamente per cifrare un db SQLite che, nel mio caso, deve stare su un tablet dovendo l'app funzionare off line; non di librerie create dal sottoscritto.
    A parte che questo progetto andrà installato soltanto su un tablet di un responsabile aziendale, in qualche modo ho bisogno di procedere.
    Grazie.
    Lucius
  • Re: Miglior soluzione per proteggere un file db SqLite

    Forse potresti crittografare con crittografia simmetrica i contenuti del db in modo che se qualcuno lo copiasse non potrebbe ricavarci nulla ,credo sia pesante come procedura se però l'applicazione è monoutente.... , come password potresti utilizzare una password "nascosta" nell'applicazione oppure la password dell'utente (unico) della quale puoi salvare l'hash in modo da non salvare la password in chiaro
  • Re: Miglior soluzione per proteggere un file db SqLite

    Salve Surfernet,
    da quello che ho capito le librerie in questione attraverso la password cifrano anche l'intero db, non soltanto lo proteggono.
    Per quanto riguarda le password non le salvo mai in chiaro nel pc o tablet che sia.
    Come ulteriore protezione avevo pensato di salvare il file db in un archivio protetto, montarlo soltanto nel momento in cui l'app è aperta e smontarlo subito dopo, un archivio tipo TrueCrypt in aggiunta alla cifratura del db.
    Che si sappia, TrueCrypt è veramente fallato oppure è ancora utilizzabile per criptare file?
    Grazie, Lucius.
  • Re: Miglior soluzione per proteggere un file db SqLite

    Invece di usare un programma esterno (true crypt) non potresti gestire la cosa usando le lib java di android ...?
    https://stackoverflow.com/questions/19568998/how-do-i-decrypt-a-file-in-android-with-aes
Devi accedere o registrarti per scrivere nel forum
7 risposte