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