BLE unter dem Mikroskop 4

Bild

BLE unter dem Mikroskop. Teil 4


Ein paar Worte zur Whitelist.

So kam es, dass ich mich lange Zeit vom Thema BLE abwandte. Aber er ist zurückgekommen :-) Heute möchte ich das Thema Whitelist ansprechen. Wofür ist das? Wenn wir möchten, dass nur bestimmte Telefone mit unserem Gadget funktionieren, während andere dies nicht können, benötigen wir eine Whitelist.

Um dieses Thema zu diskutieren, muss man ein wenig zurückgehen. Damit die Geräte mit dem Datenaustausch beginnen können, muss der Verbindungsvorgang durchgeführt werden. Ich habe darüber in früheren Artikeln geschrieben. Und hier ist es sehr wichtig, das Konzept der Bindung und Paarung nicht zu verwechseln. Im Falle eines Beitritts vergessen wir nach dem Unterbrechen der Verbindung, mit wem wir gesprochen haben. Im Falle einer Paarung erinnern wir uns an den Partner. So verbinden wir beispielsweise unser Telefon mit Bluetooth-Kopfhörern. Solche Geräte werden jetzt als gebunden bezeichnet. Wenn Sie nun den Äther scannen, wird die Verbindung zum angeschlossenen Gerät ohne menschliches Eingreifen hergestellt.

Warum rede ich über all das? Tatsache ist, dass die Whitelist aus einer Liste verwandter Geräte besteht. Dies ist das erste, woran man sich erinnert. Zweitens müssen Sie verstehen, wie die Gerätepaarung gebildet wird. Es gibt zwei Möglichkeiten. Die erste ist die MAC-Adresse, die zweite die Verwendung von Schlüsseln. Warum ist alles so kompliziert? Tatsache ist, dass es zunächst nur über die MAC-Adresse verbindlich sein sollte. Bei der Übertragung von Paketen über Funk ist dies jedoch für alle sichtbar. Aus diesem Grund kann ein Angreifer durch Scannen der Luft und Verwenden spezieller Programme die MAC-Adresse seines Telefons leicht ändern. Selbst bei Verwendung der Whitelist kann daher auf Ihr Gerät zugegriffen werden. Um dies zu verhindern, wird eine andere Methode zum Koppeln von Geräten verwendet - die Verwendung von IRK-Schlüsseln (Identity Resolving Key). Im Gegensatz zur MAC-Adresse beträgt die Schlüssellänge 16 Byte, und beim Standarddatenaustausch sind sie in der Luft nicht sichtbar. Ihr Austausch findet an einem sicheren Ort statt, ohne zuzuhören. Darüber hinaus beschreibt die BLE4.2-Spezifikation eine weitere Funktion. Hier ist es wörtlich:

6.1 INTERVALL DER GENERATION VON PRIVATADRESSEN

Eine private Adresse wird mithilfe der auflösbaren privaten Adressgenerierung generiert (siehe Abschnitt 1.3.2.2). Die Verbindungsschicht muss einen vom Host festgelegten Timer festlegen. Eine neue private Adresse wird generiert, wenn der Timer abläuft. Wenn die Verbindungsschicht zurückgesetzt wird, muss eine neue private Adresse generiert und der Timer mit einem beliebigen Wert im zulässigen Bereich gestartet werden.

Hinweis: Wenn die private Adresse häufig generiert wird, können die Verbindungsaufbauzeiten beeinträchtigt werden. Es wird empfohlen, den Timer auf 15 Minuten einzustellen.

Kurz gesagt, das BLE-Gerät kann nicht seine eigene öffentliche Adresse senden, sondern eine private private Adresse, die alle 15 Minuten geändert werden sollte. Daher macht es keinen Sinn, sich an sie zu erinnern. Denken Sie daran, dass Sie nur eine öffentliche und zufällige statische Adresse benötigen. Im Debugger sieht es so aus:



Hier ist zu beachten, dass der Wert des Zählers addr_count im Bild links 0x01 und der Zähler irk_count im Bild rechts 0x02 ist. Tatsache ist, dass ich zwei Telefone mit Android 4.4 (Bluetooth 4.0) und Android 8.1 (Bluetooth 4.1) an das Gerät angeschlossen habe. Das heißt, Der erste kommuniziert über die MAC-Adresse und der zweite verwendet bereits irk-Schlüssel. Außerdem habe ich das Telefon zweimal mit Android 8.1 verbunden. Mein Gerät erkannte es nicht und sah sie als zwei verschiedene Telefone.

Auf der Website gibt es einen guten Artikel, der Abkürzungen entschlüsselt und einen allgemeinen Überblick über die BLE-Technologie gibt. Außerdem möchte ich darauf hinweisen, dass der Text möglicherweise Ungenauigkeiten enthält, weil Ich beschäftige mich nicht so sehr mit diesem Thema, wie ich möchte. Konstruktive Kommentare sind daher willkommen und willkommen.

Pecherskikh Vladimir

Source: https://habr.com/ru/post/de434746/


All Articles