35 votes

Quel est le niveau de sécurité des fichiers SQLite et SharedPreferences sur Android?

Tout d'abord, un peu de mes origines. J'ai travaillé sur de grands systèmes web pour plus d'une décennie, Android est quelque chose que je cherche depuis deux mois; comme vous pouvez l'imaginer, l'écart est assez large :)

Regarder Android de Sécurité et d'Autorisations et de Stockage de Données partie de la documentation, de parler directement aux développeurs, en lisant des livres et des tutoriels, il est assez clair de la façon dont tout le modèle fonctionne. Cependant, j'ai été incapable de trouver une réponse si SQLite et SharedPreferences fichiers sont assez sécurisé pour stocker délicat de la non-information chiffrée (par exemple, OAuth jetons). Est-il possible pour quelqu'un de les saisir en quelque sorte? Citant Android documentation:

Toutes les données enregistrées par une demande sera assigné en application de l'ID d'utilisateur, et normalement pas accessibles à d'autres paquets.

C'est l' normalement pas accessible à partie en me donnant supplémentaires cheveux gris :)

Merci des réponses utiles sont appréciés :)

40voto

CommonsWare Points 402670

Est-il possible pour quelqu'un de les saisir en quelque sorte?

Qui dépend de quelqu'un. Comme M. Burov indique, les utilisateurs de téléphones enracinées peuvent obtenir ce qu'ils veulent. Les utilisateurs ordinaires et d'autres applications ne peuvent pas, par défaut.

Ce n'est pas normalement partie accessible de me donner supplémentaire cheveux gris :)

Par défaut, les fichiers sont sécurisés. Vous pouvez vous rendre lisible par tout le monde ou accessibles en écriture si vous le souhaitez.

Ne serait-il pas possible de décompiler fichier apk et trouver la clé de chiffrement ainsi dans ce cas?

Cela dépend de qui vous êtes défendre contre. Si vous êtes à la défendre contre d'autres applications, ont à l'utilisateur de fournir la clé de chiffrement. Si vous défendez l'encontre de l'utilisateur, vous êtes foutu, tout comme toutes les implémentations de DRM sont vissés.

1voto

Konstantin Burov Points 34011

Eh bien, il existe de nombreuses applications d'éditeur SharedPreferences sur le marché, elles ne sont donc certainement pas sécurisées. La base de données des périphériques enracinés peut également être facilement retirée, car l'utilisateur dispose d'un accès complet au système de fichiers du téléphone. Par conséquent, si vous souhaitez que votre application soit totalement sécurisée, chiffrez vos données.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X