如何正是 蓝牙配对有用吗?在配对过程中,每个设备之间的通信是什么?
我被告知如果您有设备 A 想要与设备 B 配对:
+-----+ key +-----+
| | ----> | |
| A | | B |
| | <---- | |
+-----+ echoed +-----+
这似乎是不准确的,所以任何人都能够进一步扩展或实际解释如何/什么通信以导致设备成功配对?
我正在考虑将其中一些研究纳入最后一年的项目(大学),但至少需要先了解蓝牙编程配对的一些内容。
在描述这些初始通信如何工作时,任何帮助将不胜感激。
我在研究中听说过诸如“ parking 模式”和“被动模式”之类的术语,但尚未在设计背后的编程中找到任何“有用”的信息(因此我提出了这个问题)。谷歌搜索这类主题也很困难,因为它似乎会提出诸如“如何打开蓝牙”页面之类的内容,而不是其背后的编程设计。
最佳答案
蓝牙安全简单配对使用椭圆曲线 Diffie Hellman (ECDH) 公钥密码术,使用 FIPS 批准的 P192 椭圆曲线,具有大约 95 位熵。
E:y2=x3 +ax+b(modp)
给出以下参数:
p = 6277101735386680763835789423207666416083908700390324961279
r = 6277101735386680763835789423176059013767194773182842284081
b = 64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1
Gx = 188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012
Gy = 07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811
安全简单配对有五个阶段:
1.公钥交换
每个设备都会生成自己的椭圆曲线 Diffie-Hellman (ECDH) 公钥-私钥对。
2. 认证阶段 1
连接设备根据两个设备的 IO 能力选择 3 个协议(protocol)选项中的 1 个。这些都是:
3. 认证阶段2
每个设备确认两个设备都已按照在上一步中选择和使用的协议(protocol)的规定成功完成交换。
4.链接 key 计算
链接 key 是从派生的共享 key 和公开交换的数据中计算出来的。这是向用户显示的数字代码。
5. LMP认证与加密
生成加密 key 。设备已成功连接。
延伸阅读:
核心规范为 138 页,要完全回答您的问题至少需要 20 页,因此要完全回答您的问题,您需要阅读引用资料
关于bluetooth - 蓝牙配对如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27360338/