顕微鏡下のBLE 4

画像



顕微鏡下のBLE。 パート4



ホワイトリストに関するいくつかの言葉。



偶然にもBLEの話題から遠ざかりました。 しかし、彼は戻ってきました:-)今日、ホワイトリストのトピックに触れたいと思います。 これは何のためですか? 特定の携帯電話だけをガジェットで動作させ、他の携帯電話は動作させないようにする場合は、ホワイトリストが必要です。



このトピックの議論を開始するには、少し前に戻る必要があります。 デバイスがデータ交換を開始するには、接続手順を実行する必要があります。 以前の記事でそれについて書いた。 そしてここでは、アタッチメントとペアリングの概念を混同しないことが非常に重要です。 参加する場合、接続を解除した後、誰と話したかを忘れます。 交配の場合、パートナーを覚えています。 したがって、たとえば、携帯電話をbluetoothヘッドフォンに接続します。 このようなデバイスは現在、バインドと呼ばれています。 これで、エーテルをスキャンするときに、接続されたデバイスへの接続が人間の介入なしで行われます。



なぜ私はこれについてすべて話しているのですか。 実際、ホワイトリストは関連するデバイスのリストから作成されます。 これは最初に覚えておくべきことです。 次に、デバイスのペアリングがどのように形成されるかを理解する必要があります。 2つの方法があります。 1つ目はMACアドレスによるもので、2つ目はキーを使用するものです。 なぜすべてがそんなに複雑なのですか? 実際には、最初はMACアドレスによってのみバインドされるはずでした。 しかし、パケットを無線で送信する場合、誰にでも見えます。 このため、攻撃者は電波をスキャンして特別なプログラムを使用することにより、自分の電話のMACアドレスを簡単に変更できます。 その結果、ホワイトリストを使用している場合でも、デバイスにアクセスできます。 これを防ぐために、デバイスをペアリングする別の方法が使用されます-irkキー(Identity Resolving Key)を使用します。 MACアドレスとは異なり、キーの長さは16バイトであり、標準のデータ交換では、空中に見えません。 彼らの交換は、リスニングを除く安全な場所で行われます。 さらに、BLE4.2仕様には別の機能が記載されています。 ここでは逐語的です:



6.1プライベートアドレス生成間隔



プライベートアドレスは、Resolvable Private Address Generationを使用して生成されます(セクション1.3.2.2を参照)リンク層は、ホストによって決定されたタイマーを設定します。 タイマーの期限が切れると、新しいプライベートアドレスが生成されます。 リンク層がリセットされると、新しいプライベートアドレスが生成され、許可された範囲内の任意の値でタイマーが開始されます。



注:プライベートアドレスが頻繁に生成される場合、接続の確立時間が影響を受ける可能性があります。 タイマーを15分に設定することをお勧めします。



つまり、BLEデバイスは自身のパブリックアドレスではなく、プライベートプライベートアドレスをブロードキャストできます。プライベートアドレスは15分ごとに変更することをお勧めします。 したがって、それらを覚えておくのは意味がありません。 パブリックでランダムな静的アドレスのみが必要です。 デバッガーでは、次のようになります。







ここで、左の画像のaddr_countカウンターの値は0x01であり、右の画像のirk_countカウンターは0x02であることに注意してください。 実際、Android 4.4(bluetooth 4.0)とandroid 8.1(bluetooth 4.1)を搭載したデバイスに2台の電話を接続しました。 つまり 1つ目はMACアドレスで接続され、2つ目はすでにirkキーを使用しています。 さらに、携帯電話をアンドロイド8.1で2回結びました。 私のデバイスはそれを認識せず、2つの異なる電話として認識しました。



このサイトには、略語を解読し、BLEテクノロジーの概要を説明する良い記事があります。 さらに、テキストに不正確な部分がある可能性があることに注意してください。 私はこのトピックに私が望むほど対処しません。 したがって、建設的なコメントは大歓迎です。



ペチェルスキフウラジミール



All Articles