Part Number:LAUNCHXL-CC26X2R1
成功绑定配对过某个手机后(绑定过多台设备),BLE端如何删除某个手机配对绑定时保存的LTK?
Yolande Wang:
我们的第一个建议是,在所有连接终止后进行擦除。
如果是针对删除某个手机配对绑定的LTK,设备得有一个管理程序才能做到删除某个。
,
疾风亦有归途:
这个索引区间存储的是LTK吗?
如果是,协议栈是按照BLE_NVID_GAP_BOND_START自增的顺序去存储不同手机的LTK?
Yolande Wang said:设备得有一个管理程序才能做到删除某个。
假设是自增存储,应用程序将当前绑定的手机与BOND_INDEX联系起来存储到用户的BLE_NVID_CUST_START,您说的是这个意思吗?
,
Yolande Wang:
我刚刚查阅了资料,您说的是对的,GAP Bond Manager 将使用 OSAL SNV 来存储持久数据,例如来自 bond 的加密密钥。
,
Yolande Wang:
疾风亦有归途 said:应用程序将当前绑定的手机与BOND_INDEX联系起来存储到用户的BLE_NVID_CUST_START
认为是这样的,具体可以参考以下链接,https://software-dl.ti.com/simplelink/esd/simplelink_cc13x2_26x2_sdk/3.30.00.03/exports/docs/ble5stack/ble_user_guide/html/ble-stack-common/flash_memory-cc13x2_26x2.html#non-volatile-storage-architecture
,
疾风亦有归途:
疾风亦有归途 said:协议栈是按照BLE_NVID_GAP_BOND_START自增的顺序去存储不同手机的LTK?
那这个呢?
,
Yolande Wang:
在一个设备中,可以存在多个LTK,会存储在设备的flash中,这些LTK的排列方式并不是固定的,具体还是得看代码实现。
,
疾风亦有归途:
LTK生成及存储均有BLE协议栈管理,且如您所说排列方式不是固定,我理解我·还是无法将LTK信息和对应手机联系起来
,
Yolande Wang:
是的,目前看来是无法对应起来的,LTK没有一个唯一的特征值,比如说某个手机的Mac地址,这个东西可以是唯一的。
如果一定要操作,那么设备端首先要提供移除LTK的API出来,其次,要知道LTK与手机的对应关系,不然我们不知道删除哪个,因此,想要移除某个时间点配对绑定的手机LTK,还没有现实的方法。
所以一般来说,我们是在手机上忽略与蓝牙设备的连接;或者,手机与它连上了,有个专门的APP管理,能够看到它之前和哪些手机连接过。
我会继续跟进,后续如果有新的方法会回复您的。
,
Yolande Wang:
我明白您可能是担心设备会主动连接上之前配对过的手机,但很抱歉暂时没有找到可以删除对应手机LTK的方法。您可以在手机上进行忽略此设备/忘记此设备的操作。
,
疾风亦有归途:
手机端操作是一种办法,但是这个手机属于客户操作(我们无权控制),我们只能操作26×2端,我们还是希望操作BLE端
,
Yolande Wang:
已明确您的需求,需要一些时间。
,
疾风亦有归途:
好的,麻烦了
,
Yolande Wang:
那直接删绑定记录可以达到您的目的吗?
GAPBondMgr_SetParameter(GAPBOND_ERASE_ALLBONDS, NULL, NULL),用这个API可以清除所有绑定信息。
,
Yolande Wang:
询问了嵌入式工程师,我们协议栈里没有单独删除LTK的API。
上个回答您看看能否实现您的目的。
,
疾风亦有归途:
怎么感觉这俩接口可以实现
,
Yolande Wang:
GAPBOND_ERASE_SINGLEBOND是删除单个纪录
GAPBOND_ERASE_ALLBONDS是删除所有记录
根据目前了解到的信息,您可以通过GAPBOND_ERASE_SINGLEBOND删除某个LTK,对应关系是通过地址对应的,您得知道手机的蓝牙地址。
,
疾风亦有归途:
比如刚连接某一手机(之前配对过),发现某些信息过期,记住该手机的MAC,断开连接后删除LTK是否可行?
衍生问题就是手机一般都是可解析地址,删除单个这种,可以直接使用对端的可解析地址吗?
,
Yolande Wang:
疾风亦有归途 said:比如刚连接某一手机(之前配对过),发现某些信息过期,记住该手机的MAC,断开连接后删除LTK是否可行?
可以的。
,
Yolande Wang:
衍生问题您可以开一个新帖子,因为后面可能也会有其他用户遇到和您相同的问题,新开的帖子会方便他们更容易检索到,谢谢。
,
Yolande Wang:
疾风亦有归途 said:手机一般都是可解析地址,删除单个这种,可以直接使用对端的可解析地址吗
前提是您的应用程序具有配对设备生成的IRK来执行地址解析的动作。
,
疾风亦有归途:
感谢解答,我先试下,IRK那个到时候新提一个
,
Yolande Wang:
不客气,很高兴解决了问题,新问题可以再发帖提问!