web-dev-qa-db-ja.com

Androidクライアントからデータベースへのデータの送信

私はAndroidアプリを作成してWebサービスにデータを送信します。現在、ユーザーはテスト結果(テストID、テスト名、テスト時間、ユーザーID)を送信しています。問題はクライアントからWebサービスにJSONでデータを送信します。Webサービスにはブラウザーでアクセスできますが、権限のないユーザーがブラウザーを使用してスコアを挿入するためのWebサービスメソッドを呼び出す可能性があります。この問題を解決するにはどうすればよいですか? AndroidクライアントのみがWebサービスにデータを送信できるようにする必要があります。

3
Layior

通常、これは実行できません。ユーザーがアプリにアクセスできる場合、ユーザーはアプリをリバースエンジニアリングして、アプリのすべての動作を検出できないほどエミュレートできます。

あなたができることは彼らの道に障害を置くことです。データと一緒にソルトハッシュを送信するだけで、99%の攻撃者を阻止できます。より大きな努力を惜しまない場合は、公開キー暗号化を使用して送信されるメッセージを暗号化および署名すると、ほとんどすべての人が停止します。

これは、プロの攻撃者を止めたり大幅に遅くしたりすることはありませんが、主な脅威モデルが「美術史を専攻する大学生」または「カジュアルなFacebookユーザー」である場合は、十分すぎるほどです。

1
Mark