蓝牙配对(1)just work模式
文章目录
- 1. 触发条件(何时使用)
- 2. 加密密钥的生成(数学核心)
- 3. BlueZ Agent 的交互行为(用户界面层)
- 4. Just Works 完整工作流程图(含 Agent)
- 5. 安全性深度解析(必须了解的“坑”)
- 6. 实际生活中的案例
- 总结一句话
Just Works是蓝牙 SSP(安全简单配对)中最简单、对用户最“无感”的关联模型。它的核心设计哲学是:在提供基础加密通信的前提下,完全消除用户输入和数字比对的负担,代价是不提供中间人攻击(MITM)防护。
结合 BlueZ 的 Agent API,我为你拆解它的底层数学逻辑和上层交互流程:
1. 触发条件(何时使用)
协议栈根据双方的 I/O 能力自动选择该模式,满足以下任一条件即触发:
- 至少有一方声明为
NoInputNoOutput(例如蓝牙耳机、鼠标、智能灯泡)。 - 双方都不支持 MITM 防护(即使有屏幕,但系统策略要求最低交互)。
2. 加密密钥的生成(数学核心)
Just Works不需要用户输入 6 位数字,但密钥并非为空,而是基于椭圆曲线 Diffie-Hellman(ECDH)公钥加密算法生成的:
- 交换公钥:配对发起方和响应方各自生成一对临时公私钥(
P-256椭圆曲线),并交换各自的公钥。 - 计算共享秘钥:双方使用对方的公钥和自己的私钥,通过 ECDH 算法计算出完全相同的 128 位共享秘钥(
DHKey
