文章目录
- 1. 触发条件(何时使用)
- 2. 核心密码学原理(为何能防MITM)
- 3. BlueZ Agent API 的详细交互流程
- 4. Numeric Comparison 完整工作流程图
- 5. 与 Just Works 的终极对比
- 6. 特殊情况与底层细节(面试/工程避坑点)
- 总结一句话
Numeric Comparison(数值比较)是蓝牙SSP(安全简单配对)中安全性最高的通用关联模型。它在完全抵御中间人攻击(MITM)和极简的用户操作之间取得了最佳平衡——用户只需要做一件极其简单的事:比对两台设备屏幕上显示的6位数字是否一致,然后各自点击“确认”或“拒绝”。
结合BlueZ的Agent API,我为你深度拆解它的密码学逻辑、触发条件及交互细节:
1. 触发条件(何时使用)
协议栈自动选择该模型,必须同时满足以下条件:
- 双方都具备显示能力(即Capability为
DisplayOnly、DisplayYesNo或KeyboardDisplay)。 - 至少有一方具备“是/否”确认能力(即
DisplayYesNo或KeyboardDisplay)。 - 双方均启用MITM(中间人攻击)防护标志。
典型场景:手机(DisplayYesNo)连接智能电视(DisplayYesNo);或手机(DisplayYesNo)连接带小屏幕的智能手表(DisplayOnly,手表只显示数字,手机负责