2017-02-09 9 views
0

私はセットアップを説明します:EddystoneビーコンでブロードキャストされるMAC IDは変更されますか?

私はEddystoneビーコンをシミュレートするアンドロイドアプリケーションを作っています。 PlayStoreのBeacon Toyアプリを使用して私の電話でEddystoneビーコンを検出することができました。しかし、問題は、最後にチェックしたときから、表示されたMAC IDが変更されたことです。 名前空間とインスタンスIDが同じであるが異なるMacIDのため、同じビーコンを識別することができます。 誰かがここで何が起こっているのかを提案できますか?私はMacIDが一定に保たれているという印象を受けました。

答えて

0

はい、Androidの送信機は、彼らのブルートゥースMACアドレスをランダム化します。これはEddystoneに特有のものではなく、すべてのタイプのAndroidビーコン送信機、より正確にはAndroid BLE広告です。

は、これを証明するために、私は私のネクサス5X上のいくつかのテストを実行しました。 Locate Beaconアプリケーションを使用してビーコンをiBeacon形式で送信する(同じ結果がEddystoneやその他の形式にも適用されます)広告を停止して広告を開始するたびにMACアドレスが変更されることがわかります。

私のネクサス5Xは、設定ではBluetooth MACアドレスを明らかに - >電話について - >ステータス - > Bluetoothアドレス。これは64:bc:0c:xx:xx:xxです(注:Nexus 5Xの製造元であるLG Electronicsに割り当てられた会社のOUIである最初の3バイトのみを明らかにして、MACの最後の3つのデバイス固有のバイトを消去しています)。

このテストでは、BlueZで構成されたLinuxデバイスでBluetooth LEスキャンを開始します。スキャンは、検出した新しいBLEデバイスのMACアドレスを出力します。 BlueZはこのMACアドレスをスクランブルしません。

次に、私が繰り返し起動し、ネクサス5X上の送信を停止します。新しいMACアドレスを毎回スキャン結果に表示します。下の出力では、トランスミッターの電源を切って戻したときに表示される各検出後に、空白行を作るためにリターンキーを数回押しました。

$ sudo hcitool lescan 
LE Scan ... 


5C:62:56:18:DA:A5 (unknown) 
5C:62:56:18:DA:A5 (unknown) 


6A:E8:D1:90:CA:26 (unknown) 
6A:E8:D1:90:CA:26 (unknown) 


70:A8:86:F7:E9:68 (unknown) 
70:A8:86:F7:E9:68 (unknown) 


66:F6:B4:24:89:44 (unknown) 
66:F6:B4:24:89:44 (unknown) 

送信機が起動されるたびに、あなたが見ることができるように、それは設定によって報告された物理MACアドレスとは何の関係もない新しいランダム化されたMACアドレスを送り出します。

+0

詳細な分析をいただきありがとうございます。 これが行われた理由は何ですか?なぜそれは1つの固定MACアドレスに固執しないのですか?これにより、MAC IDが変化し続ける場合、BLEデバイスの存在を繰り返し検出することがさらに困難になります。実際に私の目的は、eddystoneフレーム内の名前空間/インスタンスIDに依存せずに一意のデバイス数を特定することです。 –

+0

私はその意図が電話所有者のプライバシーを守ることだと考えています。人々の電話から発信される無線信号を盗聴し、MACアドレスを使用してマーケティングやその他の目的でそれらを追跡することに専念するいくつかの企業が存在する。政府は同じことを時にはより疑問のある目的のために行う。相関技術を通じて、これらの組織はMACを個人の身元に関連付けることができます。 AndroidのMACのランダム化によって、これらのスニッファが一意に個人を識別することが困難になります。 – davidgyoung

+0

ああ私は見る!返信いただきありがとうございます。しかし、Wi-Fiのプローブ要求がMac IDで構成されているのは変わっていないと考えられます。もし私が間違っていないならば、それはユニークでもあります。とにかく、私はビーコンのソリューションに基づいてユーザーの屋内の追跡は、Bluetooth MacのIDに依存することはできませんと思います。私は今、唯一の選択肢は、電話をeddystoneフレームを放送し、namspaceとインスタンスIDを使って追跡することだと思います。もう一度ありがとう –

関連する問題