Android 上の SQLite および SharedPreferences ファイルはどの程度安全ですか?
-
25-09-2019 - |
質問
まず、私の背景を少し説明します。私は 10 年以上にわたって大規模な Web システムに取り組んできました。Android については、ここ 2 か月間検討してきたものです。ご想像のとおり、ギャップはかなり広いです:)
アンドロイドを見てみると セキュリティと権限 そして データストレージ ドキュメントの一部を読んだり、開発者と直接話したり、本やチュートリアルを読んだりすると、モデル全体がどのように機能するかが非常に明確になります。ただし、SQLite ファイルと SharedPreferences ファイルが、暗号化されていないデリケートな情報 (OAuth トークンなど) を保存できるほど安全であるかどうかについては、答えを見つけることができませんでした。誰かが何らかの方法でそれらを掴むことは可能ですか?Android のドキュメントを引用します。
アプリケーションによって保存されたデータにはそのアプリケーションのユーザー ID が割り当てられ、通常は他のパッケージからアクセスできません。
それは 通常はアクセスできない その部分が私にさらなる白髪を与えています:)
ありがとう、役立つ回答をいただければ幸いです:)
解決
は、誰かが何らかの方法でそれらをつかむすることは可能ですか?
これは誰かに依存します。氏Burovが示すように、根ざした携帯電話のユーザーは、彼らが好きで取得することができます。一般のユーザーや他のアプリケーションは、デフォルトでは、することはできません。
それだ私に追加白髪を与えて正常にアクセスできない部分:)
デフォルトでは、ファイルが安全です。あなたが選択した場合は、それらの世界可読または誰でも書き込めるを作ることができます。
あなたが防御している者に依存うではない、それのapkファイルを逆コンパイルし、その場合にも、暗号化キーを見つけることが可能であること?
。あなたが他のアプリ防御している場合、ユーザーは暗号化キーを提供しています。ユーザー防御されている場合は、DRMのすべての実装がネジ止めされるのと同様に、ねじ込みしています。
他のヒント
さて、市場でのSharedPreferencesエディタのアプリの束があります。ユーザーが携帯電話のファイルシステムへのフルアクセス権を持っているので、また上根ざしデバイスデータベースは、簡単にやってのけることができます。あなたは完全に確保されてアプリをしたい場合したがって、あなたのデータを暗号化します。