10

Android 5 wprowadza obrót adresu MAC BLE dla zwiększenia prywatności. Za każdym razem, gdy dzwonisz do BluetoothLeAdvertiser.startAdvertising(), adres MAC jest zmieniany.Android 5 statyczny adres MAC bluetooth dla reklamy BLE

Czy można wyłączyć obracanie adresu i używać tego samego adresu MAC podczas całego okresu użytkowania BluetoothLeAdvertiser?

Odpowiedz

12

Adres MAC jest adresem fizycznym i nie zmienia się. W terminologii BLE jest to publiczny adres urządzenia lub BD_ADDR dla BR/EDR. Nie próbowałem go, ale odczytanie go za pomocą readAddress() powinno za każdym razem zwracać tę samą wartość.

To, co robi struktura BLE Androida, to NIE używać tego adresu podczas reklamowania. Pozwala raczej na prywatność, używając adresów, które mogą zmieniać się co kilka minut, ale nadal pozwala urządzeniom powiązanym rozpoznawać je za pomocą IRK wymienianego podczas klejenia.

Z oczywistych względów związanych z prywatnością struktura BLE systemu Android nie pozwala na ustawienie kontrolera do używania adresu publicznego podczas reklamowania. Nie można więc wyłączyć "obracania adresu".

+0

mógłbyś dodać jakieś źródła? – DagW

+2

Bluetooth 4.2 Core Spec: https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=286439 –

+0

@BogdanAlexandru, jeśli pakiety reklamowe mają tylko adresy prywatne możliwe do odzyskania, a następnie, jak działa [ScanFilter] (http://developer.android.com/reference/android/bluetooth/le/ScanFilter.html) działa na podstawie adresów MAC? dowolny pomysł? –