ローカルのSqLiteデータベースをデータソースとして使用するXamarin.Formsアプリケーションがあります。データは独自のものなので、誰かがデータベースファイルにアクセスした場合、そのデータにアクセスするためには復号化する必要があるように保護したいと考えています。Xamarinアプリケーションでのローカルプロプライエタリデータの保護
また、特定の時点でより多くのデータ(アプリ内購入)を使用する機能を購入する必要があるように、ユーザーがデータベースに対して行うクエリの数を制限したいと考えています。
私は、ユーザーのデータプランへの影響を最小限に抑えるためにできるだけネットワークを呼び出すことを避け、接続が不十分またはない状況でもアプリがうまく動作するようにしたいと考えています。だから、私は、ローカルデータベース(おそらくSqLite)にデータを保存したいと思っています。
私は、データを保護すると同時にネットワークの使用を最小限に抑えるために、この問題にどのようにアプローチするのか不思議です。
1)ユーザーのダウンロードが/アプリをインストールしてみましょう:ここ
は、(それが可能だ場合)私が考えていたものの一種です。
2)最初の読み込み時に、アプリはデバイスIDとユーザーの現在の購入情報に基づいてキーをアップロードします。次に、アップロードされたキーを使用して暗号化されたSqLiteデータベースファイルをダウンロードします。
3)ユーザーがクエリの制限に達すると、データベースファイルが削除されます。より多くのデータを購入すると、新しいキーがアップロードされ、新しい暗号化されたデータベースがダウンロードされて使用されます。
思考?より良い方法がありますか?
素敵な質問、データベースはクエリを制限したり、データベースを削除すると私は考えてあまり助けにならない、ローカルに保存されている場合、ユーザーがアクセスする方法を見つけることができます、のは何を言われて他の人を見てみましょうアプリケーションを開かずにデータベース全体を暗号化するだけで十分です。 – CDrosos