2012-04-23 15 views
2

不正行為を防ぐために、私のサーバーに接続するアプリケーションは偽ではないサーバー側を確認する必要があります。私はAndroidの署名メカニズムを組み込むことができますか?たぶん、ある種ののユニークな(デバイスごとに異なる)の魔法番号がありますが、私はそれを毎回確認できますか?Androidアプリの署名メカニズム

ありがとうございます。

m。

答えて

0

すべてのデバイスが一意のIDを所有するように、サーバーからデバイスに異なるIDを送信してみます。異なる数を計算するアルゴリズムを作成することができます。

+0

これは識別に関するものです。十分ではありません。偽のアプリは同じことをすることができます。私はアプリの署名を使用して何かが必要です – Marcin

0

については、Identifying App InstallationsをAndroid Developers Blogでご覧ください。

+0

さて、これは約_identification_、それでは不十分です。偽のアプリは同じことをすることができます。私はアプリケーションの署名を使用する何かが必要です – Marcin

+0

理論的には、偽のアプリは、あなたの正当なアプリが何をしても同様に行うことができます。正当性を検証する仕組みを設計するのはあなた次第です。 [この質問](http://stackoverflow.com/questions/10155316/how-to-verify-that-server-calls-are-being-made-from-the-app)への答えを読むことは価値があります。 SO。 – Rajesh

0

基本認証とSSLの併用はどうですか?認証された要求のみを許可するようにWebサーバーを設定します。各HTTPリクエストでBase64でエンコードされたユーザー名/パスワードを渡すようにアプリケーションをコーディングします。 SSLを介しているので、ログイン資格情報を取得するのは簡単ではありません。

+0

最初は大丈夫ですが、...(ハッカーとして)元のアプリからクライアント証明書を取得して偽装することができます。 – Marcin

+0

@MarcinOchocki私はクライアント証明書を使用することを提案していません。私はHTTPS経由でサーバー側のAPIを呼び出し、Webサーバー上の基本認証の設定を行うためにユーザー名とパスワードも渡すと言っています。 –

関連する問題