欢乐熊大话蓝牙知识21:蓝牙配对流程你真的懂了吗?五种配对方法全解析!

🔐 蓝牙配对流程你真的懂了吗?五种配对方法全解析!

“我 BLE 连不上!”
“明明连上了,数据发不过去!”
“手机老是提示要配对,烦死了!”

等等朋友,你可能是对蓝牙配对还没真搞明白!

今天我们来聊聊:BLE 蓝牙到底怎么配对的?这其中有哪五种方式?为啥有的设备能秒连,有的却非得输个 6 位数验证码?
在这里插入图片描述


🧠 一、配对到底是干啥的?

配对(Pairing)是 BLE 设备建立安全关系的第一步,它完成两件大事:

  1. 交换密钥(加密通信用)
  2. 建立信任(配对成功后下次自动连接)

就像你第一次见人要加微信:
你要确认“你是不是你”,还能设置“我下次还找你聊”。


🧩 二、BLE 配对的三阶段

按照蓝牙协议标准,BLE 配对分三步走:

阶段名称干嘛的
Phase 1特征交换确定你支持什么加密方式、是否有输入设备等
Phase 2密钥生成协商生成配对密钥(Short Term Key, STK)
Phase 3分发密钥生成并交换用于后续加密连接的密钥(LTK、IRK、CSRK)

🧪 三、蓝牙五种配对方式大起底

BLE 根据设备能力,提供了 五种配对方法(Pairing Methods)
不同方法安全性不同,适用场景也不同!

1. Just Works(直接配)

  • 💡 适用:没有输入输出的设备(如灯泡、传感器)
  • 🤝 安全性:较低
  • 🧩 特点:不验证身份,直接完成配对

举例:你家的蓝牙灯一连就行,从来不用输密码,那大概率就是这个。


2. Passkey Entry(输入密码)

  • 💡 适用:一方能显示、另一方能输入
  • 🧠 流程:设备显示一个 6 位 PIN,你输入即可
  • 🔐 安全性:高

举例:蓝牙秤显示 659321,手机让你输入这串数字 —— 这就是它。
在这里插入图片描述


3. Numeric Comparison(数字确认)

  • 💡 适用:双方都有显示屏,用户手动确认是否一致
  • 🧠 流程:设备 A 和 B 显示一样的 6 位数,用户确认
  • 🔐 安全性:高

举例:你配对两部手机时,会看到“是否确认 946352?是/否”。


4. Out-of-Band(OOB)配对

  • 💡 适用:通过 BLE 以外的通信渠道传递密钥,如 NFC、二维码
  • 🔐 安全性:超高
  • 🧩 特点:非常适合安全敏感设备(门锁、支付)

举例:刷 NFC 一贴就连,背后其实是 BLE 用了 OOB。


5. LE Secure Connections(LESC)

  • 💡 BLE 4.2 引入的新特性
  • 🔐 安全性:最强(使用 ECDH 密钥交换)
  • 🧠 可结合前面任意方式(Just Works、Passkey、Comparison)

举例:iOS 和 Android 现在都默认用 LESC。


⚙️ 四、配对后生成的密钥都有哪些?

BLE 配对后可能分发这些密钥:

密钥用途
STK(Short Term Key)临时会话加密,配对时用
LTK(Long Term Key)后续自动重连时用
IRK(Identity Resolving Key)识别设备真实身份
CSRK(Connection Signature Resolving Key)数据签名验证(用于写入校验)

🧰 五、开发时我该怎么选配对方式?

场景推荐方式
蓝牙灯、传感器Just Works
蓝牙秤、蓝牙锁Passkey Entry 或 OOB
双手机、手表、耳机等Numeric Comparison
需要高安全性(金融、门禁)OOB + LESC
在这里插入图片描述

🧪 六、实战代码小片段

nRF52 示例:启动配对

ble_gap_sec_params_t sec_params = {0};

sec_params.bond = 1;
sec_params.mitm = 1;
sec_params.io_caps = BLE_GAP_IO_CAPS_DISPLAY_ONLY;
sec_params.oob = 0;
sec_params.min_key_size = 7;
sec_params.max_key_size = 16;

sd_ble_gap_authenticate(conn_handle, &sec_params);

EFR32 示例:设置安全参数

sl_bt_sm_configure(SL_BT_SM_bonding | SL_BT_SM_mitm_required, sm_io_capability_display_only);
sl_bt_sm_increase_security(connection);

🧨 七、常见配对问题排查

问题原因
配对超时一方未响应 / 不支持同样的配对方式
每次都要重新配对没保存 LTK,或 Bond 信息未存储
安卓/苹果配不上BLE 安全等级不匹配,特别是 iOS 要求高

✅ 总结一句话:

搞懂配对方式,是 BLE 项目成功的一半。

  • BLE 有五种配对方式,各有适用场景
  • 新项目建议使用 LE Secure Connection + Numeric Comparison
  • 没输入输出的设备,Just Works 虽然方便,但要权衡安全

📚 延伸阅读推荐


喜欢的盆友点赞+关注,或者关注我们的微信公众号:欢乐熊嵌入式开发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

欢乐熊嵌入式编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值