NRF52832笔记(11)ble绑定和配对
发布日期:2021-06-29 05:35:35
浏览次数:3
分类:技术文章
本文共 1983 字,大约阅读时间需要 6 分钟。
- 蓝牙绑定 绑定真正来说属于通用访问规范的讨论范畴。绑定指的无非是将密钥及相关身份信息保存到数据库中。如果设备不保存这些值,他们虽然能匹配,但不能绑定。 只要当中某一个设备不保存,重新连接后,只有一个设备拥有LTK,因此加密的启动将会失败。 为了避免这种情况,两个设备在最初配对时就会交换绑定信息,从而能够清楚地知道对方是否保留了该绑定信息。 如果对方设备不保存信息,那么一旦启动加密的尝试失败,主机将试图再次配对。
- 绑定的相关知识 绑定并不是一个独立存在的过程。 可以理解成配对有两种方式, 没有设置绑定表示的配对请求和设置绑定标志的配对请求。 配对的目的就是单纯的加密链路,但是配对过程比较耗时(包括配对信息交换,用户输入配对码或带外传输配对码,协议层的配对确认交换和 随机数交换以及确认验证,都没问题后才会生成链路加密秘钥来加密链路),如果为了数据始终都是加密传输而每次连接都去配对的话就比较麻烦, 所以又定义了一个绑定过程,绑定过程是在 配对后链路加密的情况下 分发一个 LTK(其他秘钥这里不涉及),这个LTK就可以供以后直接加密链路, 而不用经过繁琐的配对过程。 Notes:其实LTK分配之后,每次重新连接时的加密并不是用LTK直接加密链路,而是双方交换一些信息(称为会话秘钥分散器),然后利用这些信息和LTK 最终生成一个会话秘钥,真正的加密是用这个会话秘钥。
- 总结 1)配对认证:主从机一方提供密码,一方输入密码,如果双方密码一致,那么此密码将作为TK(临时密码); 2)加密链路:利用得到的TK(临时密码)等信息计算出STK(短期密码)用来做加密认证; 3)绑定:加密认证通过后,利用STK等信息生成LTK(长期密码),把LTK保存下来,用于下次连接时做加密认证,不需要再次配对就可以加密链路,这就是绑定了; 绑定后通讯过程 : 每次连接时,从机会向主机发送安全请求,如果主从机相互绑定过,主机不会发送配对请求,主机直接利用绑定时保存的LTK发送加密请求, 从机也会利用绑定时保存的LTK来做加密回复,三次握手成功后(加密成功,三次握手通讯由底层完成,用户不可见),从机回复主机加密状态success。
- 配对和绑定区别: 1)连接:通讯的基础,通讯数据为明文; 2)配对:配对仅仅是为了在连接的基础上加密(通讯数据经过加密为密文),提高蓝牙链路传输的安全性。不配对也能连接进行通信。 3)绑定:绑定是配对发起时的一个可选配置。把配对信息记录下来, 下次不用配对自动进入加密的连接;所以没在bonding列表里的设备不影响连接,照连不误。
主要修改一下几个点:用官方历程,主要修改在一下
1. erase_bonds=false; 绑定一定要要的 2. 在advertising_init 中:ble_adv_modes_config_t options = { BLE_ADV_WHITELIST_DISABLED, BLE_ADV_DIRECTED_ENABLED, BLE_ADV_DIRECTED_SLOW_DISABLED, 0,0, BLE_ADV_FAST_ENABLED, APP_ADV_FAST_INTERVAL, APP_ADV_FAST_TIMEOUT, BLE_ADV_SLOW_DISABLED, APP_ADV_SLOW_INTERVAL, APP_ADV_SLOW_TIMEOUT }; 1 :不能使用白名单,白名单只是连接绑定过的设备才可以搜索到,取消配对就不可以 2:慢广播不要, 3:BLE_GAP_ADV_FLAGS_LE_ONLY_GENERAL_DISC_MODE 4: timeout ===0就可以正常使用
白名单
所谓的白名单,就是一组蓝牙地址;通过白名单,可以只允许特定的蓝牙设备(白名单中列出的)扫描(Scan)、连接(connect)我们,也可以只扫描、连接特定的蓝牙设备(白名单中列出的)可以加入QQ群:687360507 与大伙沟通交流,技术在于分享而进步
转载地址:https://blog.csdn.net/zhi_Alanwu/article/details/104837796 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月14日 10时46分03秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
HDU 1233 还是畅通工程 并查集 (单向点连通)
2019-04-29
HDU 1272 小希的迷宫 并查集 (判断任意2个点是否有且仅有一条路径可以相通)
2019-04-29
HDU 1394 Minimum Inversion Number 树状数组 单点更新
2019-04-29
HDU - 1541 Stars 树状数组 单点更新(求比当前数字大的数字有多少个)
2019-04-29
大二 上 生活总结
2019-04-29
2018年全国多校算法寒假训练营练习比赛(第五场) A 逆序数 树状数组 离散化
2019-04-29
大二下 即将开启
2019-04-29
PAT L2-007. 家庭房产 并查集+父子关系数据更新
2019-04-29
PAT L2-008. 最长对称子串
2019-04-29
PAT L2-001. 紧急救援 Dijkstra+权值+路径记录
2019-04-29
PAT L2-002. 链表去重 巧妙利用数组的索引
2019-04-29
PAT L2-010. 排座位 疑似种类并查集
2019-04-29
PAT L2-014. 列车调度 最长上升子序列
2019-04-29
第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 A 跳台阶
2019-04-29
第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛 K 密码
2019-04-29