Closed makmorit closed 1 year ago
以下の操作を行ったところ、macOS側で数回のBLE接続リトライが行われた後、管理ツール、MDBT50Q Dongle(nRF52840アプリケーション)の双方がダウンする障害が確認されました。
原因ですが、Windows PCで設定されたnRF52840側のペアリング情報を使用して、macOSとBLE接続しようとしたためです。 すなわち先述の通り、macOS側とのペアリング解除が行われなかったのが直接の原因になります。
Bluetooth接続については、1対多の接続は、セキュリティー面から許容されません。 したがってBLE接続は、常に「あと勝ち」(後にペアリングしたOSとの接続が有効となる)となります。
この場合、前にペアリングしたOSは、明示的なペアリング解除がされなかった場合、デバイスとのペアリング情報が残ったままとなってしまうことになります。 デバイスは後にペアリングしたOSとのペアリング情報が有効であるため、前にペアリングしたOSのペアリング情報を使用してペアリングすると、セキュリティーエラーが発生します。
その結果、本件のような障害が発生してしまった次第です。
nRF52840アプリケーションに、明示的な「ペアリング解除」機能を追加し、ユーザーが接続先OSを変更できる仕組みが必要になるかと考えております。
(手順につきましては「BLEペアリング手順 - ペアリングの解除」ご参照)
続いて、#685 の対応により、MDBT50Q Dongle側のペアリング情報が削除されるようにしたいと思います。
(#697 ご参照)
本質的な原因としては、こちらも本件と同様(=ペアリング情報の不整合によるもの)ですので、いったん本件はクローズし、#697 で対応を継続させていただきたく存じます。
概要
以下の操作を行ったところ、macOS側で数回のBLE接続リトライが行われた後、管理ツール、MDBT50Q Dongle(nRF52840アプリケーション)の双方がダウンする障害が確認されました。
原因ですが、Windows PCで設定されたnRF52840側のペアリング情報を使用して、macOSとBLE接続しようとしたためです。 すなわち先述の通り、macOS側とのペアリング解除が行われなかったのが直接の原因になります。
Bluetooth接続については、1対多の接続は、セキュリティー面から許容されません。 したがってBLE接続は、常に「あと勝ち」(後にペアリングしたOSとの接続が有効となる)となります。
この場合、前にペアリングしたOSは、明示的なペアリング解除がされなかった場合、デバイスとのペアリング情報が残ったままとなってしまうことになります。 デバイスは後にペアリングしたOSとのペアリング情報が有効であるため、前にペアリングしたOSのペアリング情報を使用してペアリングすると、セキュリティーエラーが発生します。
その結果、本件のような障害が発生してしまった次第です。
対策
nRF52840アプリケーションに、明示的な「ペアリング解除」機能を追加し、ユーザーが接続先OSを変更できる仕組みが必要になるかと考えております。