« 聞いてみた。 | トップページ | ヌンチャク »

2021年10月 8日 (金)

BDアドレス、変わって当然だ、、、

さて、人混みの中で古いアンドロイド端末でBluetooth端末の検索を行うと、12桁のBDアドレスっぽいモノがズラッと表示される。
しかし、検索更新ボタンを押したり、一度接続を解除して再接続を行うと、アドレスの数値は殆ど全てが更新されて入れ替わる。
これなら意味無くない?と調べてみると、、、、

BDアドレスは大きく分けて二種類ある。
・Public Address
これはIEEE 802準拠のアドレスであり、EthernetのMACアドレスと同等のアドレス。製品製造時に機器ごとに書き込まれる固定のアドレスです。機器を製造した企業や機器の個別アドレスを含む。つまり、このアドレスなら変化することは有り得ない。
・Random Address
セキュリティを考慮した、各端末(機器)で自動生成される端末アドレス。乱数を使う。Bluetooth v4では一般的で、機器の製造工程で書き込む必要が無い。

更に、後者のRandom Addressでは、Static Device Address、Non-Resolvable Private Address、Resolvable Private Addressの3種類がある。

・Static Device Address
電源投入のたびに生成される乱数アドレス。電源再投入されないかぎり変更されない。デバイス固有の物理アドレス(Public Address) の代わりに使うことができ、この場合「Public または Random Static Address」をまとめて「Identity Address」と呼ぶ。
・Non-Resolvable Private Address(再上位2ビット=00)
動的に生成される乱数アドレス(※)。
・Resolvable Private Address(再上位2ビット=10)
動的に生成される乱数アドレス(※)。ペアリング時に交換された鍵(IRK)に基づいて生成され、これを受信した側は IRK を用いることでアドレスの正当性を検証(Resolve)できる。

※Private Address 再生成間隔は 15 分推奨(Core Spec 4.2 Vol.6 Part.B 6.1)
なお、これらのアドレスが使われるのはアドバタイジングのときだけで、接続するとアクセスアドレスを使うとのこと。

ということ。つまり、アドレスは乱数での検索側とされる側が出会ったときに生成される仕様。変わって当然、そして、別の機器で検索したら異なるアドレスが表示されるってのは当然という訳だ。Bluetooth端末の検索の度にアドレスが入れ替わるのは当然だったんだと、納得である。なるほど!
まぁ、考えてみたら当然といえる。アドレスが固有である必要は無いのである。デバイス間の通信が為されたらOKである。通信によって情報交換が出来れば良い訳だ。通信が確立されたら書き込むとか読み取られる。これだけの話である。書き込まれない限りは、読み出された時に、個体が特定される筈はないのである。逆に、通信が確立した時に、送り手側から個体を特定する情報が書き込まれると、次回に通信が確立したときに、情報の照合が可能ということで、個体の特定が出来るということ。

|

« 聞いてみた。 | トップページ | ヌンチャク »

コメント

コメントを書く



(ウェブ上には掲載しません)




« 聞いてみた。 | トップページ | ヌンチャク »