BLE <-> Android, iOS 设备通信是否需要 Bonding?
Is Bonding required for BLE <-> Android, iOS device communication?
我们有一个 BLE 设备和 android/ios 用于与设备通信的应用程序。
要求是 android/ios 应用程序连接到设备而无需任何配对请求。设备上不需要安全性。
下面围绕这个问题提出几个问题:
- Q1。是否有可能让 android/ios 应用程序连接到 BLE
没有配对请求的设备?
- Q2。是否需要粘合
BLE通信?
- Q3。拥有该设备的缺点是什么
没有结合?它会在应用程序运行时断开连接吗
运行?
- Q4。谁是发起者或配对对话框、应用程序或
设备?
- Q5。当设备带有 Just Works 安全协议时,
没有绑定也没有 MITM 保护,我们应该看到配对吗
对话框?
请在下面查看您的问题的答案:-
- A1。是的,可以这样做,因为配对和连接是两个独立的操作。连接是指您与远程设备建立通信通道,而配对是指您与设备交换安全密钥并可选择加密该连接。
- A2。不,pairing/bonding 不是 BLE 通信所必需的,但为了在该连接上具有额外的功能和额外的安全性,它是首选。
- A3。不,没有绑定不会影响 connection/communication 的稳定性。有一些缺点,包括连接的安全性较低,以及如果实施隐私,则可能无法找到设备。下面的 link 中提供了更多详细信息。
- A4。该应用程序是配对对话框的发起者。具体来说,中央设备(发起连接的设备)是负责发起配对的设备。当此中央设备请求与远程设备配对时,会显示配对对话框。
- A5.我相信这取决于 OS 类型 (Android/iOS) 和 OS 的版本号,但一般来说配对对话框不应弹出,因为顾名思义,它应该只是工作。请求 MITM 保护时弹出配对对话框。
您可以找到有关 pairing/bonding 的更多详细信息,下面是一般 BLE 通信的答案:-
我还建议在 iOS 和 Android 上尝试使用 nRF Connect 应用程序,以查看连接和绑定之间的区别并验证您无需配对即可正常连接
添加到 Youssif 的回答:
A3:一个区别是连接设置会更快,因为绑定允许使用 GATT 数据库缓存。否则必须在每个连接上重新发现服务(如果存在服务更改特征)。
A4:在Android上可以调用createBond
开始配对,但是在iOS上没有API安全性,所以要么需要交互具有发送需要配对的错误的特征,或者远程设备可以发送安全请求以启动配对。
A5:iOS 显示了一个对话框 "accept / abort" 可以正常工作,Android 没有。
基于我们的工作成果和对这个问题的回答。
- A1: 是的,如果没有设置 MITM 并且 Security scheme 设置为 Just Works 也有可能,这意味着根本没有安全性。
- A2:BLE通信不需要绑定。如果 BLE 设备无法存储 Bond 信息,可能会导致我们遇到的一些问题。如果BLE设备能够存储和使用Bond信息,那么推荐Bond。
- A3: 连接不会被关闭。我们得到的唯一缺点是现在重新连接需要更多时间。
- A4:应用程序正在启动连接,但只有当 BLE 设备请求某种类型的安全时才会显示对话框,它可以是 MITM、加密、pin。简短的回答,可以通过更改 BLE 设备上的设置来避免配对对话框。
- A5:如果设备具有 Just Works 安全协议,没有绑定且没有 MITM 保护,则不应显示配对对话框。我们在 iOS 和 Android.
上都没有配对对话体验
我们有一个 BLE 设备和 android/ios 用于与设备通信的应用程序。
要求是 android/ios 应用程序连接到设备而无需任何配对请求。设备上不需要安全性。
下面围绕这个问题提出几个问题:
- Q1。是否有可能让 android/ios 应用程序连接到 BLE 没有配对请求的设备?
- Q2。是否需要粘合 BLE通信?
- Q3。拥有该设备的缺点是什么 没有结合?它会在应用程序运行时断开连接吗 运行?
- Q4。谁是发起者或配对对话框、应用程序或 设备?
- Q5。当设备带有 Just Works 安全协议时, 没有绑定也没有 MITM 保护,我们应该看到配对吗 对话框?
请在下面查看您的问题的答案:-
- A1。是的,可以这样做,因为配对和连接是两个独立的操作。连接是指您与远程设备建立通信通道,而配对是指您与设备交换安全密钥并可选择加密该连接。
- A2。不,pairing/bonding 不是 BLE 通信所必需的,但为了在该连接上具有额外的功能和额外的安全性,它是首选。
- A3。不,没有绑定不会影响 connection/communication 的稳定性。有一些缺点,包括连接的安全性较低,以及如果实施隐私,则可能无法找到设备。下面的 link 中提供了更多详细信息。
- A4。该应用程序是配对对话框的发起者。具体来说,中央设备(发起连接的设备)是负责发起配对的设备。当此中央设备请求与远程设备配对时,会显示配对对话框。
- A5.我相信这取决于 OS 类型 (Android/iOS) 和 OS 的版本号,但一般来说配对对话框不应弹出,因为顾名思义,它应该只是工作。请求 MITM 保护时弹出配对对话框。
您可以找到有关 pairing/bonding 的更多详细信息,下面是一般 BLE 通信的答案:-
我还建议在 iOS 和 Android 上尝试使用 nRF Connect 应用程序,以查看连接和绑定之间的区别并验证您无需配对即可正常连接
添加到 Youssif 的回答:
A3:一个区别是连接设置会更快,因为绑定允许使用 GATT 数据库缓存。否则必须在每个连接上重新发现服务(如果存在服务更改特征)。
A4:在Android上可以调用createBond
开始配对,但是在iOS上没有API安全性,所以要么需要交互具有发送需要配对的错误的特征,或者远程设备可以发送安全请求以启动配对。
A5:iOS 显示了一个对话框 "accept / abort" 可以正常工作,Android 没有。
基于我们的工作成果和对这个问题的回答。
- A1: 是的,如果没有设置 MITM 并且 Security scheme 设置为 Just Works 也有可能,这意味着根本没有安全性。
- A2:BLE通信不需要绑定。如果 BLE 设备无法存储 Bond 信息,可能会导致我们遇到的一些问题。如果BLE设备能够存储和使用Bond信息,那么推荐Bond。
- A3: 连接不会被关闭。我们得到的唯一缺点是现在重新连接需要更多时间。
- A4:应用程序正在启动连接,但只有当 BLE 设备请求某种类型的安全时才会显示对话框,它可以是 MITM、加密、pin。简短的回答,可以通过更改 BLE 设备上的设置来避免配对对话框。
- A5:如果设备具有 Just Works 安全协议,没有绑定且没有 MITM 保护,则不应显示配对对话框。我们在 iOS 和 Android. 上都没有配对对话体验