Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption 我如何判断我的BLE通信是否使用非对称加密(如果完全加密)?(表5.x)_Encryption_Bluetooth_Bluetooth Lowenergy_Encryption Symmetric_Encryption Asymmetric - Fatal编程技术网

Encryption 我如何判断我的BLE通信是否使用非对称加密(如果完全加密)?(表5.x)

Encryption 我如何判断我的BLE通信是否使用非对称加密(如果完全加密)?(表5.x),encryption,bluetooth,bluetooth-lowenergy,encryption-symmetric,encryption-asymmetric,Encryption,Bluetooth,Bluetooth Lowenergy,Encryption Symmetric,Encryption Asymmetric,我想知道我的BLE 5(低能量,不是“典型的”/“核心蓝牙”)嵌入式系统是否使用(最好是非对称的)加密,如果加密的话 我使用的是与SOC通信的ble模块。我的SOC能够进行加密,但BLE模块产品的FAE无法提供任何有用的信息 我的程序似乎没有键合/配对过程,但我可能错了,因为我没有仔细查看HAL层程序 我的问题是,BLE 5是否需要加密 如果不是,我如何使用嗅探器以外的方法确定我的连接是否加密?例如,是否有任何步骤必须经过以便于加密,在这种情况下,我应该检查这些步骤是否被跳过?(如果跳过,那么我

我想知道我的BLE 5(低能量,不是“典型的”/“核心蓝牙”)嵌入式系统是否使用(最好是非对称的)加密,如果加密的话

我使用的是与SOC通信的ble模块。我的SOC能够进行加密,但BLE模块产品的FAE无法提供任何有用的信息

我的程序似乎没有键合/配对过程,但我可能错了,因为我没有仔细查看HAL层程序

我的问题是,BLE 5是否需要加密

如果不是,我如何使用嗅探器以外的方法确定我的连接是否加密?例如,是否有任何步骤必须经过以便于加密,在这种情况下,我应该检查这些步骤是否被跳过?(如果跳过,那么我的通信肯定是纯文本的)


ETA:目标BLE模块基于nrf52832,不知道他们使用的是什么BLE堆栈/软设备。我的soc是STM32WB55系列,使用了一个相当全面的BLE堆栈,它支持我暂时记不起的大多数函数。

BLE不需要加密来建立连接

首先,每个BLE连接都在安全模式1中启动,级别1根本不使用任何加密。每条消息都将以明文形式发送。为了提高安全性,两个设备必须“配对”。在配对过程中交换安全密钥。有多种不同的配对方法,具有不同的需求。从这篇文章开始看一看

配对过程通常不是手动启动,而是在设备尝试访问安全特征时自动启动。如果您正在使用手机访问此类特征,将弹出配对请求提示。根据您的描述,我假设您的连接当前未加密

要在SoC上启用加密,请查看函数
aci\u gatt\u add\u char
。文档(直接下载链接)引用了第55页上的此函数,并显示它以
安全权限
为参数。下一页说明了可能的选项:

  • 0x00
    :属性权限\u无
  • 0x01
    :需要身份验证才能读取
  • 0x02
    :需要授权才能读取
  • 0x04
    :链接应加密以读取
  • 0x08
    :需要身份验证才能写入
  • 0x10
    :需要授权才能写入
  • 0x20
    :应加密链接以进行写入

建立连接时,BLE不需要加密

首先,每个BLE连接都在安全模式1中启动,级别1根本不使用任何加密。每条消息都将以明文形式发送。为了提高安全性,两个设备必须“配对”。在配对过程中交换安全密钥。有多种不同的配对方法,具有不同的需求。从这篇文章开始看一看

配对过程通常不是手动启动,而是在设备尝试访问安全特征时自动启动。如果您正在使用手机访问此类特征,将弹出配对请求提示。根据您的描述,我假设您的连接当前未加密

要在SoC上启用加密,请查看函数
aci\u gatt\u add\u char
。文档(直接下载链接)引用了第55页上的此函数,并显示它以
安全权限
为参数。下一页说明了可能的选项:

  • 0x00
    :属性权限\u无
  • 0x01
    :需要身份验证才能读取
  • 0x02
    :需要授权才能读取
  • 0x04
    :链接应加密以读取
  • 0x08
    :需要身份验证才能写入
  • 0x10
    :需要授权才能写入
  • 0x20
    :应加密链接以进行写入

“如何为特征启用加密取决于您使用的外围设备。”我应该如何理解这一点?我不知道您使用的是什么SOC或如何编程。也许你可以把这些信息添加到你的问题中,明白了吗。补充。请检查主要问题。谢谢你,我正在用你的方法研究它,可能会在将来提供更新!“如何为特征启用加密取决于您使用的外围设备。”我应该如何理解这一点?我不知道您使用的是什么SOC或如何编程。也许你可以把这些信息添加到你的问题中,明白了吗。补充。请检查主要问题。谢谢你,我正在用你的方法研究它,可能会在将来提供更新!