ブルートゥース®メッシュ・プライベート・ビーコン

ブルートゥース®メッシュ・プライベート・ビーコン

技術概要

リリース: 1.0.0
文書バージョン:   1.0
最終更新日: 2023年9月19日
著者:   

マーティン・ウーリー、BluetoothSIG
オムカー・クルカルニ、ノルディック・セミコンダクター

改訂履歴

Version

Date

Author

Changes

1.0.0

September 19, 2023

Martin Woolley, Bluetooth SIG
Omkar Kulkarni, Nordic Semiconductor

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メッシュ・プライベート・ビーコンは、ビーコン・メッセージに静的データを使用しないことで、ブルートゥース® メッシュのセキュリティを向上させます。