ブルートゥース®メッシュ・プライベート・ビーコン
ブルートゥース®メッシュ・プライベート・ビーコン
技術概要
| リリース: | 1.0.0 |
| 文書バージョン: | 1.0 |
| 最終更新日: | 2023年9月19日 |
| 著者: |
マーティン・ウーリー、BluetoothSIG |
|
Version |
Date |
Author |
Changes |
|
1.0.0 |
September 19, 2023 |
Martin Woolley, Bluetooth SIG |
Initial version |
|
注 Bluetooth Mesh Profile Specificationは名称が変更され、Bluetooth Meshと呼ばれるようになりました。 プロトコル仕様と呼ばれるようになりました。本書および関連論文では、バージョン1.1仕様に言及する場合はこの名称を使用しますが、バージョン1.0仕様については引き続きBluetooth Mesh プロファイル仕様と呼びます。 |
1.背景
1.1 プライバシーとデバイス追跡
静的情報を定期的に送信するデバイスは、デバイスやネットワーク・ユーザーにとってプライバシー・リスクとなる。なぜなら、ネットワーク上を移動するデバイスを追跡し、デバイスやデバイスのユーザー、そしておそらくネットワーク全体に関する情報を推測することが可能になるからだ。
1.2 安全なネットワーク・ビーコン
Bluetooth Meshでは、以下のようなビーコンメッセージが定義されています。 セキュア ネットワーク ビーコン.セキュア・ネットワーク・ビーコンは、キー更新 手順とIVアップデート 手順という 2 つの重要な手順で使用されます。
セキュア・ネットワーク・ビーコンには、サブネット 識別する静的情報と暗号化された認証 値が含まれる。セキュア ネットワーク ビーコン 静的ネットワーク情報は暗号化されずに送信される。
IVインデックス フィールドは、Bluetooth Meshセキュリティで使用され、ネットワーク内のすべてのノードで共有される重要な値で、セキュア・ネットワーク・ビーコンで送信される静的ネットワーク情報の一例です。
1.3 プロキシ・ノード
プロキシノードはブルートゥース® LE with GAPおよびGATTとBluetooth Meshの両方をサポートしています。プロキシは仲介役として機能し、スマートフォンなどのデバイス上のアプリケーションが、プロキシへのGATT接続を介してネットワークとの間でメッシュメッセージを送受信することを可能にします。
プロキシノードは、Bluetooth LE アドバタイジングを使用して、他のデバイスやアプリケーショ ンによる発見を可能にし、サービス UUID と呼ばれるフィールドで GATT メッシュ・プロキシ・サービ スのサポートを示します。
1.4 ネットワークとノードのアイデンティティ
プロキシ・ノードは、広告パケットのサービス・データ・フィールドに、2 つのタイプの ID 情報のいずれかを広告する。ノードのIDが広告されるか、ノードが属するサブネットIDが広告される。これら2種類のIDは、それぞれプライベートネットワークID広告およびプライベートノードID 広告と呼ばれる。
2.プライベート・ビーコンについて
2.1 能力とメリット
プライベート・ビーコンは、Bluetooth Meshバージョン1.1で導入されたビーコンの一種で、静的情報を含まない。Bluetooth Meshプライベート・ビーコンは、ビーコン・メッセージに含まれるデータを使用してデバイスを追跡する可能性を排除することで、ネットワークのセキュリティを向上させます。
2.2 テクニカル・ハイライト
2.2.1 ブルートゥース・メッシュ・プライベート・ビーコン
ブルートゥース® メッシュ・プロトコル仕様書から引用した表1は、ブルートゥース・メッシュ・プライベート・ビーコンの内容を示しています。
|
フィールド |
サイズ(オクテット) |
項目 |
|
ビーコンタイプ |
1 |
0x02 - Bluetooth Mesh プライベートビーコン |
|
ランダム |
13 |
Bluetoothメッシュ・プライベート・ビーコンの難読化および認証 エントロピーとして使用される乱数。 |
|
難読化されたプライベート・ビーコン・データ |
5 |
キー更新 IVアップデート ステータスを表すフラグと、ネットワークのIVインデックス 値。 |
|
認証タグ |
8 |
ビーコン用認証タグ |
表 1 - Bluetooth Mesh プライベート・ビーコンのフォーマット
Bluetooth Mesh プライベート・ビーコンは、PrivateBeaconKeyと呼ばれるキーとランダムな 13 オクテット番号を使用して暗号化することで、静的ネットワーク・データを難読化します。PrivateBeaconKeyはメインのネットワークキー派生するため、難読化されたデータは同じネットワークに属するノードによってのみ復号化されます。さらに、Bluetooth LE パケット内の乱数とブルートゥース® アドレス (BD_ADDR)の両方が定期的かつ同時(デフォルトでは 10 分ごと)に変化するため、難読化されたデータも変化します。この対策の組み合わせにより、デバイス追跡の可能性から保護されます。
2.2.2 プライベートプロキシノード
機能 、より良いプライバシーを提供するために強化された。新しい機能を有効にしたプロキシノード 、 プロキシノード呼ばれる。
2.2.2.1 プライベート・ネットワーク・アイデンティティ広告
プライベートプロキシノードは、プライベートネットワークアイデンティティ広告と呼ばれる新しい形式のネットワークアイデンティティ広告を使用して、その可用性を広告することができる。プライベートネットワークID広告は、Bluetooth Mesh Privateビーコンで使用されるのと同様の方法でネットワークIDを難読化することで、ノードのプライバシーを保護する。乱数は難読化関数への入力の 1 つであり、この乱数は ServiceData フィールドに含まれる。難読化関数は8オクテットのハッシュ値を生成する。難読化データを受信したノードは、ノードのメンバー であるサブネットのそれぞれについてハッシュ値を作成し、計算されたハッシュ値を広告パケットのServiceDataフィールドのハッシュ値と比較することで、それがどのネットワークに関連するかを判断できます。
乱数値とデバイスのBD_ADDR値は、それぞれ同時に、10分ごとに変更する。こうすることで、広告プロキシノード プライバシーが保護される。
2.2.2.2 プライベート・ノードID 広告
ノードID 広告と呼ばれる新しい形式のノードID 広告も定義されている。これは、Identification Typeフィールドに、プライバシなしで使用される0x01の代わりに 0x03の値が含まれる点を除き、元のノードID 広告と同じである。新しいIdentification Type値の目的は、プロキシプロキシサーバー接続した後に最初に受信するビーコンメッセージのタイプを、プロクライアント 示すことである。PrivateノードID 広告とは、ビーコンメッセージがセキュア ネットワーク ビーコン であることを意味し、PrivateノードID 広告とは、ビーコンメッセージがBluetooth メッシュプライベートビーコンであることを意味する。そのため、ブルートゥース® メッシュプロファイルバージョン1.0に準拠するプロキシクライアントは、識別タイプを使用して、検出されたプロキシサーバー 互換性があるかどうかを判断することができます。
2.2.3 モデル
Bluetooth Mesh Private Beaconクライアント Bluetooth Mesh Private Beacon サーバモデルという2つのモデルが、Bluetooth Mesh Private Beacon の使用をサポートしています。サーバーモデルには、Bluetooth Mesh Privateビーコンとして送信する機能を有効または無効にするステートと、乱数値の更新期間を設定するステートが含まれています。
プロキシ・ノードは、 Proxy Solicitationと呼ばれる新しい機能 使用して広告を開始するよう促されることがあります ( ブルートゥース® メッシュ機能 拡張を参照してください:詳細については、「バージョン 1.1 リリースの概要」を参照してください)。クライアント およびサーバ・モデルでは、プロキシノード プロキシ勧誘をサポートする機能を有効または無効にすることができます。
3.閉じる
Bluetoothメッシュ・プライベート・ビーコンは、ビーコン・メッセージに静的データを使用しないことで、ブルートゥース® メッシュのセキュリティを向上させます。