跳到主要内容

错误响应加密启动后加密不足

DA14581

5个月前

邮寄人帕金森20分 7答复
0票

大家好,我们正在使用DA14581 SDK 5.0.4。

在系统中,DA14581是从机。在利益关系方面,DA14581和Master将配对,然后结合。附加嗅探器文件中的LE数据选项卡-从第37701帧开始(配对完成),然后开始并完成加密(37726-37779),主机发送写入请求的下一个连接间隔(37785)-写入请求包最终与绑定包混合。DA14581然后给出错误响应-写入请求加密不足(37804)。加密完成和绑定完成之间是否有一段时间不允许写入请求?

请注意,在二者将配对但不结合的连接中,当在加密完成后的下一个连接间隔内发送写入请求时,没有问题。

谢谢你的帮助。

附件 大小
iOS_CID_While_Bonding_happyPath 2.xlsx 161.79 KB

5个月前

PM_对话框

嗨,帕金森,

谢谢你的在线提问。我已经在内部升级了这个问题以检查它。我很快会给你回复。

谢谢,下午好

5个月前

PM_对话框

嗨,帕金森,

对耽搁表示歉意。请参阅以下来自我们团队内部的反馈。

根据BLE SIG规范:

“如果客户端未启用加密,并且读/写请求的属性需要加密,则应发送错误响应,错误代码为«加密不足»”。

为了在iOS中克服这一问题,可以以ANCS为例进行以下操作

//如果((param->operation==ANCC_WRITE_CL_CFG_OP_CODE)和&(param->status==ATT_ERR_INSUFF_ENC)){//启动与iOS设备应用程序的配对过程\u easy_security_request(app_env[0].conidx);}

我们根据以下信息提出解决方案:

如果在服务请求时未启用加密,收到错误代码“加密不足”,并且本地设备当前具有LTK,则应启动加密过程。如果启动加密失败(可能表明远程设备已失去连接,不再具有LTK)或本地设备没有正确的LTK,则应启动配对过程。

如果对安全属性的访问需要加密链接,且链接未加密,则应发送错误响应,错误代码为“加密不足”。当客户端收到此错误代码时,它可能会尝试加密链接,如果加密成功,则可以访问安全属性。

谢谢,下午好

5个月前

帕金森 20分

嗨,谢谢你看这个。虽然您的响应主要关注在服务请求时未启用加密的情况,但在我描述的场景中,在服务请求发生时加密已经启用。在阅读BT规范和以上评论的基础上,我期望DA14581A认为服务请求是有效的,并发出写响应。加密启动后,客户端在发出服务请求之前是否需要额外的等待时间?谢谢你的额外考虑。

5个月前

PM_对话框

嗨,帕金森,

谢谢你的评论。这是一个非常特定于应用程序的项目,因为此过程也与iOS相关。

根据BLE规范,没有这样的规则,但是,增加一些延迟可以解决问题。或者在主应用程序的密钥分发之后写入CCCD。

请记住,我们在这里采用的是理论假设,因此请尝试让我们了解系统行为。

谢谢,下午好

5个月前

PM_对话框

嗨,帕金森,

如果您在这张票上需要任何进一步的支持,请告诉我们好吗?

谢谢,下午好

5个月前

帕金森 20分

嗨,不需要进一步的支持。

5个月前

PM_对话框

嗨,帕金森,

谢谢你的更新!如果您有任何后续问题,请提出新的论坛门票。

谢谢,下午好