完全蓝牙配对的工作原理如何?在配对过程中每台设备之间的通信是什么?
我被告知你是否想要 device-A 与 device-B 配对:
B 将'echo'返回 A ,因此设备配对。
+-----+ key +-----+
| | ----> | |
| A | | B |
| | <---- | |
+-----+ echoed +-----+
这似乎是不准确的,所以任何人都可以进一步扩展或实际解释如何/通信以导致设备成功配对?
我正在考虑将这项研究纳入最后一年的项目(大学),但至少需要首先了解蓝牙编程配对的某些东西。
描述这些初始通信是如何工作的。
我在研究中听说过“停放模式”和“被动模式”这样的术语,但我还没有在设计背后的编程中找到任何“有用的”信息(因此我问了这个问题) )。谷歌搜索这类话题也很困难,因为它似乎带来了“如何打开你的蓝牙”页面,而不是它背后的编程设计。
答案 0 :(得分:27)
蓝牙安全简单配对使用椭圆曲线Diffie Hellman(ECDH)公钥加密,使用FIPS认可的P192椭圆曲线,具有大约95位熵。
E:y2=x3 +ax+b(modp)
给出以下参数:
整数p和r以十进制形式给出;位串和字段元素以十六进制给出。
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。公钥交换
每个设备都会生成自己的Elliptic Curve Diffie-Hellman(ECDH)公钥 - 私钥对。
<强> 2。身份验证阶段1
连接设备根据两个设备的IO功能选择3个协议选项中的1个。这些是:
第3。身份验证阶段2
每台设备确认两台设备已成功完成交换,具体取决于上一步中选择和使用的协议。
<强> 4。链接密钥计算
从导出的共享密钥和公开交换的数据计算链接密钥。这是向用户显示的数字代码。
<强> 5。 LMP身份验证和加密
生成加密密钥。设备已成功连接。
Bluetooth Core Complete Specification v4.0 vol0 (ZIP/PDF)
核心规范是138页,完全回答你的问题需要至少20页才能完全回答你的问题,你需要阅读参考资料
答案 1 :(得分:1)
使用数字密码在设备之间建立信任关系,通常称为密码。根据一个蓝牙设备连接到另一个蓝牙设备的频率,用户可能会选择保存密码以便将来连接尝试,或者每次设备请求彼此通信时都提示输入密钥。
了解详情:http://www.ehow.com/how-does_4964578_bluetooth-pairing-work.html
对于两个能够配对的设备,它们必须共享相同的蓝牙配置文件。以下是官方蓝牙网站:
配对设备
并非所有蓝牙设备都设计为配对。从逻辑上讲,没有理由将无线鼠标连接到无线耳机。您应该能够将蓝牙耳机与蓝牙手机配对,或将支持蓝牙的鼠标与蓝牙计算机配对。
如果您不确定要连接的两个设备是否设计为相互配对,请确保其蓝牙配置文件匹配。