1

iOS と Core Bluetooth は初めてです。私が知りたいのは、デバイスへの安全な接続を作成する方法です。

私が理解していることは次のとおりです。

[manager connectPeripheral:peripheral options:nil] 

BLE デバイスに接続するために提供される API です。これから、安全な接続を確立するにはどうすればよいですか?

4

2 に答える 2

3

すべての BT4.0 接続は、デバイス/センサーと iOS によって保護および管理されます。これを制御することはできません。

BT4.0 デバイスには、境界付きおよび無制限の接続もあります。

制限付き接続は、ある意味で iOS デバイスに「ペアリング」されています。バインドされると、他のデバイスと通信しなくなります。これにより、デバイスは、境界のある iOS デバイスと常に安全に接続されます。境界はオペレーティング システム (iOS) によって制御されます。制限付き接続を必要とするデバイスが iOS デバイスと通信する場合、iOS デバイスは、デバイスに接続するかどうかを尋ねるアラート ビューを表示します。

無制限のデバイスは継続的にサービスをブロードキャストし、あらゆる iOS デバイスが接続できるようにします。オペレーティング システムはデバイス情報を記憶しません。通常、アプリケーションは UUID を保存して、次回同じデバイスへの接続を確立できるようにします。これは、ほとんどの BT4.0 センサーで通常/推奨される方法です。

注: 無制限のデバイスは iOS デバイスと「ペアリング」されていませんが、一度に 1 つの iOS デバイスとしか通信できません。

于 2012-05-22T19:34:12.887 に答える
2

「安全な接続」をどのように定義できますか? Bluetooth Low Energy の仕様によると、2 つの異なる BLE デバイス間で 1 つの BLE 接続が確立されると、接続が確保され、この接続のためにリンク層パケットの AccessAddress フィールドが生成されます。AccessAddress の値は、他の接続の値とは異なります。詳細については、Bluetoothコア仕様4.0 [vol. 6]。

この BLE 接続を介して送信されたデータを誰かが傍受するのではないかと心配している場合は、簡単ではないことがわかります。BLE センサーと同じマスターに接続している 1 つの BLE スレーブのみが BLE パケットをスニッフィングすることができ、その機能はコントローラー側に実装されており、コントローラーのファームウェア コードにアクセスできる少数の企業のみがスニファー機能を有効にできます。

さらに、センサー データが心配な場合は、Bluetooth Low Energy が BLE パケットの暗号化も提供します。

于 2012-05-16T16:01:15.480 に答える