Due note:
In generale l'applicazione non poteva che essere il più sicuro sistema operativo. Nel caso in cui il dispositivo sia rootato, il sistema operativo non è più sicuro. Quindi la tua applicazione non può essere sicura neanche. Per esempio potrebbe esserci modifiche del sistema operativo che sarà:
- ingresso tastiera log
- subvert chiamate (comprese le chiamate di API crittografica)
- registro qualsiasi informazione che passa attraverso HTTP (S).
La seconda nota è che a un certo punto sarà necessario fornire i dati (file) in chiaro (non crittografato) alle applicazioni di terze parti. Non appena hai fatto questo, possono copiarlo, inviarlo ad un server e non puoi farci niente. Quindi, anche se fornisci l'accesso a questi file per un periodo di tempo limitato, possono comunque "perdere".
Detto questo, il vostro approccio più semplice (come Emile sottolineato) sarebbe quella di utilizzare un dato ContentProvider, crittografare all'interno di esso e decrittografare i dati quando è consegnato alle applicazioni 3rd party.
Un approccio con maggiore complessità sarebbe utilizzare DRM (http://developer.android.com/reference/android/drm/package-summary.html) nel caso in cui le app di terze parti lo supportino.
fonte
2012-08-23 18:31:00
Grazie, il problema è che voglio proteggere i file da questi tipi di rooting ma anche dall'essere utenti in grado di aprirli all'esterno dell'applicazione –