工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> 埋め込み

Bluetoothメッシュを使用した設計:プライバシーとセキュリティ

この一連の記事のパート1とパート2では、Bluetoothメッシュアーキテクチャと、Bluetoothメッシュネットワークを介してメッセージが通信される方法について説明しました。今日の接続された世界では、セキュリティはすべての設計の重要な要素です。したがって、Bluetoothメッシュを搭載したIoTアプリケーションは、完全に安全で信頼性の高い機能を提供することが重要です。

Bluetoothメッシュデバイスでのセキュリティの実装は、Bluetooth SIGの必須要件であり、無効にすることはできません。非メッシュBLEでは、ポイントツーポイント接続のセキュリティ実装はオプションであることに注意してください。デバイスをBluetoothメッシュネットワークに追加するプロビジョニングプロセスとBluetoothメッシュネットワーク内のデータ交換は、セキュリティを最優先事項として細心の注意を払って設計されています。 Bluetoothメッシュプロトコルは、次のような複数のレイヤーで発生する可能性のあるさまざまな脅威からネットワークを保護します。

Bluetoothメッシュトポロジは、スタックの複数のレイヤーでネットワークを保護する必須のセキュリティキーを必要として構築されています。それぞれのセキュリティとプライバシーの機能を1つずつ見ていきましょう。

プロビジョニング:プロビジョニングされていないデバイスをBluetoothメッシュネットワークに追加する

Bluetoothメッシュデバイスは、プロビジョニングプロセスを使用してメッシュネットワークに追加されます。プロビジョニングされたメッシュデバイスはノードと呼ばれ、プロビジョニングを実行するデバイスはプロビジョナーと呼ばれます。通常、携帯電話がプロビジョナーとして機能します。メッシュネットワークを作成し、ネットワークキーとその他の必要なキーを割り当てます。プロビジョニングされていないメッシュデバイスは、プロビジョニングプロセスを使用してBluetoothメッシュネットワークに追加されます。プロビジョナーは、プロビジョニングされたメッシュノードを構成し、メッシュネットワーク内のBluetoothメッシュノードの機能を制御します。

プロビジョニングプロトコルは、PB-ADV(ADVベアラー)またはPB-GATT(GATTベアラー)の2つの異なるプロビジョニングベアラーを使用できます。今日のモバイルデバイスは、まだPB-ADVベアラーをサポートしていません。このため、プロビジョニングプロセスはPB-GATTベアラを介して行われます。

プロビジョニングされていないメッシュデバイスは、電源がオンになった後にアドバタイズを開始します。プロビジョニング担当者は、プロビジョニングされていないデバイスをスキャンし、プロビジョニングされていないデバイスとの標準BLE接続(PB-GATTを想定)を確立します。次に、楕円曲線ディフィーヘルマン(ECDH)プロトコルを使用してキーを共有します。したがって、ECDHを使用した鍵交換は非常に安全です。

次に、両方のデバイスが、交換されたキーを使用してセッションキーを作成します。セッションキーは、ネットワークキー、デバイスキー(キーの種類については、この記事の次のセクションで説明します)、IVインデックス、およびユニキャストアドレスを暗号化するために使用されます。これらはすべて、プロビジョニングされたBluetoothメッシュノードに送信されます。プロビジョニングが成功すると、メッシュノードは構成プロセスを経て、メッシュノードの機能がプロビジョニング担当者と共有されます。プロビジョニング担当者は、構成されたノードにアプリケーションキーを割り当てます。各メッシュノードは複数のアプリケーションキーを持つことができるため、各アプリケーションキーは、キーバインディングと呼ばれるプロセスを使用して特定のメッシュモデルにバインドする必要があります。このようにして、メッシュスタックは、指定されたメッシュモデルに使用するアプリケーションキーを認識します。

図1は、iOSメッシュヘルパーアプリケーションを搭載したスマートフォンがCYBT-213043-MESH評価キットを使用して実装された調光可能電球をプロビジョニングしようとした場合のプロビジョニングシーケンスを示しています。

クリックすると拡大画像が表示されます

図1:調光可能な電球のプロビジョニングプロセス。 (出典:サイプレス)

図からわかるように、調光可能電球はプロビジョニングされていないデバイスビーコンを送信します。プロビジョニング担当者がデバイスを追加しようとすると、調光可能な電球が[プロビジョニングされていないデバイス]リストに表示されます。ユーザーがiOSメッシュアプ​​リでDimmableLightデバイスをクリックすると、プロビジョニングプロセスが開始されます。

電話はプロビジョニングの招待状を送信し、調光可能な電球は、サポートされている要素の数、サポートされているセキュリティアルゴリズム、帯域外(OOB)を使用した公開鍵の可用性、入力/出力機能などの機能で応答します。ユーザー値を表示します。調光可能電球の機能に基づいて、ECDH公開鍵はOOB方式またはBluetoothリンクを使用して交換されます。次に、認証が実行されます。

調光可能電球が認証されると、プロビジョニング担当者はAES-CCM暗号化リンクを介してプロビジョニングデータを送信します。プロビジョニングデータ(ネットワークキー、デバイスキー、IVインデックス、ユニキャストアドレスなど)が調光可能電球に送信されると、プロビジョニングプロセスが完了します。これで、プロビジョナーは調光可能な電球を構成できます(このシーケンス図には示されていません)。

ネットワークキー、アプリケーションキー、およびデバイスキー

ネットワークキーを所有していると、ノードはネットワーク層まで復号化および認証できるため、ネットワーク内でメッセージを中継できます。ネットワーク暗号化キーと秘密キーは、ネットワークキーから派生します。ネットワーク内のすべてのノードがメッシュリレーメッセージを受信および転送しても、実際のアプリケーションデータをネットワークキーを使用して復号化することはできないことに注意することが重要です。アプリケーションデータは、デバイスが適切なアプリケーションキーを所有している場合にのみ復号化できます。

ネットワークキー :ノードは1つ以上のネットワークキーを持つことができます。これにより、単一のBluetoothメッシュネットワーク内に複数のサブネットを作成できます。たとえば、マルチレベルの駐車システムについて考えてみます。各レベルを独自のサブネットに分割すると便利な場合があります。このパーティショニングにより、すべてのレベルでのメッセージの中継が回避され、中継されたメッセージが目的のレベルに制限されます。

アプリケーションキー :アプリケーションキーは、メッシュネットワーク内のデバイスのサブセット間で共有されます。通常、これらのデバイスは同様の機能を備えています。たとえば、リビングルームのすべての電球が同じアプリケーションキーを共有しているのに対し、モーションセンサーまたはロックには個別のアプリケーションキーがあります。電球の状態を変更するためのメッシュメッセージは、リビングルームの電球によってのみ復号化できます(つまり、これらは必要なアプリケーションキーを含む唯一のデバイスです)。

デバイスキー: デバイスキーは、プロビジョナーによってプロビジョニングされた各メッシュノードに割り当てられます。これにより、メッシュノードの一意の識別が可能になります。デバイスキーは、プロビジョナーによるノード構成プロセス中にのみ使用されます。

ノードの削除(キーの更新、ブラックリストへの登録)

対象のメッシュネットワークの一部である障害のあるメッシュノードまたは廃棄されたメッシュノードから取得したセキュリティキーを使用して、ハッカーが特定のメッシュネットワークに攻撃を仕掛けるのを防ぐことが重要です。この種の攻撃は、一般にゴミ箱攻撃として知られています。この種の攻撃を回避するために、BluetoothSIGはキー更新手順を定義しています。この手順は、プロビジョナーが開始して、特定のノードをブラックリストに入れることができます。キーの更新手順では、新しいネットワークキー、アプリケーションキー、およびブラックリスト内のデバイスを除くメッシュネットワーク内のすべてのデバイスに必要なすべての情報が発行されます。ブラックリストに登録されたデバイスが持っていたキーは、メッシュネットワークへのアクセスに使用できなくなります。

プライバシー(メッセージの難読化):

プライバシーは誰にとっても重要な側面です。 Bluetoothメッシュのプライバシーは、プライバシーキーを使用して対処されます。前に説明したように、プライバシーキーはネットワークキーから派生します。 Bluetoothメッシュは、このプライバシーキーを使用して、送信元アドレスなどのメッセージヘッダー値を難読化します。送信元アドレスが難読化されている場合、これにより、攻撃者は送信元アドレスに基づいてメッセージを追跡できなくなります。

リプレイアタック

攻撃者は、無線メッセージをキャプチャして同じパケットを複数回再送信することにより、メッシュネットワークを妨害することを選択できます。攻撃者がメッセージをキャプチャしてドアロックのロックを解除することを想像してみてください。攻撃者が無線メッセージを正常にキャプチャしてドアのロックを解除できる場合、これによりドアへのアクセスが提供されます。明らかに、これは人々とその財産にとって大きな脅威となるでしょう。この問題に対処するために、Bluetooth SIGは、各ネットワークメッセージの一部として、初期化ベクトルインデックス(IVインデックス)とシーケンス番号(SEQ)の2つのフィールドを提供しました。

シーケンス番号は、ノードがメッセージを公開するたびにインクリメントされます。メッシュノードは、最後に処理された有効なメッシュメッセージ以下のシーケンス番号を持つメッシュメッセージを破棄します。シーケンス番号を変更するには、攻撃者はメッセージをデコードして暗号化するために必要なすべてのキーを所有している必要があります。これらのキーは、目的のデバイスでのみ使用できます。したがって、攻撃者がメッセージに返信しようとしても、ターゲットノードによって破棄されます。 IVインデックスは、メッシュネットワークメッセージの個別のフィールドです。メッセージのIVインデックスの値は、最後に処理された有効なメッシュメッセージ以上である必要があります。そうでない場合、メッセージは破棄されます。

簡単に言うと、Bluetoothメッシュのプロビジョニングプロセスでは、信頼できるデバイスのみをネットワークに追加でき、中間者攻撃を回避できます。ネットワークキーなどのセキュリティキーを使用するとサブネットを作成できますが、アプリケーションキーを使用するとメッシュメッセージを特定のアプリケーションでのみデコードできます。キーの更新手順は、安全なノードの削除を実装し、ゴミ箱の攻撃から保護します。すべてのメッセージにシーケンス番号を追加することで、リプレイ攻撃を回避します。メッセージの難読化は、送信者のIDを保護します。これらすべての機能により、Bluetoothメッシュは非常に安全でプライベートになります。

この一連の記事の次のパートでは、アプリケーションにBluetoothメッシュデバイスを選択する際に考慮すべき点について説明します。


埋め込み

  1. テストと自動化でSaaSとクラウドセキュリティを追加
  2. Synopsysは、HBM3IPと検証を使用したマルチダイ設計を可能にします
  3. Bluetoothメッシュを使用した設計:チップまたはモジュール?
  4. サイプレス:Bluetooth MCUは、ユビキタススマートフォン接続を備えたメッシュネットワーキングを提供します
  5. FutureElectronicsがSilvairとの新しいグローバルパートナーシップ契約に署名
  6. Contrinex:Bluetoothインターフェースを備えたクラウド対応のスマートセンサーとセーフティライトカーテン
  7. Swissbit:データとデバイスを保護するためのハードウェアベースのセキュリティソリューション
  8. BluetoothMCUはIoTセキュリティを強化します
  9. カメラとPIRセンサーを備えたRaspberryPiホームセキュリティシステム
  10. 粘り強さと忍耐力でリードする
  11. セキュリティとプライバシーがIoTを妨げていますか?