-1

次のシナリオ:公共の場所 (駅など) にWi-Fi ホットスポット
を作成したいと考えています。したがって、ポータル ページとして機能するモバイル アプリケーション ( ) を作成したいと考えています。Wi-Fi ホットスポット経由でインターネット アクセスを提供するので、ログインしたい人が自分の身元を適切に確認できるようにする必要があります (責任)。最初は Facebook のログインのようなことができると思っていましたが、人々が偽のアカウントを作成できるので、それだけでは十分ではないと思います。iOS and/or Android
それから、スマートフォンから電話番号にアクセスできるのではないかと思いました。私はよくグーグルで検索し、両方のプラットフォームでかなり難しいという結論に達しました. iOS メソッドは廃止されたようで、アプリはそのバージョンでアプリ ストアに登録されません。Android は SIM カードから電話番号を読み取ることができますが、すべてのプロバイダーが SIM カードに番号を保存しているわけではありません。

質問
電話番号を取得する可能性はありますか? または、wifi ネットワークで個人を一意に識別する他の方法はありますか?
もちろん、ユーザーの許可などを求めることなく、そのようなことはしたくありません
.

4

4 に答える 4

0

これは、誰を特定しようとしているかによって異なります。これは奇妙に思えるかもしれませんが、通常、資格情報要素のセットを 1 つではなく 2 つ識別しようとしています。

まず、デバイス自体を特定する必要があります。これは、予想されるデバイスであり、このデバイスが改ざんされていないと信頼できるかどうかです。次に、通常、このデバイスの現在のユーザーが、現在検証済みのこのデバイスを使用していると予想されるユーザーであるかどうかを知りたいと考えています。(ステップ#2なしであなたの電話を取った場合、私はあなたになりました。)

これが、802.1x などがある理由です。デバイスだけでなく、ネットワークのユーザーを検証できます。あなたの場合、次のようなものを検討してください。

デバイスの検証では、MAC アドレスと IMEI の組み合わせ。ユーザーからのいくつかのデータを使用して、それらを一意のハッシュに変換します。例えば。

ID = SHA1(IMEI+MAC(Wifi)+ユーザーパスワード)

デバイスとユーザーが正しいことを確認したので、必要に応じて、さらに一歩進んで、そのハッシュ キーを使用してアプリのユーザー検証ステップを暗号化できます。ユーザーが正しい場合でも、間違ったデバイスを使用している場合、キーは復号化されません。

于 2013-05-17T20:45:56.723 に答える
0

MAC アドレスを選択するのは良い選択です。最も安全というわけではありませんが、より簡単に行うことができます。

IMEI は常に提供されるわけではなく、SERIAL は一意ではありません。

しかし、実際には、iOSでこれを行う方法がわかりません。

于 2013-05-07T13:12:12.233 に答える
0

電話のMACアドレスについて教えてください。これは十分に一意である必要があり、Android および iOS から簡単に取得できます。

Android: http://developer.android.com/reference/android/net/wifi/WifiInfo.html#getMacAddress%28%29 iOS:プログラムで iPhone の MAC アドレスを取得する方法

于 2013-05-07T13:12:16.947 に答える
0

IMEI番号の使用

Android デバイスの IMEI 番号にアクセスする機能/方法を提供します

<uses-permission android:name="android.permission.READ_PHONE_STATE" /> Android マニフェストの最初のセット

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
// get IMEI
String imei = tm.getDeviceId();

それが役に立てば幸い

タブレットなどの非 CDMA または GSM デバイスの場合

使用する

import android.provider.Settings.Secure;

private String android_id = Secure.getString(getContext().getContentResolver(),
                                                        Secure.ANDROID_ID); 

これにより、デバイスの一意のコードが生成されます..ユーザーがデバイスをリセットしたとき、つまり工場出荷時設定にリセットしたときにどのように変化するか..そして、OSが2.2(froyo)を超えるデバイスで機能します

于 2013-05-07T13:17:45.563 に答える