蓝牙配对如何工作?

时间:2014-12-08 14:36:06

标签: bluetooth device

完全蓝牙配对的工作原理如何?在配对过程中每台设备之间的通信是什么?


我被告知你是否想要 device-A device-B 配对:

  • A 在某个波长/频率上向设备 B 发送“唯一密钥”
  • B 将'echo'返回 A ,因此设备配对。

    +-----+     key    +-----+ 
    |     |  ---->     |     |
    |  A  |            |  B  |
    |     |     <----  |     |
    +-----+     echoed +-----+ 
    

这似乎是不准确的,所以任何人都可以进一步扩展或实际解释如何/通信以导致设备成功配对?


我正在考虑将这项研究纳入最后一年的项目(大学),但至少需要首先了解蓝牙编程配对的某些东西

描述这些初始通信是如何工作的。


我在研究中听说过“停放模式”和“被动模式”这样的术语,但我还没有在设计背后的编程中找到任何“有用的”信息(因此我问了这个问题) )。谷歌搜索这类话题也很困难,因为它似乎带来了“如何打开你的蓝牙”页面,而不是它背后的编程设计。

2 个答案:

答案 0 :(得分:27)

蓝牙安全简单配对使用椭圆曲线Diffie Hellman(ECDH)公钥加密,使用FIPS认可的P192椭圆曲线,具有大约95位熵。

E:y2=x3 +ax+b(modp)

给出以下参数:

  • 素数模数p,阶数r,基点x坐标Gx,基点y-坐标G​​y。
  • 整数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身份验证和加密

生成加密密钥。设备已成功连接。


enter image description here enter image description here



进一步阅读:

答案 1 :(得分:1)

使用数字密码在设备之间建立信任关系,通常称为密码。根据一个蓝牙设备连接到另一个蓝牙设备的频率,用户可能会选择保存密码以便将来连接尝试,或者每次设备请求彼此通信时都提示输入密钥。

了解详情:http://www.ehow.com/how-does_4964578_bluetooth-pairing-work.html

对于两个能够配对的设备,它们必须共享相同的蓝牙配置文件。以下是官方蓝牙网站:

配对设备

并非所有蓝牙设备都设计为配对。从逻辑上讲,没有理由将无线鼠标连接到无线耳机。您应该能够将蓝牙耳机与蓝牙手机配对,或将支持蓝牙的鼠标与蓝牙计算机配对。

如果您不确定要连接的两个设备是否设计为相互配对,请确保其蓝牙配置文件匹配。