2012-02-18 6 views
4

iOSとAndroid用の位置情報ベースのアプリをバックアップするサーバーを作成しています。アプリでは、ユーザーの身元とその場所の両方を確認する必要があります。私は前者をする方法を知っているが、後者はしない。サーバーからiOSまたはAndroidデバイスの場所を確認/信頼するにはどうすればよいですか?

クライアントが私に送信している緯度/経度は実際には現在の場所のデバイスの見積もりであることを確認できますか?私は、場所を偽装してシステムを賭けている悪意のあるクライアントについて心配しています。

明確化:私はどのようにサーバーが信頼、検証プロセスのいくつかの種類によって、場所は、それが送信されることができます知っていただきたいと思います。

私はデバイスからユーザーの場所を取得する方法を見つけることができます。たとえば、Androidプラットフォームでは、私のアプリケーションはandroid.location.Locationを受け取るように登録し、lat/lonを取り出してサーバーに送信します。

しかし、どうやって私がそれを作り上げただけではないことをサーバーに納得させることができますか?サーバーの観点から、ユーザーが実際にそこにいる(またはその近くに正確さがある)緯度/経度が与えられたとき、なぜそれが信じられるべきですか?

おそらくデータに署名する方法がありますか?

foursquareやFacebookのようなアプリのサーバーは、与えられた位置情報が偽造されていないことをどのように確認しますか?

答えて

1

あなた自身のAndroidまたはiOSクライアントを作成します。私はアンドロイドで作業しているので、非常にシンプルなコードです。一定の時間帯に実行される1つのサービスを作成する必要があります。このサービスは場所を取得します。これによって、あなたが受け取っている緯度/経度があなたのコードだけであることが確実になります。今度は正確さです。あなたはアンドロイドで基準クラスを使うことができます。場所を取得するための独自の基準を定義することができます。

+0

ありがとうございました。受信した位置情報が実際に本物であることをサーバがどのように確認できるか知っていますか?上記の説明を参照してください。 – jared

+0

はい、本物です。そしてperticular xml/Jsonファイルにlat/longを格納する必要があります。そのファイルは、デバイスから投稿された緯度/経度で定期的に更新されます。そのデータをユーザーが取得し、更新された緯度/経度を見ることができるようにする必要があります。楽しい。 :) –

0

現在の緯度/経度の定期刊行物をサーバーに投稿するAndroidおよびiOSでの書き込みサービス。 また、サーバから緯度/経度の定期刊行物を取得し、それをAndroidまたはIOSマップに操作するコードを記述します。

お楽しみください。 :))

+0

ありがとう。受信した位置情報が実際に本物であることをサーバがどのように確認できるか知っていますか?上記の説明を参照してください。 – jared

0

私は、XcodeとGPXファイルを使用して場所をシミュレートすると、iOSでのなりすましを検出することはできないと考えています。すべてのアプリ、iOSマップのアプリでさえ、あなたの位置は、Xcode経由であなたの位置をシミュレートするために使用されたGPXファイルに設定されているものとみなされます。

この方法の詳細:http://www.neglectedpotential.com/2013/04/spoofing-location-services-in-ios/

関連する問題