Comment sécuriser sont des fichiers SQLite et SharedPreferences sur Android?
-
25-09-2019 - |
Question
D'abord, un peu de mon expérience. Je travaille sur de grands systèmes web pour plus d'une décennie, Android est quelque chose que j'ai regardé les deux derniers mois; comme vous pouvez l'imaginer, l'écart est assez large:)
Regarder Android sécurité et autorisations et la partie de la documentation de stockage de données, parler directement aux développeurs, à lire des livres et des tutoriels, il est assez clairement comment fonctionne tout le modèle. Cependant, je ne pouvais pas trouver une réponse si les fichiers SQLite et SharedPreferences sont suffisamment en sécurité pour stocker des informations non cryptées délicates (par exemple, jetons OAuth). Est-il possible pour quelqu'un de les saisir de quelque façon? Citant la documentation Android:
Toutes les données stockées par une application seront attribués que l'ID utilisateur de l'application, et non normalement accessibles à d'autres paquets.
Il est pas normalement accessibles me donner une partie des cheveux gris supplémentaires:)
Merci, les réponses utiles sont appréciés:)
La solution
Est-il possible pour quelqu'un de les saisir de quelque façon?
Cela dépend de la personne. Comme M. Burov indique, les utilisateurs de téléphones racinées peuvent obtenir à tout ce qu'ils veulent. Les utilisateurs ordinaires et d'autres applications ne peuvent pas, par défaut.
Il est la partie normalement accessible me donner des cheveux gris supplémentaires:)
Par défaut, les fichiers sont sécurisés. si vous choisissez, vous pouvez les rendre lisible par tous ou monde inscriptible.
Ne serait-il possible de décompiler fichier apk et trouver la clé de chiffrement aussi bien dans ce cas?
Cela dépend de qui vous défendez contre. Si vous défendez contre d'autres applications, que l'utilisateur fournissent la clé de chiffrement. Si vous défendez contre l'utilisateur, vous êtes foutus, comme toutes les implémentations de DRM sont foutus.
Autres conseils
Eh bien, il y a un tas d'applications de l'éditeur de SharedPreferences sur le marché, ils sont donc certainement pas sûr. En outre la base de données de périphériques sur racines peut tirer facilement, car l'utilisateur a accès au système de fichiers de téléphones. Par conséquent, si vous voulez que votre application soit totalement sécurisée, chiffrer vos données.